簡體   English   中英

Powershell - Get-aduser使用$ var返回任何值

[英]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.

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