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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 467986
Url: https://administrator.de/contentid/467986
Printed on: April 25, 2024 at 11:04 o'clock
3 Comments
Latest comment
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