簡體   English   中英

Powershell escaping 單引號

[英]Powershell escaping single quotes

如何在下面的 Powershell 命令中轉義單引號?

Get-Recipient -Filter "Members -eq 'CN=Jane D'Amico (Contoso),OU=fourthcoffee.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR1AA001,DC=PROD,DC=OUTLOOK,DC=COM'"

我懷疑這是由於D'Amico而失敗的。 不是 powershell 人,所以請 go 對我放心。

無法將參數“過濾器”綁定到目標。 異常設置“過濾器”:“過濾器語法無效。

只要你只是傳遞一個字符串(你是),你可以再次使用雙引號,並像這樣轉義它:

Get-Recipient -Filter "Members -eq `"CN=Jane D'Amico (Contoso),OU=fourthcoffee.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR1AA001,DC=PROD,DC=OUTLOOK,DC=COM`""

為了避免引用,您需要將它們加倍,因此 D'Amico 需要成為 D'Amico。

處理此問題的一個好方法是首先將您的用戶字符串分配給一個變量

$user = "CN=Jane D'Amico (Contoso),OU=fourthcoffee.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=NAMPR1AA001,DC=PROD,DC=OUTLOOK,DC=COM"

然后在使用之前替換里面的任何單引號

$user = $user -replace "'", "''"    
Get-Recipient -Filter "Members -eq '$user'"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM