#######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) }