0

Active Directory で最初の空いているコンピューター名を見つけるスクリプトを作成しようとしています

たとえば、AD に次のコンピュータがある場合: - PC01 - PC02 - PC04 - PC05

PC03を見つけようとしましたが、これで見つかったすべてのスクリプトが返されます:PC06(リスト>最後のものを取得してインクリメント)

誰かがこれを見つける方法を知っていますか?

よろしく、ロバート

4

2 に答える 2

0

次のようなことを試してください:

Import-Module ActiveDirectory

$computers = Get-ADComputer * | % { $_.Name -replace 'PC' }

$i = 1
while ( $computers -contains ("{0:d2}" -f $i) ) { $i++ }

$computername = "PC{0:d2}" -f $i

echo $computername
于 2013-07-02T11:57:25.223 に答える
0

これを試してください:

$names = echo PC01  PC02  PC04  PC05
#$names = Get-ADComputer -Filter *  | Where-Object {$_.Name -match '^PC\d+$'} | Select-Object -ExpandProperty Name
[int[]]$num = $names -replace '\D+'

for($i=0; $i -lt $num.Count; $i++) 
{  
    if($num[$i+1]-$num[$i] -gt 1) 
    {
        'PC{0:00}' -f ($num[$i]+1); break
    }         
}

PC03
于 2013-07-02T12:03:14.307 に答える