curl: einfacher Datei-Upload nach Nextcloud

Hier ein kurzer Befehl um mit curl einen Datei-Upload an Nextcloud zu ermöglichen:

curl -T ./test.txt -u 'USER:PASSWD' "https://nc.domain.de/nextcloud/remote.php/dav/files/USER/test.txt"

Da Nextcloud über WebDav angesprochen werden kann und curl über den Schalter -T (--upload-file) ein Datei-Upload macht, kann man dies gut dazu verwenden um eben Dateien an Nextcloud zu senden.
Man braucht dafür nur die Adresse der Nextcloud-Instanz, welche man nutzen will und spricht dann mit curl den Teil remote.php/dav/files/USER der URL an.

In diesem Beispiel wird die Datei text.txt aus dem aktuellen Verzeichnis in das root-Verzeichnis des Nextcloud-Benutzers USER unter verwendung des Benutzernamen USER und dem Passwort PASSWD hoch geladen.

Powershell: Script-Ausgaben loggen

Manchmal möchte man die Konsolen-Ausgabe des Scriptes gern weiterverarbeiten und z.b. als Log in eine Logdatei Schreiben.
Man könnte dazu jetzt z.B. jede Log-Ausgabe einzeln über eine Pipe in eine Text-Datei Schreiben - muss man aber nicht.
Eine einfachere Methode ist es das cmdlet “Start-Transcript” hierfür zu nutzen.

Hier ein Beispiel:

Start-Transcript -Path ".\log.txt" -UseMinimalHeader

Write-Output "Hallo Welt!"
Get-Date

Stop-Transcript

In diesem Beispiel wird die Ausgabe des Write-Output und des Get-Date in die Text-Datei log.txt geschrieben.
Der Inhalt der log.txt würde dann wie folgt aussehen:

**********************
PowerShell transcript start
Start time: 20230420210255
**********************
Transcript started, output file is .\log.txt
Hallo Welt!

Donnerstag, 20. April 2023 21:02:55
**********************
PowerShell transcript end
End time: 20230420210255
**********************

Wetere Informationen zu Start-Transcript gibt es dort: Start-Transcript auf learn.microsoft.com

weiterlesen

Powershell unter Linux in Docker-Container ausführen

Hier ein kurzer Befehl um ein Powershell-Script mit Docker unter Linux auszuführen:

docker run --rm --name PowerShell -v /home/sven/ps:/home/ps mcr.microsoft.com/powershell:lts-7.2-alpine-3.14 pwsh /home/ps/MyPowerShellScript.ps1

In diesem Fall wird ein Docker-Container mit dem Image mcr.microsoft.com/powershell:lts-7.2-alpine-3.14 gestartet in dem sich eine Powershell 7.2 befindet und das Script MyPowerShellScript.ps1 aus dem Host-Pfad /home/sven/ps gestartet, welcher im Conatiner als /home/ps gemountet wurde.
Der Container wird nach dem Ausführen wieder gelöscht (--rm) und existiert nur solange das Script aufgerufen wird.