0

我正在编写一个脚本,让我将用户添加到一组服务器,然后在以后从组中删除该用户。现在,当我只有一台服务器时,我可以使脚本工作,但是当我使用逗号分隔的列表时,我收到以下错误: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)
}
4

1 回答 1

1

更改read-host "Enter server(comma separated list): ".split(",")(read-host "Enter server(comma separated list)").split(",") (添加括号)

于 2013-07-03T03:29:50.857 回答