2013-09-30 2 views
1

원격 maching에서 EXE를 실행하여 프로세스를 중지 한 다음 서버를 재부팅 할 수있는 스크립트를 작성하려고합니다. 내가 필요로하는 모든 것이 있지만 IP 주소의 출력은 @ {ipaddress = xxx.xxx.xxx.xxx}입니다. 그것은 서버의 IP 주소에 오류가 있음을 알려줍니다. 여기에 내가 가진 것이있다.Powershell 출력 필터

$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 

답변

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