我已经定义了变量时出现意外的令牌错误

时间:2015-06-08 19:05:31

标签: powershell powershell-v2.0

简单的脚本,但无法弄清楚我收到错误的原因:它应该只将一个文本文件成功的机器写入,另一个文件文件失败。

以下是我遇到的错误:

意外的令牌' $ ip'在表达或陈述中。     + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException     + FullyQualifiedErrorId:UnexpectedToken

$computers = Get-Content C:\temp\machines_no_rdp.txt

foreach($computer in $computers)

 {


  if((New-Object System.Net.NetworkInformation.Ping).Send("$computer",[int]1000).Address.IPAddressToString)

   {

    $computer
   $ip = [System.Net.Dns]::GetHostByName($computer).AddressList.IPAddressToString



    $computer + ";" $ip | Out-File C:\temp\Success.txt -Append

   }

    else{$computer + ";" + "Dead" | Out-File C:\temp\failure.txt -Append}

   }

1 个答案:

答案 0 :(得分:3)

该错误试图告诉您它确实知道如何处理$ip。此时它并不关心它是否是变量。这是一个解析错误。

$computer + ";" $ip

应该是以下(与您的编码实践保持一致。)

$computer + ";" + $ip