Posted On July 30, 2021

PowerShell: Try Catch Technique to Obtain Error Type

kimconnect 0 comments
blog.KimConnect.com >> Codes >> PowerShell: Try Catch Technique to Obtain Error Type

# Test

try{
Read-SCVirtualMachine $vmName -EA Stop
}catch{
$errorMessage=$error[0].Exception.GetType().FullName
write-host $errorMessage
}

# Get error type

Microsoft.VirtualManager.Utils.CarmineException

# Retry catch with specific error type

try{
Read-SCVirtualMachine $vmName -EA Stop
}catch [Microsoft.VirtualManager.Utils.CarmineException]{
$errorMessage=$_
$smbPath=[regex]::match($errorMessage,'\\\\(.*)\\').Value
if($smbPath){
write-host "Add this SMB/CIFS path the cluster: $smbPath"
}else{
write-host $errorMessage
}
}

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

PowerShell: Detect Whether Computer is Connected To Domain

# The easy method $domainConnected=.{ try { [void]::([System.DirectoryServices.ActiveDirectory.Domain]::GetComputerDomain()) return $true } catch{ return $false }…

Basic CSS: Inherit Styles from the Body Element

<style>body {background-color: black;}</style>

Terminal Service Auditing – Generate Report of RDP Sessions with Certain Login Dates

# getLoginEvents.ps1 function getLoginEvents{ param( $computername=$env:computername, $daysLimit=30 ) $ErrorActionPreference='stop' try{ $logins=Get-WinEvent -ComputerName $ComputerName -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational"|…