PowerShell的:在Active Directory中

PowerShell的:在Active Directory中

问题描述:

我尝试建立一个脚本,在Active DirectoryPowerShell的:在Active Directory中

找到第一个免费的计算机名称找到第一个免费的计算机名称。例如,如果我在AD有这些计算机: - PC01 - PC02 - PC04 - PC05

我试图找到PC03但所有的剧本我发现这将返回:PC06(名单>取最后一个和增量)

是否有人有任何想法,我怎么能找到这个 ?

最好的问候, 罗伯特

尝试是这样的:

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 

试试这个:

$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 
+0

它的工作,除了我没有RSAT我的电脑,但我上用另一种方式描述另一个主题(用adsisearcher),并且完美地工作。非常感谢 – user2542383