new push
This commit is contained in:
33
Stacker.ps1
Normal file
33
Stacker.ps1
Normal file
@@ -0,0 +1,33 @@
|
||||
# Variables
|
||||
$CsrFolder = "C:\Temp\CSRs" # Path to folder with CSR files
|
||||
$DnsZone = "record.domain.govt.nz" # Your DNS zone (AD-integrated)
|
||||
$TargetIP = "managementboxIP" # The IP for all A records
|
||||
$DnsServer = "DC01.example.local" # AD Domain Controller / DNS server
|
||||
|
||||
# Loop through CSR files
|
||||
Get-ChildItem -Path $CsrFolder -Filter *.csr | ForEach-Object {
|
||||
# Get just the file name without extension
|
||||
$fqdn = $_.BaseName.Trim()
|
||||
Write-Host "Processing $fqdn ..."
|
||||
|
||||
try {
|
||||
# If the filename is a full FQDN, strip the zone name
|
||||
if ($fqdn.ToLower().EndsWith(".$($DnsZone.ToLower())")) {
|
||||
$hostname = $fqdn.Substring(0, $fqdn.Length - $DnsZone.Length - 1)
|
||||
} else {
|
||||
$hostname = $fqdn
|
||||
}
|
||||
|
||||
Write-Host " -> Adding DNS A record for $hostname.$DnsZone -> $TargetIP"
|
||||
|
||||
Add-DnsServerResourceRecordA `
|
||||
-Name $hostname `
|
||||
-ZoneName $DnsZone `
|
||||
-IPv4Address $TargetIP `
|
||||
-ComputerName $DnsServer `
|
||||
-ErrorAction Stop
|
||||
|
||||
} catch {
|
||||
Write-Warning "Could not add DNS record for $fqdn : $_"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user