Stop Service Bus Farm

Microsoft.ServiceBus.v1.1.ServiceBusHost.StopFarm (Task)

Element properties:

TargetMicrosoft.ServiceBus.v1.1.ServiceBusHost
AccessibilityInternal
CategoryMaintenance
EnabledTrue
RemotableFalse
Timeout300

Member Modules:

ID Module Type TypeId RunAs 
WA WriteAction System.CommandExecuter Microsoft.ServiceBus.v1.1.SBDiscoveryMonitoringProfile

Source Code:

<Task ID="Microsoft.ServiceBus.v1.1.ServiceBusHost.StopFarm" Target="Microsoft.ServiceBus.v1.1.ServiceBusHost" Accessibility="Internal" Enabled="true">
<Category>Maintenance</Category>
<WriteAction ID="WA" TypeID="System!System.CommandExecuter" RunAs="Microsoft.ServiceBus.v1.1.SBDiscoveryMonitoringProfile">
<ApplicationName/>
<WorkingDirectory/>
<CommandLine>powershell.exe -NoLogo -NoProfile -Noninteractive "$ep = get-executionpolicy; if ($ep -gt 'RemoteSigned') {set-executionpolicy -Scope Process remotesigned} &amp; '$file/StopSBFarm.ps1$'</CommandLine>
<TimeoutSeconds>300</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
<Files>
<File>
<Name>StopSBFarm.ps1</Name>
<Contents><Script>
#TODO: Discuss event id
$SCRIPT_EVENT_ID = 4101

#Event Severity values
$INFORMATION_EVENT_TYPE = 0
$ERROR_EVENT_TYPE = 1

try
{
$installpath = (get-itemproperty "HKLM:\Software\Microsoft\Service Bus\1.1" INSTALLDIR).INSTALLDIR
$installpath = $installpath.TrimEnd('\')
$env:Path = $env:Path + ";$installpath"
[Environment]::SetEnvironmentVariable("PSModulePath", [Environment]::GetEnvironmentVariable("PSModulePath","Machine"))
Import-Module ServiceBus

Stop-SBFarm
}
catch
{
$msg += "Error occured during Microsoft Service Bus Farm stopping.{0}Computer:{1} {0}Reason: {2}" -f [Environment]::NewLine, $env:COMPUTERNAME, $_.Exception.Message
$api = New-Object -comObject "MOM.ScriptAPI"
$api.LogScriptEvent("Microsoft Service Bus Farm", $SCRIPT_EVENT_ID, $ERROR_EVENT_TYPE, $msg)
}


</Script></Contents>
<Unicode>true</Unicode>
</File>
</Files>
</WriteAction>
</Task>