Difference between revisions of "Powershell snippets"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
## Get A/CNAME DNS Records from Windows DNS | ## Get A/CNAME DNS Records from Windows DNS | ||
+ | |||
get-dnsRecords.ps1 | get-dnsRecords.ps1 | ||
``` | ``` | ||
$ErrorActionPreference = "Stop" | $ErrorActionPreference = "Stop" | ||
− | if ($args.Count -lt | + | if ($args.Count -lt 2) { |
− | Write-Host "Usage: get-dnsRecords.ps1 <zone name/domain>" | + | Write-Host "Usage: get-dnsRecords.ps1 <zone name/domain> <windows dns hostname>" |
− | Write-Host "Example: get-dnsRecords.ps1 example.com" | + | Write-Host "Example: get-dnsRecords.ps1 example.com my-windows-dns-host" |
exit 1 | exit 1 | ||
} | } | ||
$zoneName = $args[0] | $zoneName = $args[0] | ||
+ | $dnsHost = $args[1] | ||
# write-host "$zoneName" | # write-host "$zoneName" | ||
# exit | # exit | ||
− | $rsp = Invoke-Command -ComputerName | + | $rsp = Invoke-Command -ComputerName wjp1-dc -ScriptBlock { |
− | param($zoneName) | + | param($zoneName, $dnsHost) |
$dnsRecords = Get-DnsServerResourceRecord -ZoneName $zoneName -RRType A | $dnsRecords = Get-DnsServerResourceRecord -ZoneName $zoneName -RRType A | ||
foreach ($record in $dnsRecords) { | foreach ($record in $dnsRecords) { | ||
Line 27: | Line 29: | ||
Write-Output "$($record.HostName).$zoneName" | Write-Output "$($record.HostName).$zoneName" | ||
} | } | ||
− | } -ArgumentList $zoneName | + | } -ArgumentList $zoneName, $dnsHost |
write-output "$rsp" | Out-File -FilePath ".\$($zoneName).records" | write-output "$rsp" | Out-File -FilePath ".\$($zoneName).records" | ||
write-host "Records are in in file .\$($zoneName).records" | write-host "Records are in in file .\$($zoneName).records" | ||
``` | ``` |
Revision as of 14:59, 19 January 2024
Powershell Snippets
Get A/CNAME DNS Records from Windows DNS
get-dnsRecords.ps1
$ErrorActionPreference = "Stop" if ($args.Count -lt 2) { Write-Host "Usage: get-dnsRecords.ps1 <zone name/domain> <windows dns hostname>" Write-Host "Example: get-dnsRecords.ps1 example.com my-windows-dns-host" exit 1 } $zoneName = $args[0] $dnsHost = $args[1] # write-host "$zoneName" # exit $rsp = Invoke-Command -ComputerName wjp1-dc -ScriptBlock { param($zoneName, $dnsHost) $dnsRecords = Get-DnsServerResourceRecord -ZoneName $zoneName -RRType A foreach ($record in $dnsRecords) { Write-Output "$($record.HostName).$zoneName" } $dnsRecords = Get-DnsServerResourceRecord -ZoneName $zoneName -RRType CName foreach ($record in $dnsRecords) { Write-Output "$($record.HostName).$zoneName" } } -ArgumentList $zoneName, $dnsHost write-output "$rsp" | Out-File -FilePath ".\$($zoneName).records" write-host "Records are in in file .\$($zoneName).records"