我正在编写一个脚本,让我将用户添加到一组服务器,然后在以后从组中删除该用户。现在,当我只有一台服务器时,我可以使脚本工作,但是当我使用逗号分隔的列表时,我收到以下错误:Exception calling "Invoke" with "2" argument(s): "Unknown error (0x80005000)"
我在必要的机器上以管理员身份运行脚本,并且我的执行策略设置为允许脚本在我定位的任何服务器上运行。此外,域情况是:
目标服务器:
DomainA/ServerA
DomainA/ServerB
用户:
DomainB/UserA
我可以从登录到服务器中添加用户罚款。这是我正在使用的代码:
param($serverName, $group, $user, $action)
if (! $serverName) {
$serverlist = read-host "Enter server(comma separated list): ".split(",")
}
if (! $group) {
$group = read-host "Enter group: "
}
if (! $action) {
$action = read-host "Add, Remove or List: "
}
$objGroup = [ADSI]("WinNT://$serverName/$group")
if ($action.ToLower() -eq "list") {
$members = @($objGroup.psbase.Invoke("Members"))
$members | foreach {
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)
}
} else {
if (! $user) {
$user = read-host "Enter domain user id: "
}
foreach ($serverName in $serverList) {
$serverName = $serverName.Trim().ToUpper()
$objADUser = [ADSI]("WinNT://$serverName/$user")
}
$objGroup.PSBase.Invoke($action,$objADUser.PSBase.Path)
}