我想知道如何最好地解决这个问题。基本上我有一个脚本需要检查 USER1 是否是本地管理员的成员,如果是,请将其删除。这些组都是本地的,脚本将在我需要检查的系统上运行(不需要远程处理)。
我在想一些关于捕获和评估输出的事情
net localgroup Administrators
test\user1
test\user2
但是我不确定如何捕获输出以进行评估(对于 powershell 来说非常新)。有没有人做过这样的事情?我真的很感激任何帮助。
我想知道如何最好地解决这个问题。基本上我有一个脚本需要检查 USER1 是否是本地管理员的成员,如果是,请将其删除。这些组都是本地的,脚本将在我需要检查的系统上运行(不需要远程处理)。
我在想一些关于捕获和评估输出的事情
net localgroup Administrators
test\user1
test\user2
但是我不确定如何捕获输出以进行评估(对于 powershell 来说非常新)。有没有人做过这样的事情?我真的很感激任何帮助。
一种没有模块或管理单元的方法:
$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")
$user = (net localgroup administrators | Select-String 'testuser1' -SimpleMatch).ToString()
net localgroup administrators "$user" /delete
您没有使用对象,也没有很多错误检查,但这是获得所需内容的一种非常简单的方法。