我有在PowerShell中使用Get-AdUser命令对多行过滤器表达式使用反斜杠(重音符号)时遇到问题。具体而言,我在Windows测试PowerShell的2.0 7.反向PowerShell中的Get-ADUser多行过滤器
工作示例(滤波器是全部在一行):
Get-ADUser -Filter {Name -like "Smith*" -and Enabled -eq $True}
# This works as expected, a list of matching objects is returned on pipeline
破碎的例子(过滤器被分割以多行):
Get-ADUser -Filter {Name -like "Smith*" `
-and Enabled -eq $True}
# Error message indicates "Operator not supported at position [of backtick]
第二破碎示例(与-and反引号之前多线滤波器):
Get-ADUser -Filter {Name -like "Smith*" -and `
Enabled -eq $True}
#Error message indicates "Syntax error at position [of backtick]"
请提供变通方法的示例或解释不支持这些多行过滤器的原因。我无法弄清楚这一点,但似乎这应该是PowerShell中一种简单而常见的操作类型。
你好@Matt,这帮助我得到了一个可接受的解决方法。我不必创建一个单独的脚本块。仅仅结束每一行就足够了,并且让解析器寻找更多(我认为?)。它不会让我把多行代码放在评论中 - 试图找出把它放在哪里... –