Files
powershell-scripts/Generic/CallUrlExample.ps1
T
2025-02-25 10:45:00 +01:00

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