意外的令牌“accessRule'在表达或陈述中

时间:2017-01-26 22:40:43

标签: powershell

Write-Host cmdlet工作正常,但当我尝试传递给Out-File时,它会抛出错误。

  

意外令牌' accessRule'在表达或陈述中。

foreach($accessRule in $acl.Access)
{
Write-Host $accessRule.IdentityReference $accessRule.FileSystemRights
$accessRule.IdentityReference $accessRule.FileSystemRights| Out-File -Encoding Ascii -append $Report
}

1 个答案:

答案 0 :(得分:1)

那是因为Write-Host只接受输出之后的所有参数。首先将输出转换为一个字符串,然后再将其发送到Out-File:

foreach($accessRule in $acl.Access) {
    Write-Host $accessRule.IdentityReference $accessRule.FileSystemRights
    "$($accessRule.IdentityReference) $($accessRule.FileSystemRights)"|
         Out-File -Encoding Ascii -append $Report
}