我正在尝试mstsc
到多个服务器,但我仍然坚持如何继续。我不想使用凭据,只需打开窗口。
我有
param([parameter(Mandatory=$True)] $Servername
mstsc /v: $Servername
所以我可以打电话给PS> script servername
但我想弄清楚如何在PS窗口中输入多个服务器,例如:
PS> script1 server1, server2, server3
,......以及我需要的任何东西
所有这些都应该通过mstsc /v: server1 - server3
这在PowerShell中是否可行,如果可以,怎么做?
答案 0 :(得分:0)
你不需要一个功能来做到这一点。而是使用foreach-object
循环或'Server1','server2' |
foreach-object {mstsc.exe /v: $_ }
构造。
Get-content path_to_servers.txt |
foreach-object {mstsc.exe /v: $_ }
或
ViewController
答案 1 :(得分:0)
在参数块中将ServerName
参数转换为[string[]]
类型,然后为每个字符串启动mstsc
:
param(
[Parameter(Mandatory=$true,Position=0)]
[string[]]$ServerName
)
foreach($Name in $ServerName){
mstsc.exe /v $Name
}
现在你可以这样做:
PS> .\script1.ps1 server1,server2,server3
PS。我倾向于使用参数名称ComputerName
而不是ServerName