DNS-Server: -s/-server als @-freie Alternative + @server quoten
PowerShell deutet fuehrendes @ als Splatting-Operator; @server muss daher gequotet werden. Zusaetzlich -s/-server-Parameter ergaenzt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -9,12 +9,30 @@ Intern wird `Resolve-DnsName` verwendet.
|
|||||||
.\dig.ps1 example.com # A-Record (Default)
|
.\dig.ps1 example.com # A-Record (Default)
|
||||||
.\dig.ps1 MX example.com # type name
|
.\dig.ps1 MX example.com # type name
|
||||||
.\dig.ps1 example.com MX # name type (Reihenfolge egal)
|
.\dig.ps1 example.com MX # name type (Reihenfolge egal)
|
||||||
.\dig.ps1 example.com AAAA @1.1.1.1 # gegen bestimmten Server
|
.\dig.ps1 example.com MX -s 1.1.1.1 # gegen bestimmten Server (@-frei)
|
||||||
|
.\dig.ps1 example.com MX "@1.1.1.1" # gegen bestimmten Server (@ gequotet)
|
||||||
.\dig.ps1 -x 8.8.8.8 # Reverse-Lookup (PTR)
|
.\dig.ps1 -x 8.8.8.8 # Reverse-Lookup (PTR)
|
||||||
.\dig.ps1 example.com TXT +short # nur die Werte ausgeben
|
.\dig.ps1 example.com TXT +short # nur die Werte ausgeben
|
||||||
```
|
```
|
||||||
|
|
||||||
Unterstützt: Record-`type`, `name`, `@server`, die Option `+short` sowie `-x` für Reverse-Lookups.
|
Unterstützt: Record-`type`, `name`, `@server` bzw. `-s server`, die Option `+short` sowie `-x` für Reverse-Lookups.
|
||||||
|
|
||||||
|
### DNS-Server angeben: `@server` muss gequotet werden
|
||||||
|
|
||||||
|
PowerShell deutet ein Argument mit führendem `@` als **Splatting-Operator** und bricht
|
||||||
|
schon beim Parsen ab (`Der Splat-Operator "@" kann nicht … verwendet werden`), bevor das
|
||||||
|
Skript überhaupt startet. Für die `@server`-Syntax daher **Anführungszeichen** verwenden:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
.\dig.ps1 example.com MX "@8.8.8.8"
|
||||||
|
```
|
||||||
|
|
||||||
|
Oder die `@`-freie Alternative `-s` / `-server` nutzen:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
.\dig.ps1 example.com MX -s 8.8.8.8
|
||||||
|
.\dig.ps1 example.com MX -server 8.8.8.8
|
||||||
|
```
|
||||||
|
|
||||||
## `dig`-Funktion anlegen
|
## `dig`-Funktion anlegen
|
||||||
|
|
||||||
|
|||||||
@@ -11,14 +11,17 @@
|
|||||||
Freie dig-artige Argumente:
|
Freie dig-artige Argumente:
|
||||||
name abzufragender Name (z.B. example.com)
|
name abzufragender Name (z.B. example.com)
|
||||||
type Record-Typ (A, AAAA, MX, TXT, NS, CNAME, SOA, SRV, PTR, ...)
|
type Record-Typ (A, AAAA, MX, TXT, NS, CNAME, SOA, SRV, PTR, ...)
|
||||||
@server zu verwendender DNS-Server (z.B. @8.8.8.8)
|
@server zu verwendender DNS-Server; in PowerShell zwingend quoten:
|
||||||
|
"@8.8.8.8" (fuehrendes @ ist sonst der Splatting-Operator)
|
||||||
|
-s server @-freie Alternative fuer den DNS-Server (auch -server)
|
||||||
-x <ip> Reverse-Lookup (PTR) fuer eine IPv4-/IPv6-Adresse
|
-x <ip> Reverse-Lookup (PTR) fuer eine IPv4-/IPv6-Adresse
|
||||||
+short nur die reinen Antwortwerte ausgeben
|
+short nur die reinen Antwortwerte ausgeben
|
||||||
|
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
.\dig.ps1 example.com
|
.\dig.ps1 example.com
|
||||||
.\dig.ps1 MX example.com
|
.\dig.ps1 MX example.com
|
||||||
.\dig.ps1 example.com MX @1.1.1.1
|
.\dig.ps1 example.com MX -s 1.1.1.1
|
||||||
|
.\dig.ps1 example.com MX "@1.1.1.1"
|
||||||
.\dig.ps1 -x 8.8.8.8
|
.\dig.ps1 -x 8.8.8.8
|
||||||
.\dig.ps1 AAAA example.com +short
|
.\dig.ps1 AAAA example.com +short
|
||||||
#>
|
#>
|
||||||
@@ -57,6 +60,16 @@ for ($i = 0; $i -lt $rest.Count; $i++) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# -s / -server als @-freie Alternative (PowerShell deutet ein fuehrendes
|
||||||
|
# '@' sonst als Splatting-Operator und bricht schon beim Parsen ab).
|
||||||
|
if ($arg -eq '-s' -or $arg -eq '-server') {
|
||||||
|
if ($i + 1 -lt $rest.Count) {
|
||||||
|
$server = [string]$rest[$i + 1]
|
||||||
|
$i++
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if ($arg -eq '+short') {
|
if ($arg -eq '+short') {
|
||||||
$short = $true
|
$short = $true
|
||||||
continue
|
continue
|
||||||
@@ -79,7 +92,7 @@ for ($i = 0; $i -lt $rest.Count; $i++) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (-not $name) {
|
if (-not $name) {
|
||||||
Write-Host "Verwendung: dig.ps1 [type] name [@server] [+short] | dig.ps1 -x <ip> [+short]"
|
Write-Host "Verwendung: dig.ps1 [type] name [@server | -s server] [+short] | dig.ps1 -x <ip> [+short]"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user