创建Active Directory用户名

时间:2018-04-24 06:29:53

标签: powershell active-directory

我们使用的用户名格式为“姓氏的第一个首字母和姓氏的第一个首字母的第一个首字母”。

如果用户名已经存在于AD中,我需要一种方法来更改中间的初始值。它应循环显示字母表中的字母,直到找到可用的匹配项。

以下是我现在在PowerShell中所拥有的内容,它能够正确设置用户名并检查它是否存在于Active Directory中。但是,我无法弄清楚如何改变中间的初始。 有什么建议吗?

我已将代码更新到下面,但我不知道如何使用新用户名再次检查AD。

$randomObject = New-Object System.Random
$randomChar = [char]$randomObject.next(97, 122)

$FirstName  = ’rirstName’
$MiddleName = 'aiddleName'
$LastName   = ’gastName’

$Username = $Firstname.Substring(0, 1) + $Middlename.Substring(0, 1) +
            $Lastname.Substring(0, 1)

$User = Get-ADUser -Filter {sAMAccountName -eq $Username}
if ($User -eq $null) {
    'not found'
} elseif ($User -eq $Username) {
    $MiddleName = $randomChar
    $Username   = $Firstname.Substring(0, 1) + $Middlename +
                  $Lastname.Substring(0, 1)
} else {
    $randomObject = New-Object System.Random
    $randomChar = [char]$randomObject.next(97, 122)
    $MiddleName = $randomChar
    $Username   = $Firstname.Substring(0, 1) + $Middlename +
                  $Lastname.Substring(0, 1)
}
$Username
Powershell
$FirstName  = ’FirstName’
$MiddleName = 'MiddleName'
$LastName   = ’LastName’

$Username = $Firstname.Substring(0, 1) + $Middlename.Substring(0, 1) +
            $Lastname.Substring(0, 1)

$User = Get-ADUser -Filter {sAMAccountName -eq $Username}
if ($User -eq $null) {
    "User does not exist in AD"
} else {
    "User found in AD"
}
$Username

0 个答案:

没有答案