Solaris.NFS.Mountpoint.Class.Discovery (Discovery)

Element properties:

TargetMicrosoft.Solaris.Computer
EnabledTrue
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Unix.Authoring.TimedShellCommand.PropertyBag.Discovery.DataSource Default

Source Code:

<Discovery ID="Solaris.NFS.Mountpoint.Class.Discovery" Enabled="true" Target="MSL!Microsoft.Solaris.Computer" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Solaris.NFS.Mountpoint.Class"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="UAL!Unix.Authoring.TimedShellCommand.PropertyBag.Discovery.DataSource">
<Interval>300</Interval>
<TargetSystem>$Target/Property[Type="MUL!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<ShellCommand>df -k | awk '{print $1 "," $2 "," $6}'</ShellCommand>
<Timeout>60</Timeout>
<UserName>$RunAs[Name="MUL!Microsoft.Unix.ActionAccount"]/UserName$</UserName>
<Password>$RunAs[Name="MUL!Microsoft.Unix.ActionAccount"]/Password$</Password>
<PSScriptName>ParseWSManResults.ps1</PSScriptName>
<PSScriptBody>
param([string]$StdOut,[string]$StdErr,[string]$ReturnCode)
$api = New-Object -comObject 'MOM.ScriptAPI'

if ($ReturnCode -eq "0")
{
foreach ($line in $StdOut.Split("`n"))
{

$row=$line.Split(" ")
$fileSys=$row[0].Trim()
$size=$row[1].Trim()
$path=$row[2].Trim()

if ($fileSys -ne "" -and $fileSys -ne $null -and $fileSys -ne "FileSystem")
{
$bag = $api.CreatePropertyBag()
$bag.AddValue("FileSystem","$fileSys")
$bag.AddValue("Size","$size")
$bag.AddValue("Path","$path")
$bag
}

}
}
Else
{
$api.LogScriptEvent("ParseWSManResults.ps1",1000,2,"Shell Script Error:" + $StdErr)
}
</PSScriptBody>
<FilterExpression>
<RegExExpression>
<ValueExpression>
<XPathQuery>Property[@Name='Size']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^[0-9]</Pattern>
</RegExExpression>
</FilterExpression>
<ClassId>$MPElement[Name="Solaris.NFS.Mountpoint.Class"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name='MUL!Microsoft.Unix.Computer']/PrincipalName$</Name>
<Value>$Target/Property[Type="MUL!Microsoft.Unix.Computer"]/PrincipalName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='MUL!Microsoft.Unix.LogicalDevice']/DeviceName$</Name>
<Value>$Data/Property[@Name='Path']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='MUL!Microsoft.Unix.LogicalDevice']/DeviceID$</Name>
<Value>$Data/Property[@Name='Path']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='MUL!Microsoft.Unix.LogicalDisk']/FileSystem$</Name>
<Value>nfs</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='MUL!Microsoft.Unix.LogicalDisk']/Compressed$</Name>
<Value>NA</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='MUL!Microsoft.Unix.LogicalDisk']/Size$</Name>
<Value>$Data/Property[@Name='Size']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='Solaris.NFS.Mountpoint.Class']/NFSFileSystem$</Name>
<Value>$Data/Property[@Name='FileSystem']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name='System!System.Entity']/DisplayName$</Name>
<Value>$Data/Property[@Name='Path']$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>