Командлет PowerShell Studio не работает с GUI - PullRequest
0 голосов
/ 27 января 2020

Некоторые командлеты Sharepoint запускаются без проблем, но когда я создаю GUI через PowerShell Studio и запускаю в среде, командлеты не завершаются.

Кнопки работают нормально, и создается файл также. Сам файл также полезен, но чтобы проверить это, мне нужно остановить приложение PowerShell.

Не могли бы вы проверить и посоветовать мне, как мне решить эту проблему?

function Show-correlation2_psf {

[void][reflection.assembly]::Load('System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
[void][reflection.assembly]::Load('System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')

[System.Windows.Forms.Application]::EnableVisualStyles()
$form1 = New-Object 'System.Windows.Forms.Form'
$textboxCorrelationID = New-Object 'System.Windows.Forms.TextBox'
$buttonOpenFile = New-Object 'System.Windows.Forms.Button'
$buttonMerge = New-Object 'System.Windows.Forms.Button'
$buttonCorrelationID = New-Object 'System.Windows.Forms.Button'
$buttonFilename = New-Object 'System.Windows.Forms.Button'
$InitialFormWindowState = New-Object 'System.Windows.Forms.FormWindowState'

Add-Type -AssemblyName Microsoft.VisualBasic

$form1_Load={
}

$buttonFilename_Click={
    $script:filename = [Microsoft.VisualBasic.Interaction]::InputBox('Enter the File Name:', 'Path')    
}

$buttonCorrelationID_Click={
    $textboxCorrelationID.Text = [Microsoft.VisualBasic.Interaction]::InputBox('Correlation', 'Enter the CorrelationID:')
}

$buttonMerge_Click={
    $result= Merge-SpLogFile -path "C:\Users\$env:USERNAME\Desktop\$filename.txt" -Correlation $textboxCorrelationID.Text -StartTime "01/24/2020 12:00:00" -EndTime "01/27/2020 15:00:00"


}


$buttonOpenFile_Click={
    Invoke-Item "C:\Users\$env:USERNAME\Desktop\$filename.txt"
}



$Form_StateCorrection_Load=
{

    $form1.WindowState = $InitialFormWindowState
}

$Form_Cleanup_FormClosed=
{

    try
    {
        $buttonOpenFile.remove_Click($buttonOpenFile_Click)
        $buttonMerge.remove_Click($buttonMerge_Click)
        $buttonCorrelationID.remove_Click($buttonCorrelationID_Click)
        $buttonFilename.remove_Click($buttonFilename_Click)
        $form1.remove_Load($form1_Load)
        $form1.remove_Load($Form_StateCorrection_Load)
        $form1.remove_FormClosed($Form_Cleanup_FormClosed)
    }
    catch { Out-Null 
}

$form1.SuspendLayout()
#
# form1
#
$form1.Controls.Add($textboxCorrelationID)
$form1.Controls.Add($buttonOpenFile)
$form1.Controls.Add($buttonMerge)
$form1.Controls.Add($buttonCorrelationID)
$form1.Controls.Add($buttonFilename)
$form1.AutoScaleDimensions = '6, 13'
$form1.AutoScaleMode = 'Font'
$form1.ClientSize = '428, 261'
$form1.Name = 'form1'
$form1.Text = 'Form'
$form1.add_Load($form1_Load)
#
# textboxCorrelationID
#
$textboxCorrelationID.Location = '262, 50'
$textboxCorrelationID.Name = 'textboxCorrelationID'
$textboxCorrelationID.Size = '142, 20'
$textboxCorrelationID.TabIndex = 5
#
# buttonOpenFile
#
$buttonOpenFile.Location = '53, 167'
$buttonOpenFile.Name = 'buttonOpenFile'
$buttonOpenFile.Size = '169, 41'
$buttonOpenFile.TabIndex = 4
$buttonOpenFile.Text = 'Open File'
$buttonOpenFile.UseCompatibleTextRendering = $True
$buttonOpenFile.UseVisualStyleBackColor = $True
$buttonOpenFile.add_Click($buttonOpenFile_Click)
#
# buttonMerge
#
$buttonMerge.Location = '29, 94'
$buttonMerge.Name = 'buttonMerge'
$buttonMerge.Size = '218, 57'
$buttonMerge.TabIndex = 2
$buttonMerge.Text = 'Merge!'
$buttonMerge.UseCompatibleTextRendering = $True
$buttonMerge.UseVisualStyleBackColor = $True
$buttonMerge.add_Click($buttonMerge_Click)
#
# buttonCorrelationID
#
$buttonCorrelationID.Location = '141, 31'
$buttonCorrelationID.Name = 'buttonCorrelationID'
$buttonCorrelationID.Size = '106, 57'
$buttonCorrelationID.TabIndex = 1
$buttonCorrelationID.Text = 'CorrelationID'
$buttonCorrelationID.UseCompatibleTextRendering = $True
$buttonCorrelationID.UseVisualStyleBackColor = $True
$buttonCorrelationID.add_Click($buttonCorrelationID_Click)
#
# buttonFilename
#
$buttonFilename.Location = '29, 31'
$buttonFilename.Name = 'buttonFilename'
$buttonFilename.Size = '106, 57'
$buttonFilename.TabIndex = 0
$buttonFilename.Text = 'Filename'
$buttonFilename.UseCompatibleTextRendering = $True
$buttonFilename.UseVisualStyleBackColor = $True
$buttonFilename.add_Click($buttonFilename_Click)
$form1.ResumeLayout()
#endregion Generated Form Code

#----------------------------------------------

#Save the initial state of the form
$InitialFormWindowState = $form1.WindowState
#Init the OnLoad event to correct the initial state of the form
$form1.add_Load($Form_StateCorrection_Load)
#Clean up the control events
$form1.add_FormClosed($Form_Cleanup_FormClosed)
#Show the Form
return $form1.ShowDialog()

}

Show-correlation2_psf | Из-Null

...