我在做一个用GUI改变用户帐户AD的脚本。 在列表中选择一个用户时,我想显示他是其成员的所有组。 对于顺序是确定的,但在PSSession中的命令不工作,-Filter
参数不识别变量命令Get-ADUser -Filter在PSSession中不起作用
$SessionAD = New-PSSession -ComputerName $AD
Invoke-Command $SessionAD -Command {Import-Module ActiveDirectory}
Import-PSSession $SessionAD -Module ActiveDirectory
...
$var = $ListeUsers.SelectedItem
$GroupsMember = Get-ADUser -Filter {Name -like $var} -Property MemberOf |
Select -ExpandProperty MemberOf |
Get-ADGroup -Property MemberOf |
Select Name
Error : La variable : « var » trouvée dans l’expression : $var n’est pas définie. + CategoryInfo : InvalidArgument : (:) [Get-ADUser], ArgumentException + FullyQualifiedErrorId : La variable : « var » trouvée dans l’expression : $var n’est pas définie.,Microsoft.ActiveDirectory.Management.Commands.GetADUser + PSComputerName : AD-01
随着代码下面的命令运行正常,但我不能检索变量的值$GroupsMember
:
Invoke-Command -Session $SessionAD -ArgumentList $var,$GroupsMember -ScriptBlock {
Param($var, $GroupsMember)
$GroupsMember = Get-ADUser -Filter {Name -like $var} -Property MemberOf |
Select -ExpandProperty MemberOf |
Get-ADGroup -Property MemberOf |
Select Name
}
喜建一个String,也许$ var不是在Import-PSSession之后加载的会话中创建的。你可以在$ var = $ ListeUsers.SelectedItem之后输入get-variable吗? –
变量处于相同的pssession状态。 Get-Variable有这个错误: Get-Variable:Impossible de trouver une variablenommée«test05»。 AucaractèreLigne:1:8 + $ var | Get-Variable + ~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(test05:String)[Get-Variable],ItemNotFoundException + FullyQualifiedErrorId:VariableNotFound,Microsoft.PowerShell.Commands.GetVariableCommand – Guillaume