2011-01-25 15 views
2

私はWindows XPシステムを使用しており、ユーザーアカウントはパスワードの有効期限が45日以内に設定されています。手動またはバッチファイルを使用して、パスワードの有効期限がログインしている現在のユーザーに基づいているかどうかを調べようとしています。これを達成できるVBScriptファイルがあることはわかっていますが、これらのPCはVBScriptファイルを実行しないため、手動またはバッチファイルを調べる必要があります。パスワードの有効期限を確認する

ありがとうございます!

答えて

5

これは(ただ一つのコンピュータ、1人のユーザーであり、そして

net user username | findstr "expires" 

複数のマシンがテキストファイル内のすべてのコンピュータ名またはIPのを入れて... 1つのユーザーアカウントに対してリモートで走った...ローカルで実行した場合すなわちsystems.txt)

psexec @systems.txt net user username | findstr "expires" 

PSEXECは、あなたが複数のネットワーク・コンピュータ上のすべてのローカルユーザーに有効期限をお知りになりたい場合は、PowerShellを使用することができますSysinternalsの

から自由ですそしてPSEXEC(リモートマシンにはPowerShellを必要としない)、そう...

$systems = get-content .\systems.txt; 
foreach ($sys in $systems) { 
foreach ($token in (Get-WmiObject Win32_UserAccount -ComputerName $sys -Filter "Domain='$sys'" | Select-Object -Property Name |ft -AutoSize -HideTableHeaders >> "$sys.txt")) { echo $token }; 
(cat "$sys.txt") -replace ' {2,}','' | ? {$_ -ne ''} | sc "$sys.txt" 
foreach ($strUser in (get-content "$sys.txt")) {psexec \\$sys net user $strUser >> "$sys-accounts.txt" 
} 
} 

ようにあなたは、小さなスクリプトを微調整する必要があるかもしれません...このことができます願っています。

+3

他の人が渡した場合、** net user **コマンドが機能しないことがわかります。** net user username/domain | findstr "expires" ** –

関連する問題