Powershell: Base64-Decodierung und Encodierung

Man muss ja öfters mal Base64-codierte Strings decodieren oder eben Zeichenketten in Base64-Strings encodieren.

Dazu kann man unter Windows entweder Online-Dienste wie base64decode.org verwenden oder relativ einfach die Powershell 🙂

Decodieren

$string = "VGVzdC1TdHJpbmc="
[Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($string))

Codieren

$string = "Test-String"
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($string))

Ziemlich easy 🙂

Upload zu Nextcloud aus der Konsole via cURL

Um Daten von der Konsole aus zu einer Nextcloud hochzuladen braucht es nur cURL :

curl -X PUT „https://meine.nextcloud.net/remote.php/webdav/Ordner/Datei.txt“ –data-binary @“Datei.txt“ -u nextcloud-user

Um also z.B. die Datei Backup.tar.gz in den Ordner Backup des Users cloud hochzuladen wäre der Befehl also:

curl -X PUT „https://meine.nextcloud.net/remote.php/webdav/Backup/Backup.tar.gz“ –data-binary @“Backup.tar.gz“ -u cloud

Super easy und man muss die Konsole nicht verlassen 🙂

Windows: NTP-Server abfragen

Ich wollte auf einem Windows-System testen ob ich einen NTP-Server erreiche und ob mir dieser Server auch eine Zeit zurückgibt.

Das kann man ganz einfach per w32tm-Befehl testen:

w32tm.exe /stripchart /computer:ip.addresse.oder.dnsname /dataonly /samples:1

Also z.B. mit IP

w32tm.exe /stripchart /computer:172.17.9.78 /dataonly /samples:1

oder auch per DNS-Namen:

w32tm.exe /stripchart /computer:ptbtime1.ptb.de /dataonly /samples:1

Active Directory: Wert löschen per Powershell

Ich hatte bei einer Migration eines ActiveDirectorys das Problem das bei vielen Usern noch Login-Scripte definiert waren die ich aber nicht mehr verwenden wollte.

Will man von vielen Usern einen Wert im Active Directory löschen geht das einfach über die Powershell 🙂

Hier ein Beispiel um bei allen Usern im AD den ScriptPath zu löschen:

Get-ADUser -filter * | set-aduser -Clear scriptPath

Das kann natürlich über die Filter noch eingeschränkt werden und funktioniert natürlich auch für andere Parameter 🙂

Hier noch ein Beispiel für das Löschen des Profil-Pfads für alle User eine OU:

Get-ADUser -Filter * -SearchBase „OU=TestUser,DC=domain,DC=local“ | Set-ADUser -Clear profilepath

VMWare: [Errno 28] No space left on device

Ich hatte mal wieder das Problem dass beim Upgrade eines ESXi ein Fehler auftrat – und zwar dieser hier:

[OSError]
[Errno 28] No space left on device
Please refer to the log file for more details.

Im Gegensatz zu einem ähnlichen Fehler war hier keine fehlerhafte VIB angegeben.

Nach ein bisschen Suchen fand ich heraus das die Swap-Datei relativ groß wurde und standardmäßig liegt diese in der Systempartition und nimmt hier den nötigen Platz für das Update weg :-/

Ich habe das Problem mit dem Verlagern der SWAP-Datei gelöst:

Danach lief das Update ohne Problem durch 🙂

Exchange 2013 – Update von CU1 scheitert wegen KB2874216

Ich musste einen Exchange 2013 mit installierten CU1 updaten – bekamm aber folgende Fehlermeldung:

Das Produkt mit dem Code 4934d1ea-be46-48b1-8847-f1af20e892c1 kann nicht entfernt werden. Schwerwiegender Fehler bei der Installation. Fehlercode: 1603. Letzter vom MSI-Paket ausgegebener Fehler: ‚Unable to install because a previous Interim Update for Exchange Server 2013 Cumulative Update 1 has been installed. Please use Add/Remove Programs to uninstall the Interim Update before running this setup again.‘.

Durch den installierten KB2874216 wird das Update blockiert.

Eine Entfernung bzw. Deinstallation des Updates war bei mir nicht erfolgreich bzw. lies es sich einfach nicht entfernen.

Als Workaround habe ich in der Registry den Schlüssel

HKLM\Software\Microsoft\ExchangeServer\V15\Setup\Interim Update

gelöscht.

Danach den Server rebooten – das Setup neu starten – geht 🙂

Quelle: https://anotherexchangeblog.wordpress.com/tag/kb2874216/

Nextcloud 15: occ-Befehle nach Upgrade

Mir wurde nach einem Upgrade von meiner Nextcloud 14 auf die aktuelle Version folgendes angezeigt:

Um die Datenbankoperationen mit occ auszuführen musste ich folgendes machen :

per SSH auf dem Server und in das Nextcloud-Verzeichnis (bei mir /var/www/html/nextcloud) wechseln

cd /var/www/html/nextcloud

Dann zuerst die Indizies erstellen

sudo -u www-data php occ db:add-missing-indices

Und anschliesend die Konvertierung auf big int durchführen

sudo -u www-data php occ db:convert-filecache-bigint

Danach war die Datenbank glücklich 🙂

Und man kann sich an die anderen Meldungen machen 😉