Get-PC/Private/NextPrinterName.ps1

46 lines
1.3 KiB
PowerShell
Raw Normal View History

2024-06-11 18:27:55 +00:00
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) {
2024-06-11 18:27:55 +00:00
$hit = $true
}
}
#Write-Host $printerHost
#Write-HOst $nslookup
if($hit -eq $true){
$printerNumber++
}
}
$printerNames += $printerName
$printerNumber++
$hit = $true
}
#Write-Host "$printerName"
return $printerNames
}