Something like
$user | set-aduser -UserPrincipalName [email protected]
or better readable:
Invoke-Command -Session $S -ScriptBlock {$using:ADUSER | set-aduser -userprincipalname [email protected]}
我有一个变量$user,其中存储了一个AD用户,我想改变它的UPN。
但如果我使用 invoke 命令,比如说
$uname = $script:textbox1.text+"@"+$script:textbox2.text
$ADUSER = Invoke-Command -Session $S -ScriptBlock {Get-aduser -property 'emailaddress' -filter "UserPrincipalName -eq '$using:UNAME'"}
我得到一个错误(假设$s是一个好的会话,我在其他行中使用它)我的错误是。
输入对象不能被绑定到命令的任何参数上,要么是因为命令不接受管道输入,要么是因为输入和它的属性不匹配任何接受管道输入的参数。 + CategoryInfo : InvalidArgument: (CN=uzi,OU=IT,OU...shahar,DC=local:PSObject) [Set-ADUser],ParameterBindingException + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.ActiveDirectory.Management.Commands.SetADUser + PSComputerName : dc01
Invoke-Command -Session $S -ScriptBlock {param ($ADUser, $UPN = '[email protected]'); $ADUser | Set-ADUser -UserPrincipalName $UPN } -ArgumentList $ADUser, '[email protected]'
我有一个变量$user,其中存储了一个AD用户,我想改变它的UPN。如果我在dc上写下以下内容:$user