Function Set-SDKServiceRecovery { <# .SYNOPSIS Set the recovery options to restart for all Alkami SDK services. .DESCRIPTION Change the recovery options to "Restart the Service" on failure for all Windows services associated with the SDK. .EXAMPLE Set-SDKServiceRecovery -ServiceName 'All' -Action 'TakeNoAction' Set-SDKServiceRecovery -ServiceName 'Alkami.MicroServices.Transactions.Service.Host' -Action 'TakeNoAction' Set-SDKServiceRecovery -ServiceName 'Alkami.MicroServices.Transactions.Service.Host','Alkami.MS.TransactionEnrichment.Service.Host' -Action 'TakeNoAction' Omitting the Action parameter will use the default action of "Take No Action" Set-SDKServiceRecovery -ServiceName 'All' Set-SDKServiceRecovery -ServiceName 'Alkami.MicroServices.Transactions.Service.Host' Set-SDKServiceRecovery -ServiceName 'Alkami.MicroServices.Transactions.Service.Host','Alkami.MS.TransactionEnrichment.Service.Host' Set-SDKServiceRecovery -ServiceName 'All' -Action 'recovery' Set-SDKServiceRecovery -ServiceName 'Alkami.MicroServices.Transactions.Service.Host' -Action 'recovery' Set-SDKServiceRecovery -ServiceName 'Alkami.MicroServices.Transactions.Service.Host','Alkami.MS.TransactionEnrichment.Service.Host' -Action 'recovery' .NOTES General notes #> [CmdletBinding()] param ( [Parameter(Mandatory=$true)] [string[]]$ServiceName, [Parameter(Mandatory=$false)] [string]$Action ) $actions = "//////"; #Write-Host "Action: $($Action)"; if (($PSBoundParameters.ContainsKey('Action')) -and ($Action -ne 'TakeNoAction')) { $actions = "restart/60000//////" } if (($ServiceName -contains 'All') -or ($ServiceName -contains 'all')) { $ServiceName = (Get-AlkamiServices).Where({$_.Name -ne 'Alkami.Sidekick.Client'}).Name } foreach ($service in $ServiceName) { #Write-Host "Setting recovery on $($service) service to 'TakeNoAction'"; # sc.exe failure $service reset= 86400 actions= $actions | Out-Null Invoke-SCExe @("failure",$service,"actions=",$actions,"reset=",86400) } }