winutil/functions/private/Invoke-WinUtilScript.ps1
Chris Titus 6ffca764ef
Test 06 2023 - The Fix for service issues (#764)
* Compile Winutil

* fix wlansvc service (#749)

* Compile Winutil

* update_edge_removal (#750)

* update_edge_removal

* add more exception handling

* update order of lines

* change exception output

* set winmgmt service to automatic (#760)

* Compile Winutil

---------

Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Padsala Tushal <57517785+padsalatushal@users.noreply.github.com>
2023-05-16 09:58:46 -05:00

44 lines
1.5 KiB
PowerShell

function Invoke-WinUtilScript {
<#
.DESCRIPTION
This function will run a seperate powershell script. Meant for things that can't be handled with the other functions
.EXAMPLE
$Scriptblock = [scriptblock]::Create({"Write-output 'Hello World'"})
Invoke-WinUtilScript -ScriptBlock $scriptblock -Name "Hello World"
#>
param (
$Name,
[scriptblock]$scriptblock
)
Try {
Write-Host "Running Script for $name"
Invoke-Command $scriptblock -ErrorAction Stop
}
Catch [System.Management.Automation.CommandNotFoundException] {
Write-Warning "The specified command was not found."
Write-Warning $PSItem.Exception.message
}
Catch [System.Management.Automation.RuntimeException] {
Write-Warning "A runtime exception occurred."
Write-Warning $PSItem.Exception.message
}
Catch [System.Security.SecurityException] {
Write-Warning "A security exception occurred."
Write-Warning $PSItem.Exception.message
}
Catch [System.UnauthorizedAccessException] {
Write-Warning "Access denied. You do not have permission to perform this operation."
Write-Warning $PSItem.Exception.message
}
Catch {
# Generic catch block to handle any other type of exception
Write-Warning "Unable to run script for $name due to unhandled exception"
Write-Warning $psitem.Exception.StackTrace
}
}