1

我正在尝试编写一个脚本,我可以在远程机器上运行 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
4

1 回答 1

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
于 2013-09-30T20:16:27.370 回答