Windows

Confluence mit Powershell via SOAP zugriefen

SOAP Dokumentation für Confluence:
https://docs.atlassian.com/atlassian-confluence/latest/com/atlassian/confluence/rpc/soap/ConfluenceSoapService.html

Webservice Objekt erstellen:

Authentifizierungstoken erstellen:

alle Spaces auflisten:

alle Seiten eines Spaces auflisten:

eine Seite aus einem Space abrufen( hier die „Home“ Seite des Spaces):

der Content der Seite lässt sich über die Eigenschaft „content“ zugreifen:

Anpassen und Speichern der Seite:

Eine neue Seite erstellen und in der Linkansicht anzeigen:

 

Credentials in Powershell aus KeePass laden

benötigt werden:

Wir brauchen den Thumbprint des zu verwendenden Zertifikates:

Die UUID des Eintrages aus der KeePass Datenbank

Der Code zum benutzen eines Usercertificate durch den Webclient ist von http://stackoverflow.com/questions/5621954/how-can-you-add-a-certificate-to-webclient-in-powershell

ACHTUNG:

Die Credentials stehen im Klartext in der Variable $keepasscred. Die Variable sollte so schnell wie möglich wieder gelöscht werden!

Zum Schluss haben wir mit $admincredentials ein Object vom Type System.Management.Automation.PSCredential

Hier der gesammte Code:

 

Exchange Message Header cleanup in Postfix

Wer sich mal den Header seiner ausgehenden E-Mail angesehen hat, wird vielleicht mit Schrecken festgestellt haben, das Exchange Server dort etwas zu gesprächig sind.
Da man für eine DKIM Signatur am besten noch ein ausgehendes Relay zwischen Exchange und Internet schaltet, kann man mit Postfix sehr schnell für Abhilfe schaffen.
Die DKIM Signatur erfolgt nach der Verarbeitung der „header_checks“, wir können hier also noch beliebig ändern.

Zuerst ersetze ich die „Received“ Zeile der Übertragung vom Exchange Server an das Postfix Relay mit einem Eintrag von localhost. Hier kann man auch einen beliebigen anderen MTA z.B. Exim eintragen. Er sollte nur nicht zu fantasievoll sein, Antispam Systeme sind nachtragend. Das gilt auch für die unbedingt richtige Syntax! (MessageID und Uhrzeit)

Dann werden alle X-Header mit Verweisen auf interne IP Adressen gelöscht.

Zuletzt lösche ich noch X-Header mit Verweisen auf den User-Agent, Antivirus und Antispam und wer sich da sonst noch einträgt.
Benutzt man z.B. OTRS, sollte man hier unbedingt den X-Header mit der Software Versionsnummer löschen, aber den X-Header mit der Ticketnummer lassen.

zum testen legt man sich ein Mailkonto bei hotmail an und schaut sich dort den Quelltext der E-Mail an.

 

 

Pimp my Powershell Environment

Hier einmal meine Microsoft.PowerShell_profile.ps1

Wichtig ist mir vor allem, das die Powershell schnell startet. Also möglicht wenige Module laden.
Zum schnellen Nachladen der einzelnen Module habe ich die Aufrufe in Funktionen verpackt, welche sich über „load-XXX“ aufrufen lassen.(siehe Script loads.ps1)
Das Quest Active Directory  wird standardmäßig geladen. Bits benötigt kaum Zeit zum laden und ich benutze es gern um Downloads durchzuführen.

Meine lokalen Scripte lege ich im Ordner $lib ab.

Als Editor verwende ich überwiegend Notepad++, welcher über den alias e aufgerufen wird.

Um über die Command Line Dateien via scp zu kopieren benutze ich das Client Pack von VanDyke.
Meine SSH Verbindungen rufe ich über Funktionen im Script ssh.ps1 auf. An Stelle von SecureCRT kann man auch mit Putty arbeiten.

Mit den Funktionen „big“ und „small“ kann ich schnell die Konsole in ihrer Größe verändern, ohne die Maus zu bemühen.

 

 

 

 

 

 

 

Veeam Backup und Powershell – fail !

Da Veeam Backup in der Version 5.01 Powershell unterstützt, wollte ich mal sehen, was man damit schönes Scripten kann … „mach mal schnell ein Backup der Machine…“

Alle Verfügbaren Commands bekommt man dann mit:

Der erste Test: liste mir alle bekannten Server in Veeam auf:

OK, da sind jetzt ein paar in der Liste, die es nicht mehr gibt. Die kann man doch sicher auch löschen.

FAIL
remove-VBRServer kennt als Paramater leider keine Property -Name. Man kann nur über Pipe ein VBRServer Objekt übergeben …
OK, nächster Versuch

FAIL
get-VNRServer kennt leider keinen Parameter -Name. Man kann nur über Pipe ein Objekt VBRServer übergeben … Hatten wir schonmal, oder?
OK, dann die ganz ausfühliche Version:

Nach Zustimmung wird dann auch der Server gelöscht.
An dem Punkt ist mir eigentlich die Lust vergangen, etwas Sinnvolles mit Powershell und Veean zu versuchen …

http://en.wikipedia.org/wiki/Cat_%28Unix%29#Useless_use_of_cat