0
我嘗試建立一個腳本,在Active DirectoryPowerShell的:在Active Directory中
找到第一個免費的計算機名稱找到第一個免費的計算機名稱。例如,如果我在AD有這些計算機: - PC01 - PC02 - PC04 - PC05
我試圖找到PC03但所有的劇本我發現這將返回:PC06(名單>取最後一個和增量)
是否有人有任何想法,我怎麼能找到這個 ?
最好的問候, 羅伯特
我嘗試建立一個腳本,在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
它的工作,除了我沒有RSAT我的電腦,但我上用另一種方式描述另一個主題(用adsisearcher),並且完美地工作。非常感謝 – user2542383