- 修复RouteService中错误过滤home路由的问题 - 后端现在正确返回所有用户有权限的路由 - 添加设备管理相关功能(列表、在线监控、电源管理、远程监控) - 添加详细的修复文档和重启脚本 - 更新权限配置脚本 问题根源:后端代码中有逻辑会过滤掉home路由,导致前端收到空数组,无法生成菜单 解决方案:移除过滤home路由的逻辑,让后端返回所有有权限的路由
2158 lines
176 KiB
PowerShell
2158 lines
176 KiB
PowerShell
# Copyright (C) 2007 Intel Corporation
|
|
|
|
Function Invoke-AMTGUI {
|
|
<#
|
|
.Synopsis
|
|
GUI that invokes IntelvPro PowerShell Module Cmdlets
|
|
|
|
.Description
|
|
GUI that invokes IntelvPro PowerShell Module Cmdlets
|
|
.Notes
|
|
Supported AMT Firmware Versions: 3.x, 4.x, 5.x, 6.x, 7.x
|
|
|
|
An xml configuration file can be passed in to configure the GUI. See the default XML in the invoke-amtgui.ps1 file.
|
|
AMT Provisioning:
|
|
The vPro client AMT firmware must be provisioned prior to accessing AMT functionality. This CMDLet will fail if it is run against a vPro client that has not been provisioned.
|
|
|
|
AMT Client Authentication:
|
|
To invoke commands against AMT enabled clients credentials to authenticate must be specified.
|
|
When no credential is provided as a parameter, the script will use the local logged on Kerberos credential.
|
|
When only the username (Kerberos or Digest) parameter is included the user will be prompted to provide the associated password.
|
|
Credentials should be stored as a PowerShell variable then passed into the Cmdlet with the credential parameter.
|
|
$AMTCredential = get-credential
|
|
|
|
AMT Client Encryption:
|
|
If the Intel vPro client has been configured to use TLS (a web server certificate has been issued to the Intel Management Engine) the Cmdlet must be called with a -TLS switch.
|
|
|
|
When managing an Intel vPro client over TLS (Port 16993) it is important that the computername parameter matchs the primary subject name of the issued TLS certificate. Typically this is the fully qualified domain name (FQDN).
|
|
|
|
Status:
|
|
Status output designates if the Cmdlet was run successfully. For failed attempts additional status may be provided.
|
|
.Link
|
|
http:\\vproexpert.com
|
|
http:\\www.intel.com\vpro
|
|
http:\\www.intel.com
|
|
|
|
.Example
|
|
Invoke-AMTGUI
|
|
.Example
|
|
Invoke-AMTGUI $computerName
|
|
.Example
|
|
Invoke-AMTGUI $computerName -Credential $AmtCredential
|
|
.Example
|
|
Invoke-AMTGUI -xmlConfig sample.xml
|
|
|
|
|
|
|
|
#>
|
|
[CmdletBinding()]
|
|
Param (
|
|
[Parameter(Mandatory=$false,ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$true, position=0, HelpMessage="Hostname, FQDN, or IP Address")] [String[]] $ComputerName,
|
|
[String] $xmlConfig,
|
|
[System.Management.Automation.PSCredential] $Credential,
|
|
[hashtable]$variableArray
|
|
|
|
)
|
|
PROCESS{
|
|
|
|
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
|
|
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
|
|
$commandTable = @{}
|
|
|
|
|
|
$defaultXML = @'
|
|
<?xml version="1.0"?>
|
|
<ArrayOfCtrlProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
<ctrlProperties xsi:type="formProperties">
|
|
<propertyType>Form</propertyType>
|
|
<Text>Intel vPro PowerShell GUI</Text>
|
|
<ImageBytes />
|
|
<FColor>-16777216</FColor>
|
|
<BColor>-986896</BColor>
|
|
<Size>8</Size>
|
|
<Bold>false</Bold>
|
|
<Width>750</Width>
|
|
<Height>750</Height>
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<MenuVisible>true</MenuVisible>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="formImageOutputProperties">
|
|
<propertyType>Image</propertyType>
|
|
<Text />
|
|
<ImageBytes>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</ImageBytes>
|
|
<FColor>-16777216</FColor>
|
|
<BColor>16777215</BColor>
|
|
<Size>8</Size>
|
|
<Bold>false</Bold>
|
|
<Width>171</Width>
|
|
<Height>111</Height>
|
|
<X>525</X>
|
|
<Y>30</Y>
|
|
<Layout>Stretch</Layout>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="OutputProperties">
|
|
<propertyType>TextBox</propertyType>
|
|
<Text />
|
|
<ImageBytes />
|
|
<FColor>-1</FColor>
|
|
<BColor>-16439166</BColor>
|
|
<Size>8</Size>
|
|
<Bold>false</Bold>
|
|
<Width>740</Width>
|
|
<Height>274</Height>
|
|
<X>0</X>
|
|
<Y>445</Y>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="formCredentialGroupProperties">
|
|
<propertyType>CredentialGroup</propertyType>
|
|
<Text>Credential</Text>
|
|
<ImageBytes />
|
|
<FColor>-16777216</FColor>
|
|
<BColor>16777215</BColor>
|
|
<Size>8</Size>
|
|
<Bold>false</Bold>
|
|
<Width>437</Width>
|
|
<Height>48</Height>
|
|
<X>0</X>
|
|
<Y>120</Y>
|
|
<ChangeButtonText>Change</ChangeButtonText>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="ctrlPropertiesHideImage">
|
|
<propertyType>CommandGroup</propertyType>
|
|
<Text />
|
|
<ImageBytes />
|
|
<FColor>-16777216</FColor>
|
|
<BColor>16777215</BColor>
|
|
<Size>8</Size>
|
|
<Bold>false</Bold>
|
|
<Width>437</Width>
|
|
<Height>267</Height>
|
|
<X>0</X>
|
|
<Y>165</Y>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="formComputerNameGroupProperties">
|
|
<propertyType>ComputerNameGroup</propertyType>
|
|
<Text>Client(s)</Text>
|
|
<ImageBytes />
|
|
<FColor>-16777216</FColor>
|
|
<BColor>16777215</BColor>
|
|
<Size>8</Size>
|
|
<Bold>false</Bold>
|
|
<Width>500</Width>
|
|
<Height>121</Height>
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<TLSLabelText>TLS</TLSLabelText>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="VariableProperties">
|
|
<propertyType>Variable</propertyType>
|
|
<Value>Intel</Value>
|
|
<Name>3PDSEnterprise</Name>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="VariableProperties">
|
|
<propertyType>Variable</propertyType>
|
|
<Value>Intel</Value>
|
|
<Name>3PDSVendor</Name>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="VariableProperties">
|
|
<propertyType>Variable</propertyType>
|
|
<Value>vProDemo</Value>
|
|
<Name>3PDSApplication</Name>
|
|
</ctrlProperties>
|
|
<ctrlProperties xsi:type="VariableProperties">
|
|
<propertyType>Variable</propertyType>
|
|
<Value>vProDemo</Value>
|
|
<Name>3PDSBlock</Name>
|
|
</ctrlProperties>
|
|
</ArrayOfCtrlProperties>
|
|
'@
|
|
|
|
|
|
function Main
|
|
{
|
|
|
|
setDefaultSettings
|
|
|
|
$frmMain = New-object System.Windows.Forms.Form
|
|
$frmMain.Text = "Intel vPro PowerShell Module"
|
|
$frmMain.Width = 600
|
|
$frmMain.Height = 600
|
|
$frmMain.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedToolWindow
|
|
|
|
$pnlMainForm = New-object System.Windows.Forms.Panel
|
|
$pnlMainForm.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
$frmMain.controls.add($pnlMainForm)
|
|
|
|
$lstCommands = New-object System.Windows.Forms.ListBox
|
|
$lstCommands.width = 300
|
|
|
|
$tbOutput = New-object System.Windows.Forms.RichTextBox;
|
|
$tbOutput.Visible = $false
|
|
|
|
$gbComputerName = New-object System.Windows.Forms.GroupBox
|
|
$gbComputerName.visible = $false
|
|
$cbTLS = New-object System.Windows.Forms.CheckBox
|
|
$cbMutualTLS = New-object System.Windows.Forms.CheckBox
|
|
$tbCertName = New-object System.Windows.Forms.TextBox
|
|
$lblCertName = New-object System.Windows.Forms.Label
|
|
$tbComputerName = New-object System.Windows.Forms.TextBox
|
|
|
|
$gbCredential = New-object System.Windows.Forms.GroupBox
|
|
$tbCredential = New-object System.Windows.Forms.TextBox
|
|
$btnChangeCredential = New-object System.Windows.Forms.Button
|
|
|
|
$script:boolGbComputerNamePresent = $false;
|
|
$script:boolGbCredentialPresent = $false;
|
|
$script:variableArray = @{}
|
|
$script:variableInputGroupArray = @()
|
|
$script:loggingStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$script:logFile = "log.txt"
|
|
|
|
$pnlMainForm.controls.add($tbOutput)
|
|
|
|
|
|
loadConfigurationXML
|
|
LoadSettingsFromRegistry
|
|
|
|
if($Credential)
|
|
{
|
|
$script:Credential = $Credential
|
|
}
|
|
|
|
populateVariableInputGroupsFromVariables
|
|
|
|
[void] $frmMain.ShowDialog()
|
|
}
|
|
|
|
function populateVariableInputGroupsFromVariables
|
|
{
|
|
|
|
foreach($var in $script:variableInputGroupArray)
|
|
{
|
|
$variableToUpdateFrom = get-variable -name $var.tag
|
|
$var.text = $variableToUpdateFrom.value
|
|
}
|
|
|
|
}
|
|
|
|
function refreshVariablesFromControls
|
|
{
|
|
|
|
foreach($var in $script:variableInputGroupArray)
|
|
{
|
|
$variableToUpdate = get-variable -name $var.tag
|
|
$variableToUpdate.value = $var.text
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function writeToLog($string)
|
|
{
|
|
if($script:loggingStripMenuItem.Checked -eq $true)
|
|
{
|
|
Write-Host "logging:" $string
|
|
#$script:logFile = "log.txt"
|
|
Add-Content $script:logFile -Value $string
|
|
}
|
|
}
|
|
|
|
|
|
function runCommand($command, $usevProTLS)
|
|
{
|
|
|
|
refreshVariablesFromControls
|
|
SaveSettingsToRegistry
|
|
|
|
$envUserName = [Environment]::UserName
|
|
$envUserDomainName = [Environment]::UserDomainName
|
|
$envMachineName = [Environment]::MachineName
|
|
|
|
$frmMain.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
|
|
$tbOutput.Clear()
|
|
$tbOutput.Refresh()
|
|
|
|
if($command)
|
|
{
|
|
write-host "command:"$command
|
|
$fullCmd = $command
|
|
} else {
|
|
$fullCmd = $this.tag
|
|
}
|
|
|
|
write-host "Executing: " $fullCmd;
|
|
|
|
|
|
if($script:boolGbComputerNamePresent -eq $true)
|
|
{
|
|
$ComputerName = @()
|
|
$ComputerList = $tbComputerName.text
|
|
foreach($individual in [regex]::split($ComputerList, ' |;|,|\n'))
|
|
{
|
|
if($individual) {
|
|
$ComputerName = $ComputerName + $individual.trim()
|
|
}
|
|
}
|
|
}
|
|
|
|
$Credential = $script:Credential
|
|
|
|
|
|
if ($cbTLS.Checked -eq $True -and $usevProTLS -eq $True)
|
|
{
|
|
$fullCmd += " -TLS"
|
|
if($cbMutualTLS.Checked -eq $True)
|
|
{
|
|
$fullCmd += " -CertificateName "
|
|
$fullCmd += $tbCertName.Text
|
|
}
|
|
}
|
|
|
|
|
|
$logCMD = $fullCmd.Replace('$Computername', "").Replace('$Credential', "").Replace('-credential', "").Trim()
|
|
if($envMachineName -eq $envUserDomainName)
|
|
{
|
|
writeTolog "$(get-date) ${envMachineName}:${envUserName} $logCMD -Credential $UserName "
|
|
}
|
|
else
|
|
{
|
|
writeTolog "$(get-date) ${envMachineName}:${envUserDomainName}\${envUserName} $logCMD -Credential $UserName "
|
|
}
|
|
|
|
|
|
write-host -fore yellow "Full Command:" $fullCmd
|
|
$errOutFileName = [System.IO.path]::GetTempFileName()
|
|
$outputFileName = [System.IO.path]::GetTempFileName()
|
|
|
|
$output = invoke-expression $fullCmd 2>$errOutFileName
|
|
$output | format-table -AutoSize > $outputFileName
|
|
$result = Get-Content $outputFileName | Out-String
|
|
$err = Get-Content $errOutFileName | Out-String
|
|
write-host $output + $err
|
|
write-host "Done! `n"
|
|
|
|
|
|
if ($output -ne $null -and $output -ne "")
|
|
|
|
{
|
|
$tbOutput.SelectionColor = "Yellow"
|
|
$tbOutput.SelectedText = "Full Command: " + $fullCmd + "`n"
|
|
|
|
$tbOutput.SelectionColor = "White"
|
|
$tbOutput.SelectedText += $result
|
|
|
|
$UserName = $script:Credential.UserName
|
|
|
|
foreach ($item in $output)
|
|
{
|
|
$properties = $item.psobject.properties | % {$_.Name, $_.Value}
|
|
|
|
$string = @()
|
|
|
|
for ($i=0; $i -le $properties.Length - 1; $i+=2)
|
|
{
|
|
$propertyNameValuePair = "-"+$properties[$i]+":"+$properties[$i+1]
|
|
$string += $propertyNameValuePair
|
|
}
|
|
|
|
if($envMachineName -eq $envUserDomainName)
|
|
{
|
|
writeTolog "$(get-date) ${envMachineName}:${envUserName} $logCMD -Credential $UserName $string"
|
|
}
|
|
else
|
|
{
|
|
writeTolog "$(get-date) ${envMachineName}:${envUserDomainName}\${envUserName} $logCMD -Credential $UserName $string"
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($err -ne $null -and $err -ne "")
|
|
{
|
|
$tbOutput.SelectionColor = "Red"
|
|
$tbOutput.SelectedText = $err
|
|
writeTolog "$(get-date) : $err"
|
|
}
|
|
$frmMain.Cursor = [System.Windows.Forms.Cursors]::DefaultCursor
|
|
}
|
|
|
|
|
|
function loadConfigurationXML
|
|
{
|
|
if($xmlConfig){
|
|
[xml]$data = get-content $xmlConfig
|
|
} else {
|
|
[xml]$data = $defaultXML
|
|
}
|
|
|
|
$controlList = $data.selectnodes("/ArrayOfCtrlProperties/ctrlProperties")
|
|
foreach($control in $controlList)
|
|
{
|
|
|
|
switch ($control.selectSingleNode("propertyType").get_innerXml())
|
|
{
|
|
"Image" {
|
|
$tempPB = New-object System.Windows.forms.picturebox
|
|
$tempPB.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$tempPB.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$tempPB.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
|
|
$ic = New-object System.drawing.imageconverter
|
|
$imgString = $control.selectSingleNode("ImageBytes").get_innerXml()
|
|
if($imgString){
|
|
$tempPB.backgroundimage = $ic.convertFrom([System.Convert]::FromBase64String($imgString))
|
|
}
|
|
$tempPB.backgroundimagelayout = $control.selectSingleNode("Layout").get_innerXml()
|
|
$pnlMainForm.controls.add($tempPB)
|
|
}
|
|
|
|
"Form" {
|
|
$frmMain.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$frmMain.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
$frmMain.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$frmMain.ForeColor = $control.selectSingleNode("FColor").get_innerXml()
|
|
$frmMain.backColor = $control.selectSingleNode("BColor").get_innerXml()
|
|
|
|
if($control.selectSingleNode("MenuVisible").get_innerXml() -eq "true")
|
|
{
|
|
#
|
|
# menuStrip1
|
|
#
|
|
$menuStrip1 = New-object System.Windows.Forms.MenuStrip;
|
|
$fileToolStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$settingsToolStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$saveOutputToolStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$exitToolStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$toolStripMenuSeperator = New-object System.Windows.Forms.ToolStripSeparator;
|
|
$editVariablesToolStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$fontToolStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$logStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
$loggingFileStripMenuItem = New-object System.Windows.Forms.ToolStripMenuItem;
|
|
|
|
$menuStrip1.Items.AddRange((
|
|
$fileToolStripMenuItem,
|
|
$settingsToolStripMenuItem,
|
|
$logStripMenuItem));
|
|
$menuStrip1.Location = New-object System.Drawing.Point(0, 0);
|
|
$menuStrip1.Name = "menuStrip";
|
|
$menuStrip1.Size = New-object System.Drawing.Size(520, 28);
|
|
$menuStrip1.TabIndex = 3;
|
|
$menuStrip1.Text = "menuStrip";
|
|
#
|
|
# fileToolStripMenuItem
|
|
#
|
|
$fileToolStripMenuItem.DropDownItems.AddRange((
|
|
$saveOutputToolStripMenuItem,
|
|
$toolStripMenuSeperator,
|
|
$exitToolStripMenuItem));
|
|
$fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
|
$fileToolStripMenuItem.Size = New-object System.Drawing.Size(44, 24);
|
|
$fileToolStripMenuItem.Text = "&File";
|
|
#
|
|
# exitToolStripMenuItem
|
|
#
|
|
$exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
|
$exitToolStripMenuItem.Size = New-object System.Drawing.Size(159, 24);
|
|
$exitToolStripMenuItem.Text = "E&xit";
|
|
$exitToolStripMenuItem.Add_Click({menuClick_Exit});
|
|
#
|
|
# saveOutputToolStripMenuItem
|
|
#
|
|
$saveOutputToolStripMenuItem.Name = "saveOutputToolStripMenuItem";
|
|
$saveOutputToolStripMenuItem.Size = New-object System.Drawing.Size(159, 24);
|
|
$saveOutputToolStripMenuItem.Text = "&Save Output";
|
|
$saveOutputToolStripMenuItem.Add_Click({menuClick_SaveOutput});
|
|
#
|
|
# fileToolStripMenuItem
|
|
#
|
|
$settingsToolStripMenuItem.DropDownItems.AddRange((
|
|
$editVariablesToolStripMenuItem,
|
|
$toolStripMenuSeperator,
|
|
$fontToolStripMenuItem));
|
|
$settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
|
$settingsToolStripMenuItem.Size = New-object System.Drawing.Size(44, 24);
|
|
$settingsToolStripMenuItem.Text = "&Settings";
|
|
#
|
|
# editVariablesToolStripMenuItem
|
|
#
|
|
$editVariablesToolStripMenuItem.Name = "editVariablesToolStripMenuItem";
|
|
$editVariablesToolStripMenuItem.Size = New-object System.Drawing.Size(159, 24);
|
|
$editVariablesToolStripMenuItem.Text = "Edit &Variables";
|
|
$editVariablesToolStripMenuItem.Add_Click({menuClick_EditVariables});
|
|
#
|
|
# fontToolStripMenuItem
|
|
#
|
|
$fontToolStripMenuItem.Name = "fontToolStripMenuItem";
|
|
$fontToolStripMenuItem.Size = New-object System.Drawing.Size(159, 24);
|
|
$fontToolStripMenuItem.Text = "Output &Font";
|
|
$fontToolStripMenuItem.Add_Click({menuClick_Font});
|
|
#
|
|
# logStripMenuItem
|
|
#
|
|
$logStripMenuItem.DropDownItems.AddRange((
|
|
$script:loggingStripMenuItem,
|
|
$loggingFileStripMenuItem));
|
|
$logStripMenuItem.Name = "logStripMenuItem";
|
|
$logStripMenuItem.Size = New-object System.Drawing.Size(44, 24);
|
|
$logStripMenuItem.Text = "&Log";
|
|
#
|
|
# script:loggingStripMenuItem
|
|
#
|
|
$script:loggingStripMenuItem.Name = "loggingStripMenuItem";
|
|
$script:loggingStripMenuItem.Size = New-object System.Drawing.Size(159, 24);
|
|
$script:loggingStripMenuItem.Text = "&Log";
|
|
$script:loggingStripMenuItem.Checked = $false;
|
|
$script:loggingStripMenuItem.Add_Click({menuClick_Logging});
|
|
#
|
|
# loggingFileStripMenuItem
|
|
#
|
|
$loggingFileStripMenuItem.Name = "loggingFileStripMenuItem";
|
|
$loggingFileStripMenuItem.Size = New-object System.Drawing.Size(159, 24);
|
|
$loggingFileStripMenuItem.Text = "Set log &file";
|
|
$loggingFileStripMenuItem.Add_Click({menuClick_SetLogFile});
|
|
|
|
|
|
|
|
|
|
$frmMain.Controls.Add($menuStrip1);
|
|
$frmMain.MainMenuStrip = $menuStrip1;
|
|
}
|
|
|
|
}
|
|
|
|
{($_ -eq "vProButton") -or ($_ -eq "GenericButton")} {
|
|
$tempButton = New-object System.Windows.forms.Button
|
|
$tempButton.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$tempButton.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$tempButton.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$tempButton.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
$fullCmd = $control.selectSingleNode("CmdLineToRun").get_innerXml()
|
|
$tempButton.tag = $fullCmd
|
|
$tempButton.ForeColor = $control.selectSingleNode("FColor").get_innerXml()
|
|
$tempButton.backColor = $control.selectSingleNode("BColor").get_innerXml()
|
|
$ic = New-object System.drawing.imageconverter
|
|
$imgString = $control.selectSingleNode("ImageBytes").get_innerXml()
|
|
if($imgString){
|
|
$tempButton.image = $ic.convertFrom([System.Convert]::FromBase64String($imgString))
|
|
}
|
|
$tempButton.backgroundimagelayout = $control.selectSingleNode("Layout").get_innerXml()
|
|
|
|
if($_ -eq "vProButton")
|
|
{
|
|
$tempButton.Add_Click({runCommand $fullCmd $true})
|
|
}else{
|
|
$tempButton.Add_Click({runCommand $fullCmd $false})
|
|
}
|
|
|
|
if($control.selectSingleNode("Bold").get_innerXml() -eq "true")
|
|
{
|
|
$newFont = New-object System.Drawing.Font("Microsoft Sans Serif",$control.selectSingleNode("Size").get_innerXml(),[System.Drawing.FontStyle]::Bold)
|
|
}else {
|
|
$newFont = New-object System.Drawing.Font("Microsoft Sans Serif",$control.selectSingleNode("Size").get_innerXml())
|
|
}
|
|
$tempButton.Font = $newFont
|
|
$pnlMainForm.controls.add($tempButton)
|
|
}
|
|
"Label" {
|
|
$tempLabel = New-object System.Windows.forms.label
|
|
$tempLabel.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$tempLabel.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$tempLabel.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$tempLabel.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
|
|
if($control.selectSingleNode("Bold").get_innerXml() -eq "true")
|
|
{
|
|
$newFont = New-object System.Drawing.Font("Microsoft Sans Serif",$control.selectSingleNode("Size").get_innerXml(),[System.Drawing.FontStyle]::Bold)
|
|
} else {
|
|
$newFont = New-object System.Drawing.Font("Microsoft Sans Serif",$control.selectSingleNode("Size").get_innerXml())
|
|
}
|
|
$tempLabel.Font = $newFont
|
|
$tempLabel.ForeColor = $control.selectSingleNode("FColor").get_innerXml()
|
|
$tempLabel.backColor = $control.selectSingleNode("BColor").get_innerXml()
|
|
|
|
|
|
$pnlMainForm.controls.add($tempLabel)
|
|
}
|
|
|
|
"TextBox" {
|
|
$tbOutput.BackColor = [System.Drawing.Color]::FromArgb(1,36,86) #This is the PowerShell console color
|
|
$tbOutput.ForeColor = [System.Drawing.Color]::White;
|
|
$tbOutput.Multiline = $true;
|
|
$tbOutput.ScrollBars = [System.Windows.Forms.RichTextBoxScrollBars]::Both;
|
|
$tbOutput.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$tbOutput.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$tbOutput.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
|
|
$newFont = New-object System.Drawing.Font($Script:tbOutputFontName, $Script:tbOutputFontSize,[Drawing.FontStyle]'Regular')
|
|
$tbOutput.Font = $newFont
|
|
$tbOutput.ForeColor = $control.selectSingleNode("FColor").get_innerXml()
|
|
$tbOutput.backColor = $control.selectSingleNode("BColor").get_innerXml()
|
|
|
|
$tbOutput.Visible = $true
|
|
}
|
|
|
|
"ComputerNameGroup" {
|
|
$gbComputerName.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$gbComputerName.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$gbComputerName.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
$gbComputerName.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$gbComputerName.Visible = $true
|
|
|
|
$gbComputerName.Controls.Add($cbTLS)
|
|
$cbTLS.Name = "checkBox1"
|
|
$cbTLS.AutoSize = $true
|
|
$cbTLS.Text = $control.selectSingleNode("TLSLabelText").get_innerXml()
|
|
$cbTLS.UseVisualStyleBackColor = $true
|
|
$tempX = $gbComputerName.Width - ($cbTLS.Width + 70)
|
|
$cbTLS.Location = New-object System.Drawing.Point($tempX, 19)
|
|
$cbTLS.Add_CheckedChanged(
|
|
{
|
|
if($cbTLS.Checked -eq $True)
|
|
{
|
|
$cbMutualTLS.Enabled = $True
|
|
if($cbMutualTLS.Checked -eq $True)
|
|
{
|
|
$tbCertName.Enabled = $True
|
|
$lblCertName.Enabled = $True
|
|
}
|
|
else
|
|
{
|
|
$tbCertName.Enabled = $False
|
|
$lblCertName.Enabled = $false
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$cbMutualTLS.Enabled = $False
|
|
$tbCertName.Enabled = $False
|
|
}
|
|
})
|
|
|
|
$gbComputerName.Controls.Add($cbMutualTLS)
|
|
$cbMutualTLS.Name = "checkBoxMutual"
|
|
$cbMutualTLS.AutoSize = $true
|
|
$cbMutualTLS.Text = "Mutual TLS"
|
|
$cbMutualTLS.UseVisualStyleBackColor = $true
|
|
$tempX = $gbComputerName.Width - ($cbMutualTLS.Width + 25)
|
|
$cbMutualTLS.Location = New-object System.Drawing.Point($tempX, 38)
|
|
$cbMutualTLS.Enabled = $false
|
|
$cbMutualTLS.Add_CheckedChanged(
|
|
{
|
|
if($cbMutualTLS.Checked -eq $True)
|
|
{
|
|
$tbCertName.Enabled = $True
|
|
$lblCertName.Enabled = $True
|
|
}
|
|
else
|
|
{
|
|
$tbCertName.Enabled = $False
|
|
$lblCertName.Enabled = $False
|
|
}
|
|
}
|
|
)
|
|
$gbComputerName.Controls.Add($lblCertName)
|
|
$lblCertName.Name = "LabelMutual"
|
|
$lblCertName.AutoSize = $true
|
|
$lblCertName.Text = "Certificate Name:"
|
|
$tempX = $gbComputerName.Width - ($lblCertName.Width + 15)
|
|
$lblCertName.Location = New-object System.Drawing.Point($tempX, 57)
|
|
$lblCertName.Enabled = $false
|
|
|
|
$gbComputerName.Controls.Add($tbCertName)
|
|
$tbCertName.Name = "textboxcert"
|
|
$tbCertName.AutoSize = $true
|
|
$tempX = $gbComputerName.Width - ($tbCertName.Width + 5)
|
|
$tbCertName.Location = New-object System.Drawing.Point($tempX, 76)
|
|
$tbCertName.Enabled = $false
|
|
|
|
|
|
|
|
$tbComputerName.location = New-object System.Drawing.Point(6, 19)
|
|
$tbComputerName.Name = "tbComputerName"
|
|
|
|
$tbComputerName.Width = $control.selectSingleNode("Width").get_innerXml() - ($tbCertName.Width + 35)
|
|
$tbComputerName.Height = $control.selectSingleNode("Height").get_innerXml() - 30
|
|
|
|
if($ComputerName) { $tbComputerName.text = $ComputerName }
|
|
$tbComputerName.multiline = $true
|
|
|
|
|
|
$gbComputerName.Controls.Add($tbComputerName)
|
|
$pnlMainForm.controls.add($gbComputerName)
|
|
$script:boolGbComputerNamePresent = $true
|
|
}
|
|
|
|
"CredentialGroup" {
|
|
|
|
$gbCredential.Controls.Add($tbCredential)
|
|
$gbCredential.Controls.Add($btnChangeCredential)
|
|
|
|
$gbCredential.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$gbCredential.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$gbCredential.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
$gbCredential.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$gbCredential.Visible = $true
|
|
|
|
$btnChangeCredential.Autosize = $true;
|
|
$btnChangeCredential.Text = $control.selectSingleNode("ChangeButtonText").get_innerXml()
|
|
$btnChangeCredential.UseVisualStyleBackColor = $true
|
|
$btnChangeCredential.Add_Click({btnChangeCredential_Click})
|
|
$tempX = $gbCredential.Width - ($btnChangeCredential.Width + 10)
|
|
$btnChangeCredential.Location = New-object System.Drawing.Point($tempX, 17)
|
|
|
|
$tbCredential.location = New-object System.Drawing.Point(6, 19)
|
|
$tbCredential.Width = $control.selectSingleNode("Width").get_innerXml() - ($btnChangeCredential.Width + 25)
|
|
$tbCredential.Height = $control.selectSingleNode("Height").get_innerXml() - 30
|
|
|
|
$tbCredential.Enabled = $false
|
|
$tbCredential.Text = $Credential.Username
|
|
|
|
$gbCredential.Controls.Add($tbCredential)
|
|
$gbCredential.Controls.Add($btnChangeCredential)
|
|
$pnlMainForm.controls.add($gbCredential)
|
|
$script:boolGbCredentialPresent = $true
|
|
}
|
|
|
|
"CommandGroup"{
|
|
$script:lbCommands = New-object System.Windows.Forms.ListBox
|
|
$btnGetHelp = New-object System.Windows.Forms.Button
|
|
$btnExecute = New-object System.Windows.Forms.Button
|
|
$gbCommands = New-object System.Windows.Forms.GroupBox
|
|
$script:gbOptions = New-object System.Windows.Forms.GroupBox
|
|
$script:lblCommandDescription = New-object System.Windows.Forms.Label
|
|
$script:gbCommandDescription = New-object System.Windows.Forms.GroupBox
|
|
|
|
$gbCommands.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$gbCommands.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$gbCommands.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
$gbCommands.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$gbCommands.Visible = $true
|
|
|
|
$script:gbOptions.Location = New-object System.Drawing.Point(159, 6)
|
|
$script:gbOptions.Size = New-object System.Drawing.Size(274, 257)
|
|
$script:gbOptions.Text = "Options"
|
|
$script:gbOptions.Visible = $true
|
|
|
|
$script:lbCommands.Anchor = [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left -bor [System.Windows.Forms.AnchorStyles]::Right;
|
|
$script:lbCommands.FormattingEnabled = $true
|
|
$script:lbCommands.Location = New-object System.Drawing.Point(7, 15)
|
|
$script:lbCommands.Size = New-object System.Drawing.Size(143, 170)
|
|
$script:lbCommands.Items.Add("Firmware Version") | out-null
|
|
$script:lbCommands.Items.Add("Power State") | out-null
|
|
$script:lbCommands.Items.Add("Hardware Asset") | out-null
|
|
$script:lbCommands.Items.Add("Event Log") | out-null
|
|
$script:lbCommands.Items.Add("Power Control") | out-null
|
|
$script:lbCommands.Items.Add("Force Boot") | out-null
|
|
$script:lbCommands.Items.Add("IDE Redirection") | out-null
|
|
$script:lbCommands.Items.Add("Third Party Data Store") | out-null
|
|
$script:lbCommands.Items.Add("Alarm Clock") | out-null
|
|
$script:lbCommands.Items.Add("Fast Call for Help") | out-null
|
|
$script:lbCommands.Items.Add("User Consent") | out-null
|
|
$script:lbCommands.Items.Add("System Defense") | out-null
|
|
|
|
$script:lbCommands.selectedindex = 0
|
|
$script:lbCommands.Add_selectedindexchanged({commandListClick_IndexChanged})
|
|
|
|
$script:gbCommandDescription.Location = New-object System.Drawing.Point(7, 180)
|
|
$script:gbCommandDescription.Size = New-object System.Drawing.Size(143, 47)
|
|
$script:gbCommandDescription.Text = "Description"
|
|
$script:gbCommandDescription.Visible = $true
|
|
|
|
$script:lblCommandDescription.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
$script:lblCommandDescription.Location = New-object System.Drawing.Point(5, 5)
|
|
|
|
$script:lblCommandDescription.text = "Get the AMT Firmware Version"
|
|
|
|
$btnGetHelp.Location = New-object System.Drawing.Point(7, 233)
|
|
$btnGetHelp.Size = New-object System.Drawing.Size(70, 23)
|
|
$btnGetHelp.Text = "Help";
|
|
$btnGetHelp.Add_click({commandListClick_ShowHelp})
|
|
|
|
$btnExecute.Location = New-object System.Drawing.Point(80, 233)
|
|
$btnExecute.Size = New-object System.Drawing.Size(70, 23)
|
|
$btnExecute.Text = "Execute";
|
|
$btnExecute.Add_click({commandListClick_Execute})
|
|
|
|
$gbCommands.Controls.Add($lbCommands)
|
|
|
|
$gbCommandDescription.Controls.Add($lblCommandDescription)
|
|
$gbCommands.Controls.Add($gbCommandDescription)
|
|
$gbCommands.Controls.Add($btnGetHelp)
|
|
$gbCommands.Controls.Add($btnExecute)
|
|
$gbCommands.Controls.Add($gbOptions)
|
|
$script:boolGbCommandsPresent = $true
|
|
$pnlMainForm.Controls.Add($gbCommands)
|
|
|
|
}
|
|
"VariableInputGroup"{
|
|
$gbVariableInputGroup = New-object System.Windows.forms.groupbox
|
|
$tbVariable = New-object System.Windows.forms.textbox
|
|
$gbVariableInputGroup.Location = New-object System.Drawing.Point($control.selectSingleNode("X").get_innerXml(), $control.selectSingleNode("Y").get_innerXml());
|
|
$gbVariableInputGroup.Width = $control.selectSingleNode("Width").get_innerXml()
|
|
$gbVariableInputGroup.Height = $control.selectSingleNode("Height").get_innerXml()
|
|
$gbVariableInputGroup.Text = $control.selectSingleNode("Text").get_innerXml()
|
|
$gbVariableInputGroup.Visible = $true
|
|
|
|
$tbVariable.location = New-object System.Drawing.Point(6, 19)
|
|
$tbVariable.Name = $control.selectSingleNode("VariableName").get_innerXml()
|
|
$tbVariable.Size = New-object System.Drawing.Size(150, 20)
|
|
$tbVariable.Text = "value to be added"
|
|
$tbVariable.tag = $control.selectSingleNode("VariableName").get_innerXml()
|
|
|
|
$gbVariableInputGroup.Controls.Add($tbVariable)
|
|
$pnlMainForm.controls.add($gbVariableInputGroup)
|
|
$script:variableInputGroupArray += $tbVariable
|
|
}
|
|
|
|
"Variable" {
|
|
set-variable -name $control.selectSingleNode("Name").get_innerXml() -value $control.selectSingleNode("Value").get_innerXml() -scope 1
|
|
$script:variableArray.add($control.selectSingleNode("Name").get_innerXml(),$control.selectSingleNode("Value").get_innerXml())
|
|
}
|
|
}
|
|
}
|
|
if($script:boolGbCommandsPresent -eq $true)
|
|
{setupvProCommandGroups
|
|
}
|
|
}
|
|
|
|
function btnChangeCredential_Click
|
|
{
|
|
try
|
|
{
|
|
$script:Credential = Get-Credential
|
|
$tbCredential.Text = $script:Credential.UserName
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
function IDERBrowse_Click
|
|
{
|
|
$fileDialog = New-object System.Windows.Forms.OpenFileDialog
|
|
$fileDialog.InitialDirectory = "C:\\";
|
|
$fileDialog.Filter = "iso files (*.iso)|*.iso";
|
|
$fileDialog.RestoreDirectory = $true
|
|
$fileDialog.ShowHelp=$true
|
|
if ($fileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK)
|
|
{
|
|
$script:tbForceBootIDERPath.Text = $fileDialog.FileName
|
|
$script:tbIDERIDERPath.Text = $fileDialog.FileName
|
|
}
|
|
}
|
|
|
|
function menuClick_Exit
|
|
{
|
|
$frmMain.Close()
|
|
}
|
|
|
|
function menuClick_EditVariables
|
|
{
|
|
$frmEditVariables = New-object System.Windows.Forms.Form
|
|
$frmEditVariables.Text = "Edit Variables"
|
|
$frmEditVariables.Width = 400
|
|
|
|
$yDelta = 0;
|
|
foreach($key in $script:variableArray.keys)
|
|
{
|
|
$y = 20 + $yDelta
|
|
$tempLabel = New-object System.Windows.Forms.Label
|
|
$tempLabel.Location = New-object System.Drawing.Point(10,$y)
|
|
$tempLabel.Size = New-object System.Drawing.Size(100, 25)
|
|
|
|
$tempTextBox = New-object System.Windows.Forms.TextBox
|
|
$tempTextBox.Location = New-object System.Drawing.Point(130,$y)
|
|
$tempTextBox.Size = New-object System.Drawing.Size(200, 25)
|
|
|
|
$tempLabel.Text = $key
|
|
$tempLabel.Tag = $key
|
|
|
|
$tempTextBox.Text = $script:variableArray[$key]
|
|
$tempTextBox.Tag = $key
|
|
|
|
|
|
$frmEditVariables.Controls.add($tempLabel)
|
|
$frmEditVariables.Controls.add($tempTextBox)
|
|
|
|
$yDelta += 30
|
|
}
|
|
$yDelta += 30
|
|
$btnFrmEditVariablesSave = New-object System.Windows.Forms.Button
|
|
$x = ($frmEditVariables.width*0.3) - 50
|
|
$btnFrmEditVariablesSave.Location = New-object System.Drawing.Point($x, $yDelta);
|
|
$btnFrmEditVariablesSave.Size = New-object System.Drawing.Size(100, 20);
|
|
$btnFrmEditVariablesSave.Text = "Save Changes"
|
|
$btnFrmEditVariablesSave.Add_click({refreshVariablesFromFrmEditVariables})
|
|
|
|
$btnFrmEditVariablesClose = New-object System.Windows.Forms.Button
|
|
$x = ($frmEditVariables.width*0.66) - 50
|
|
$btnFrmEditVariablesClose.Location = New-object System.Drawing.Point($x, $yDelta);
|
|
$btnFrmEditVariablesClose.Size = New-object System.Drawing.Size(100, 20);
|
|
$btnFrmEditVariablesClose.Text = "Close"
|
|
$btnFrmEditVariablesClose.Add_click({$frmEditVariables.Close()})
|
|
|
|
|
|
$frmEditVariables.Controls.add($btnFrmEditVariablesSave)
|
|
$frmEditVariables.Controls.add($btnFrmEditVariablesClose)
|
|
|
|
$yDelta += 80
|
|
$frmEditVariables.Height = $yDelta
|
|
$frmEditVariables.showdialog()
|
|
|
|
}
|
|
|
|
|
|
function refreshVariablesFromFrmEditVariables
|
|
{
|
|
foreach($control in $frmEditVariables.Controls)
|
|
{
|
|
if($control.GetType() -eq [System.Windows.Forms.TextBox])
|
|
{
|
|
$variableToUpdate = get-variable -name $control.Tag
|
|
$variableToUpdate.value = $control.Text
|
|
$script:variableArray[$control.Tag] = $control.Text
|
|
}
|
|
}
|
|
update3PDSlabel
|
|
|
|
}
|
|
|
|
|
|
function menuClick_SaveOutput
|
|
{
|
|
$SaveFileDialog = New-object System.Windows.Forms.SaveFileDialog
|
|
|
|
$SaveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
|
|
$SaveFileDialog.ShowHelp = $True
|
|
$SaveFileDialog.InitialDirectory = $pwd
|
|
$SaveFileDialog.Title = "Save"
|
|
$SaveFileDialog.OverWritePrompt = $false
|
|
|
|
|
|
if ($SaveFileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK)
|
|
{
|
|
$tbOutput.text | out-file $SaveFileDialog.FileName
|
|
}
|
|
}
|
|
|
|
|
|
function SaveSettingsToRegistry
|
|
{
|
|
$BaseRegPath ="HKCU:\Software\Intel Corporation"
|
|
if ((Test-Path $BaseRegPath) -eq $false)
|
|
{
|
|
New-Item -Path $BaseRegPath
|
|
}
|
|
$RegPath = "HKCU:\Software\Intel Corporation\vProPSModule"
|
|
|
|
if ((Test-Path $RegPath) -eq $false)
|
|
{
|
|
$null = New-Item -Path $RegPath
|
|
}
|
|
|
|
Set-ItemProperty -Path $RegPath -Name FontName -Value $Script:tbOutputFontName
|
|
Set-ItemProperty -Path $RegPath -Name FontSize -Value $Script:tbOutputFontSize
|
|
Set-ItemProperty -Path $RegPath -Name TLS -Value $cbTLS.Checked
|
|
Set-ItemProperty -Path $RegPath -Name MutualTLS -Value $cbMutualTLS.Checked
|
|
Set-ItemProperty -Path $RegPath -Name CertName -Value $tbCertName.Text
|
|
Set-ItemProperty -Path $RegPath -Name Host -Value $tbComputerName.Text
|
|
Set-ItemProperty -Path $RegPath -Name Log -Value $script:loggingStripMenuItem.Checked
|
|
|
|
Set-ItemProperty -Path $RegPath -Name LogFile -Value $script:logFile
|
|
}
|
|
|
|
function LoadSettingsFromRegistry
|
|
{
|
|
if (($RegValue = Get-ItemProperty -Path "HKCU:\Software\Intel Corporation\vProPSModule" 2> $null) -ne $null)
|
|
{
|
|
if ($RegValue.FontName -ne $null) { $Script:tbOutputFontName = $RegValue.FontName }
|
|
if ($RegValue.FontSize -ne $null) { $Script:tbOutputFontSize = $RegValue.FontSize }
|
|
if ($RegValue.TLS -ne $null)
|
|
{
|
|
if($RegValue.TLS -eq "True")
|
|
{
|
|
$cbTLS.Checked = $True
|
|
$cbMutualTLS.Enabled = $True
|
|
}
|
|
else
|
|
{
|
|
$cbTLS.Checked = $False
|
|
}
|
|
if($RegValue.MutualTLS -ne $null)
|
|
{
|
|
if($RegValue.MutualTLS -eq "True")
|
|
{
|
|
$cbMutualTLS.Checked = $True
|
|
$tbCertName.Enabled = $True
|
|
$lblCertName.Enabled = $True
|
|
if($RegValue.CertName -ne $null)
|
|
{$tbCertName.Text = $RegValue.CertName}
|
|
}
|
|
else
|
|
{$cbMutualTLS.Checked = $False}
|
|
}
|
|
}
|
|
if ($RegValue.Host -ne $null) { $tbComputerName.Text = $RegValue.Host }
|
|
if ($RegValue.Log -ne $null) {
|
|
if ($RegValue.Log -eq $False) { $script:loggingStripMenuItem.Checked = $False }
|
|
if ($RegValue.Log -eq $True) { $script:loggingStripMenuItem.Checked = $True }
|
|
}
|
|
if ($RegValue.LogFile -ne $null) { $script:logFile = $RegValue.LogFile }
|
|
}
|
|
}
|
|
|
|
function menuClick_Font
|
|
{
|
|
$fontDialog = New-object System.Windows.Forms.FontDialog
|
|
$font = New-object System.Drawing.Font($Script:tbOutputFontName, $Script:tbOutputFontSize,[Drawing.FontStyle]'Regular')
|
|
$fontDialog.Font = $font
|
|
|
|
if ($fontDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK)
|
|
{
|
|
$tbOutput.Font = $fontDialog.Font
|
|
$Script:tbOutputFontName = $fontDialog.Font.Name
|
|
$Script:tbOutputFontSize = $fontDialog.Font.Size
|
|
SaveSettingsToRegistry
|
|
}
|
|
}
|
|
|
|
|
|
function menuClick_Logging
|
|
{
|
|
$script:loggingStripMenuItem.Checked = !$script:loggingStripMenuItem.Checked
|
|
SaveSettingsToRegistry
|
|
}
|
|
|
|
function menuClick_SetLogFile
|
|
{
|
|
$SaveFileDialog = New-object System.Windows.Forms.SaveFileDialog
|
|
|
|
$SaveFileDialog.Filter = "Text files (*.txt)|*.txt|Log files (*.log)|*.log"
|
|
$SaveFileDialog.ShowHelp = $True
|
|
$SaveFileDialog.InitialDirectory = [System.IO.Path]::GetDirectoryName($script:logFile)
|
|
$SaveFileDialog.Title = "Save"
|
|
$SaveFileDialog.OverWritePrompt = $false
|
|
|
|
|
|
if ($SaveFileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK)
|
|
{
|
|
$script:logFile = $SaveFileDialog.FileName
|
|
SaveSettingsToRegistry
|
|
}
|
|
|
|
|
|
}
|
|
|
|
function commandListClick_Execute
|
|
{
|
|
$usevProTLS = $true
|
|
switch ($script:lbCommands.selecteditem.tostring())
|
|
{
|
|
"Power Control" {
|
|
$fullcmd = "invoke-amtpowermanagement " + '$Computername' + " -credential " + '$Credential'
|
|
if($script:rbPowerControlOn.Checked -eq $true) {$fullcmd = $fullcmd + " -operation PowerOn" }
|
|
if($script:rbPowerControlOff.Checked -eq $true) {$fullcmd = $fullcmd + " -operation PowerOff" }
|
|
if($script:rbPowerControlReset.Checked -eq $true) {$fullcmd = $fullcmd + " -operation Reset" }
|
|
if($script:rbPowerControlSleep.Checked -eq $true) {$fullcmd = $fullcmd + " -operation Sleep" }
|
|
if($script:rbPowerControlHibernate.Checked -eq $true) {$fullcmd = $fullcmd + " -operation Hibernate" }
|
|
if($script:rbPowerControlGracefulReset.Checked -eq $true) {$fullcmd = $fullcmd + " -operation GracefulReset" }
|
|
if($script:rbPowerControlGracefulOff.Checked -eq $true) {$fullcmd = $fullcmd + " -operation GracefulOff" }
|
|
if($script:rbPowerControlNMI.Checked -eq $true) {$fullcmd = $fullcmd + " -operation NMI" }
|
|
|
|
}
|
|
"Force Boot" {
|
|
$fullcmd = "invoke-amtforceboot " + '$Computername' + " -credential " + '$Credential'
|
|
if($script:rbForceBootOperationOn.Checked -eq $true) {$fullcmd = $fullcmd + " -operation PowerOn" }
|
|
if($script:rbForceBootOperationReset.Checked -eq $true) {$fullcmd = $fullcmd + " -operation Reset" }
|
|
if($script:rbForceBootDevicePXE.Checked -eq $true) {$fullcmd = $fullcmd + " -device PXE" }
|
|
if($script:rbForceBootDeviceBIOS.Checked -eq $true) {$fullcmd = $fullcmd + " -device BIOSSetup" }
|
|
if($script:rbForceBootDeviceIDER.Checked -eq $true)
|
|
{
|
|
$path = $script:tbForceBootIDERPAth.Text
|
|
if($path.StartsWith('"') -ne $true ) {$path = '"' + $path }
|
|
if($path.EndsWith('"') -ne $true ) {$path = $path + '"' }
|
|
$fullcmd = $fullcmd + " -device IDER" + " -IDERpath " + $path
|
|
}
|
|
if($script:rbForceBootDeviceHD.Checked -eq $true) {$fullcmd = $fullcmd + " -device HardDrive" }
|
|
if($script:rbForceBootDeviceOptical.Checked -eq $true) {$fullcmd = $fullcmd + " -device Optical" }
|
|
if($script:cbForceBootUseSOl.Checked -eq $true) {$fullcmd = $fullcmd + " -console SOL -SOLTerminalPath " + $script:tbForceBootSOLTermPath.Text + " -SOLTerminalArgList " + $tbForceBootSOLArgs.Text }
|
|
}
|
|
"IDE Redirection" {
|
|
if($script:rbIDEROn.Checked -eq $true)
|
|
{
|
|
$path = $script:tbIDERIDERPath.Text
|
|
if($path.StartsWith('"') -ne $true ) {$path = '"' + $path }
|
|
if($path.EndsWith('"') -ne $true ) {$path = $path + '"' }
|
|
$fullcmd = "start-AMTIDER " + '$Computername' + " -credential " + '$Credential' + " -operation PowerOn" + " -IDERpath " + $path
|
|
}
|
|
if($script:rbIDERReset.Checked -eq $true)
|
|
{
|
|
$path = $script:tbForceBootIDERPAth.Text
|
|
if($path.StartsWith('"') -ne $true ) {$path = '"' + $path }
|
|
if($path.EndsWith('"') -ne $true ) {$path = $path + '"' }
|
|
$fullcmd = "start-AMTIDER " + '$Computername' + " -credential " + '$Credential' + " -operation Reset" + " -IDERpath " + $path
|
|
}
|
|
if($script:rbIDERGet.Checked -eq $true) {$fullcmd = "get-AMTIDER " }
|
|
if($script:rbIDERStop.Checked -eq $true) {$fullcmd = "stop-AMTIDER -CloseAllSessions"; $usevProTLS = $false }
|
|
}
|
|
"Third Party Data Store" {
|
|
$fullcmd = '$Computername' + " -credential " + '$Credential' + " -Vendor " + $script:variableArray["3PDSVendor"] + " -Enterprise " + $script:variableArray["3PDSEnterprise"] + " -Application " + $script:variableArray["3PDSApplication"] + " -Block " + $script:variableArray["3PDSBlock"]
|
|
if($script:rb3PDSList.Checked -eq $true) {$fullcmd = "get-AMT3PDS " + '$Computername' + " -credential " + '$Credential' + " -operation ListBlocks"}
|
|
if($script:rb3PDSRead.Checked -eq $true) {$fullcmd = "get-AMT3PDS " + $fullcmd + " -operation Read"}
|
|
if($script:rb3PDSDelete.Checked -eq $true) {$fullcmd = "clear-AMT3PDS " + $fullcmd }
|
|
if($script:rb3PDSCreate.Checked -eq $true) {$fullcmd = "set-AMT3PDS " + $fullcmd + " -operation Create"}
|
|
if($script:rb3PDSWrite.Checked -eq $true) {$fullcmd = "set-AMT3PDS " + $fullcmd + " -operation Write -blockdata:""" + $script:tb3PDSData.text + """"}
|
|
}
|
|
"Alarm Clock" {
|
|
$fullcmd = '$Computername' + " -credential " + '$Credential'
|
|
if($script:rbAlarmClockShow.Checked -eq $true) {$fullcmd = "get-AMTAlarmClock " + $fullcmd}
|
|
if($script:rbAlarmClockClear.Checked -eq $true) {$fullcmd = "clear-AMTAlarmClock " + $fullcmd
|
|
if($script:txtAlarmName.Text -ne "") {$fullcmd = $fullcmd + " -AlarmName " + $txtAlarmName.Text}}
|
|
$AlarmTime = get-date -Date $script:dtpAlarmClockDateTimePicker.Value -uformat "%Y-%m-%dT%H:%M:00"
|
|
if($script:rbAlarmClockSet.Checked -eq $true)
|
|
{
|
|
$fullcmd = "set-AMTAlarmClock " + $fullcmd + " -AlarmTime " + $AlarmTime
|
|
if($script:cbAlarmClockUseInterval.Checked -eq $true) {$fullcmd = $fullcmd + " -Interval " + $tbAlarmClockInterval.Text}
|
|
if($script:txtAlarmName.Text -ne "") {$fullcmd = $fullcmd + " -AlarmName " + $txtAlarmName.Text}
|
|
if($script:rbDeleteCompletion.Checked -eq $true) {$fullcmd = $fullcmd + " -DeleteCompletion "}
|
|
}
|
|
}
|
|
"Fast Call for Help" {
|
|
if($script:rbMPSGet.Checked -eq $true) {$fullcmd = "get-AMTMPSStatus" }
|
|
if($script:rbMPSSet.Checked -eq $true) {$fullcmd = "set-AMTMPS -HTTPProxy " + $tbMPSHTTP.Text + " -SOCKSProxy " + $tbMPSSOCKS.Text }
|
|
if($script:rbMPSAddClient.Checked -eq $true) {$fullcmd = "set-AMTMPSClient -action:add -hostname " + $tbMPSClient.Text }
|
|
if($script:rbMPSRemoveClient.Checked -eq $true) {$fullcmd = "set-AMTMPSClient -action:remove -hostname " + $tbMPSClient.Text }
|
|
if($script:rbMPSClear.Checked -eq $true) {$fullcmd = "clear-AMTMPS" }
|
|
$usevProTLS = $false
|
|
}
|
|
|
|
"Hardware Asset" {
|
|
$fullcmd = "Get-AMTHardwareAsset " + '$Computername' + " -credential " + '$Credential'
|
|
if($script:rbHardwareAssetFormatted.Checked -eq $true) {$fullcmd = $fullcmd + " -textoutput" }
|
|
}
|
|
"Clear-AMTsystemDefense" {$fullcmd = "Clear-AMTsystemDefense " + '$Computername' + " -credential " + '$Credential'}
|
|
"Firmware Version" {$fullcmd = "get-AMTFirmwareVersion " + '$Computername' + " -credential " + '$Credential'}
|
|
"Event Log" {$fullcmd = "get-AMTEventLog " + '$Computername' + " -credential " + '$Credential'}
|
|
"Power State" {$fullcmd = "get-AMTPowerState " + '$Computername' + " -credential " + '$Credential'}
|
|
"User Consent" {
|
|
if($script:rbUserConsentGet.Checked -eq $true) {$fullcmd = "get-AMTUserConsent " + '$Computername' + " -credential " + '$Credential' }
|
|
if($script:rbUserConsentStart.Checked -eq $true) {$fullcmd = "start-AMTUserConsent " + '$Computername' + " -credential " + '$Credential' }
|
|
if($script:rbUserConsentStop.Checked -eq $true) {$fullcmd = "stop-AMTUserConsent " + '$Computername' + " -credential " + '$Credential' }
|
|
}
|
|
"System Defense" {
|
|
if($script:rbSystemDefenseGet.Checked -eq $true) {$fullcmd = "get-AMTSystemDefense " + '$Computername' + " -credential " + '$Credential' }
|
|
if($script:rbSystemDefenseSet.Checked -eq $true) {$fullcmd = "set-AMTSystemDefense " + '$Computername' + " -credential " + '$Credential' }
|
|
if($script:rbSystemDefenseClear.Checked -eq $true) {$fullcmd = "clear-AMTSystemDefense " + '$Computername' + " -credential " + '$Credential' }
|
|
}
|
|
|
|
default { $fullcmd = $script:lbCommands.selecteditem.tostring() +" "+ '$ComputerName' + " -credential "+'$Credential' }
|
|
}
|
|
write-host $fullcmd
|
|
runcommand $fullcmd $usevProTLS
|
|
}
|
|
|
|
function commandListClick_ShowHelp
|
|
{
|
|
$frmMain.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
|
|
$tbOutput.Clear()
|
|
$tbOutput.Refresh()
|
|
switch ($script:lbCommands.selecteditem.tostring())
|
|
{
|
|
"Power Control" {
|
|
$fullcmd = "get-help invoke-amtpowermanagement"
|
|
Get-Help "invoke-amtpowermanagement" -full > $env:TEMP\out.txt
|
|
}
|
|
"Force Boot" {
|
|
$fullcmd = "get-help invoke-amtforceboot"
|
|
Get-Help "invoke-amtforceboot" -full > $env:TEMP\out.txt
|
|
}
|
|
"IDE Redirection" {
|
|
if($script:rbIDEROn.Checked -eq $true) {$fullcmd = "get-help start-AMTIDER"
|
|
Get-Help "start-AMTIDER" -full > $env:TEMP\out.txt }
|
|
if($script:rbIDERReset.Checked -eq $true) {$fullcmd = "get-help start-AMTIDER"
|
|
Get-Help "start-AMTIDER" -full > $env:TEMP\out.txt }
|
|
if($script:rbIDERGet.Checked -eq $true) {$fullcmd = "get-help get-AMTIDER"
|
|
Get-Help "get-AMTIDER" -full > $env:TEMP\out.txt }
|
|
if($script:rbIDERStop.Checked -eq $true) {$fullcmd = "get-help stop-AMTIDER"
|
|
Get-Help "stop-AMTIDER" -full > $env:TEMP\out.txt }
|
|
}
|
|
"Third Party Data Store" {
|
|
if($script:rb3PDSList.Checked -eq $true) {$fullcmd = "get-help get-AMT3PDS"
|
|
Get-Help "get-AMT3PDS" -full > $env:TEMP\out.txt }
|
|
if($script:rb3PDSRead.Checked -eq $true) {$fullcmd = "get-help get-AMT3PDS"
|
|
Get-Help "get-AMT3PDS" -full > $env:TEMP\out.txt }
|
|
if($script:rb3PDSDelete.Checked -eq $true) {$fullcmd = "get-help clear-AMT3PDS"
|
|
Get-Help "clear-AMT3PDS" -full > $env:TEMP\out.txt }
|
|
if($script:rb3PDSCreate.Checked -eq $true) {$fullcmd = "get-help set-AMT3PDS"
|
|
Get-Help "set-AMT3PDS" -full > $env:TEMP\out.txt }
|
|
if($script:rb3PDSWrite.Checked -eq $true) {$fullcmd = "get-help set-AMT3PDS"
|
|
Get-Help "set-AMT3PDS" -full > $env:TEMP\out.txt }
|
|
}
|
|
"Alarm Clock" {
|
|
if($script:rbAlarmClockShow.Checked -eq $true) {$fullcmd = "get-help get-AMTAlarmClock"
|
|
Get-Help "get-AMTAlarmClock" -full > $env:TEMP\out.txt }
|
|
if($script:rbAlarmClockClear.Checked -eq $true) {$fullcmd = "get-help clear-AMTAlarmClock"
|
|
Get-Help "clear-AMTAlarmClock" -full > $env:TEMP\out.txt }
|
|
if($script:rbAlarmClockSet.Checked -eq $true) {$fullcmd = "get-help set-AMTAlarmClock"
|
|
Get-Help "set-AMTAlarmClock" -full > $env:TEMP\out.txt }
|
|
}
|
|
"Fast Call for Help" {
|
|
if($script:rbMPSGet.Checked -eq $true) {$fullcmd = "get-help get-AMTMPSStatus"
|
|
Get-Help "get-AMTMPSStatus" -full > $env:TEMP\out.txt }
|
|
if($script:rbMPSSet.Checked -eq $true) {$fullcmd = "get-help set-AMTMPS"
|
|
Get-Help "set-AMTMPS" -full > $env:TEMP\out.txt }
|
|
if($script:rbMPSAddClient.Checked -eq $true) {$fullcmd = "get-help set-AMTMPSClient"
|
|
Get-Help "set-AMTMPSClient" -full > $env:TEMP\out.txt }
|
|
if($script:rbMPSRemoveClient.Checked -eq $true) {$fullcmd = "get-help set-AMTMPSClient"
|
|
Get-Help "set-AMTMPSClient" -full > $env:TEMP\out.txt }
|
|
if($script:rbMPSClear.Checked -eq $true) {$fullcmd = "get-help clear-AMTMPS"
|
|
Get-Help "clear-AMTMPS" -full > $env:TEMP\out.txt }
|
|
}
|
|
"User Consent" {
|
|
if($script:rbUserConsentGet.Checked -eq $true) {$fullcmd = "get-help get-AMTUserConsent"
|
|
Get-Help "get-AMTUserConsent" -full > $env:TEMP\out.txt }
|
|
if($script:rbUserConsentStart.Checked -eq $true) {$fullcmd = "get-help start-AMTUserConsent"
|
|
Get-Help "start-AMTUserConsent" -full > $env:TEMP\out.txt }
|
|
if($script:rbUserConsentStop.Checked -eq $true) {$fullcmd = "get-help stop-AMTUserConsent"
|
|
Get-Help "stop-AMTUserConsent" -full > $env:TEMP\out.txt }
|
|
}
|
|
"System Defense" {
|
|
if($script:rbSystemDefenseGet.Checked -eq $true) {$fullcmd = "get-help get-AMTSystemDefense"
|
|
Get-Help "get-AMTSystemDefense" -full > $env:TEMP\out.txt }
|
|
if($script:rbSystemDefenseSet.Checked -eq $true) {$fullcmd = "get-help set-AMTSystemDefense"
|
|
Get-Help "set-AMTSystemDefense" -full > $env:TEMP\out.txt }
|
|
if($script:rbSystemDefenseClear.Checked -eq $true) {$fullcmd = "get-help clear-AMTSystemDefense"
|
|
Get-Help "clear-AMTSystemDefense" -full > $env:TEMP\out.txt }
|
|
}
|
|
"Firmware Version" {$fullcmd = "get-help get-AMTFirmwareVersion"
|
|
Get-Help "get-AMTFirmwareVersion" -full > $env:TEMP\out.txt }
|
|
"Hardware Asset" {$fullcmd = "get-help get-AMTHardwareasset"
|
|
Get-Help "get-AMTHardwareasset" -full > $env:TEMP\out.txt }
|
|
"Event Log" {$fullcmd = "get-help get-AMTEventLog"
|
|
Get-Help "get-AMTEventLog" -full > $env:TEMP\out.txt }
|
|
"Power State" {$fullcmd = "get-help get-AMTPowerState"
|
|
Get-Help "get-AMTPowerState" -full > $env:TEMP\out.txt }
|
|
default {
|
|
$fullcmd = "get-help " + $script:lbCommands.selecteditem.tostring() + " -full"
|
|
Get-Help $script:lbCommands.selecteditem.tostring() -full > $env:TEMP\out.txt
|
|
}
|
|
}
|
|
$result = Get-Content $env:TEMP\out.txt | Out-String
|
|
write-host -fore yellow "Full Command:" $fullCmd
|
|
$tbOutput.SelectionColor = "white"
|
|
$tbOutput.SelectedText = $result
|
|
$frmMain.Cursor = [System.Windows.Forms.Cursors]::DefaultCursor
|
|
}
|
|
|
|
function commandListClick_IndexChanged
|
|
{
|
|
$script:pnlPowerControl.visible = $false
|
|
$script:pnlHardwareAssets.visible = $false
|
|
$script:pnlForceBoot.visible = $false
|
|
$script:pnlIDER.visible = $false
|
|
$script:pnl3PDS.visible = $false
|
|
$script:pnlAlarmClock.visible = $false
|
|
$script:pnlMPS.visible = $false
|
|
$script:pnlSystemDefense.visible = $false
|
|
$script:pnlUserConsent.visible = $false
|
|
|
|
|
|
switch ($script:lbCommands.selecteditem.tostring())
|
|
{
|
|
"Firmware Version" {$script:lblCommandDescription.text = "Get the AMT firmware version"}
|
|
"Event Log" {$script:lblCommandDescription.text = "Get the AMT event log"}
|
|
"Power state" {$script:lblCommandDescription.text = "Get the system power state"}
|
|
|
|
"Power Control" {
|
|
$script:pnlPowerControl.visible = $true
|
|
$script:lblCommandDescription.text = "Send a power control command"
|
|
}
|
|
"Hardware Asset" {
|
|
$script:pnlHardwareAssets.visible = $true
|
|
$script:lblCommandDescription.text = "Show system hardware information"
|
|
}
|
|
"Force Boot" {
|
|
$script:pnlForceBoot.visible = $true
|
|
$script:lblCommandDescription.text = "Force the system to boot"
|
|
}
|
|
"IDE Redirection" {
|
|
$script:pnlIDER.visible = $true
|
|
$script:lblCommandDescription.text = "Work with IDE redirection"
|
|
}
|
|
"Third Party Data Store" {
|
|
$script:pnl3PDS.visible = $true
|
|
$script:lblCommandDescription.text = "Work with the data storage region"
|
|
}
|
|
"Alarm Clock" {
|
|
$script:pnlAlarmClock.visible = $true
|
|
$script:lblCommandDescription.text = "Set a timer to wake up the system"
|
|
}
|
|
"Fast Call for Help" {
|
|
$script:pnlMPS.visible = $true
|
|
$script:lblCommandDescription.text = "Setup the local MPS interface"
|
|
}
|
|
"User Consent" {
|
|
$script:pnlUserConsent.visible = $true
|
|
$script:lblCommandDescription.text = "AMT User Consent"
|
|
}
|
|
"System Defense" {
|
|
$script:pnlSystemDefense.visible = $true
|
|
$script:lblCommandDescription.text = "AMT System Defense"
|
|
}
|
|
}
|
|
}
|
|
|
|
function setDefaultSettings
|
|
{
|
|
$Script:tbOutputFontName = "Consolas"
|
|
$Script:tbOutputFontSize = 8
|
|
}
|
|
|
|
function setupvProCommandGroups
|
|
{
|
|
##
|
|
## pnlPowerControl
|
|
##
|
|
$script:pnlPowerControl = New-object System.Windows.Forms.Panel
|
|
$script:pnlPowerControl.visible = $false
|
|
$script:pnlPowerControl.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rbPowerControlOn = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlOff = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlReset = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlSleep = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlHibernate = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlGracefulReset = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlGracefulOff = New-object System.Windows.Forms.RadioButton
|
|
$script:rbPowerControlNMI = New-object System.Windows.Forms.RadioButton
|
|
|
|
|
|
$script:rbPowerControlOn.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbPowerControlOn.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlOn.Text = "Power On"
|
|
$script:rbPowerControlOn.Checked = $true
|
|
|
|
$script:rbPowerControlOff.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbPowerControlOff.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlOff.Text = "Power Off"
|
|
|
|
$script:rbPowerControlReset.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rbPowerControlReset.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlReset.Text = "Reset"
|
|
|
|
$script:rbPowerControlSleep.Location = New-object System.Drawing.Point(10,80)
|
|
$script:rbPowerControlSleep.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlSleep.Text = "Sleep"
|
|
|
|
$script:rbPowerControlHibernate.Location = New-object System.Drawing.Point(10,105)
|
|
$script:rbPowerControlHibernate.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlHibernate.Text = "Hibernate"
|
|
|
|
$script:rbPowerControlGracefulReset.Location = New-object System.Drawing.Point(10,130)
|
|
$script:rbPowerControlGracefulReset.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlGracefulReset.Text = "Graceful Reset"
|
|
|
|
$script:rbPowerControlGracefulOff.Location = New-object System.Drawing.Point(10,155)
|
|
$script:rbPowerControlGracefulOff.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlGracefulOff.Text = "Graceful Off"
|
|
|
|
$script:rbPowerControlNMI.Location = New-object System.Drawing.Point(10,180)
|
|
$script:rbPowerControlNMI.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbPowerControlNMI.Text = "NMI"
|
|
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlOn)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlOff)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlReset)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlSleep)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlHibernate)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlGracefulReset)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlGracefulOff)
|
|
$script:pnlPowerControl.Controls.Add($rbPowerControlNMI)
|
|
$script:gbOptions.Controls.Add($pnlPowerControl)
|
|
|
|
##
|
|
## pnlHardwareAssets
|
|
##
|
|
$script:pnlHardwareAssets = New-object System.Windows.Forms.Panel
|
|
$script:pnlHardwareAssets.visible = $false
|
|
$script:pnlHardwareAssets.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rbHardwareAssetRegular = New-object System.Windows.Forms.RadioButton
|
|
$script:rbHardwareAssetFormatted = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rbHardwareAssetRegular.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbHardwareAssetRegular.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbHardwareAssetRegular.Text = "Regular Output"
|
|
$script:rbHardwareAssetRegular.Checked = $true
|
|
|
|
$script:rbHardwareAssetFormatted.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbHardwareAssetFormatted.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbHardwareAssetFormatted.Text = "Formatted output"
|
|
|
|
$script:pnlHardwareAssets.Controls.Add($rbHardwareAssetRegular)
|
|
$script:pnlHardwareAssets.Controls.Add($rbHardwareAssetFormatted)
|
|
$script:gbOptions.Controls.Add($pnlHardwareAssets)
|
|
##
|
|
## pnlForceBoot
|
|
##
|
|
$script:pnlForceBoot = New-object System.Windows.Forms.Panel
|
|
$script:pnlForceBoot.visible = $false
|
|
$script:pnlForceBoot.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$gbForceBootOperation = New-object System.Windows.Forms.GroupBox
|
|
$gbForceBootOperation.Location = New-object System.Drawing.Point(5, 0);
|
|
$gbForceBootOperation.Size = New-object System.Drawing.Size(87, 70);
|
|
$gbForceBootOperation.Text = "Operation"
|
|
|
|
$gbForceBootDevice = New-object System.Windows.Forms.GroupBox
|
|
$gbForceBootDevice.Location = New-object System.Drawing.Point(100, 0);
|
|
$gbForceBootDevice.Size = New-object System.Drawing.Size(100, 140);
|
|
$gbForceBootDevice.Text = "Device"
|
|
|
|
$script:gbForceBootIDEROptions = New-object System.Windows.Forms.GroupBox
|
|
$gbForceBootIDEROptions.Location = New-object System.Drawing.Point(5, 106);
|
|
$gbForceBootIDEROptions.Size = New-object System.Drawing.Size(195, 100);
|
|
$gbForceBootIDEROptions.Text = "IDER Options"
|
|
$gbForceBootIDEROptions.Enabled = $false
|
|
|
|
$script:lblForceBootIDERPath = New-object System.Windows.Forms.Label
|
|
$lblForceBootIDERPath.Location = New-object System.Drawing.Point(20, 23);
|
|
$lblForceBootIDERPath.Size = New-object System.Drawing.Size(60, 15);
|
|
$lblForceBootIDERPath.Text = "IDER Path:"
|
|
|
|
|
|
$script:btnForceBootBrowse = New-object System.Windows.Forms.Button
|
|
$btnForceBootBrowse.Location = New-object System.Drawing.Point(45, 70);
|
|
$btnForceBootBrowse.Size = New-object System.Drawing.Size(100, 20);
|
|
$btnForceBootBrowse.Text = "Browse"
|
|
$btnForceBootBrowse.Add_click({IDERBrowse_Click})
|
|
|
|
$script:tbForceBootIDERPath = New-object System.Windows.Forms.TextBox
|
|
$tbForceBootIDERPath.Location = New-object System.Drawing.Point(10, 42);
|
|
$tbForceBootIDERPath.Size = New-object System.Drawing.Size(175, 20);
|
|
$tbForceBootIDERPath.Text = ""
|
|
|
|
$script:gbForceBootSOLOptions = New-object System.Windows.Forms.GroupBox
|
|
$gbForceBootSOLOptions.Location = New-object System.Drawing.Point(5, 150);
|
|
$gbForceBootSOLOptions.Size = New-object System.Drawing.Size(190, 115);
|
|
$gbForceBootSOLOptions.Text = "SOL Options"
|
|
$gbForceBootSOLOptions.Enabled = $false
|
|
|
|
$script:lblForceBootSOLTermPath = New-object System.Windows.Forms.Label
|
|
$lblForceBootSOLTermPath.Location = New-object System.Drawing.Point(20, 15);
|
|
$lblForceBootSOLTermPath.Size = New-object System.Drawing.Size(100, 15);
|
|
$lblForceBootSOLTermPath.Text = "SOL Terminal Path:"
|
|
|
|
$script:lblForceBootSOLArgs = New-object System.Windows.Forms.Label
|
|
$lblForceBootSOLArgs.Location = New-object System.Drawing.Point(20, 60);
|
|
$lblForceBootSOLArgs.Size = New-object System.Drawing.Size(100, 15);
|
|
$lblForceBootSOLArgs.Text = "SOL Argument List:"
|
|
|
|
$script:tbForceBootSOLTermPath = New-object System.Windows.Forms.TextBox
|
|
$tbForceBootSOLTermPath.Location = New-object System.Drawing.Point(6, 32);
|
|
$tbForceBootSOLTermPath.Size = New-object System.Drawing.Size(170, 15);
|
|
$tbForceBootSOLTermPath.Text = """telnet"""
|
|
|
|
$script:tbForceBootSOLArgs = New-object System.Windows.Forms.TextBox
|
|
$tbForceBootSOLArgs.Location = New-object System.Drawing.Point(6, 81);
|
|
$tbForceBootSOLArgs.Size = New-object System.Drawing.Size(170, 15);
|
|
$tbForceBootSOLArgs.Text = """-t ANSI 127.0.0.1 %Port"""
|
|
|
|
$script:rbForceBootOperationOn = New-object System.Windows.Forms.RadioButton
|
|
$script:rbForceBootOperationReset = New-object System.Windows.Forms.RadioButton
|
|
$script:rbForceBootDevicePXE = New-object System.Windows.Forms.RadioButton
|
|
$script:rbForceBootDeviceBIOS = New-object System.Windows.Forms.RadioButton
|
|
$script:rbForceBootDeviceIDER = New-object System.Windows.Forms.RadioButton
|
|
$script:rbForceBootDeviceHD = New-object System.Windows.Forms.RadioButton
|
|
$script:rbForceBootDeviceOptical = New-object System.Windows.Forms.RadioButton
|
|
$script:cbForceBootUseSOl = New-object System.Windows.Forms.Checkbox
|
|
|
|
$script:cbForceBootUseSOl.Location = New-object System.Drawing.Point(9,80)
|
|
$script:cbForceBootUseSOl.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:cbForceBootUseSOl.Text = "Use SOL"
|
|
$script:cbForceBootUseSOl.Checked = $false
|
|
$script:cbForceBootUseSOl.Add_CheckedChanged(
|
|
{$script:gbForceBootSOLOptions.Enabled = !$script:gbForceBootSOLOptions.Enabled
|
|
})
|
|
|
|
$script:rbForceBootOperationOn.Location = New-object System.Drawing.Point(6,19)
|
|
$script:rbForceBootOperationOn.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rbForceBootOperationOn.Text = "Power On"
|
|
$script:rbForceBootOperationOn.Checked = $true
|
|
|
|
$script:rbForceBootOperationReset.Location = New-object System.Drawing.Point(6,42)
|
|
$script:rbForceBootOperationReset.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rbForceBootOperationReset.Text = "Reset"
|
|
|
|
$script:rbForceBootDeviceBIOS.Location = New-object System.Drawing.Point(6,19)
|
|
$script:rbForceBootDeviceBIOS.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rbForceBootDeviceBIOS.Text = "BIOS"
|
|
$script:rbForceBootDeviceBIOS.Checked = $true
|
|
|
|
$script:rbForceBootDevicePXE.Location = New-object System.Drawing.Point(6,42)
|
|
$script:rbForceBootDevicePXE.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rbForceBootDevicePXE.Text = "PXE"
|
|
|
|
$script:rbForceBootDeviceIDER.Location = New-object System.Drawing.Point(6,65)
|
|
$script:rbForceBootDeviceIDER.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rbForceBootDeviceIDER.Text = "IDER"
|
|
$script:rbForceBootDeviceIDER.Add_CheckedChanged(
|
|
{$script:gbForceBootIDEROptions.Enabled = !$script:gbForceBootIDEROptions.Enabled
|
|
})
|
|
|
|
$script:rbForceBootDeviceHD.Location = New-object System.Drawing.Point(6,88)
|
|
$script:rbForceBootDeviceHD.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rbForceBootDeviceHD.Text = "HD"
|
|
|
|
$script:rbForceBootDeviceOptical.Location = New-object System.Drawing.Point(6,111)
|
|
$script:rbForceBootDeviceOptical.Size = New-object System.Drawing.Size(90, 20)
|
|
$script:rbForceBootDeviceOptical.Text = "CD/Optical"
|
|
|
|
$gbForceBootIDEROptions.Controls.Add($script:lblForceBootIDERPath)
|
|
$gbForceBootIDEROptions.Controls.Add($script:btnForceBootBrowse)
|
|
$gbForceBootIDEROptions.Controls.Add($script:tbForceBootIDERPath)
|
|
|
|
$gbForceBootSOLOptions.Controls.Add($script:lblForceBootSOLArgs)
|
|
$gbForceBootSOLOptions.Controls.Add($script:lblForceBootSOLTermPath)
|
|
$gbForceBootSOLOptions.Controls.Add($script:tbForceBootSOLArgs)
|
|
$gbForceBootSOLOptions.Controls.Add($script:tbForceBootSOLTermPath)
|
|
|
|
$gbForceBootOperation.Controls.Add($rbForceBootOperationOn)
|
|
$gbForceBootOperation.Controls.Add($rbForceBootOperationReset)
|
|
|
|
$gbForceBootDevice.Controls.Add($rbForceBootDevicePXE)
|
|
$gbForceBootDevice.Controls.Add($rbForceBootDeviceBIOS)
|
|
$gbForceBootDevice.Controls.Add($rbForceBootDeviceIDER)
|
|
$gbForceBootDevice.Controls.Add($rbForceBootDeviceHD)
|
|
$gbForceBootDevice.Controls.Add($rbForceBootDeviceOptical)
|
|
|
|
## $script:pnlForceBoot.Controls.Add($gbForceBootSOLOptions)
|
|
$script:pnlForceBoot.Controls.Add($cbForceBootUseSOl)
|
|
$script:pnlForceBoot.Controls.Add($gbForceBootOperation)
|
|
$script:pnlForceBoot.Controls.Add($gbForceBootDevice)
|
|
$script:pnlForceBoot.Controls.Add($gbForceBootIDEROptions)
|
|
$script:gbOptions.Controls.Add($pnlForceBoot)
|
|
##
|
|
## pnlIDER
|
|
##
|
|
$script:pnlIDER = New-object System.Windows.Forms.Panel
|
|
$script:pnlIDER.visible = $false
|
|
$script:pnlIDER.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rbIDEROn = New-object System.Windows.Forms.RadioButton
|
|
$script:rbIDERReset = New-object System.Windows.Forms.RadioButton
|
|
$script:rbIDERGet = New-object System.Windows.Forms.RadioButton
|
|
$script:rbIDERStop = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rbIDEROn.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbIDEROn.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbIDEROn.Text = "Power On"
|
|
$script:rbIDEROn.Checked = $true
|
|
|
|
$script:rbIDERReset.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbIDERReset.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbIDERReset.Text = "Reset"
|
|
|
|
$script:rbIDERGet.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rbIDERGet.Size = New-object System.Drawing.Size(200, 20)
|
|
$script:rbIDERGet.Text = "Get Active IDER sessions"
|
|
|
|
$script:rbIDERStop.Location = New-object System.Drawing.Point(10,80)
|
|
$script:rbIDERStop.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbIDERStop.Text = "Stop all IDER sessions"
|
|
|
|
$script:gbIDERIDERPath = New-object System.Windows.Forms.GroupBox
|
|
$gbIDERIDERPath.Location = New-object System.Drawing.Point(10, 105);
|
|
$gbIDERIDERPath.Size = New-object System.Drawing.Size(210, 80);
|
|
$gbIDERIDERPath.Text = "IDER Path"
|
|
|
|
$script:btnIDERBrowse = New-object System.Windows.Forms.Button
|
|
$btnIDERBrowse.Location = New-object System.Drawing.Point(55, 50);
|
|
$btnIDERBrowse.Size = New-object System.Drawing.Size(100, 20);
|
|
$btnIDERBrowse.Text = "Browse"
|
|
$btnIDERBrowse.Add_click({IDERBrowse_Click})
|
|
|
|
$script:tbIDERIDERPath = New-object System.Windows.Forms.TextBox
|
|
$tbIDERIDERPath.Location = New-object System.Drawing.Point(5, 20);
|
|
$tbIDERIDERPath.Size = New-object System.Drawing.Size(200, 20);
|
|
$tbIDERIDERPath.Text = ""
|
|
|
|
$script:pnlIDER.Controls.Add($rbIDEROn)
|
|
$script:pnlIDER.Controls.Add($rbIDERReset)
|
|
$script:pnlIDER.Controls.Add($rbIDERGet)
|
|
$script:pnlIDER.Controls.Add($rbIDERStop)
|
|
$script:gbIDERIDERPath.Controls.Add($tbIDERIDERPath)
|
|
$script:gbIDERIDERPath.Controls.Add($btnIDERBrowse)
|
|
$script:pnlIDER.Controls.Add($gbIDERIDERPath)
|
|
$script:gbOptions.Controls.Add($pnlIDER)
|
|
##
|
|
## pnl3PDS
|
|
##
|
|
$script:pnl3PDS = New-object System.Windows.Forms.Panel
|
|
$script:pnl3PDS.visible = $false
|
|
$script:pnl3PDS.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rb3PDSList = New-object System.Windows.Forms.RadioButton
|
|
$script:rb3PDSRead = New-object System.Windows.Forms.RadioButton
|
|
$script:rb3PDSDelete = New-object System.Windows.Forms.RadioButton
|
|
$script:rb3PDSCreate = New-object System.Windows.Forms.RadioButton
|
|
$script:rb3PDSWrite = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rb3PDSList.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rb3PDSList.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rb3PDSList.Text = "List"
|
|
$script:rb3PDSList.Checked = $true
|
|
|
|
$script:rb3PDSRead.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rb3PDSRead.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rb3PDSRead.Text = "Read"
|
|
|
|
$script:rb3PDSDelete.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rb3PDSDelete.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rb3PDSDelete.Text = "Delete"
|
|
|
|
$script:rb3PDSCreate.Location = New-object System.Drawing.Point(10,80)
|
|
$script:rb3PDSCreate.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rb3PDSCreate.Text = "Create"
|
|
|
|
$script:rb3PDSWrite.Location = New-object System.Drawing.Point(10,105)
|
|
$script:rb3PDSWrite.Size = New-object System.Drawing.Size(75, 20)
|
|
$script:rb3PDSWrite.Text = "Write"
|
|
|
|
$script:tb3PDSData = New-object System.Windows.Forms.TextBox
|
|
$tb3PDSData.Location = New-object System.Drawing.Point(5, 130);
|
|
$tb3PDSData.Size = New-object System.Drawing.Size(200, 100);
|
|
$tb3PDSData.Multiline = $true
|
|
$tb3PDSData.Text = ""
|
|
|
|
$script:lbl3PDS = New-object System.Windows.Forms.Label
|
|
$script:lbl3PDS.Location = New-object System.Drawing.Point(90,5)
|
|
$script:lbl3PDS.Size = New-object System.Drawing.Size(150, 150)
|
|
update3PDSlabel
|
|
|
|
$script:pnl3PDS.Controls.Add($rb3PDSList)
|
|
$script:pnl3PDS.Controls.Add($rb3PDSRead)
|
|
$script:pnl3PDS.Controls.Add($rb3PDSDelete)
|
|
$script:pnl3PDS.Controls.Add($rb3PDSCreate)
|
|
$script:pnl3PDS.Controls.Add($rb3PDSWrite)
|
|
$script:pnl3PDS.Controls.Add($tb3PDSData)
|
|
$script:pnl3PDS.Controls.Add($lbl3PDS)
|
|
$script:gbOptions.Controls.Add($pnl3PDS)
|
|
##
|
|
## pnlAlarmClock
|
|
##
|
|
$script:pnlAlarmClock = New-object System.Windows.Forms.Panel
|
|
$script:pnlAlarmClock.visible = $false
|
|
$script:pnlAlarmClock.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
$script:lblAlarmclock = New-object System.Windows.forms.label
|
|
$script:lblAlarmclock.Text = "Example: DD-HH:MM:SS"
|
|
$script:lblAlarmclock.Enabled = $false
|
|
$script:lblAlarmclock.Size = New-object System.Drawing.Size(200, 20)
|
|
$script:lblAlarmclock.Location = New-object System.Drawing.Point(10,130);
|
|
|
|
$script:rbAlarmClockShow = New-object System.Windows.Forms.RadioButton
|
|
$script:rbAlarmClockClear = New-object System.Windows.Forms.RadioButton
|
|
$script:rbAlarmClockSet = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rbAlarmClockShow.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbAlarmClockShow.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbAlarmClockShow.Text = "Show"
|
|
$script:rbAlarmClockShow.Checked = $true
|
|
|
|
$script:rbAlarmClockClear.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbAlarmClockClear.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbAlarmClockClear.Text = "Clear"
|
|
$script:rbAlarmClockClear.Add_CheckedChanged(
|
|
{
|
|
$script:lblAlarmName.Enabled = !$script:lblAlarmName.Enabled
|
|
$script:txtAlarmName.Enabled = !$script:txtAlarmName.Enabled
|
|
$script:txtAlarmName.Text = ""
|
|
})
|
|
|
|
$script:rbAlarmClockSet.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rbAlarmClockSet.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbAlarmClockSet.Text = "Set"
|
|
$script:rbAlarmClockSet.Add_CheckedChanged(
|
|
{
|
|
$script:cbAlarmClockUseInterval.Enabled = !$script:cbAlarmClockUseInterval.Enabled
|
|
$script:dtpAlarmClockDateTimePicker.Enabled = !$script:dtpAlarmClockDateTimePicker.Enabled
|
|
$script:tbAlarmClockInterval.Enabled = !$script:tbAlarmClockInterval.Enabled
|
|
$script:lblAlarmName.Enabled = !$script:lblAlarmName.Enabled
|
|
$script:txtAlarmName.Enabled = !$script:txtAlarmName.Enabled
|
|
$rbDeleteManually.Enabled = !$script:rbDeleteManually.Enabled
|
|
$rbDeleteCompletion.Enabled = !$script:rbDeleteCompletion.Enabled
|
|
$script:lblAlarmclock.Enabled = !$script:lblAlarmclock.Enabled
|
|
$script:txtAlarmName.Text = ""
|
|
|
|
})
|
|
|
|
$script:tbAlarmClockInterval = New-object System.Windows.Forms.TextBox
|
|
$script:tbAlarmClockInterval.Location = New-object System.Drawing.Point(80,105)
|
|
$script:tbAlarmClockInterval.Size = New-object System.Drawing.Size(125, 20)
|
|
$script:tbAlarmClockInterval.Text = ""
|
|
$script:tbAlarmClockInterval.Enabled = $false
|
|
|
|
$script:lblAlarmName = New-object System.Windows.forms.label
|
|
$script:lblAlarmName.Text = "Alarm Name"
|
|
$script:lblAlarmName.Size = New-object System.Drawing.Size(80, 20)
|
|
$script:lblAlarmName.Location = New-object System.Drawing.Point(10,155);
|
|
$script:lblAlarmName.Enabled = $false
|
|
|
|
$script:txtAlarmName = New-object System.Windows.Forms.TextBox
|
|
$script:txtAlarmName.Location = New-object System.Drawing.Point(95,155)
|
|
$script:txtAlarmName.Size = New-object System.Drawing.Size(125, 20)
|
|
$script:txtAlarmName.Text = ""
|
|
$script:txtAlarmName.Enabled = $false
|
|
|
|
$script:grGroupBox1 = New-object System.Windows.Forms.GroupBox
|
|
$script:grGroupBox1.Location = New-object System.Drawing.Point(0,180)
|
|
$script:grGroupBox1.Size = New-object System.Drawing.Size(280, 60)
|
|
|
|
|
|
$script:rbDeleteCompletion = New-object System.Windows.Forms.RadioButton
|
|
$script:rbDeleteCompletion.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbDeleteCompletion.Size = New-object System.Drawing.Size(140, 20)
|
|
$script:rbDeleteCompletion.Text = "Delete on Completion"
|
|
$script:rbDeleteCompletion.Checked = $true
|
|
$script:rbDeleteCompletion.Enabled = $false
|
|
|
|
$script:rbDeleteManually = New-object System.Windows.Forms.RadioButton
|
|
$script:rbDeleteManually.Location = New-object System.Drawing.Point(145,5)
|
|
$script:rbDeleteManually.Size = New-object System.Drawing.Size(140, 20)
|
|
$script:rbDeleteManually.Text = "Delete Manually"
|
|
$script:rbDeleteManually.Enabled = $false
|
|
|
|
$script:cbAlarmClockUseInterval = New-object System.Windows.Forms.CheckBox
|
|
$script:cbAlarmClockUseInterval.Location = New-object System.Drawing.Point(9,105)
|
|
$script:cbAlarmClockUseInterval.Size = New-object System.Drawing.Size(65, 20)
|
|
$script:cbAlarmClockUseInterval.Text = "Interval"
|
|
$script:cbAlarmClockUseInterval.Checked = $false
|
|
$script:cbAlarmClockUseInterval.Enabled = $false
|
|
|
|
$script:dtpAlarmClockDateTimePicker = New-object System.Windows.Forms.DateTimePicker
|
|
$script:dtpAlarmClockDateTimePicker.Location = New-object System.Drawing.Point(9, 80)
|
|
$script:dtpAlarmClockDateTimePicker.Format = [windows.forms.datetimepickerFormat]::custom
|
|
$script:dtpAlarmClockDateTimePicker.CustomFormat = "MMM dd, yyyy h:mm tt"
|
|
$script:dtpAlarmClockDateTimePicker.Size = New-object System.Drawing.Size(165, 20)
|
|
$script:dtpAlarmClockDateTimePicker.Enabled = $false
|
|
|
|
$script:grGroupBox1.Controls.Add($script:rbDeleteManually)
|
|
$script:grGroupBox1.Controls.Add($script:rbDeleteCompletion)
|
|
|
|
$script:pnlAlarmClock.Controls.Add($script:grGroupBox1)
|
|
$script:pnlAlarmClock.Controls.Add($script:lblAlarmName)
|
|
$script:pnlAlarmClock.Controls.Add($lblAlarmclock)
|
|
$script:pnlAlarmClock.Controls.Add($rbAlarmClockShow)
|
|
$script:pnlAlarmClock.Controls.Add($rbAlarmClockClear)
|
|
$script:pnlAlarmClock.Controls.Add($rbAlarmClockSet)
|
|
$script:pnlAlarmClock.Controls.Add($cbAlarmClockUseInterval)
|
|
$script:pnlAlarmClock.Controls.Add($tbAlarmClockInterval)
|
|
$script:pnlAlarmClock.Controls.Add($txtAlarmName)
|
|
$script:pnlAlarmClock.Controls.Add($dtpAlarmClockDateTimePicker)
|
|
|
|
$script:gbOptions.Controls.Add($pnlAlarmClock)
|
|
##
|
|
## pnlMPS
|
|
##
|
|
$script:pnlMPS = New-object System.Windows.Forms.Panel
|
|
$script:pnlMPS.visible = $false
|
|
$script:pnlMPS.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rbMPSGet = New-object System.Windows.Forms.RadioButton
|
|
$script:rbMPSSet = New-object System.Windows.Forms.RadioButton
|
|
$script:rbMPSClear = New-object System.Windows.Forms.RadioButton
|
|
$script:rbMPSAddClient = New-object System.Windows.Forms.RadioButton
|
|
$script:rbMPSRemoveClient = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rbMPSGet.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbMPSGet.Size = New-object System.Drawing.Size(125, 20)
|
|
$script:rbMPSGet.Text = "Get FCFH Status"
|
|
$script:rbMPSGet.Checked = $true
|
|
|
|
$script:rbMPSSet.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbMPSSet.Size = New-object System.Drawing.Size(125, 20)
|
|
$script:rbMPSSet.Text = "Set FCFH Proxy"
|
|
$script:rbMPSSet.Add_CheckedChanged({$script:gbMPSProxy.Enabled = !$script:gbMPSProxy.Enabled })
|
|
|
|
|
|
$script:rbMPSAddClient.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rbMPSAddClient.Size = New-object System.Drawing.Size(100, 20)
|
|
$script:rbMPSAddClient.Text = "Add Client"
|
|
$script:rbMPSAddClient.Add_CheckedChanged({$script:tbMPSClient.Enabled = !$script:tbMPSClient.Enabled })
|
|
|
|
$script:rbMPSRemoveClient.Location = New-object System.Drawing.Point(10,80)
|
|
$script:rbMPSRemoveClient.Size = New-object System.Drawing.Size(100, 20)
|
|
$script:rbMPSRemoveClient.Text = "Remove Client"
|
|
$script:rbMPSRemoveClient.Add_CheckedChanged({$script:tbMPSClient.Enabled = !$script:tbMPSClient.Enabled })
|
|
|
|
$script:rbMPSClear.Location = New-object System.Drawing.Point(10,105)
|
|
$script:rbMPSClear.Size = New-object System.Drawing.Size(125, 20)
|
|
$script:rbMPSClear.Text = "Turn Off FCFH"
|
|
|
|
$script:gbMPSProxy = New-object System.Windows.Forms.GroupBox
|
|
$gbMPSProxy.Location = New-object System.Drawing.Point(5, 130);
|
|
$gbMPSProxy.Size = New-object System.Drawing.Size(190, 102);
|
|
$gbMPSProxy.Text = "Proxy Settings"
|
|
$script:gbMPSProxy.Enabled = $false
|
|
|
|
$script:lblMPSHTTP = New-object System.Windows.forms.label
|
|
$script:lblMPSHTTP.Text = "HTTP Proxy"
|
|
$script:lblMPSHTTP.Location = New-object System.Drawing.Point(20,15);
|
|
$script:lblMPSHTTP.Size = New-object System.Drawing.Size(75, 15)
|
|
|
|
$script:lblMPSSOCKS = New-object System.Windows.forms.label
|
|
$script:lblMPSSOCKS.Text = "SOCKS Proxy"
|
|
$script:lblMPSSOCKS.Location = New-object System.Drawing.Point(20,55);
|
|
$script:lblMPSSOCKS.Size = New-object System.Drawing.Size(85, 15)
|
|
|
|
$script:tbMPSHTTP = New-object System.Windows.Forms.TextBox
|
|
$script:tbMPSHTTP.Location = New-object System.Drawing.Point(6,32)
|
|
$script:tbMPSHTTP.Size = New-object System.Drawing.Size(170, 20)
|
|
$script:tbMPSHTTP.Text = ""
|
|
|
|
$script:tbMPSSOCKS = New-object System.Windows.Forms.TextBox
|
|
$script:tbMPSSOCKS.Location = New-object System.Drawing.Point(6,74)
|
|
$script:tbMPSSOCKS.Size = New-object System.Drawing.Size(170, 20)
|
|
$script:tbMPSSOCKS.Text = ""
|
|
|
|
$script:tbMPSClient = New-object System.Windows.Forms.TextBox
|
|
$script:tbMPSClient.Location = New-object System.Drawing.Point(110,67)
|
|
$script:tbMPSClient.Size = New-object System.Drawing.Size(152, 20)
|
|
$script:tbMPSClient.Text = ""
|
|
$script:tbMPSClient.Enabled = $false
|
|
|
|
$script:pnlMPS.Controls.Add($rbMPSSet)
|
|
$script:pnlMPS.Controls.Add($rbMPSGet)
|
|
$script:pnlMPS.Controls.Add($rbMPSAddClient)
|
|
$script:pnlMPS.Controls.Add($rbMPSRemoveClient)
|
|
$script:pnlMPS.Controls.Add($rbMPSClear)
|
|
$script:pnlMPS.Controls.Add($tbMPSClient)
|
|
$script:gbMPSProxy.Controls.Add($lblMPSHTTP)
|
|
$script:gbMPSProxy.Controls.Add($lblMPSSOCKS)
|
|
$script:gbMPSProxy.Controls.Add($tbMPSHTTP)
|
|
$script:gbMPSProxy.Controls.Add($tbMPSSOCKS)
|
|
|
|
$script:pnlMPS.Controls.Add($gbMPSProxy)
|
|
|
|
$script:gbOptions.Controls.Add($pnlMPS)
|
|
##
|
|
## pnlUserConsent
|
|
##
|
|
$script:pnlUserConsent = New-object System.Windows.Forms.Panel
|
|
$script:pnlUserConsent.visible = $false
|
|
$script:pnlUserConsent.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rbUserConsentGet = New-object System.Windows.Forms.RadioButton
|
|
$script:rbUserConsentStart = New-object System.Windows.Forms.RadioButton
|
|
$script:rbUserConsentStop = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rbUserConsentGet.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbUserConsentGet.Size = New-object System.Drawing.Size(175, 20)
|
|
$script:rbUserConsentGet.Text = "Get User Consent Status"
|
|
$script:rbUserConsentGet.Checked = $true
|
|
|
|
$script:rbUserConsentStart.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbUserConsentStart.Size = New-object System.Drawing.Size(175, 20)
|
|
$script:rbUserConsentStart.Text = "Start User Consent Request"
|
|
|
|
$script:rbUserConsentStop.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rbUserConsentStop.Size = New-object System.Drawing.Size(175, 20)
|
|
$script:rbUserConsentStop.Text = "Stop User Consent Request"
|
|
|
|
$script:pnlUserConsent.Controls.Add($rbUserConsentGet)
|
|
$script:pnlUserConsent.Controls.Add($rbUserConsentStart)
|
|
$script:pnlUserConsent.Controls.Add($rbUserConsentStop)
|
|
$script:gbOptions.Controls.Add($pnlUserConsent)
|
|
##
|
|
## pnlSystemDefense
|
|
##
|
|
$script:pnlSystemDefense = New-object System.Windows.Forms.Panel
|
|
$script:pnlSystemDefense.visible = $false
|
|
$script:pnlSystemDefense.Dock = [System.Windows.Forms.DockStyle]::Fill
|
|
|
|
$script:rbSystemDefenseGet = New-object System.Windows.Forms.RadioButton
|
|
$script:rbSystemDefenseSet = New-object System.Windows.Forms.RadioButton
|
|
$script:rbSystemDefenseClear = New-object System.Windows.Forms.RadioButton
|
|
|
|
$script:rbSystemDefenseGet.Location = New-object System.Drawing.Point(10,5)
|
|
$script:rbSystemDefenseGet.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbSystemDefenseGet.Text = "Get System Defense"
|
|
$script:rbSystemDefenseGet.Checked = $true
|
|
|
|
$script:rbSystemDefenseSet.Location = New-object System.Drawing.Point(10,30)
|
|
$script:rbSystemDefenseSet.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbSystemDefenseSet.Text = "Set System Defense"
|
|
|
|
$script:rbSystemDefenseClear.Location = New-object System.Drawing.Point(10,55)
|
|
$script:rbSystemDefenseClear.Size = New-object System.Drawing.Size(150, 20)
|
|
$script:rbSystemDefenseClear.Text = "Clear System Defense"
|
|
|
|
$script:pnlSystemDefense.Controls.Add($rbSystemDefenseGet)
|
|
$script:pnlSystemDefense.Controls.Add($rbSystemDefenseSet)
|
|
$script:pnlSystemDefense.Controls.Add($rbSystemDefenseClear)
|
|
$script:gbOptions.Controls.Add($pnlSystemDefense)
|
|
|
|
|
|
}
|
|
|
|
function update3PDSlabel
|
|
{
|
|
$script:lbl3PDS.Text = "Enterprise: " + $script:variableArray["3PDSEnterprise"] + "`n`nVendor: " + $script:variableArray["3PDSVendor"] + $script:3PDSVendor + "`n`nApplication:" + $script:variableArray["3PDSApplication"] + "`n`nBlockName:" + $script:variableArray["3PDSBlock"]
|
|
}
|
|
|
|
|
|
Main
|
|
}
|
|
}
|
|
|
|
|
|
|
|
# SIG # Begin signature block
|
|
# MIItiwYJKoZIhvcNAQcCoIItfDCCLXgCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
|
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
|
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAVPgxeJKVdVK7n
|
|
# NIqe/Jt9fM62BB7q5GGRQZNhlSAOyKCCEX4wggVvMIIEV6ADAgECAhBI/JO0YFWU
|
|
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
|
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
|
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
|
# dmljZXMwHhcNMjEwNTI1MDAwMDAwWhcNMjgxMjMxMjM1OTU5WjBWMQswCQYDVQQG
|
|
# EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMS0wKwYDVQQDEyRTZWN0aWdv
|
|
# IFB1YmxpYyBDb2RlIFNpZ25pbmcgUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEBAQUA
|
|
# A4ICDwAwggIKAoICAQCN55QSIgQkdC7/FiMCkoq2rjaFrEfUI5ErPtx94jGgUW+s
|
|
# hJHjUoq14pbe0IdjJImK/+8Skzt9u7aKvb0Ffyeba2XTpQxpsbxJOZrxbW6q5KCD
|
|
# J9qaDStQ6Utbs7hkNqR+Sj2pcaths3OzPAsM79szV+W+NDfjlxtd/R8SPYIDdub7
|
|
# P2bSlDFp+m2zNKzBenjcklDyZMeqLQSrw2rq4C+np9xu1+j/2iGrQL+57g2extme
|
|
# me/G3h+pDHazJyCh1rr9gOcB0u/rgimVcI3/uxXP/tEPNqIuTzKQdEZrRzUTdwUz
|
|
# T2MuuC3hv2WnBGsY2HH6zAjybYmZELGt2z4s5KoYsMYHAXVn3m3pY2MeNn9pib6q
|
|
# RT5uWl+PoVvLnTCGMOgDs0DGDQ84zWeoU4j6uDBl+m/H5x2xg3RpPqzEaDux5mcz
|
|
# mrYI4IAFSEDu9oJkRqj1c7AGlfJsZZ+/VVscnFcax3hGfHCqlBuCF6yH6bbJDoEc
|
|
# QNYWFyn8XJwYK+pF9e+91WdPKF4F7pBMeufG9ND8+s0+MkYTIDaKBOq3qgdGnA2T
|
|
# OglmmVhcKaO5DKYwODzQRjY1fJy67sPV+Qp2+n4FG0DKkjXp1XrRtX8ArqmQqsV/
|
|
# AZwQsRb8zG4Y3G9i/qZQp7h7uJ0VP/4gDHXIIloTlRmQAOka1cKG8eOO7F/05QID
|
|
# AQABo4IBEjCCAQ4wHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYD
|
|
# VR0OBBYEFDLrkpr/NZZILyhAQnAgNpFcF4XmMA4GA1UdDwEB/wQEAwIBhjAPBgNV
|
|
# HRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMDMBsGA1UdIAQUMBIwBgYE
|
|
# VR0gADAIBgZngQwBBAEwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21v
|
|
# ZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNAYIKwYBBQUHAQEE
|
|
# KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZI
|
|
# hvcNAQEMBQADggEBABK/oe+LdJqYRLhpRrWrJAoMpIpnuDqBv0WKfVIHqI0fTiGF
|
|
# OaNrXi0ghr8QuK55O1PNtPvYRL4G2VxjZ9RAFodEhnIq1jIV9RKDwvnhXRFAZ/ZC
|
|
# J3LFI+ICOBpMIOLbAffNRk8monxmwFE2tokCVMf8WPtsAO7+mKYulaEMUykfb9gZ
|
|
# pk+e96wJ6l2CxouvgKe9gUhShDHaMuwV5KZMPWw5c9QLhTkg4IUaaOGnSDip0TYl
|
|
# d8GNGRbFiExmfS9jzpjoad+sPKhdnckcW67Y8y90z7h+9teDnRGWYpquRRPaf9xH
|
|
# +9/DUp/mBlXpnYzyOmJRvOwkDynUWICE5EV7WtgwggXpMIIEUaADAgECAhEA/lzU
|
|
# lQGKZRek0E74e2uTOjANBgkqhkiG9w0BAQwFADBUMQswCQYDVQQGEwJHQjEYMBYG
|
|
# A1UEChMPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBD
|
|
# b2RlIFNpZ25pbmcgQ0EgUjM2MB4XDTI0MDMxMzAwMDAwMFoXDTI1MDMxMzIzNTk1
|
|
# OVowWjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExGjAYBgNVBAoM
|
|
# EUludGVsIENvcnBvcmF0aW9uMRowGAYDVQQDDBFJbnRlbCBDb3Jwb3JhdGlvbjCC
|
|
# AaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAI69Cz15squYBdM5ZXnjFBNn
|
|
# vqzI4WUgaQ/PjBKog2t/IkSByXK+3K1m4CwQtTgqpMCD193E3A/xDHmWVEvpCKUB
|
|
# +xc8c/8FE6TymrIKA/0UH7jVesLgCo0AxfM0dkcqrvLKvnchseekdaM2b+E41NSj
|
|
# AhhWgGp1LoTZyrAOJNpGsPIfgA/0+J6RCECh9BARbXCRXAnzTuPtWDXfKlOwSa4+
|
|
# o2tJM7TPNALTJSLHoZbvfUOpgOh+0lWx49himoW6lfDt5cZDPOT8wNwpd5DWwB8M
|
|
# hzLfNEpbvR/85s8SP/dWRrAVkSRxS1wqIZa9OsxD+rjBBIe8JDR1Y9hjGBUKybMA
|
|
# Y30Pp8rDpFeH1Ya1A8gNeae8KRSlacroyoxhRviL9n8nCZIhiqL6Q0Qu9cJGwlYi
|
|
# L9mAMRyVPI3BHf0s6r6BRqt8yBYP/2dsgc4z9YV9DGJUaKz2kjwud1OJZupFDZio
|
|
# +shzbO/h78iJSQiMVHgMVFEVOZFERE3dVSEFsWdPAwIDAQABo4IBrjCCAaowHwYD
|
|
# VR0jBBgwFoAUDyrLIIcouOxvSK4rVKYpqhekzQwwHQYDVR0OBBYEFCjtPWp/OnUU
|
|
# 51aXAiBwcQ/gvYfGMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBMGA1Ud
|
|
# JQQMMAoGCCsGAQUFBwMDMEoGA1UdIARDMEEwNQYMKwYBBAGyMQECAQMCMCUwIwYI
|
|
# KwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAEEATBJBgNV
|
|
# HR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29QdWJs
|
|
# aWNDb2RlU2lnbmluZ0NBUjM2LmNybDB5BggrBgEFBQcBAQRtMGswRAYIKwYBBQUH
|
|
# MAKGOGh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY0NvZGVTaWdu
|
|
# aW5nQ0FSMzYuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNv
|
|
# bTAjBgNVHREEHDAagRhwa2llbmdpbmVlcmluZ0BpbnRlbC5jb20wDQYJKoZIhvcN
|
|
# AQEMBQADggGBAB01WGV1cWjtTCQGkNtDRpmS08NuUis1F2+0cwIrk2dY8tXKiZ5R
|
|
# supkBKWfpjNSHdW79DvVCotBbyRYUdDSeFkQ8jRPm+vlzyFhRWuW4qSYcIlx6qia
|
|
# pGZEFsvmEEXMnwG9zEEeKsYlnM/ZSI23uLZCXyhJx35G2PpBr3tMym6gIvta5Dml
|
|
# 4S/XEJJI/ZvIKhPO5QUemCS07S9QN7SOKeEkk1LdV1ccCBNtRpAzmGVr4iYS4pbV
|
|
# r8yishYe25TSAPeWEy9PYEMnjZbQQS8lD8XFB6gfiTJLFCCzIKsHzMIk+FuJlwVl
|
|
# q4ec/Wrx0+fpVeo2SPJZI/iE82gtD5oywotprC47MdvVlcvbePYnHoJqqRtnhX+E
|
|
# 6jlGRtnhUCPV+BsRScp4v8DIUJGdV5AzS5rYu3YhJGDJgTgPGvBtmvaPeJtxcKzX
|
|
# UnMpPtanuJgW3o1ucSo9SKb9dNqFcLcOUVD2lDjh85Z0anJom924xhVm4cGNWSF7
|
|
# az8cVA6zH/Rc6DCCBhowggQCoAMCAQICEGIdbQxSAZ47kHkVIIkhHAowDQYJKoZI
|
|
# hvcNAQEMBQAwVjELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRl
|
|
# ZDEtMCsGA1UEAxMkU2VjdGlnbyBQdWJsaWMgQ29kZSBTaWduaW5nIFJvb3QgUjQ2
|
|
# MB4XDTIxMDMyMjAwMDAwMFoXDTM2MDMyMTIzNTk1OVowVDELMAkGA1UEBhMCR0Ix
|
|
# GDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDErMCkGA1UEAxMiU2VjdGlnbyBQdWJs
|
|
# aWMgQ29kZSBTaWduaW5nIENBIFIzNjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCC
|
|
# AYoCggGBAJsrnVP6NT+OYAZDasDP9X/2yFNTGMjO02x+/FgHlRd5ZTMLER4ARkZs
|
|
# Q3hAyAKwktlQqFZOGP/I+rLSJJmFeRno+DYDY1UOAWKA4xjMHY4qF2p9YZWhhbeF
|
|
# pPb09JNqFiTCYy/Rv/zedt4QJuIxeFI61tqb7/foXT1/LW2wHyN79FXSYiTxcv+1
|
|
# 8Irpw+5gcTbXnDOsrSHVJYdPE9s+5iRF2Q/TlnCZGZOcA7n9qudjzeN43OE/TpKF
|
|
# 2dGq1mVXn37zK/4oiETkgsyqA5lgAQ0c1f1IkOb6rGnhWqkHcxX+HnfKXjVodTmm
|
|
# V52L2UIFsf0l4iQ0UgKJUc2RGarhOnG3B++OxR53LPys3J9AnL9o6zlviz5pzsgf
|
|
# rQH4lrtNUz4Qq/Va5MbBwuahTcWk4UxuY+PynPjgw9nV/35gRAhC3L81B3/bIaBb
|
|
# 659+Vxn9kT2jUztrkmep/aLb+4xJbKZHyvahAEx2XKHafkeKtjiMqcUf/2BG935A
|
|
# 591GsllvWwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAUMuuSmv81lkgvKEBCcCA2
|
|
# kVwXheYwHQYDVR0OBBYEFA8qyyCHKLjsb0iuK1SmKaoXpM0MMA4GA1UdDwEB/wQE
|
|
# AwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMBsG
|
|
# A1UdIAQUMBIwBgYEVR0gADAIBgZngQwBBAEwSwYDVR0fBEQwQjBAoD6gPIY6aHR0
|
|
# cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdSb290
|
|
# UjQ2LmNybDB7BggrBgEFBQcBAQRvMG0wRgYIKwYBBQUHMAKGOmh0dHA6Ly9jcnQu
|
|
# c2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY0NvZGVTaWduaW5nUm9vdFI0Ni5wN2Mw
|
|
# IwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0GCSqGSIb3DQEB
|
|
# DAUAA4ICAQAG/4Lhd2M2bnuhFSCbE/8E/ph1RGHDVpVx0ZE/haHrQECxyNbgcv2F
|
|
# ymQ5PPmNS6Dah66dtgCjBsULYAor5wxxcgEPRl05pZOzI3IEGwwsepp+8iGsLKaV
|
|
# pL3z5CmgELIqmk/Q5zFgR1TSGmxqoEEhk60FqONzDn7D8p4W89h8sX+V1imaUb69
|
|
# 3TGqWp3T32IKGfIgy9jkd7GM7YCa2xulWfQ6E1xZtYNEX/ewGnp9ZeHPsNwwviJM
|
|
# BZL4xVd40uPWUnOJUoSiugaz0yWLODRtQxs5qU6E58KKmfHwJotl5WZ7nIQuDT0m
|
|
# WjwEx7zSM7fs9Tx6N+Q/3+49qTtUvAQsrEAxwmzOTJ6Jp6uWmHCgrHW4dHM3ITpv
|
|
# G5Ipy62KyqYovk5O6cC+040Si15KJpuQ9VJnbPvqYqfMB9nEKX/d2rd1Q3DiuDex
|
|
# MKCCQdJGpOqUsxLuCOuFOoGbO7Uv3RjUpY39jkkp0a+yls6tN85fJe+Y8voTnbPU
|
|
# 1knpy24wUFBkfenBa+pRFHwCBB1QtS+vGNRhsceP3kSPNrrfN2sRzFYsNfrFaWz8
|
|
# YOdU254qNZQfd9O/VjxZ2Gjr3xgANHtM3HxfzPYF6/pKK8EE4dj66qKKtm2DTL1K
|
|
# FCg/OYJyfrdLJq1q2/HXntgr2GVw+ZWhrWgMTn8v1SjZsLlrgIfZHDGCG2Mwghtf
|
|
# AgEBMGkwVDELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDEr
|
|
# MCkGA1UEAxMiU2VjdGlnbyBQdWJsaWMgQ29kZSBTaWduaW5nIENBIFIzNgIRAP5c
|
|
# 1JUBimUXpNBO+HtrkzowDQYJYIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIw
|
|
# ADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYK
|
|
# KwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgLDVak91l50OsQlw6x5MPPirubtv/
|
|
# oJv+UY6FrsKgMqMwDQYJKoZIhvcNAQEBBQAEggGAgiwmYzs/OwvzIDpfkbK+s35V
|
|
# pV7CbXKyIXjMYTO1G0sUdFK7Bp5FWKZhE+DtZ2o6pbO+WFhYhnSawAhKPZxh6eEl
|
|
# wzuU9Vc28ZfSEVWZ5ubUdEXkVsi/6FbsobFaUCVumg8ro0Xc0VSqnIad6ZffdUNW
|
|
# 4aS98Kx8GXmttG95naomc9S0xnVUeYLYPmhUN7rQS2rJSfC/E4uIeztD0xv4RKOw
|
|
# ZxsuM0xS88qatjpSkfX9svDIKGYzXWSstcY3tWOSiTUnqoFcXoqsM965n3CxbHzR
|
|
# VuXuAlT5thfcbqtC7ip/Ddd8mgoJCC5p3oUxl7mRR0M21LBysn/4iAibKlJvNLwT
|
|
# BkQFJ/fZLUD+x8wadAG6S83nvm9hyxKdY5E+/mN5HHeSygp2hABhdqweQwZv5otZ
|
|
# lFdlrd81zZXhTD04Eg5NX8tyk21Vv66t54hkXJJVD2WmaQgKMUc8qFGcK8m1Uyb5
|
|
# EhMN0JppJaJL3ZBN/Yx4bfrYDVetAUoOUgWTxtQuoYIYzTCCGMkGCisGAQQBgjcD
|
|
# AwExghi5MIIYtQYJKoZIhvcNAQcCoIIYpjCCGKICAQMxDzANBglghkgBZQMEAgIF
|
|
# ADCB8wYLKoZIhvcNAQkQAQSggeMEgeAwgd0CAQEGCisGAQQBsjECAQEwMTANBglg
|
|
# hkgBZQMEAgEFAAQgPCmVStpkri5MRmCT8CzlrCeMRzxJxahLLNZYEidpCWcCFG/s
|
|
# F2r+9Qv7vtWfdGaZUQq1Luc/GA8yMDI1MDEyNzE5MDIzMlqgcqRwMG4xCzAJBgNV
|
|
# BAYTAkdCMRMwEQYDVQQIEwpNYW5jaGVzdGVyMRgwFgYDVQQKEw9TZWN0aWdvIExp
|
|
# bWl0ZWQxMDAuBgNVBAMTJ1NlY3RpZ28gUHVibGljIFRpbWUgU3RhbXBpbmcgU2ln
|
|
# bmVyIFIzNaCCEv8wggZdMIIExaADAgECAhA6UmoshM5V5h1l/MwS2OmJMA0GCSqG
|
|
# SIb3DQEBDAUAMFUxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
|
|
# ZWQxLDAqBgNVBAMTI1NlY3RpZ28gUHVibGljIFRpbWUgU3RhbXBpbmcgQ0EgUjM2
|
|
# MB4XDTI0MDExNTAwMDAwMFoXDTM1MDQxNDIzNTk1OVowbjELMAkGA1UEBhMCR0Ix
|
|
# EzARBgNVBAgTCk1hbmNoZXN0ZXIxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDEw
|
|
# MC4GA1UEAxMnU2VjdGlnbyBQdWJsaWMgVGltZSBTdGFtcGluZyBTaWduZXIgUjM1
|
|
# MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjdFn9MFIm739OEk6TWGB
|
|
# m8PY3EWlYQQ2jQae45iWgPXUGVuYoIa1xjTGIyuw3suUSBzKiyG0/c/Yn++d5mG6
|
|
# IyayljuGT9DeXQU9k8GWWj2/BPoamg2fFctnPsdTYhMGxM06z1+Ft0Bav8ybww21
|
|
# ii/faiy+NhiUM195+cFqOtCpJXxZ/lm9tpjmVmEqpAlRpfGmLhNdkqiEuDFTuD1G
|
|
# sV3jvuPuPGKUJTam3P53U4LM0UCxeDI8Qz40Qw9TPar6S02XExlc8X1YsiE6ETcT
|
|
# z+g1ImQ1OqFwEaxsMj/WoJT18GG5KiNnS7n/X4iMwboAg3IjpcvEzw4AZCZowHyC
|
|
# zYhnFRM4PuNMVHYcTXGgvuq9I7j4ke281x4e7/90Z5Wbk92RrLcS35hO30TABcGx
|
|
# 3Q8+YLRy6o0k1w4jRefCMT7b5mTxtq5XPmKvtgfPuaWPkGZ/tbxInyNDA7YgOgcc
|
|
# ULjp4+D56g2iuzRCsLQ9ac6AN4yRbqCYsG2rcIQ5INTyI2JzA2w1vsAHPRbUTeqV
|
|
# LDuNOY2gYIoKBWQsPYVoyzaoBVU6O5TG+a1YyfWkgVVS9nXKs8hVti3VpOV3aeua
|
|
# HnjgC6He2CCDL9aW6gteUe0AmC8XCtWwpePx6QW3ROZo8vSUe9AR7mMdu5+FzTmW
|
|
# 8K13Bt8GX/YBFJO7LWzwKAUCAwEAAaOCAY4wggGKMB8GA1UdIwQYMBaAFF9Y7Uwx
|
|
# eqJhQo1SgLqzYZcZojKbMB0GA1UdDgQWBBRo76QySWm2Ujgd6kM5LPQUap4MhTAO
|
|
# BgNVHQ8BAf8EBAMCBsAwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEF
|
|
# BQcDCDBKBgNVHSAEQzBBMDUGDCsGAQQBsjEBAgEDCDAlMCMGCCsGAQUFBwIBFhdo
|
|
# dHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBBAIwSgYDVR0fBEMwQTA/oD2g
|
|
# O4Y5aHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljVGltZVN0YW1w
|
|
# aW5nQ0FSMzYuY3JsMHoGCCsGAQUFBwEBBG4wbDBFBggrBgEFBQcwAoY5aHR0cDov
|
|
# L2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljVGltZVN0YW1waW5nQ0FSMzYu
|
|
# Y3J0MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG
|
|
# 9w0BAQwFAAOCAYEAsNwuyfpPNkyKL/bJT9XvGE8fnw7Gv/4SetmOkjK9hPPa7/Ns
|
|
# v5/MHuVus+aXwRFqM5Vu51qfrHTwnVExcP2EHKr7IR+m/Ub7PamaeWfle5x8D0x/
|
|
# MsysICs00xtSNVxFywCvXx55l6Wg3lXiPCui8N4s51mXS0Ht85fkXo3auZdo1O4l
|
|
# HzJLYX4RZovlVWD5EfwV6Ve1G9UMslnm6pI0hyR0Zr95QWG0MpNPP0u05SHjq/Yk
|
|
# PlDee3yYOECNMqnZ+j8onoUtZ0oC8CkbOOk/AOoV4kp/6Ql2gEp3bNC7DOTlaCmH
|
|
# 24DjpVgryn8FMklqEoK4Z3IoUgV8R9qQLg1dr6/BjghGnj2XNA8ujta2Jyoxpqpv
|
|
# yETZCYIUjIs69YiDjzftt37rQVwIZsfCYv+DU5sh/StFL1x4rgNj2t8GccUfa/V3
|
|
# iFFW9lfIJWWsvtlC5XOOOQswr1UmVdNWQem4LwrlLgcdO/YAnHqY52QwnBLiAuUn
|
|
# uBeshWmfEb5oieIYMIIGFDCCA/ygAwIBAgIQeiOu2lNplg+RyD5c9MfjPzANBgkq
|
|
# hkiG9w0BAQwFADBXMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1p
|
|
# dGVkMS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIFJvb3Qg
|
|
# UjQ2MB4XDTIxMDMyMjAwMDAwMFoXDTM2MDMyMTIzNTk1OVowVTELMAkGA1UEBhMC
|
|
# R0IxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDEsMCoGA1UEAxMjU2VjdGlnbyBQ
|
|
# dWJsaWMgVGltZSBTdGFtcGluZyBDQSBSMzYwggGiMA0GCSqGSIb3DQEBAQUAA4IB
|
|
# jwAwggGKAoIBgQDNmNhDQatugivs9jN+JjTkiYzT7yISgFQ+7yavjA6Bg+OiIjPm
|
|
# /N/t3nC7wYUrUlY3mFyI32t2o6Ft3EtxJXCc5MmZQZ8AxCbh5c6WzeJDB9qkQVa4
|
|
# 6xiYEpc81KnBkAWgsaXnLURoYZzksHIzzCNxtIXnb9njZholGw9djnjkTdAA83ab
|
|
# EOHQ4ujOGIaBhPXG2NdV8TNgFWZ9BojlAvflxNMCOwkCnzlH4oCw5+4v1nssWeN1
|
|
# y4+RlaOywwRMUi54fr2vFsU5QPrgb6tSjvEUh1EC4M29YGy/SIYM8ZpHadmVjbi3
|
|
# Pl8hJiTWw9jiCKv31pcAaeijS9fc6R7DgyyLIGflmdQMwrNRxCulVq8ZpysiSYNi
|
|
# 79tw5RHWZUEhnRfs/hsp/fwkXsynu1jcsUX+HuG8FLa2BNheUPtOcgw+vHJcJ8Hn
|
|
# JCrcUWhdFczf8O+pDiyGhVYX+bDDP3GhGS7TmKmGnbZ9N+MpEhWmbiAVPbgkqykS
|
|
# kzyYVr15OApZYK8CAwEAAaOCAVwwggFYMB8GA1UdIwQYMBaAFPZ3at0//QET/xah
|
|
# bIICL9AKPRQlMB0GA1UdDgQWBBRfWO1MMXqiYUKNUoC6s2GXGaIymzAOBgNVHQ8B
|
|
# Af8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNVHSUEDDAKBggrBgEFBQcD
|
|
# CDARBgNVHSAECjAIMAYGBFUdIAAwTAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL2Ny
|
|
# bC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljVGltZVN0YW1waW5nUm9vdFI0Ni5j
|
|
# cmwwfAYIKwYBBQUHAQEEcDBuMEcGCCsGAQUFBzAChjtodHRwOi8vY3J0LnNlY3Rp
|
|
# Z28uY29tL1NlY3RpZ29QdWJsaWNUaW1lU3RhbXBpbmdSb290UjQ2LnA3YzAjBggr
|
|
# BgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcNAQEMBQAD
|
|
# ggIBABLXeyCtDjVYDJ6BHSVY/UwtZ3Svx2ImIfZVVGnGoUaGdltoX4hDskBMZx5N
|
|
# Y5L6SCcwDMZhHOmbyMhyOVJDwm1yrKYqGDHWzpwVkFJ+996jKKAXyIIaUf5JVKjc
|
|
# cev3w16mNIUlNTkpJEor7edVJZiRJVCAmWAaHcw9zP0hY3gj+fWp8MbOocI9Zn78
|
|
# xvm9XKGBp6rEs9sEiq/pwzvg2/KjXE2yWUQIkms6+yslCRqNXPjEnBnxuUB1fm6b
|
|
# PAV+Tsr/Qrd+mOCJemo06ldon4pJFbQd0TQVIMLv5koklInHvyaf6vATJP4DfPtK
|
|
# zSBPkKlOtyaFTAjD2Nu+di5hErEVVaMqSVbfPzd6kNXOhYm23EWm6N2s2ZHCHVhl
|
|
# UgHaC4ACMRCgXjYfQEDtYEK54dUwPJXV7icz0rgCzs9VI29DwsjVZFpO4ZIVR33L
|
|
# wXyPDbYFkLqYmgHjR3tKVkhh9qKV2WCmBuC27pIOx6TYvyqiYbntinmpOqh/QPAn
|
|
# hDgexKG9GX/n1PggkGi9HCapZp8fRwg8RftwS21Ln61euBG0yONM6noD2XQPrFwp
|
|
# m3GcuqJMf0o8LLrFkSLRQNwxPDDkWXhW+gZswbaiie5fd/W2ygcto78XCSPfFWve
|
|
# UOSZ5SqK95tBO8aTHmEa4lpJVD7HrTEn9jb1EGvxOb1cnn0CMIIGgjCCBGqgAwIB
|
|
# AgIQNsKwvXwbOuejs902y8l1aDANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMC
|
|
# VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4w
|
|
# HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVz
|
|
# dCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjEwMzIyMDAwMDAwWhcN
|
|
# MzgwMTE4MjM1OTU5WjBXMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBM
|
|
# aW1pdGVkMS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIFJv
|
|
# b3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiJ3YuUVnnR3d
|
|
# 6LkmgZpUVMB8SQWbzFoVD9mUEES0QUCBdxSZqdTkdizICFNeINCSJS+lV1ipnW5i
|
|
# hkQyC0cRLWXUJzodqpnMRs46npiJPHrfLBOifjfhpdXJ2aHHsPHggGsCi7uE0awq
|
|
# KggE/LkYw3sqaBia67h/3awoqNvGqiFRJ+OTWYmUCO2GAXsePHi+/JUNAax3kpqs
|
|
# tbl3vcTdOGhtKShvZIvjwulRH87rbukNyHGWX5tNK/WABKf+Gnoi4cmisS7oSimg
|
|
# HUI0Wn/4elNd40BFdSZ1EwpuddZ+Wr7+Dfo0lcHflm/FDDrOJ3rWqauUP8hsokDo
|
|
# I7D/yUVI9DAE/WK3Jl3C4LKwIpn1mNzMyptRwsXKrop06m7NUNHdlTDEMovXAIDG
|
|
# AvYynPt5lutv8lZeI5w3MOlCybAZDpK3Dy1MKo+6aEtE9vtiTMzz/o2dYfdP0KWZ
|
|
# wZIXbYsTIlg1YIetCpi5s14qiXOpRsKqFKqav9R1R5vj3NgevsAsvxsAnI8Oa5s2
|
|
# oy25qhsoBIGo/zi6GpxFj+mOdh35Xn91y72J4RGOJEoqzEIbW3q0b2iPuWLA911c
|
|
# RxgY5SJYubvjay3nSMbBPPFsyl6mY4/WYucmyS9lo3l7jk27MAe145GWxK4O3m3g
|
|
# EFEIkv7kRmefDR7Oe2T1HxAnICQvr9sCAwEAAaOCARYwggESMB8GA1UdIwQYMBaA
|
|
# FFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBT2d2rdP/0BE/8WoWyCAi/Q
|
|
# Cj0UJTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zATBgNVHSUEDDAK
|
|
# BggrBgEFBQcDCDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/
|
|
# aHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRp
|
|
# b25BdXRob3JpdHkuY3JsMDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0
|
|
# cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEADr5lQe1o
|
|
# RLjlocXUEYfktzsljOt+2sgXke3Y8UPEooU5y39rAARaAdAxUeiX1ktLJ3+lgxto
|
|
# LQhn5cFb3GF2SSZRX8ptQ6IvuD3wz/LNHKpQ5nX8hjsDLRhsyeIiJsms9yAWnvdY
|
|
# OdEMq1W61KE9JlBkB20XBee6JaXx4UBErc+YuoSb1SxVf7nkNtUjPfcxuFtrQdRM
|
|
# Ri/fInV/AobE8Gw/8yBMQKKaHt5eia8ybT8Y/Ffa6HAJyz9gvEOcF1VWXG8OMeM7
|
|
# Vy7Bs6mSIkYeYtddU1ux1dQLbEGur18ut97wgGwDiGinCwKPyFO7ApcmVJOtlw9F
|
|
# VJxw/mL1TbyBns4zOgkaXFnnfzg4qbSvnrwyj1NiurMp4pmAWjR+Pb/SIduPnmFz
|
|
# bSN/G8reZCL4fvGlvPFk4Uab/JVCSmj59+/mB2Gn6G/UYOy8k60mKcmaAZsEVkhO
|
|
# Fuoj4we8CYyaR9vd9PGZKSinaZIkvVjbH/3nlLb0a7SBIkiRzfPfS9T+JesylbHa
|
|
# 1LtRV9U/7m0q7Ma2CQ/t392ioOssXW7oKLdOmMBl14suVFBmbzrt5V5cQPnwtd3U
|
|
# OTpS9oCG+ZZheiIvPgkDmA8FzPsnfXW5qHELB43ET7HHFHeRPRYrMBKjkb8/IN7P
|
|
# o0d0hQoF4TeMM+zYAJzoKQnVKOLg8pZVPT8xggSRMIIEjQIBATBpMFUxCzAJBgNV
|
|
# BAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLDAqBgNVBAMTI1NlY3Rp
|
|
# Z28gUHVibGljIFRpbWUgU3RhbXBpbmcgQ0EgUjM2AhA6UmoshM5V5h1l/MwS2OmJ
|
|
# MA0GCWCGSAFlAwQCAgUAoIIB+TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQw
|
|
# HAYJKoZIhvcNAQkFMQ8XDTI1MDEyNzE5MDIzMlowPwYJKoZIhvcNAQkEMTIEMIUQ
|
|
# wVvpYyT+pJGl87IAUk7D/NYKx3YUQ9YZT8KLZbMPKgFtEzl4RrRHa9ovjbVEmDCC
|
|
# AXoGCyqGSIb3DQEJEAIMMYIBaTCCAWUwggFhMBYEFPhgmBmm+4gs9+hSl/KhGVIa
|
|
# FndfMIGHBBTGrlTkeIbxfD1VEkiMacNKevnC3TBvMFukWTBXMQswCQYDVQQGEwJH
|
|
# QjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMS4wLAYDVQQDEyVTZWN0aWdvIFB1
|
|
# YmxpYyBUaW1lIFN0YW1waW5nIFJvb3QgUjQ2AhB6I67aU2mWD5HIPlz0x+M/MIG8
|
|
# BBSFPWMtk4KCYXzQkDXEkd6SwULaxzCBozCBjqSBizCBiDELMAkGA1UEBhMCVVMx
|
|
# EzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYD
|
|
# VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBS
|
|
# U0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkCEDbCsL18Gzrno7PdNsvJdWgwDQYJ
|
|
# KoZIhvcNAQEBBQAEggIARhiMgKA1tb4vBFrNeBZEzkWA2uUcLY5YcZbrOqi4SyaN
|
|
# FG6n9iP79/sB9PoHf8+a1DqdlKaJTp7x4GSLIYslfsCFe8wE/rBHodicm3sYGUV7
|
|
# zyewGzLQL7ijL3tjGamDMdVUWFMGQs8Lav8oVTOlSr4Z0pINU9ou8mGHXN9rM/cA
|
|
# 9gq1LzkPX985hnS6yVwF5OSyJtQTuzIVv7UMbf6RUo/F1CZpFUFTidVbYw4BQEV2
|
|
# ddOadJX7WoUZY5GjQpUhV3zBlOZZVgMSmJ9E7ajoQW5c0heJ3Gufge708zIgVPB2
|
|
# atkMvaafjht2K4NqSq/Xqph6DWdFS7CsVO8Q2JbV4WB7zHTDn6qCovtfahNEP2Fl
|
|
# qW3O4wdsXYIJEmvqoi7k/q/FBwhOcWlwtSm9TwvfH+xVTFwqy37tGCoQc/U1CFPN
|
|
# 9AR+HeT9c7gc0+tycXMNStvHoPWucizoACVxSRyiiuNaguxub7ycmIctdAaANEDg
|
|
# LynaShdCPXX+YgQM6ZF5qzccmCC3FIQa8uC2cTVgdPI+cSaHSn3Zw/cj5EvsldB5
|
|
# P6Nkbs20TKR65QIKAekem/acD3pNr4BjysLiyBrUZWyi5vUNBXtMJOBqEdVzWcem
|
|
# 1hHFIqKMsNarunPzKOLnvTizwfgaojTcytov6D3KyeHkiD7seCawP6nnQ+51tEI=
|
|
# SIG # End signature block
|