作成したいユーザー名が既に使用されているかどうかを確認するために、powershell を使用して AD 検索を実行したいと考えています。既に使用されている場合は、スクリプトでユーザー名の末尾に次の番号を追加します。
Import-Module ActiveDirectory
$family= Mclaren
$first= Tony
#This part of the script will use the first 5 letters of $family and the first 2 letters of $first and join them together to give the $username of 7 letters
$username = $family.Substring(0, [math]::Min(5, $family.Length)) + $first.Substring(0, [math]::Min(2, $first.Length))
- これに基づいて、ユーザー名は " mclarto "のようになります(ユーザー名は姓の最初の 5 文字と名前の 2 文字を足したものです) 検索は AD で行われます。
- 結果がない場合、「mclarto」は末尾に数字を付けずに $username と見なされます 。
- 検索で同じユーザー名を持つ他のユーザーが見つかった場合、ユーザー名は次の番号を取る必要があります。この場合は "mclarto1"になります。
- 「mclarto1」がすでに存在する場合は、「mclarto2」を使用する必要があります。
私が既に David Martin によって提案した答えはほとんどそこにあります。ユーザー名が存在しない場合、$username が一意の場合は番号を含めたくないという部分だけがあります。
ありがとう