marabunta
Goto Top

Powershell Function als String in Textdatei exportieren

hi,

ich möchte eine ganze funktion innerhalb eines skripts in eine neue datei exportieren.

etwa so:

###

function blubb{
$a="1"
}
function export{
write-host "dada"
}
write-host "was anderes"

###

alles was in function export steht soll dann so wie es ist unausgewertet in C:\test.ps1 exportiert werden.

inhalt C:\test.ps1:
function export{
write-host "dada"
}

danke

Content-ID: 254085

Url: https://administrator.de/forum/powershell-function-als-string-in-textdatei-exportieren-254085.html

Ausgedruckt am: 04.04.2025 um 10:04 Uhr

114757
Lösung 114757 07.11.2014, aktualisiert am 11.11.2014 um 11:04:00 Uhr
Goto Top
Moin,
pack die Function in einen Here-String und exportiere sie dann
$myfunc = @'  
function export{
    write-host "dada"  
}
'@  
Set-Content 'C:\test.ps1' -Value $myfunc  
Gruß jodel32
colinardo
Lösung colinardo 07.11.2014, aktualisiert am 11.11.2014 um 11:03:58 Uhr
Goto Top
Hallo Marabunta,
oder wenn du vor und hinter die Function einen Marker setzt der den Exportteil definiert könnte das so aussehen:

deinscript.ps1
##START-EXPORT##
function export{
  write-host "dada"  
}
##END-EXPORT##

([regex]'(?s)##START-EXPORT##(.*)##END-EXPORT##').match(gc 'c:\deinscript.ps1' | out-string).Groups[1].Value | Out-File 'c:\test.ps1'  
Was bezweckst du damit eigentlich ? Kommt mir etwas komisch vor das ganze. Eventuell können wir dir da bei deinem Vorhaben einen etwas besseren Vorschlag machen.

Grüße Uwe
Marabunta
Marabunta 11.11.2014 um 10:50:25 Uhr
Goto Top
Ein Skript erstellt eine Aufgabe, exportiert sich selbst ohne die Aufgabenerstellung und führt verschiedene Dinge aus.
Die Aufgabe startet dann das exportierte Skript.
Damit kann ich u.a. eine Tabelle aktualisieren lassen und ggf. Aktualisierungen des Skripts vornehmen.

Leiden kann ich nicht einfach prüfen ob der Task existiert und ggf. neu erstellen, das Skript würde in dem Fall ja gar nicht starten und ich bräuchte ein drittes Skript...

Jedenfalls sind das Bausteine für ein Skript die eine Verwaltung/Administration erleichtern sollen.