Difference between revisions of "Powershell snippets"
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 15: | Line 15: | ||
$zoneName = $args[0] | $zoneName = $args[0] | ||
$dnsHost = $args[1] | $dnsHost = $args[1] | ||
− | |||
− | |||
− | |||
$rsp = Invoke-Command -ComputerName wjp1-dc -ScriptBlock { | $rsp = Invoke-Command -ComputerName wjp1-dc -ScriptBlock { | ||
Line 32: | Line 29: | ||
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" | ||
+ | ``` | ||
+ | |||
+ | |||
+ | ## SSL Verify from Above | ||
+ | - https://github.com/genkiroid/cert | ||
+ | |||
+ | ``` | ||
+ | $ErrorActionPreference = "Stop" | ||
+ | |||
+ | if ($args.Count -lt 1) { | ||
+ | Write-Host "Usage: cert-scan.ps1 <zoneName>" | ||
+ | Write-Host "Example: cert-scan.ps1 example.com" | ||
+ | exit 1 | ||
+ | } | ||
+ | |||
+ | $zoneName = $args[0] | ||
+ | write-host "Getting hosts from $($zoneName).records " | ||
+ | |||
+ | |||
+ | $hosts = Get-Content .\$($zoneName).records | ||
+ | $textToRemove = "@.$zoneName" | ||
+ | $hosts = $hosts -replace [regex]::Escape($textToRemove), "" | ||
+ | $hosts = -split $hosts | ||
+ | |||
+ | cert.exe -f json -skip-verify $hosts | ConvertFrom-Json | ConvertTo-Json -Depth 10 > .\$($zoneName).json | ||
+ | write-host "Check $($zoneName).json for scan results." | ||
``` | ``` |
Latest revision as of 15:44, 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] $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"
SSL Verify from Above
$ErrorActionPreference = "Stop" if ($args.Count -lt 1) { Write-Host "Usage: cert-scan.ps1 <zoneName>" Write-Host "Example: cert-scan.ps1 example.com" exit 1 } $zoneName = $args[0] write-host "Getting hosts from $($zoneName).records " $hosts = Get-Content .\$($zoneName).records $textToRemove = "@.$zoneName" $hosts = $hosts -replace [regex]::Escape($textToRemove), "" $hosts = -split $hosts cert.exe -f json -skip-verify $hosts | ConvertFrom-Json | ConvertTo-Json -Depth 10 > .\$($zoneName).json write-host "Check $($zoneName).json for scan results."