关于为PowerShell使用多个文本文件的主题很少,只找到了需要一个列表并针对主列表运行它的东西。总之...
我的问题来自需要组合两组数据,行数相等。 Server.txt& SessionID.txt。这两个文件都是从另一个Get-XASession查询创建的。 我想在Send-XAMessage中组合这些。
Servers.txt =“Server1”,“Server2”,“Server3”等
SessionIds.txt =“2”,“41”,“18”等
这是我试过的代码失败了...... BTW,“ServerX”,是XA远程计算所需的静态连接服务器。
$ Server = Get-Content。\ Server.txt
$ SessionIds = Get-Content。\ SessionIds.txt
ForEach($ Servers in $ Servers -And $ i in $ SessionIds){ Send-XASession -ComputerName ServerX -ServerName $ s -SessionId $ i -MessageTitle“MsgTitle”-MessageBody“MsgBody”}
为了正常使用,我们可以使用Get-Service切换Stop-XASession,并使用$ s for -ComputerName。 并为-ServiceName切换SessionId。
看起来像这样......
ForEach($ Servers in $ Servers -And $ i in $ Sevices){Get-Service -ComputerName $ s -Name $ i} | FT名称,状态
答案 0 :(得分:1)
您可以这样做:
$Server = Get-Content .\Server.txt
$SessionIds = Get-Content .\SessionIds.txt
$i=0
ForEach ($s in $Servers)
{
Send-XASession -ComputerName ServerX -ServerName $s -SessionId $SessionIds[$i++] -MessageTitle "MsgTitle" -MessageBody "MsgBody"
}
这将循环$ SessionIds元素与$ server元素同步。 $ SessionIds [$ i ++]的postincrement运算符每次循环时都会增加$ i。