我正在尝试迭代用户个人资料并在系统上记录每个个人资料。
for /d %%X in (C:\Users\*) do (
echo %username% >> C:\%computername%.log
)
我遇到的问题是我必须使用提升的权限运行此cmd。因此,由于它以管理员身份运行,因此输出只是管理员
我已经尝试了echo %username%,%cd%,%userprofile%
并且我无法获得当前路径的输出...我希望%cd%有效,因为我认为在循环期间它会进入路径..但你仍然是管理员帐户。
谢谢!
答案 0 :(得分:0)
我想你可能想要:
for /d %%X in (C:\Users\*) do (
echo %%X >> C:\%computername%.log
)
答案 1 :(得分: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