Stop Service Bus Farm
Microsoft.ServiceBus.v1.1.ServiceBusHost.StopFarm (Task)
Element properties:
Member Modules:
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} & '$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>