0

ユーザー プロファイルを反復処理し、各プロファイルをシステムに記録しようとしています。

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

)

私が抱えている問題は、昇格された特権でこのコマンドを実行する必要があることです。したがって、管理者として実行されているため、出力は管理者だけです

エコーを試しました%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 に答える