我正在尝试编写一个脚本,我可以在远程机器上运行EXE来停止进程,然后重新启动服务器。我拥有我认为我需要的所有内容,但IP地址的输出将以@ {ipaddress = xxx.xxx.xxx.xxx}的形式出现。它告诉我服务器的IP地址有错误。这就是我得到的。
$action = "reboot"
function LoadServerList {
param([string]$sFileName);
$aServers = Import-Csv $sFileName | Where-Object { !($_.servername.StartsWith('#')) -and ($_.servername -ne ""); };
$aServers | Add-Member -MemberType NoteProperty -Name status -Value "unknown";
return $aServers;
}
$IPADDRESS = Import-Csv -path D:\Scripts\RebootSequence\LABIPAddress.csv | Where-Object { !($_.ipaddress.StartsWith('#')) -and ($_.ipaddress -ne ""); }
$CMD = 'icadmin'
$arg1 = 'tv'
$arg2 = 'admin'
$arg3 = 'admin1'
$arg4 = 'D:\Avaya\IC73\bin\icadmin.exe'
$arg5 = '$SRVIP'
& $CMD $arg1 $arg2 $arg3 $IPADDRESS $arg4
答案 0 :(得分:2)
尝试更改此内容:
$IPADDRESS = Import-Csv -path D:\Scripts\RebootSequence\LABIPAddress.csv | Where-Object { !($_.ipaddress.StartsWith('#')) -and ($_.ipaddress -ne ""); }
到此:
$IPADDRESS = Import-Csv -path D:\Scripts\RebootSequence\LABIPAddress.csv | Where-Object { !($_.ipaddress.StartsWith('#')) -and ($_.ipaddress -ne ""); } | Select-Object -Expand ipaddress