Power Info

Supermicro.SSM.ConsoleTask.PMInfo (ConsoleTask)

Element properties:

TargetSupermicro.Server.SSM.Host.IPMI
ApplicationPowershell.exe
WorkingDirectoryC:\
isRequireOutputTrue
AccessibilityPublic
EnabledTrue

Source Code:

<ConsoleTask ID="Supermicro.SSM.ConsoleTask.PMInfo" Accessibility="Public" Enabled="true" Target="Supermicro.Server.SSM.Host.IPMI" RequireOutput="true">
<Assembly>Res.Supermicro.SSM.ConsoleTask.PMInfo</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="Application">Powershell.exe</Argument>
<Argument Name="WorkingDirectory">C:\</Argument>
<Argument>-noprofile -Command "&amp; { Param([String]$HostAddress)

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = 'BMC Login'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = 'OK'
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Point(150,120)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = 'Cancel'
$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $CancelButton
$form.Controls.Add($CancelButton)

$lbUsername = New-Object System.Windows.Forms.Label
$lbUsername.Location = New-Object System.Drawing.Point(10,20)
$lbUsername.Size = New-Object System.Drawing.Size(60,20)
$lbUsername.Text = 'Username:'
$form.Controls.Add($lbUsername)

$txtUsername = New-Object System.Windows.Forms.TextBox
$txtUsername.Location = New-Object System.Drawing.Point(70,15)
$txtUsername.Size = New-Object System.Drawing.Size(120,20)
$form.Controls.Add($txtUsername)
$txtUsername.Text = 'ADMIN'

$lbPassword = New-Object System.Windows.Forms.Label
$lbPassword.Location = New-Object System.Drawing.Point(10,60)
$lbPassword.Size = New-Object System.Drawing.Size(60,20)
$lbPassword.Text = 'Password:'
$form.Controls.Add($lbPassword)

$txtPassword = New-Object System.Windows.Forms.TextBox
$txtPassword.Location = New-Object System.Drawing.Point(70,55)
$txtPassword.Size = New-Object System.Drawing.Size(120,20)
$form.Controls.Add($txtPassword)
$txtPassword.Text = 'ADMIN'


$form.Topmost = $True
$form.Add_Shown({$txtUsername.Select()})
$result = $form.ShowDialog()
$Username = $txtUsername.Text
$Password = $txtPassword.Text

if ([string]::IsNullOrEmpty($Username) -or [string]::IsNullOrEmpty($Password)) {
echo 'Wrong Username or Password'
return
}


$mod = (New-Object -ComObject WScript.Shell).RegRead('HKLM\SOFTWARE\Supermicro\SCOM_Management_Plugin\Install_Dir')+'\SMCIPMITool\'
cd $mod
.\SMCIPMITool.exe $HostAddress $Username $Password pminfo
echo 'Done!'

}"</Argument>
<Argument>"$Target/Property[Type='Supermicro.Server.SSM.Host']/Address$"</Argument>
</Parameters>
</ConsoleTask>