52 lines
2.0 KiB
PowerShell
52 lines
2.0 KiB
PowerShell
#######PREDISPOSIZIONE FILE, FOLDER E FUNZIONE DI LOG#######
|
|
|
|
#definisco cartella file di log
|
|
$logFolder = "c:\EgwLogs\"
|
|
#definisco nome file di log
|
|
$logFile = "ExampleLog1.log"
|
|
|
|
#verifico se esiste la cartella di log
|
|
if (Test-Path $logFolder) {
|
|
}
|
|
#se non esiste la cartella di log la creo
|
|
else {
|
|
New-Item $logFolder -ItemType Directory
|
|
}
|
|
|
|
#rilevo time per log inizio analisi
|
|
$dateTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss")
|
|
|
|
#funzione per scrittura output & log
|
|
Function WriteLogOutput {
|
|
Param ($logFile, [string]$logString)
|
|
#compongo path per file di log
|
|
$logPath = Join-Path $logFolder $logFile
|
|
#aggiungo il contenuto della stringa da loggare
|
|
Add-content $logPath -value "$logString"
|
|
#scrivo a terminale il contenuto della stringa da loggare
|
|
Write-Output($logString)
|
|
}
|
|
|
|
#compongo URL da chiamare con successivo try/catch
|
|
######### $callUrl = "https://URL/DA/CHIAMARE" + $varieEventuiali + "/EVENTUALE URL/" + $varieEventuali
|
|
#eseguo call url con try/catch
|
|
try {
|
|
######### $Response = Invoke-WebRequest -URI $callUrl -Headers $EventualeHeader -ContentType "application/json" -UseBasicParsing
|
|
#converto da Json la risposta in caso di esito positivo del try/catch
|
|
$parsedResponse = $Response.Content | ConvertFrom-Json
|
|
#scrivo su log data/ora e risposta convertita dal Json
|
|
WriteLogOutput $logFile "--------------------"
|
|
WriteLogOutput $logFile "Date/Time: $dateTime"
|
|
WriteLogOutput $logFile "Response:"
|
|
WriteLogOutput $logFile $($parsedResponse.message)
|
|
}
|
|
#scrivo se trovo un errore durante il try/catch
|
|
catch {
|
|
#converto da Json l'eventuale errore in caso di esito negativo del try/catch
|
|
$parsedError = $_ | Out-String | ConvertFrom-Json
|
|
#scrivo su log data/ora e errore convertito dal Json
|
|
WriteLogOutput $logFile "--------------------"
|
|
WriteLogOutput $logFile "Date/Time: $dateTime"
|
|
WriteLogOutput $logFile "Error:"
|
|
WriteLogOutput $logFile $($parsedError.message)
|
|
} |