Powershell 如果名和名重复,则不会创建广告帐户;第二个名字

Powershell 如果名和名重复,则不会创建广告帐户;第二个名字,powershell,active-directory,Powershell,Active Directory,我正在为我的一个客户(英国的NHS)创建一个在域上创建用户的脚本,但是如果用户的第一个和第二个名字已经存在于广告中,它目前拒绝创建广告用户和交换帐户 我已经绕过了用户名重复,在用户名的末尾添加了一个数字(如果用户名已经存在的话)。但是,如果第一个/第二个名称重复,则不会创建帐户 $DisplayName=$lasname++++$GivenName $Mail=$GivenName+“+$姓氏+”@“+“royalberkshire.nhs.uk” $MailAlias=$GivenName+“

我正在为我的一个客户(英国的NHS)创建一个在域上创建用户的脚本,但是如果用户的第一个和第二个名字已经存在于广告中,它目前拒绝创建广告用户和交换帐户

我已经绕过了用户名重复,在用户名的末尾添加了一个数字(如果用户名已经存在的话)。但是,如果第一个/第二个名称重复,则不会创建帐户

$DisplayName=$lasname++++$GivenName
$Mail=$GivenName+“+$姓氏+”@“+“royalberkshire.nhs.uk”
$MailAlias=$GivenName+“+$Nastname+”@“+$DNSRoot2
$SInitial=$name[0]
$Initial=$GivenName[0]
$SAMAccountName=$Nastname+“”+$Initial
$SAMAccountLower=$SAMAccountName.ToLower()
$UserPrincipalName=$Nastname+$Initial
$HD=“U”
$HDir=“\\RBHFILRED002\”
$AC=“用户\u 01$\”
$DH=“用户\u 02$\”
$IM=“用户\u 03$\”
$NS=“用户\u 04$\”
$TZ=“用户”\u 05$\”
$Folder=if($SInitial-in'a','b','c'){$AC}
elseif($SInitial-in'd','e','f','g','h'){$DH}
elseif($SInitial-in'i','j','k','l','m'){$IM}
elseif($SInitial-in'n','o','p','q','r','s'){$NS}
else{$TZ}
$group1=“zz所有人”
$group2=“安全引导域用户”
$defaultname=$SAMAccountName
$email=$GivenName+““+$姓氏
$i=1
cls
while((Get ADUser-Identity$SAMAccountName-ErrorAction SilentlyContinue)-ne$null){
$SamAccountName=$defaultname+[string]$i
$Mail=$email+[string]$i+“@”+“royalberkshire.nhs.uk”
$i++
}
$NewUserParams=@{
Path=“OU=Users,OU=RBFT,DC=rbbh-tr,DC=nhs,DC=uk”
SamAccountName=$SamAccountName
Name=$DisplayName
DisplayName=$DisplayName
GivenName=$GivenName
姓氏=$姓氏
EmailAddress=$Mail
UserPrincipalName=”$SAMAccountName@rbbh-tr.nhs.uk“
Title=$Title
HomeDrive=$HomeDrive
HomeDirectory=“$HDir$文件夹$SAMAccountName”
Description=$Description
ChangePasswordAtLogon=$true
PasswordNeverExpires=$false
AccountPassword=$defpassword
已启用=$true
}
New ADUser@NewUserParams
添加ADGroupMember-标识$group1-成员$SAMAccountName
开始睡眠-s10
添加ADGroupMember-标识$group2-成员$SAMAccountName
cls
echo“正在查找广告帐户并创建Exchange邮箱,请稍候…”
开始睡眠-s30
启用邮箱-标识$SAMAccountName
cls
有什么想法吗

编辑1-错误输出:

