0

我正在尝试遍历用户配置文件并将每个配置文件记录在系统上。

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

)

我遇到的问题是我必须以提升的权限运行这个 cmd。因此,由于它以管理员身份运行,因此输出只是管理员

我已经尝试过回%username%,%cd%,%userprofile%显,但无法获得当前路径的输出...我希望 %cd% 有效,因为我认为在循环期间它会进入路径...但您仍然是管理员帐户。

谢谢!

4

2 回答 2

0

我想你可能想要:

for /d %%X in  (C:\Users\*) do (
    echo %%X >> C:\%computername%.log
)
于 2012-08-16T20:44:20.453 回答
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
于 2015-04-05T15:01:50.073 回答