Nützliches aus der Welt der (Power)Shell
Hier sammle ich Kleinigkeiten rund um die (Power)Shell für jene ein eigener Blogeintrag zu viel wäre.
Alles rund um Quellcode
Um einen groben Überblick über die Anzahl der Code-Zeilen in einem Projekt zu erhalten:
(dir -include *.cs -recurse | select-string .).Count
Alle bin
und obj
Ordner in einer dotnet Solution kann auf folgende Weise löschen:
gci -include bin,obj -recurse | remove-item -force -recurse
npm und node.js
Funding Meldungen
Hin und wieder führen die Fund-meldungen beim npm install
zu fehlner in der pipeline. Dies kann man global so deaktivieren:
npm config set fund false --location=global
Alternativ auch nur für das aktuelle Projekt:
npm config set fund false
oder man legt folgenden Eintrag in der .npmrc
an:
fund=false
Löschen aller node_modules Ordner
Alle node_modules
Ordner zu löschen kann umständlich sein. Mit dem folgendem Befehl wird das im Handumdrehen erledigt:
Get-ChildItem -Path "." -Include "node_modules" -Recurse -Directory | Remove-Item -Recurse -Force
Unter Linux / MacOS hilft dieses:
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
Löschen aller Eventlogs
Möchte man alle Einträge in allen Windows Eventlogs los werden hilft folgendes:
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
Anzeigen aller Umgebungsvariablen mit Inhalt
Zum Verstehen von Buildvorgängen in Azure Pipelines kann es hilfreich sein sich alle Umgebungsvariablen ausgeben zulassen:
Get-ChildItem env:* | Sort-Object name | Format-Table -Property name,value -AutoSize
Hilfreiches zu Docker
Docker kann man recht umfangreich bereinigen mit diesem Befehl:
docker system prune -af
Zum Anzeigen aller Ports die auf einem Host durch Container veröffentlicht werden:
docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}" -a
Anzeigen aller IP-Adressen im Hyper-V
Um die IP-Adressen aller eingegeschalteten virtuellen Maschienen anzuzeigen:
Get-VM | Get-VMNetworkAdapter | Format-Table VMName, IPAddresses, switchName -AutoSize
Info: Dieser Befehl gibt nur die Adressen der Maschienen zurück welche gerade Laufen.
Azure AD User ObjectID
Braucht man die ObjectID des eigenen Nutzers um Azure AD kann man sich mit der Azure CLI einlogen undann folgenden Befehl ausführen:
az ad signed-in-user show --query objectId -o tsv
Updaten aller Pakete unter Ubuntu
Alles auf den aktuellen Stand gebracht werden kann unter Ubuntu mit dem folgenden Befehl:
sudo apt-get -y update && sudo apt-get -y clean && sudo apt-get -y upgrade && sudo apt-get -y autoremove --purge
Zone.Identifier-Dateien in der WSL
Wenn man die Zone.Identifier-Dateien löschen möchten, die beim Kopieren von Dateien in WSL2 automatisch generiert werden, können Sie den folgenden Code-Schnipsel ausführen:
find -name "*:Zone.Identifier" -type f -delete
Dies findet und löscht alle Zone.Identifier-Dateien in der WSL2-Installation.