dig.ps1: dig-artiger DNS-Lookup fuer PowerShell
Skript und README hinzugefuegt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# dig.ps1 — dig-artiger DNS-Lookup für PowerShell
|
||||
|
||||
Ein PowerShell-Skript, das die wichtigsten `dig`-Aufrufe unter Windows nachbildet.
|
||||
Intern wird `Resolve-DnsName` verwendet.
|
||||
|
||||
## Aufrufe
|
||||
|
||||
```powershell
|
||||
.\dig.ps1 example.com # A-Record (Default)
|
||||
.\dig.ps1 MX example.com # type name
|
||||
.\dig.ps1 example.com MX # name type (Reihenfolge egal)
|
||||
.\dig.ps1 example.com AAAA @1.1.1.1 # gegen bestimmten Server
|
||||
.\dig.ps1 -x 8.8.8.8 # Reverse-Lookup (PTR)
|
||||
.\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.
|
||||
|
||||
## `dig`-Funktion anlegen
|
||||
|
||||
Damit sich das Skript wie unter Linux einfach mit `dig …` (statt `.\dig.ps1 …`) aufrufen lässt,
|
||||
wird eine Funktion im PowerShell-Profil angelegt.
|
||||
|
||||
### 1. Skript ablegen
|
||||
|
||||
Kopiere `dig.ps1` an einen festen Ort, z. B.:
|
||||
|
||||
```powershell
|
||||
C:\Tools\dig.ps1
|
||||
```
|
||||
|
||||
### 2. Profil öffnen (bei Bedarf anlegen)
|
||||
|
||||
```powershell
|
||||
# Existiert das Profil schon?
|
||||
Test-Path $PROFILE
|
||||
|
||||
# Falls nicht: anlegen
|
||||
if (-not (Test-Path $PROFILE)) {
|
||||
New-Item -ItemType File -Path $PROFILE -Force
|
||||
}
|
||||
|
||||
# Profil im Editor öffnen
|
||||
notepad $PROFILE
|
||||
```
|
||||
|
||||
### 3. Funktion eintragen
|
||||
|
||||
Füge folgende Zeilen in die Profildatei ein und passe den Pfad an:
|
||||
|
||||
```powershell
|
||||
function dig {
|
||||
& "C:\Tools\dig.ps1" @args
|
||||
}
|
||||
```
|
||||
|
||||
`@args` reicht alle Argumente unverändert an das Skript weiter, sodass die dig-Syntax
|
||||
1:1 erhalten bleibt.
|
||||
|
||||
### 4. Profil neu laden
|
||||
|
||||
```powershell
|
||||
. $PROFILE
|
||||
```
|
||||
|
||||
Danach steht `dig` in jeder neuen PowerShell-Sitzung zur Verfügung:
|
||||
|
||||
```powershell
|
||||
dig example.com MX @1.1.1.1
|
||||
dig -x 8.8.8.8 +short
|
||||
```
|
||||
|
||||
## Ausführungsrichtlinie (ExecutionPolicy)
|
||||
|
||||
Wird die Ausführung von Skripten blockiert, kann sie für den aktuellen Benutzer erlaubt werden:
|
||||
|
||||
```powershell
|
||||
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
|
||||
```
|
||||
|
||||
`RemoteSigned` erlaubt lokal erstellte Skripte; aus dem Internet geladene Skripte müssen signiert sein.
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Das Skript benötigt das Modul `DnsClient` (`Resolve-DnsName`), das unter Windows standardmäßig vorhanden ist.
|
||||
- Die Standardausgabe orientiert sich am `dig`-Format mit `QUESTION`- und `ANSWER SECTION`.
|
||||
- Mit `+short` werden nur die reinen Antwortwerte ausgegeben (eine pro Zeile).
|
||||
Reference in New Issue
Block a user