Get-PC/Private/NextPrinterName.ps1
2024-06-12 10:15:02 -07:00

46 lines
1.3 KiB
PowerShell

function Find-NextPrinterName($printerPrefix){
<#if($printerPrefix -eq $null){
$printerPrefix = Read-Host "Printer Prefix"
}
#>
$printerNames = @()
$printerPrefix = Read-Host "Printer Prefix"
$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++){
#Write-Host $printerNumber
while($hit -eq $true){
$hit = $false
$printerName = "{0}{1:d2}" -f ($printerPrefix,$printerNumber)
#Write-Host $printerName
foreach ($domain in $domains){
$printerHost = "$printerName$domain"
#Write-Host $printerHost
$testHost = Resolve-DnsName $printerHost
if($null -ne $testHost) {
$hit = $true
}
}
#Write-Host $printerHost
#Write-HOst $nslookup
if($hit -eq $true){
$printerNumber++
}
}
$printerNames += $printerName
$printerNumber++
$hit = $true
}
#Write-Host "$printerName"
return $printerNames
}