У меня есть следующая функция write-log, и я хотел бы поместить журналы, генерируемые при запуске скрипта, в подпапку и переименовать их в file.logs.old. Более того, я бы хотел сохранить последний лог в папке скриптов. Пример
ПОСЛЕДНИЙ ЖУРНАЛ:
C:\scripts\powershellscript\logs.log
СТАРЫЕ ЖУРНАЛЫ ПОД ПАПКИ:
C:\scripts\powershellscript\logfolder\
СТАРЫЕ ЖУРНАЛЫ:
C:\scripts\powershellscript\logfolder\logs1.log.old
C:\scripts\powershellscript\logfolder\logs2.log.old
C:\scripts\powershellscript\logfolder\logs3.log.old
Etc...
У меня есть следующие функция, но она сохраняет только последний журнал и заменяет его:
function write-Log
{
Param (
[Parameter(Mandatory = $false)]
#Message
$Message,
[Parameter(Mandatory = $false)]
#Errormessage
$ErrorMessage,
[Parameter(Mandatory = $false)]
#Component that create the error
$Component,
[Parameter(Mandatory = $false)]
#Error Type
[int]$Type,
[Parameter(Mandatory = $true)]
#Filepath to the Logfile
$LogFile
)
#Create a Timestamp
$Date = Get-Date -Format "MM/dd/yyyy"
$time = Get-Date -Format "HH:mm:ss.fff"
#If you type a error message the type will automatically switch to type 3 Error
if ($null -ne $ErrorMessage)
{ $Type = 3
}
#If you type no Component the Component will set to space
if ($null -eq $Component)
{ $Component = " "
}
#If you set the type variable it is set to 1 automatically
if ($null -eq $Type)
{ $Type = 1
}
#create the log entry
$LogMessage = "<![LOG[$Message $ErrorMessage ]LOG]!>" + "<time=`"$time`" date=`"$Date`" component=`"$Component`" context=`"`" type=`"$Type`" thread=`"`" file=`"`">"
#write the log entry
$LogMessage | Out-File -Append -Encoding UTF8 -FilePath $LogFile
}
это текущая переменная для хранения журнала
#Variable
$Logfile = "C:\Scripts\powershellscript\logs.log" #logfile path
Как я могу этого добиться? Мне нужна помощь по этой функции, которую нужно добавить в запрос пользователя. Скрипт работает, но добавляется только последний журнал. И в долгосрочной перспективе проверка старых журналов невозможна.
Спасибо