[英]Powershell - Get-aduser return no value using a $var
我正在使用此命令來查詢AD的用戶名::
get-aduser -filter 'SamAccountName -like "trembto*"
AD給我一些符合該搜索的結果。
當我嘗試在內部使用$ var來應用這一行時,我得不到任何結果:
$userloop = "trembto"
get-aduser -filter 'SamAccountName -like "$($userloop)*"'
我應該得到相同的結果,但它始終沒有給我任何回報,沒有我嘗試的錯誤信息可能替代var部分但是徒勞無功。
謝謝你的幫助
使用單引號創建字符串時,不會發生變量擴展。 必須使用雙引號來創建一個字符串,以便進行變量擴展。 在您的情況下,您需要使用雙引號來創建過濾器字符串,並在擴展變量周圍使用單引號。
改為:
$userloop = "trembto"
get-aduser -filter "SamAccountName -like '$($userloop)*'"
您可以通過檢查用於filter參數的字符串來查看此行為。
測試:
$userLoop = "trembto"
$filter = 'SamAccountName -like "$($userLoop)*"'
$ filter的輸出:
SamAccountName -like "$($userLoop)*"
變成:
$userLoop = "trembto"
$filter = "SamAccountName -like '$($userLoop)*'"
輸出:
SamAccountName -like 'trembto*'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.