【问题标题】:Powershell - Creating AD User using Text File DataPowershell - 使用文本文件数据创建 AD 用户
【发布时间】:2016-08-12 07:35:31
【问题描述】:

我每个月都会运行一个脚本,该脚本会遍历我的所有用户 OU,并为每个 OU 中的所有用户创建一个文本文件备份。为每个用户导出的属性是:

name、DisplayName、SamAccountName、EmailAddress、Title、Description、Department、Division、Manager、ScriptPath、TelephoneNumber、手机、employeetype、StreetAddress、city、Country、co、company、memberof

简单介绍一下,在一些情况下,错误的用户被删除,需要即时重新创建新帐户。至少有了这个,我可以快速使用每个帐户的一些记录来重新创建意外删除的用户。我的问题是,如何使用输出文件中的数据并使用与每个属性相关的信息创建一个新的广告用户?

【问题讨论】:

  • 为什么要删除账户?禁用它们,如有必要,将它们移动到另一个 OU。仅在禁用 x 个月(或从不)后才删除它们。一件事是重新创建他们的信息,但是组成员身份消失了,SID 消失了等等......或者提升到 2008 R2 森林级别,这样你就可以使用回收站来恢复被删除的帐户......如果你仍然想要脚本,搜索 New-ADUserSet-ADUserAdd-ADGroupMember
  • 感谢您的快速回复!我不是故意删除它们,但过去曾有过其他工程师意外删除帐户或在 90 天后重新雇用某个人而该信息可能消失的情况。
  • 这就是为什么我建议永远不要删除。你甚至可以阻止它,这样人们就只能禁用和移动。

标签: powershell scripting active-directory automation powershell-3.0


【解决方案1】:

我相信您可以在从导出的文本文件中拆分属性后使用下面的代码 sn-p,在 foreach 循环中为每个用户使用一次:

    # Getting the manager
    $manager = Get-ADUser -Identity <managerName>

    # Creating New AD User
    $newUser = New-ADUser -Name <string> -DisplayName <string> -SamAccountName <string> -EmailAddress <string> -Title <string> -Description <string> -Department <string> -Division <string> -Manager $manager -ScriptPath <string> -OfficePhone <string> -MobilePhone <string> -Type <string> -StreetAddress <string> -City <string> -Country <string> -Company <string> 

    # Fetching and Adding the User to the Group
    $group = Get-ADGroup "CN=AccountLeads,OU=UserAccounts,DC=ABC,DC=FABRIKAM,DC=COM" –Server "abc.fabrikam.com";
    Add-ADGroupMember $group –Member $newUser –Server "abc.fabrikam.com"

您可以从“memberOf”属性中拆分和循环各个组,并为每个组重复最后两行。

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    相关资源
    最近更新 更多