从 Powershell 中的动态字符串数组中删除项目

Pat*_*ews 4 arrays powershell

我正在尝试从字符串数组中删除一个项目。它是一个包含 5 个服务器名称的数组,我对数组中的每个服务器运行重新启动功能。我一次只能重新启动 5 个服务器,因此阵列永远不会变得更大,但同时我想继续向阵列添加服务器,以便我可以循环浏览我环境中的所有服务器。当服务器完成重启后,我需要从阵列中删除该服务器,以便我可以向阵列中添加另一个服务器并对其运行重启功能。我已尝试过该$array.remove方法,但收到错误消息,指出它不适用于字符串数组。我尝试在没有重新启动服务器的情况下重新定义原始阵列

"$balancedout = $balancedout -notlike $server".
Run Code Online (Sandbox Code Playgroud)

Joe*_*ran 5

请注意,PowerShell 使用 .Net 之类的代码。

所以声明数组如下:

 $a = New-Object System.Collections.ArrayList
Run Code Online (Sandbox Code Playgroud)

现在您可以向该数组添加项目:

 $a.Add("Server1")
 $a.Add("Server2")
 $a.Add("Server3")
Run Code Online (Sandbox Code Playgroud)

如果你打印数组,你会得到:

PS C:\Users\Work> $a
Server2
Server1
Server3
Run Code Online (Sandbox Code Playgroud)

现在 $a 确实有一个 Remove 方法:

 $a.Remove("Server2")
Run Code Online (Sandbox Code Playgroud)

现在如果你打印数组,你会得到:

   PS C:\Users\Work> $a
Server1
Server3
Run Code Online (Sandbox Code Playgroud)