Häufig ist es nun aber so, dass jeder Admin sich sein Arsenal an Codeschnipseln selbst zusammenstellt und als Copy-Paste-Fundus in privaten Textdateien oder im besten Fall im internen Wiki ablegt. Wir sammelten unsere Skripte und Codefragmente lange in einem gemeinsamen OneNote-Notizbuch. Pflege und Weiterentwicklung waren schlecht umgesetzt und neue Versionen wurden manchmal sogar per Mail versendet, die dann wiederum als Copy-Paste-Quelle dienten.

Windows-Admins sind Mausarbeiter und werden manchmal auch scherzhaft als Klickibunti-Admins verspottet. Daher sind wir tatsächlich nicht sehr an den Umgang mit Code gewöhnt. Zum Glück haben wir im Haus auch große Entwicklermannschaften für unser ERP-System und unseren Webshop, die Erfahrungen mit Versionierungssystemen und Code-Repositories haben. Von denen konnten wir uns einiges abgucken und gerade Git machte einen vielversprechenden Eindruck.

Die Wahl der „Entwicklungsumgebung“ ist Geschmackssache des jeweiligen Admins. Einige nutzen Notepad++, andere schwören auf PSPad, wieder andere haben Gefallen an der Powershell ISE gefunden. Obwohl das letztendlich egal ist, habe ich mich dazu entschieden, Microsofts Visual Studio Code zu empfehlen, denn dort gibt es neben einer wirklich guten Powershell-Erweiterung auch eine integrierte (klickbare 😉 ) Codeverwaltung mit Git.

Zutaten für den Nachbau:

  • Visual Studio Code
  • PowerShell Extension für VS Code
  • Git for Windows
  • eine gemeinsame Dateiablage für das Repository

Nach der Installation der Komponenten sollte Git rudimentär personalisiert werden, damit Commits zugeordnet werden können:

git config --global user.name "Tech Blog"

git config --global user.email techblog@walbusch.de

Anschließend klont man sich das gemeinsame Repository von einer Serverfreigabe in ein lokales Arbeitsverzeichnis:

git clone file://\Server\Teamscripte.git

Um auf dem aktuellen Stand zu bleiben, lässt man VS Code regelmäßig automatisiert ein git fetch durchführen.

Änderungen können über die integrierte Quellcodeverwaltung des VS Code gestaged (sagt man das so?) und commitet (noch so ein Unwort!) werden.

Die Übertragung vom und ins Remote-Repository erfolgt per Mausklick:

Mit den hier beschriebenen Schritten kratzen wir natürlich nur an der Oberfläche. Sicherlich kann man mit einem GitLab-Server noch mehr Funktionalität herausholen – unsere Entwicklermannschaften tun das auch bereits! Und uns ist auch bewusst, dass Git mehr ist als fetch, pull, commit, push. Auf Rollenberechtigungen im Repo verzichten wir und Branches benötigen wir vorerst nicht.

Aber für die Powershell-Administratoren bedeuten bereits diese wenigen Handgriffe einen enormen Gewinn: Wir arbeiten mit einer gemeinsamen Codebasis, wir können Änderungen nachverfolgen bzw. versionieren und wir haben eine einheitliche Entwicklungsumgebung, in der jeder Skripte erstellen kann, von denen das ganze Team profitiert. Das Setting ist ausbaufähig und weitere Funktionen kommen sicherlich demnächst hinzu.

Nikolaus

techblog@walbusch.de

Kontakt Blog

Wenn Sie Fragen oder Feedback zum Technologie-Blog oder zu einem unserer Beiträge haben, können Sie sich gerne per Mail an unser Technologie-Blog Team wenden!

E-Mail: techblog@walbusch.de