我正在尝试使用Active Directory cmdlet为整个脚本全局设置-server
标志。
我的问题是我从一个不同的域运行脚本,并且从一个管理域中有一些我需要执行这些命令的域。
示例:
Get-ADUser 'john' -server domain1.acme.com
但是我想跑:
Get-ADUser 'john'
来自domain2的,而不必在每次使用AD cmdlet时都指定-server标志。
目前,我只是声明一个$server
变量并将其插入每个命令,例如Get-ADUser 'john' -server $server
但这相当混乱,我觉得必须有更好的方法。我的研究没有任何结果。
答案 0 :(得分:1)
您可以使用$PSDefaultParameterValues
,以下示例为get-aduser添加服务器参数默认值:
$PSDefaultParameterValues.Add('Get-ADUser:server', 'domain1.acme.com')
添加psdefaultparametervalue
后,您可以使用这样的命令行开关:
Get-ADUser 'john'
PSDefaultParameterValues也支持通配符
$PSDefaultParameterValues.Add('Get-AD*:server', 'localhost')
PS:此功能仅适用于PowerShell V3以后的