Powershell - Fukntionsaufruf beim erstellen eines Strings
Hallo zusammen,
Ich bin gerade dabei in meinem Skript zur Erstellung eines Logs den Zusammenbau des Textes dynamischer zu gestalten. Und um die Pflege der Texte zu erleichtern. Hoffe das ich damit richtig fahre
Anbei mal das kleine Skript, welches von verschiedenen anderen Skripts "benutzt" werden soll:
Woran ich gerade festhänge ist die definition der Variable $FileInp.
Dort versuche ich am Ende durch einen Funktionsaufruf eine Nachricht auszugeben.
Die Funktion wiederum ruft ein anderes Skript auf, worin dann per Switch meine Text-Möglichkeiten stehen.
Nur scheint es, das man so eine Funktion nicht mit einbinden kann, bei der Erstellung des Strings, da er mir den Funktionsaufruf Create_MessageText rot unterstreicht.
Ich konnte leider nicht auf der Schnelle irgendwas brauchbares auf Google finden.
Ich bin gerade dabei in meinem Skript zur Erstellung eines Logs den Zusammenbau des Textes dynamischer zu gestalten. Und um die Pflege der Texte zu erleichtern. Hoffe das ich damit richtig fahre
Anbei mal das kleine Skript, welches von verschiedenen anderen Skripts "benutzt" werden soll:
# Skript zum erstellen eines Logs
#-------------------------------------------------------------------
param(
$LogPath,
$MessageNr,
$PProcessName,
$LogLevel
)
switch ($LogLevel)
{
1 {$LogLevel = "[INFO]"}
2 {$LogLevel = "[WARNUNG]"}
3 {$LogLevel = "[FEHLER]"}
default {$LogLevel = "[INFO]"}
}
$DateNow = Get-Date -Format "dd.MM.yyyy HH:mm:ss"
$FileInp = $LogLevel + ' | ' + $DateNow + ' | ' + $PProcessName + ' | ' + Create_MessageText($MessageNr)
If (Test-Path $LogPath)
{
Add-Content $LogPath -Value $FileInp
}
else
{
New-Item $LogPath -type file
Add-Content $LogPath -value $FileInp
}
function Create_MessageText($MessageNr)
{
$MessageText = &"C:\Users\bprosoz\Desktop\Jobs\Batch Zusatz\MessageList.ps1" -MessageNr $MessageNr
return $MessageText
}
Woran ich gerade festhänge ist die definition der Variable $FileInp.
Dort versuche ich am Ende durch einen Funktionsaufruf eine Nachricht auszugeben.
Die Funktion wiederum ruft ein anderes Skript auf, worin dann per Switch meine Text-Möglichkeiten stehen.
Nur scheint es, das man so eine Funktion nicht mit einbinden kann, bei der Erstellung des Strings, da er mir den Funktionsaufruf Create_MessageText rot unterstreicht.
Ich konnte leider nicht auf der Schnelle irgendwas brauchbares auf Google finden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 467986
Url: https://administrator.de/contentid/467986
Ausgedruckt am: 29.03.2024 um 02:03 Uhr
3 Kommentare
Neuester Kommentar
Bei näherer Betrachtung ist deine Funktions Definition auch nicht korrekt...
und der Aufruf dann mit
function Create_MessageText
{
param([string]$MessageNr)
$MessageText = &"C:\Users\bprosoz\Desktop\Jobs\Batch Zusatz\MessageList.ps1" -MessageNr $MessageNr
return $MessageText
}
$MessageText = Create_MessageText -MessageNr $MessageNr
$FileInp = .... + $MessageText