Name : Microsoft.Exchange.Management.PowerShell.E2010 PSVersion : 1.0 Description : Admin Tasks for the Exchange Server Name : Microsoft.Exchange.Management.Powershell.Support PSVersion : 1.0 Description : Support Tasks for the Exchange Server This tool is to be used for creating User Accounts for the RBFT Domain under Ultima Business Solutions only. If this applies, please hit any key to continue. Get-ADUser : Cannot find an object with identity: 'TimmsJ1' under: 'DC=rbbh-tr,DC=nhs,DC=uk'. At C:\Users\timmsj\Desktop\Scripts\User_Creation\RBFT_UC_Dev.ps1:140 char:9 + While ((Get-ADUser -Identity $SAMAccountName -ErrorAction SilentlyCon ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (TimmsJ1:ADUser) [Get-ADUser], ADIdentityNotFoundException + FullyQualifiedErrorId : Cannot find an object with identity: 'TimmsJ1' u nder: 'DC=rbbh-tr,DC=nhs,DC=uk'.,Microsoft.ActiveDirectory.Management.Comm ands.GetADUser New-ADUser : An attempt was made to add an object to the directory with a name that is already in use At C:\Users\timmsj\Desktop\Scripts\User_Creation\RBFT_UC_Dev.ps1:166 char:1 + New-ADUser @NewUserParams + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (CN=Timms James,...tr,DC=nhs,DC=uk:String) [New-ADUser], ADException + FullyQualifiedErrorId : An attempt was made to add an object to the dire ctory with a name that is already in use,Microsoft.ActiveDirectory.Managem ent.Commands.NewADUser Add-ADGroupMember : Cannot find an object with identity: 'TimmsJ1' under: 'DC=rbbh-tr,DC=nhs,DC=uk'. At C:\Users\timmsj\Desktop\Scripts\User_Creation\RBFT_UC_Dev.ps1:167 char:1 + Add-ADGroupMember -Identity $group1 -Members $SAMAccountName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (TimmsJ1:ADPrincipal) [Add-ADGro upMember], ADIdentityNotFoundException + FullyQualifiedErrorId : SetADGroupMember.ValidateMembersParameter,Micros oft.ActiveDirectory.Management.Commands.AddADGroupMember Add-ADGroupMember : Cannot find an object with identity: 'TimmsJ1' under: 'DC=rbbh-tr,DC=nhs,DC=uk'. At C:\Users\timmsj\Desktop\Scripts\User_Creation\RBFT_UC_Dev.ps1:169 char:1 + Add-ADGroupMember -Identity $group2 -Members $SAMAccountName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (TimmsJ1:ADPrincipal) [Add-ADGroupMember], ADIdentityNotFoundException + FullyQualifiedErrorId : SetADGroupMember.ValidateMembersParameter,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember Please Wait Whilst We Find The AD Account & Create The Exchange Mailbox.. Enable-Mailbox : The operation couldn't be performed because object 'TimmsJ1' couldn't be found on 'rbhdc8red002.rbbh-tr.nhs.uk'. At C:\Users\timmsj\Desktop\Scripts\User_Creation\RBFT_UC_Dev.ps1:175 char:1 + Enable-Mailbox -Identity $SAMAccountName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (0:Int32) [Enable-Mailbox], Manage mentObjectNotFoundException + FullyQualifiedErrorId : 637D7B43,Microsoft.Exchange.Management.Recipient Tasks.EnableMailbox Username: TimmsJ1 Password: Welcome123 Email: James.Timms1@royalberkshire.nhs.uk Job Title - Department: Test - Ultima Home Directory: \\RBHFILRED002\Users_05$\TimmsJ1 You will need to manually set the new user's group memberships. Please Do This Before Sending The User's Account Details. Press Any Key To Close 名称:Microsoft.Exchange.Management.PowerShell.E2010 PSV:1.0 描述:Exchange服务器的管理任务 名称:Microsoft.Exchange.Management.Powershell.Support PSV:1.0 描述:Exchange服务器的支持任务 此工具用于在下为RBFT域创建用户帐户 仅限Ultima业务解决方案。如果适用,请按任意键继续。 Get ADUser:在“DC=rbbh tr,DC=nhs,DC=uk”下找不到标识为“TimmsJ1”的对象。在C:\Users\timmsj\Desktop\Scripts\User\u Creation\RBFT\u UC\u Dev.ps1:140 char:9 +而((Get ADUser-Identity$SAMAccountName-ErrorAction SilentlyCon。。。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:ObjectNotFound:(TimmsJ1:ADUser)[获取ADUser],ADIdentityNotFoundException +FullyQualifiedErrorId:找不到标识为“TimmsJ1”的对象,该标识为:“DC=rbbh tr,DC=nhs,DC=uk.”,Microsoft.ActiveDirectory.Management.Comm and.GetADUser New ADUser:试图向目录中添加一个对象,其名称已在C:\Users\timmsj\Desktop\Scripts\User\u Creation\RBFT\u UC\u Dev.ps1:166 char:1中使用 +New ADUser@NewUserParams + ~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(CN=Timms James,…tr,DC=nhs,DC=uk:String)[New ADUser],异常 +FullyQualifiedErrorId:试图向目录中添加名称为Microsoft.ActiveDirectory.Managem ent.Commands.NewADUser的对象 Add-ADGroupMember:在“DC=rbbh tr,DC=nhs,DC=uk”下找不到标识为“TimmsJ1”的对象。 在C:\Users\timmsj\Desktop\Scripts\User\u Creation\RBFT\u UC\u Dev.ps1:167 char:1 +添加ADGroupMember-标识$group1-成员$SAMAccountName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:ObjectNotFound:(TimmsJ1:ADPrincipal)[添加ADGro upMember],ADIdentityNotFoundException +FullyQualifiedErrorId:SetADGroupMember.ValidateMembers参数,Micros soft.ActiveDirectory.Management.Commands.AddADGroupMember Add-ADGroupMember:在以下位置找不到标识为“TimmsJ1”的对象: “DC=rbbh tr,DC=nhs,DC=uk”。位于C:\Users\timmsj\Desktop\Scripts\User\u Creation\RBFT\u UC\u Dev.ps1:169字符:1 +添加ADGroupMember-标识$group2-成员$SAMAccountName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:ObjectNotFound:(TimmsJ1:ADPrincipal)[添加ADGroupMember],ADIdentityNotFoundException +FullyQualifiedErrorId:SetADGroupMember.ValidateMembers参数,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember 正在查找AD帐户并创建Exchange邮箱,请稍候。。 启用邮箱:无法执行该操作,因为在“rbhdc8red002.rbbh-tr.nhs.uk”上找不到对象“TimmsJ1”。 在C:\Users\timmsj\Desktop\Scripts\User\u Creation\RBFT\u UC\u Dev.ps1:175 char:1 +启用邮箱-标识$SAMAccountName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(0:Int32)[启用邮箱],管理mentObjectNotFoundException +FullyQualifiedErrorId:637D7B43,Microsoft.Exchange.Management.Recipient Tasks.EnableMailbox 用户名: TimmsJ1 密码: 欢迎123 电邮: 詹姆斯。Timms1@royalberkshire.nhs.uk 乔
$NewUserParams = @{
    Path                  = "OU=Users,OU=RBFT,DC=rbbh-tr,DC=nhs,DC=uk"
    SamAccountName        = $SAMAccountName
    Name                  = $DisplayName
    DisplayName           = $DisplayName
    ...
}
$NewUserParams = @{
    Path                  = "OU=Users,OU=RBFT,DC=rbbh-tr,DC=nhs,DC=uk"
    Name                  = $SAMAccountName
    DisplayName           = $DisplayName
    ...
}