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

标签 powershell active-directory

我想做这样的事情,主要是为了代码可读性:

$ADProperties = "extensionAttribute1,Department,Company,telephoneNumber"
$ADFilter = "{(objectClass -eq "user") -and (enabled -eq $True)}"

Get-ADUser -Filter $ADFilter -Properties $ADProperties

我收到如下错误:Get-Aduser : One or more properties are invalid.
似乎我已经看到一种方法可以通过 过滤器 属性不知何故,但现在找不到了。

编辑 - 这适用于 -Properties :
$ADProperties = "EmployeeID","EmployeeNumber","extensionAttribute1","Department"

(感谢 Eris)但这会引发错误:
$ADProperties = extensionAttribute1,Department,Company,telephoneNumber 

此外,根据瓦西里,这有效:
$str = @("foo","bar")

这适用于 -Filter
$ADFilter = {(objectClass -eq "user") -and (enabled -eq $True)}

谢谢大家。
暴民

最佳答案

属性参数采用 string[] (array) 数据类型,因此,它期待更像这样的东西:
@("extensionAttribute1","Department","Company","telephoneNumber")

关于powershell - 我可以在变量中传递 Powershell Get-ADUser -Properties 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21444364/

相关文章:

powershell - 如何在 powershell 中使用 SetConsoleMode 更改控制台输出模式?

php ldap 搜索 : no such object

powershell - 获取 ADUser-Identity

c# - 作为 AD 组发送电子邮件

active-directory - 如何在 Active Directory 中禁用 "Password Operations Over LDAPS Only"策略

Python+LDAP+SSL

mysql - MySQL备份到多个文件的脚本

powershell - 术语 'powershell.exe' 未被识别为 VSTS 任务中的 cmdlet 名称

sql - 无法使用带有 -InputObject 参数的 SQLPS CmdLet Backup-SQLDatabase

powershell,写入主机文件的所有文件名