简单的脚本,但无法弄清楚我收到错误的原因:它应该只将一个文本文件成功的机器写入,另一个文件文件失败。
以下是我遇到的错误:
意外的令牌' $ 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}
}
答案 0 :(得分:3)
该错误试图告诉您它确实知道如何处理$ip
。此时它并不关心它是否是变量。这是一个解析错误。
$computer + ";" $ip
应该是以下(与您的编码实践保持一致。)
$computer + ";" + $ip