简体   繁体   English

我可以在变量中传递Powershell Get-ADUser -Properties吗?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM