Powershell Bearbeiten der Ausgabe
Hi,
ich möchte mit meinem Skript auf unseren Infobloxx DNS Appliances DNS Einträge anlegen, aktulisieren, bzw löschen. Ich lese damit die bConnect Schnittstelle unseres Baramundiservers aus.
Die Ausgabe soll direkt eine bereits fertige API bedienen. Die Ausgabe gibt eine Liste mit PCnamen und IPadressen der aktiven Clients aus. Inaktive scheinen ohne IPadresse auf, diese sollen gelöscht werden.
Abfrage im Skript:
Initialize-bConnect -Server "baramundi-dev.domain.at" -Credentials $creds -Port 443 -AcceptSelfSignedCertifcate
Get-bConnectEndpoint | select Hostname, PrimaryIP | Out-String -stream | select-object -skip 3 > hosts
Die Ausgabe soll nach der Fertigstellung direkt an die API Schnittstelle ohne ein Textfile erfolgen. Hier die Ausgabe der Abfrage:
Win10-2009-MF XXX.244.21.98
HYPNOS XXX.244.113.197
H81200-002-D XXX.244.222.171
DEVPC-Urducea
Die Ausgabe soll dahingehend formattiert werden:
Ein Eintrag mit aktueller IPadresse soll in der Ausgabe wie folgt an die API übergeben werden, wobei es egal ist ob ein lehrzeichen oder ein TAB zwischen den drei Blöcken der Ausgabe steht:
set DNS entry Win10-2009-MF XXX.244.21.98
Die zu löschenden DNS Einträge sollen nur den PC Namen und davor "no IP" stehen haben.
no IP DEVPC-Urducea
Wie kann ich das mit dem bereits vorhandenem Skriptteil so umbauen, dass das funktioniert?
Vielen Dank.
LG, Bernhard
ich möchte mit meinem Skript auf unseren Infobloxx DNS Appliances DNS Einträge anlegen, aktulisieren, bzw löschen. Ich lese damit die bConnect Schnittstelle unseres Baramundiservers aus.
Die Ausgabe soll direkt eine bereits fertige API bedienen. Die Ausgabe gibt eine Liste mit PCnamen und IPadressen der aktiven Clients aus. Inaktive scheinen ohne IPadresse auf, diese sollen gelöscht werden.
Abfrage im Skript:
Initialize-bConnect -Server "baramundi-dev.domain.at" -Credentials $creds -Port 443 -AcceptSelfSignedCertifcate
Get-bConnectEndpoint | select Hostname, PrimaryIP | Out-String -stream | select-object -skip 3 > hosts
Die Ausgabe soll nach der Fertigstellung direkt an die API Schnittstelle ohne ein Textfile erfolgen. Hier die Ausgabe der Abfrage:
Win10-2009-MF XXX.244.21.98
HYPNOS XXX.244.113.197
H81200-002-D XXX.244.222.171
DEVPC-Urducea
Die Ausgabe soll dahingehend formattiert werden:
Ein Eintrag mit aktueller IPadresse soll in der Ausgabe wie folgt an die API übergeben werden, wobei es egal ist ob ein lehrzeichen oder ein TAB zwischen den drei Blöcken der Ausgabe steht:
set DNS entry Win10-2009-MF XXX.244.21.98
Die zu löschenden DNS Einträge sollen nur den PC Namen und davor "no IP" stehen haben.
no IP DEVPC-Urducea
Wie kann ich das mit dem bereits vorhandenem Skriptteil so umbauen, dass das funktioniert?
Vielen Dank.
LG, Bernhard
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 595218
Url: https://administrator.de/contentid/595218
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
9 Kommentare
Neuester Kommentar
Get-bConnectEndpoint | %{
If ($_.PrimaryIP -ne ''){
"set DNS entry $($_.Hostname) $($_.PrimaryIP)"
}else{
"no IP $($_.Hostname)"
}
}
Möglicherweise habe ich was nicht so verstanden.
Ja hast du. Meine Zeile ersetzt deine zweite Zeile oben komplett du kannst das nicht einfach so an deine eigene dran hängen, Powershell arbeitet objektorientiert also nutze es auch so 😉
Sorry Tippfehler, hatte ne geschweifte statt normale Klammer getippt, ist oben behoben.
Get-bConnectEndpoint | %{
If ($_.PrimaryIP -like '141.244.*'){
"set DNS entry $($_.Hostname) $($_.PrimaryIP)"
}else{
"no IP $($_.Hostname)"
}
}