38 lines
1.2 KiB
PowerShell
38 lines
1.2 KiB
PowerShell
function Find-NextPrinterName($printerPrefix){
|
|
|
|
if($printerPrefix -eq $null){
|
|
|
|
$printerPrefix = Read-Host "Printer Prefix"
|
|
}
|
|
|
|
$printerNames = @()
|
|
|
|
$printerNumber = 1
|
|
$printerName = ''
|
|
$hit = $true
|
|
$domains = @('','.gsrmc.int.samhealth.net','.avery.int.samhealth.net','.sagh.int.samhealth.net','.snlh.int.samhealth.net','.slch.int.samhealth.net','.spch.int.samhealth.net')
|
|
|
|
for ($i=0; $i -lt 5; $i++){
|
|
while($hit -eq $true){
|
|
$hit = $false
|
|
$printerName = "{0}{1:d2}" -f ($printerPrefix,$printerNumber)
|
|
Write-Progress -Activity "Searching for next printer name" -Status "($($i+1)/5) $printerName" -PercentComplete $printerNumber
|
|
$di = 0
|
|
foreach ($domain in $domains){
|
|
$printerHost = "$printerName$domain"
|
|
$testHost = Resolve-DnsName $printerHost
|
|
if($null -ne $testHost) { $hit = $true }
|
|
$di++
|
|
}
|
|
|
|
if($hit -eq $true){ $printerNumber++ }
|
|
}
|
|
$printerNames += $printerName
|
|
$printerNumber++
|
|
$hit = $true
|
|
}
|
|
Write-Progress -Activity "Searching for next printer name" -Completed
|
|
#Write-Host "$printerName"
|
|
return $printerNames
|
|
|
|
} |