使用 Get-ADPrincipalGroupMembership 作为工作
Using Get-ADPrincipalGroupMembership as a job
我想获得 AD Group Membership 作为一份工作。刚刚使用
Get-ADPrincipalGroupMembership -Identity $objUser.DistinguishedName
很好returns 广告组列表。但是,当我尝试将其作为工作时:
$Job = Start-Job {Get-ADPrincipalGroupMembership $objUser.DistinguishedName}
$Job.Name
Wait-Job -Name $Job.Name
Receive-Job -Name $Job.Name
我收到一个错误:
Cannot validate argument on parameter 'Identity'. The argument is null
or empty. Provide an argument that is not null or empty, and then try
the command again.
+ CategoryInfo : InvalidData: (:) [Get-ADPrincipalGroupMembership], ParameterBindingValidationExcep
tion
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.Get
ADPrincipalGroupMembership
+ PSComputerName : localhost
What am I doing wrong?
作业 运行 在后台而不是在当前范围内,因此 Start-Job 对您的变量一无所知,除非您告知它们。
$DN = $objUser.DistinguishedName
$Job = Start-Job {Get-ADPrincipalGroupMembership $args[0]} -ArgumentList $DN
$Job.Name
Wait-Job -Name $Job.Name
Receive-Job -Name $Job.Name
解释:
使用 -ArgumentList $var1,$var2
参数添加变量,然后使用 $args[0]
作为第一个参数 $args[1]
到第二个,依此类推。
在你的情况下只需要一个参数,所以使用 -ArgumentList $DN
并在 start-job
ScriptBlock
中用 $args[0]
调用它
我想获得 AD Group Membership 作为一份工作。刚刚使用
Get-ADPrincipalGroupMembership -Identity $objUser.DistinguishedName
很好returns 广告组列表。但是,当我尝试将其作为工作时:
$Job = Start-Job {Get-ADPrincipalGroupMembership $objUser.DistinguishedName}
$Job.Name
Wait-Job -Name $Job.Name
Receive-Job -Name $Job.Name
我收到一个错误:
Cannot validate argument on parameter 'Identity'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again. + CategoryInfo : InvalidData: (:) [Get-ADPrincipalGroupMembership], ParameterBindingValidationExcep
tion + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.Get ADPrincipalGroupMembership + PSComputerName : localhost What am I doing wrong?
作业 运行 在后台而不是在当前范围内,因此 Start-Job 对您的变量一无所知,除非您告知它们。
$DN = $objUser.DistinguishedName
$Job = Start-Job {Get-ADPrincipalGroupMembership $args[0]} -ArgumentList $DN
$Job.Name
Wait-Job -Name $Job.Name
Receive-Job -Name $Job.Name
解释:
使用 -ArgumentList $var1,$var2
参数添加变量,然后使用 $args[0]
作为第一个参数 $args[1]
到第二个,依此类推。
在你的情况下只需要一个参数,所以使用 -ArgumentList $DN
并在 start-job
ScriptBlock
$args[0]
调用它