[英]Can I pass Powershell Get-ADUser -Properties in a variable?
I'd like to do something like this, mainly for code readability: 我想做这样的事情,主要是为了代码可读性:
$ADProperties = "extensionAttribute1,Department,Company,telephoneNumber"
$ADFilter = "{(objectClass -eq "user") -and (enabled -eq $True)}"
Get-ADUser -Filter $ADFilter -Properties $ADProperties
I get errors like: Get-Aduser : One or more properties are invalid.
我得到的错误如下: Get-Aduser : One or more properties are invalid.
Seems like I've seen a way to pass either the Filter or Properties somehow, but can't find it now. 好像我已经看到了以某种方式传递过滤器或属性的方法 ,但现在找不到它。
EDIT - This works for -Properties
: 编辑 - 这适用于-Properties
:
$ADProperties = "EmployeeID","EmployeeNumber","extensionAttribute1","Department"
(Thanks Eris) but this throws error: (谢谢Eris)但这会引发错误:
$ADProperties = extensionAttribute1,Department,Company,telephoneNumber
Also, per Vasili, this works: 此外,根据Vasili,这有效:
$str = @("foo","bar")
This works for -Filter
这适用于-Filter
$ADFilter = {(objectClass -eq "user") -and (enabled -eq $True)}
Thanks everyone. 感谢大家。 MOB 暴民
Properties参数采用string[]
(数组)数据类型,因此,它需要更像这样的东西:
@("extensionAttribute1","Department","Company","telephoneNumber")
You can do it if you construct your command in a String Variable like this: 如果在字符串变量中构造命令,则可以执行此操作,如下所示:
$cmd = Get-ADUser -Filter $ADFilter -Properties $ADProperties
And then invoke it 然后调用它
invoke-command $cmd
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.