Power Info
Supermicro.SSM.ConsoleTask.PMInfo (ConsoleTask)
Element properties:
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 "& { 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>