gpt4 book ai didi

powershell - 在Get-AdUser中使用哈希表变量

转载 作者:行者123 更新时间:2023-12-02 23:28:23 25 4
gpt4 key购买 nike

考虑以下代码片段

$User = @{Username = "fred.bloggs"}
$Username = $User.Username
Get-AdUser -Filter {SamAccountName -eq $Username} # this works
Get-AdUser -Filter {SamAccountName -eq $User.Username} # this throws an error

第一个Get-User有效,但是第二个失败,并具有:

Get-AdUser : Property: 'Username' not found in object of type: 'System.Collections.Hashtable'.



我知道PowerShell的对象解析和从左到右解析的怪癖,通常会将其包装在$($ User.Username)中,但这也不起作用。

我知道答案很简单!

最佳答案

由于-Filter正在寻找System.String,因此您可以通过使用双引号而不是脚本块来解决解析问题:

Get-ADUser -Filter "SamAccountName -eq '$($User.Username)'"
Get-ADUser会将传递给 -Filter的任何脚本块转换为字符串以进行评估,因此首先使用字符串会有所帮助。

关于powershell - 在Get-AdUser中使用哈希表变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com