Powershell输出滤波器

时间:2013-09-30 20:08:54

标签: powershell

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

1 个答案:

答案 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