(DEPRECATED) SSH SCOM Workspace Certificate Signing Write Action

Microsoft.Unix.SSHBased.SCOMCert.Signing.WriteAction (WriteActionModuleType)

(DEPRECATED) Write Action to Sign SCOM Workspace Certificate via SSH.

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityPublic
RunAsDefault
InputTypeSystem.BaseData
OutputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
SSHGetSCOMCertCommand ProbeAction Microsoft.Unix.SSHCommand.ProbeAction Default
CertSign WriteAction Microsoft.Unix.SCXCert.WriteAction Default
CopySCOMCert WriteAction Microsoft.Unix.SSHCommand.WriteAction Default
SFTPPutSCOMCert WriteAction Microsoft.Unix.SFTPTransfer.SecureTransfer.WriteAction Default
WriteSCOMFileWA WriteAction Microsoft.Windows.PowerShellWriteAction Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Hoststring$Config/Host$Host
Portstring$Config/Port$Port
UserNamestring$Config/UserName$User Name
Passwordstring$Config/Password$Password
TimeoutSecondsstring$Config/TimeoutSeconds$Timeout in Seconds

Source Code:

<WriteActionModuleType ID="Microsoft.Unix.SSHBased.SCOMCert.Signing.WriteAction" Accessibility="Public">
<Configuration>
<xsd:element name="Host" type="xsd:string"/>
<xsd:element name="Port" type="xsd:string" minOccurs="0"/>
<xsd:element name="UserName" type="xsd:string"/>
<xsd:element name="Password" type="xsd:string"/>
<xsd:element name="TimeoutSeconds" type="xsd:string" minOccurs="0"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Host" ParameterType="string" Selector="$Config/Host$"/>
<OverrideableParameter ID="Port" ParameterType="string" Selector="$Config/Port$"/>
<OverrideableParameter ID="UserName" ParameterType="string" Selector="$Config/UserName$"/>
<OverrideableParameter ID="Password" ParameterType="string" Selector="$Config/Password$"/>
<OverrideableParameter ID="TimeoutSeconds" ParameterType="string" Selector="$Config/TimeoutSeconds$"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<ProbeAction ID="SSHGetSCOMCertCommand" TypeID="Microsoft.Unix.SSHCommand.ProbeAction">
<Host>$Config/Host$</Host>
<Port>$Config/Port$</Port>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<Command>if test -f /opt/microsoft/omsagent/bin/service_control; then cat /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem; else cat /etc/opt/microsoft/scx/ssl/scx.pem; fi</Command>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<IgnoreElevation>false</IgnoreElevation>
</ProbeAction>
<WriteAction ID="CertSign" TypeID="Microsoft.Unix.SCXCert.WriteAction">
<Certificate>$Data///stdout$</Certificate>
</WriteAction>
<WriteAction ID="WriteSCOMFileWA" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>WriteSCOMCertTempFile.ps1</ScriptName>
<ScriptBody><Script>
Param ([string]$Certificate,[string]$TargetSystem)
$TempDir = [System.Environment]::ExpandEnvironmentVariables("%TEMP%")
$TargetDir = $TempDir + "\SCXCert\" +"$TargetSystem"
$TargetFile = $TargetDir + "\scom-cert.pem"
If (Test-Path $TargetDir){
Remove-item -Path $TargetDir -Force -Recurse
}
New-Item $TargetDir -type directory
$Certificate|out-file $TargetFile -encoding ascii
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>Certificate</Name>
<Value>"$Data///certificate$"</Value>
</Parameter>
<Parameter>
<Name>TargetSystem</Name>
<Value>$Config/Host$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>300</TimeoutSeconds>
</WriteAction>
<WriteAction ID="SFTPPutSCOMCert" TypeID="Microsoft.Unix.SFTPTransfer.SecureTransfer.WriteAction">
<Host>$Config/Host$</Host>
<Port>$Config/Port$</Port>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<SourceFile>%Temp%\SCXCert\$Config/Host$\scom-cert.pem</SourceFile>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</WriteAction>
<WriteAction ID="CopySCOMCert" TypeID="Microsoft.Unix.SSHCommand.WriteAction">
<Host>$Config/Host$</Host>
<Port>$Config/Port$</Port>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<Command>if test -f /opt/microsoft/omsagent/bin/service_control; then mv /tmp/scx-@@user@@/scom-cert.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem; fi</Command>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="CopySCOMCert">
<Node ID="SFTPPutSCOMCert">
<Node ID="WriteSCOMFileWA">
<Node ID="CertSign">
<Node ID="SSHGetSCOMCertCommand"/>
</Node>
</Node>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.BaseData</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>