以增量生成下一个可用的samaccountname

时间:2015-05-14 17:40:51

标签: powershell count numbers

我正在尝试使用增量数字生成下一个可用的广告帐户。例如,我的域名目前有帐户名称“opr1000-opr1014”,所以当我运行我的脚本时,我应该期待opr1015,而不是它陷入循环并且永远不会返回值。我让它运行do while循环并以增量增加数值,直到它找到一个未使用的值,此时do while循环不再为true,脚本应该结束。有人有什么想法吗?

    $Account = "opr"
$Accountnum = "1000"
$Accountname = $account + $Accountnum
$Accountint = $account + $int
$int = [System.Decimal]::Parse($Accountnum)
do{
    $query = "(&(objectClass=user)(samaccountname=$Accountname))"
    $result = ([adsisearcher]$query).FindOne()
    If($result){$int++}
}While($accountint)

"$account$Int"

2 个答案:

答案 0 :(得分:0)

错误很少,请看:

$Account = "opr"
$Accountnum = 1000
do
{
    $Accountname = $Account + $Accountnum;
    $query = "(&(objectClass=user)(samaccountname=$Accountname))"
    $result = ([adsisearcher]$query).FindOne()
    if($result -eq $false) 
    {
      break
    }
    $Accountnum++
} while($true)

答案 1 :(得分:0)

$Account = "opr"
$Accountnum = 1000
do
{
    $Accountname = $Account + $Accountnum;
    $query = "(&(objectClass=user)(samaccountname=$Accountname))"
    $result = ([adsisearcher]$query).FindOne()
    if($result) 
    {
      $Accountnum++
    }else{

    break

}} while($true)



"$Account$Accountnum"