lcer00
Goto Top

Anfängerfrage Powershell zum Code wiederverwenden

Hallo zusammen,

wie geht man besten mit wiederverwendbarem Code in Powershell um? Also zum Beispiel angepasste Loggingfunktionen, die man nicht jedesmal neu basteln will. Schreibt man da ein ein eigens Modul, was man dann mit dem Skript verteilt und installiert? Oder sollte man das - zumindest bis zu einer gewissen Größe einfach mit in das Skript reinpacken?

Ich bin eigentlich immer für Auslagern, das ist für mich "sortierter", aber bei Powershell ist es wohl nicht mit einem einfachen include erledigt.

Wie handhabt Ihr das?

Grüße

lcer

Content-Key: 1235074498

Url: https://administrator.de/contentid/1235074498

Printed on: May 11, 2024 at 00:05 o'clock

Mitglied: 149062
Solution 149062 Sep 07, 2021 updated at 10:07:25 (UTC)
Goto Top
Kommt drauf an wofür. Wenn es einfache Funktionen für den täglichen Skriptaltag sind die nicht auf anderen Maschinen laufen müssen reicht es die Funktionen in das eigene Powershell-Profil zu packen. Sind es Funktionen auf die andere User zugriff haben müssen dann ein Modul erstellen, bzw. ein Repo mit den eigenen Modulen erstellen und das Repo oder auch nur das Modul den Usern zur Verfügung stellen.
aber bei Powershell ist es wohl nicht mit einem einfachen include erledigt.
Doch kannst du auch, eine separate ps1 mit den Funktionen erstellen und die Funkionen mittels Dot-Sourcing ins aktuelle Projektladen, ist dann ähnlich zu einem Modul.
. .\functions.ps1
Kapitel 10: Skriptmodule
Member: lcer00
lcer00 Sep 07, 2021 at 10:12:28 (UTC)
Goto Top
Zitat von @149062:

Kommt drauf an wofür. Wenn es einfache Funktionen für den täglichen Skriptaltag sind die nicht auf anderen Maschinen laufen müssen reicht es die Funktionen in das eigene Powershell-Profil zu packen. Sind es Funktionen auf die andere User zugriff haben müssen dann ein Modul erstellen, bzw. ein Repo mit den eigenen Modulen erstellen und das Repo oder auch nur das Modul den Usern zur Verfügung stellen.
aber bei Powershell ist es wohl nicht mit einem einfachen include erledigt.
Doch kannst du auch, eine separate ps1 mit den Funktionen erstellen und die Funkionen mittels Dot-Sourcing ins aktuelle Projektladen, ist dann ähnlich zu einem Modul.
> . .\functions.ps1
> 
Kapitel 10: Skriptmodule

Super, Danke, so etwas hatte ich gesucht. "Dot-Sourcing" - wer denkt sich solche Namen aus? face-smile

Grüße


lcer
Mitglied: 149062
149062 Sep 07, 2021 updated at 10:17:01 (UTC)
Goto Top
Man muss nur immer daran denken das mit Dot-Sourcing alle Variablen bzw. Funktionen die aktuellen des aktuellen Projekts überschreiben sollte es dort bereits eine Funktion oder Variable mit dem selben Namen geben.
Member: lcer00
lcer00 Sep 07, 2021 at 10:45:53 (UTC)
Goto Top
noch als Ergänzung zwei Artikel von Microsoft dazu:

https://devblogs.microsoft.com/scripting/how-to-reuse-windows-powershell ...
https://devblogs.microsoft.com/powershell/powershell-constrained-languag ...

der erste ist von 2010! Da habe ich wohl etwas geschlafen haben ....

Grüße

lcer