New-ADUser -Nameの長さが長すぎます


13

ADのOUに約500人のユーザーを追加する必要があります

私は必要なものをすべてスクリプト化しましたが、エラーが発生します: the name provided is not a properly formed

ここにスクリプトがあります

New-ADUser -Name C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

問題が何であるかを確認するために、いくつかのテストを実行しました。

New-ADUser -Name "C080CAB1-9756-409F-914D-AE3971F67DE7" -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

New-ADUser -Name 'C080CAB1-9756-409F-914D-AE3971F67DE7' -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

New-ADUser -Name C080CAB1`-9756`-409F`-914D`-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

他のいくつかのバリエーションとともに

うまくいったこと:

New-ADUser -Name C080CAB1-9756-409F -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

したがって、長さの問題かもしれませんが、スクリプトを機能させる方法はわかりません。


1
通常の名前の代わりにSIDのような名前を使用している理由はありますか?
CIA 14

ユーザー名がそのようになっている理由は、アプリケーションが異なるOUからユーザーを呼び出し、そのユーザーとしてサイトのアプリケーションプールを実行するためです。これはHIPPAの苦情環境のため、ユーザー名を簡単に区別することはできません。これは、使用する必要があるユーザー名の形式です。
アンソニーフォルニート14

2
2000年以前の互換性のために、20文字に制限されています。HIPPAのどの部分に準拠しようとしているのかわかりませんが、ADへの患者のアクセスを許可しない限り、命名構造は必要ありません。
CIA 14

sAMAccountNameに 20文字。短い長い名前が必要です。必要に応じて、長い説明と表示名を設定できます。
ゾレダチェ14

ちなみに、Base64で表されるGUIDでほとんど逃げることができます。これは24文字以内です。本当に128ビットの一意のIDが必要ですか?数ビットを切り取り、正しい方法でエンコードし、20フィールドに収めます。
ゾレダチェ14

回答:


13

その36文字の文字列の名前を表示しますか、それともログインを36文字の文字列にしますか

サーバー2012 R2を使用している場合、表示名は20文字にしか設定できませんが、ログイン名は「-UserPrincipalName」を使用して最大64文字にできます(私は思う)

これを試して

New-ADUser -Name C080CAB1-9756-409F-9 -UserPrincipalName C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

これにより、表示名が作成され、ユーザーのユーザーログイン名となる-UserPrincipalNameの値が切り捨てられます。

適切なフラグを設定するには、任意のユーザーのプロパティを参照してください。

http://thenerdservice.com/useradd.png

200より前のログインは切り捨てられていることがわかりますが、ユーザーログイン名は

http://thenerdservice.com/userlogin.png


おかげで時間を大幅に節約できました。ちなみに便利なツールはたくさんあります。
アンソニーフォルニート14

12

sAMAccountNameの20文字の制限。回避方法はありません。面白いのは、256文字(〜120 Unicode)が予約されていることですが、ディレクトリサービスエンジンでは20文字しか使用できません。

編集:もう少しはっきりさせてください。20文字を超える名前を使用できます、sAMAccountNameは使用できません。それはあなたのニーズに合うかもしれません。デモさせてください:

New-ADUser C080CAB1-9756   # 20 character limit here

Rename-ADObject 'CN=C080CAB1-9756,CN=Users,DC=lab,DC=com

Get-ADUser C080CAB1-9756

DistinguishedName: CN=C080CAB1-9756-409F-914D-AE3971F67DE7,CN=Users,DC=lab,DC=com
Name             : C080CAB1-9756-409F-914D-AE3971F67DE7
SamAccountName   : C080CAB1-9756
DisplayName      :
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.