Files
atap/ATAPAuditor/Helpers/LogFile.ps1
T
2026-05-11 09:15:08 +02:00

94 lines
2.1 KiB
PowerShell

function Set-LogFile {
[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Medium')]
Param(
[Parameter(Mandatory = $true)]
[Alias('LogPath')]
[string]$Path,
[Parameter(Mandatory = $true)]
[Alias('Logname')]
[string]$Name
)
$FullPath = Get-FullPath $Path $Name
# Create file if it does not already exists
if (!(Test-Path -Path $FullPath)) {
# Create file and start logging
New-Item -Path $FullPath -ItemType File -Force | Out-Null
Add-Content -Path $FullPath -Value "***************************************************************************************************"
Add-Content -Path $FullPath -Value " Logfile created at [$([DateTime]::Now)]"
Add-Content -Path $FullPath -Value "***************************************************************************************************"
Add-Content -Path $FullPath -Value ""
Add-Content -Path $FullPath -Value ""
}
}
function Write-LogFile {
[CmdletBinding()]
Param(
[Parameter(Mandatory = $true)]
[Alias('LogMessage')]
[string]$Message,
[Parameter(Mandatory = $true)]
[Alias('LogPath')]
[string]$Path,
[Parameter(Mandatory = $true)]
[Alias('Logname')]
[string]$Name,
[ValidateSet("Error", "Warning", "Info")]
[string]$Level = "Info"
)
Set-LogFile $Path $Name
$FullPath = Get-FullPath $Path $Name
# Format date for log file
$FormattedDate = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
switch ($Level) {
'Error' {
# Write-Error $Message
$LevelText = '[ERROR]:'
}
'Warning' {
# Write-Warning $Message
$LevelText = '[WARNING]:'
}
'Info' {
# Write-Verbose $Message
$LevelText = '[INFO]:'
}
}
Add-Content $FullPath "$FormattedDate $LevelText"
Add-Content $FullPath "$Message"
Add-Content $FullPath "--------------------------"
Add-Content $FullPath ""
}
function Get-FullPath {
[CmdletBinding()]
Param(
[Parameter(Mandatory = $true)]
[string]$Path,
[Parameter(Mandatory = $true)]
[string]$File
)
$FullPath = ""
if ($Path.Length -gt 0) {
if ($Path[$Path.Length - 1] -ne "\") {
$FullPath = $Path + "\" + $File
}
else {
$FullPath = $Path + $File
}
}
return $FullPath
}