我在培训课程中看到了以下例子,我认为这是错误的。
代码应该在PowerShell中复制Active Directory用户:
$userInstance = Get-ADUser -Identity "kmill"
$userInstance = New-Object Microsoft.ActiveDirectory.Management.ADUser
$userInstance.DisplayName = "Peter Piper"
New-ADUser -SAMAccountName "ppiper" -Instance $userInstance
我的理解是,我们将“Kmill”的用户帐户作为对象并将其存储在第1行的变量中。
我的理解是,在第2行 - 我们完全覆盖了该变量并且必须擦除第1行中获得的所有数据(因此不会复制现有用户)
我错了吗?
答案 0 :(得分:3)
你的推理是正确的,例子中有一个错误。您可以通过打印对象轻松地检查这一点。无需创建用户。像这样,
PS C:\> $u = Get-ADUser -identity someUser
PS C:\> $u # Print the variable contents on console
DistinguishedName : CN=someuser...
Enabled: True
...
PS C:\> $u = New-Object Microsoft.ActiveDirectory.Management.ADUser
PS C:\> $u # Print again, all the properties are empty
GivenName :
Surname :
UserPrincipalName :
PS C:\>
Technet有sample使用-Identity
将现有用户的设置作为模板传递。
PS C:\> $userInstance = Get-ADUser -Identity "saraDavis"
PS C:\> New-ADUser -SAMAccountName "ellenAdams" -Instance $userInstance -DisplayName "EllenAdams"