Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Get-NextComputerName {
- #Workstation Name Scheme IE: NFDW0001
- $sitecode ="NFDW"
- $searcher= new-object System.DirectoryServices.DirectorySearcher("(&(objectClass=computer)(name=$sitecode*))")
- $comps = $searcher.findall()
- $names= $comps | %{$_.Properties.name}
- $numbers= @($names | %{$_ -replace "$sitecode",""} | %{[int]$_} | sort)
- #make sure single items still get treated as a list
- $i= 0
- $prev= 0 #Assume you start at "0001"... $prev should be one less than your first expected number
- $next= $numbers[0]
- while ( ($next- $prev) -le 1 -and $i -le ($numbers.count-1)) {
- $i++
- $prev= $next
- $next= $numbers[$i]
- }
- if ($i -le $numbers.count) {
- $nextopen= "$sitecode{0:0###}" -f ($prev+1)
- } else {
- $nextopen= "$sitecode{0:0###}" -f ($next+1)
- }
- write-host "Available Workstation: $nextopen"
- #Mobile Name Scheme IE: NFDM0001
- $sitecode ="NFDM"
- $searcher= new-object System.DirectoryServices.DirectorySearcher("(&(objectClass=computer)(name=$sitecode*))")
- $comps = $searcher.findall()
- $names= $comps | %{$_.Properties.name}
- $numbers= @($names | %{$_ -replace "$sitecode",""} | %{[int]$_} | sort)
- #make sure single items still get treated as a list
- $i= 0
- $prev= 0 #Assume you start at "0001"... $prev should be one less than your first expected number
- $next= $numbers[0]
- while ( ($next- $prev) -le 1 -and $i -le ($numbers.count-1)) {
- $i++
- $prev= $next
- $next= $numbers[$i]
- }
- if ($i -le $numbers.count) {
- $nextopen= "$sitecode{0:0###}" -f ($prev+1)
- } else {
- $nextopen= "$sitecode{0:0###}" -f ($next+1)
- }
- write-host "Available Mobile: $nextopen"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement