2

私はこれにどのようにアプローチするのが最善か疑問に思っていました。基本的に、USER1 がローカル管理者のメンバーであるかどうかを確認し、そうであれば削除する必要があるスクリプトがあります。これらのグループはすべてローカルであり、スクリプトはチェックする必要があるシステムで実行されます (リモーティングは必要ありません)。

からの出力をキャプチャして評価する方向に沿って何かを考えていました

net localgroup Administrators

test\user1
test\user2

ただし、評価のために出力をキャプチャする方法がわかりません(powershellにはかなり新しいです)。誰かがこのようなことをしましたか?どんな助けでも本当に感謝しています。

4

2 に答える 2

7

モジュールまたはスナップインを使用しない一方向:

$group =[ADSI]"WinNT://./Administrators,group" 
$members = @($group.psbase.Invoke("Members")) 

($members | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}) -contains "Administrator"

この返品TrueまたはFalse付属ケース

ユーザー管理者を管理者グループから削除するには:

$group.remove("WinNT://Administrator")
于 2013-05-17T21:01:57.247 に答える
1
$user = (net localgroup administrators | Select-String 'testuser1' -SimpleMatch).ToString()
net localgroup administrators "$user" /delete

オブジェクトを使用しておらず、多くのエラー チェックも行っていませんが、これは必要なものを取得するための非常に簡単な方法です。

于 2013-05-23T16:26:29.593 に答える