2012-08-16 57 views
0

我试图遍历用户配置文件并在系统上记录每个配置文件。在Windows 7上迭代用户配置文件cscript.exe

for /d %%X in (C:\Users\*) do (
echo %username% >> C:\%computername%.log

)

我遇到的问题是我要运行这个CMD使用提升的权限。所以,因为它是以管理员身份运行,输出只是管理

我试过echo %username%,%cd%,%userprofile%,我无法得到当前路径的输出...我希望%cd%工作,因为我在想在循环过程中,它将进入路径......但我仍然是管理员帐户。

谢谢!

回答

0

我想你可能会想:

for /d %%X in (C:\Users\*) do (
    echo %%X >> C:\%computername%.log 
) 
+0

BOOM! !谢谢...我喜欢/讨厌愚蠢的错误。 – user1101105 2012-08-16 22:03:42

0

我宁愿使用下面的PowerShell脚本:

Get-WmiObject -Class Win32_UserAccount -ComputerName . -ErrorAction Stop | where-object { $_.localAccount -eq "true" -and $_.Disabled -eq "false" -and $_.Name -cnotcontains "ASPNET"} 

或者使用CSCRIPT:

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
If Not IsObject(objWMIService) Or IsNull(objWMIService) Then 
    wscript.echo "Not an Object" 
    wscript.quit 
End If 

Set usersItems = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount " _ 
    & "WHERE localAccount=true and disabled=false",,48) 
If Not IsObject(colItems) Or IsNull(colItems) Then 
    wscript.echo "Not an Object" 
    wscript.quit 
End If