OpsMgr.2012.Self.Maintenance.Get.Currently.Connected.Users.Write.Action (WriteActionModuleType)

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
InputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
PSScript WriteAction Microsoft.Windows.PowerShellWriteAction Default

Overrideable Parameters:

IDParameterTypeSelector
TimeoutSecondsint$Config/TimeoutSeconds$

Source Code:

<WriteActionModuleType ID="OpsMgr.2012.Self.Maintenance.Get.Currently.Connected.Users.Write.Action" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="TimeoutSeconds" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="PSScript" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>MGConnectedUsersWriteAction.ps1</ScriptName>
<ScriptBody><Script>
#===========================================================================================
# AUTHOR: Tao Yang
# Script Name: MGConnectedUsersWriteAction.ps1
# DATE: 24/02/2013
# Version: 1.0
# COMMENT: - Get OpsMgr management group SDK connected users
#===========================================================================================

#Region FunctionLibs
function Load-SDK()
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.OperationsManager.Common") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.OperationsManager") | Out-Null
}
#EndRegion

$MgmtServer = $Env:COMPUTERNAME

#Connect to SCOM management group
Load-SDK
$MGConnSetting = New-Object Microsoft.EnterpriseManagement.ManagementGroupConnectionSettings($MgmtServer)
$MG = New-Object Microsoft.EnterpriseManagement.ManagementGroup($MGConnSetting)
$arrUsers = $MG.GetConnectedUsernames() | Sort
Write-Host "The following users are connected to management server $MgmtServer`:"
Foreach ($User in $arrUsers)
{
Write-Host " - $User"
}
</Script></ScriptBody>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="PSScript"/>
</Composition>
</Composite>
</ModuleImplementation>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>