pcdiag.ps1
<#PSScriptInfo .VERSION 2.0 .GUID 3954da33-0938-4f4e-9249-ebb7dfad3f98 .AUTHOR Author: Justin Serlick Email: jserlick@gmail.com .COMPANYNAME None .COPYRIGHT 8/8/2017 .TAGS PCDiag .LICENSEURI .PROJECTURI .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES ActiveDirectory Msolonline .RELEASENOTES INFO: If script does not run you will need to change the computer's execution policy to do this start an elevated instance of powershell, run as "Administrator" and run "set-executionpolicy remotesigned" Prerequisite: PowerShell V 3.0 or Higher *Most functions work with PowerShell V 2.0 Working Directory: C:\PCDiag\ Credit for External Scripts : Self Elevating script - https://blogs.msdn.microsoft.com/virtual_pc_guy/2010/09/23/a-self-elevating-powershell-script : O365 Report script - https://gallery.technet.microsoft.com/office/Get-Office-365-Report-17417c2a REVISION HISTORY : Version Date Description of changes ----------------------------------------------------------------------------------------------------------------- 1.0 12/7/2016 - Established baseline of Version 1.0 1.0 12/19/2016 - O365 Exchange Operations - added O365 Report & Disable Clutter Function 1.0 12/21/2016 - Added w32tm query to all automatic data collection operations 1.1 02/12/2017 - Modified script to create timestamped directories in the working directory 1.1 02/15/2017 - Updated scripts with output targets to create files in timestamped directory 1.1 02/16/2017 - Added version indicators in script segments comments 1.1 02/16/2017 - Added Main Menu Option 7 - Local Exchange Operations 1.1 02/21/2017 - Combined Automatic Data Collection scripts into a sub menu 1.1 03/29/2017 - Added yellow color to Quit options for menus 1.1 03/29/2017 - Added 2 new Main menu options, option 9 & 0 1.1 04/07/2017 - Added script to connect to Local Exchange servers 1.1 04/19/2017 - Renamed Main Menu Option 6 to "Network Operations", moved menu options to menu Manual Operations 1.1 04/19/2017 - Added Main Menu Option 8 "Powershell Gallery" 1.1 04/19/2017 - Added new function List all GPO settings in Main Menu Option 3 Active Directory & Domain Operations 1.1 04/19/2017 - Added new function Reset Network Adapter in Main Menu Option 1 Manual Operations 1.1 04/20/2017 - Added new Working Directory PSG to be used for powershell gallery repository 1.1 07/13/2017 - Added new function List Certicate Authority in Main Menu Option 3 Active Directory & Domain Operation 1.1 08/08/2017 - Updated Scriptfileinfo to meet Powershell Gallery requirements 1.1 08/08/2017 - Uploaded script to The Powershell Gallery 1.1 08/08/2017 - Working on Version 2.0, complete rework with windows GUI 2.0 02/15/2018 - Complete rework of script to windows GUI .PRIVATEDATA #> <# .DESCRIPTION PCDiag is a GUI based tool that contains manual diagnostic commands, O365 management scripts, Active Directory scripts, Remote Management scripts & mutliple automatic data collection scripts for Windows based Workstations & Servers #> Param() <# Start of PCDiag Script Code #> # Self Elevating script $myWindowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent(); $myWindowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsID); $adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator; if ($myWindowsPrincipal.IsInRole($adminRole)) { $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)"; $Host.UI.RawUI.BackgroundColor = "DarkBlue"; Clear-Host; } else { $newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell" ; $newProcess.Arguments = "-windowstyle hidden & '" + $script:MyInvocation.MyCommand.Path + "'" $newProcess.Verb = "runas"; [System.Diagnostics.Process]::start($newProcess); Exit; } # Computer Name and information $ComputerName = [system.environment]::MachineName # OS Version variable $OSVER = (Get-WmiObject Win32_OperatingSystem).caption $OSNAME = $OSVER.split(" ") $OS = $OSNAME[2, 3] # Date-time variable $enus = 'en-US' -as [Globalization.CultureInfo] $Date = (Get-Date).AddDays(0).ToString("MM_dd_yyyy_hh_mm_tt", $enus) $Dt = $Date # Creates Working Directory for Output files New-Item -ItemType Directory -Force -Path C:\PCDiag > $nullq New-Item -ItemType Directory -Force -Path C:\PCDiag\Scripts > $nullq New-Item -ItemType Directory -Force -Path C:\PCDiag\$Date > $nullq New-Item -ItemType Directory -Force -Path C:\PCDiag\PSG > $nullq # Output Path $PCDPath = "c:\PCDiag\$Dt\" #region Script Settings #<ScriptSettings xmlns="http://tempuri.org/ScriptSettings.xsd"> # <ScriptPackager> # <process>powershell.exe</process> # <arguments /> # <extractdir>%TEMP%</extractdir> # <files /> # <usedefaulticon>true</usedefaulticon> # <showinsystray>false</showinsystray> # <altcreds>false</altcreds> # <efs>true</efs> # <ntfs>true</ntfs> # <local>false</local> # <abortonfail>true</abortonfail> # <product /> # <version>1.0.0.1</version> # <versionstring /> # <comments /> # <company /> # <includeinterpreter>false</includeinterpreter> # <forcecomregistration>false</forcecomregistration> # <consolemode>false</consolemode> # <EnableChangelog>false</EnableChangelog> # <AutoBackup>false</AutoBackup> # <snapinforce>false</snapinforce> # <snapinshowprogress>false</snapinshowprogress> # <snapinautoadd>2</snapinautoadd> # <snapinpermanentpath /> # <cpumode>1</cpumode> # <hidepsconsole>false</hidepsconsole> # </ScriptPackager> #</ScriptSettings> #endregion #region ScriptForm Designer #region Constructor [void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") [void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") #endregion #region Post-Constructor Custom Code #endregion #region Form Creation #Warning: It is recommended that changes inside this region be handled using the ScriptForm Designer. #When working with the ScriptForm designer this region and any changes within may be overwritten. #~~< MainMenu >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MainMenu = New-Object System.Windows.Forms.Form $MainMenu.ClientSize = New-Object System.Drawing.Size(1157, 735) $MainMenu.Text = "PCDiag" #~~< PCDiag_Output_Log >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PCDiag_Output_Log = New-Object System.Windows.Forms.Label $PCDiag_Output_Log.Font = New-Object System.Drawing.Font("Microsoft Sans Serif", 9.75, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0))) $PCDiag_Output_Log.Location = New-Object System.Drawing.Point(4, 320) $PCDiag_Output_Log.Size = New-Object System.Drawing.Size(250, 24) $PCDiag_Output_Log.TabIndex = 9 $PCDiag_Output_Log.Text = "PCDiag Output Log" $PCDiag_Output_Log.TextAlign = [System.Drawing.ContentAlignment]::BottomLeft #~~< FL_Zip_Selected >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $FL_Zip_Selected = New-Object System.Windows.Forms.Button $FL_Zip_Selected.Location = New-Object System.Drawing.Point(1049, 430) $FL_Zip_Selected.Size = New-Object System.Drawing.Size(96, 32) $FL_Zip_Selected.TabIndex = 8 $FL_Zip_Selected.Text = "Zip Selected" $FL_Zip_Selected.UseVisualStyleBackColor = $true $FL_Zip_Selected.add_Click({FL_Zip_Selected_Click($FL_Zip_Selected)}) #~~< FL_Open_Location >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $FL_Open_Location = New-Object System.Windows.Forms.Button $FL_Open_Location.Location = New-Object System.Drawing.Point(1049, 354) $FL_Open_Location.Size = New-Object System.Drawing.Size(96, 32) $FL_Open_Location.TabIndex = 7 $FL_Open_Location.Text = "Open Location" $FL_Open_Location.UseVisualStyleBackColor = $true $FL_Open_Location.add_Click({FL_Open_Location_Click($FL_Open_Location)}) #~~< FL_Open_Selected >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $FL_Open_Selected = New-Object System.Windows.Forms.Button $FL_Open_Selected.Location = New-Object System.Drawing.Point(1049, 392) $FL_Open_Selected.Size = New-Object System.Drawing.Size(96, 32) $FL_Open_Selected.TabIndex = 6 $FL_Open_Selected.Text = "Open Selected" $FL_Open_Selected.UseVisualStyleBackColor = $true $FL_Open_Selected.add_Click({FL_Open_Selected_Click($FL_Open_Selected)}) #~~< PCDiag_Working_Directory_File_List >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PCDiag_Working_Directory_File_List = New-Object System.Windows.Forms.Label $PCDiag_Working_Directory_File_List.Font = New-Object System.Drawing.Font("Microsoft Sans Serif", 9.75, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0))) $PCDiag_Working_Directory_File_List.Location = New-Object System.Drawing.Point(790, 320) $PCDiag_Working_Directory_File_List.Size = New-Object System.Drawing.Size(250, 24) $PCDiag_Working_Directory_File_List.TabIndex = 5 $PCDiag_Working_Directory_File_List.Text = "PCDiag Working Directory File List" $PCDiag_Working_Directory_File_List.TextAlign = [System.Drawing.ContentAlignment]::BottomLeft #~~< CheckedListBox1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $CheckedListBox1 = New-Object System.Windows.Forms.CheckedListBox $CheckedListBox1.FormattingEnabled = $true $CheckedListBox1.Location = New-Object System.Drawing.Point(790, 354) $CheckedListBox1.SelectedIndex = -1 $CheckedListBox1.Size = New-Object System.Drawing.Size(253, 334) $CheckedListBox1.TabIndex = 4 #~~< Outputbox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Outputbox = New-Object System.Windows.Forms.RichTextBox $Outputbox.Location = New-Object System.Drawing.Point(4, 354) $Outputbox.Size = New-Object System.Drawing.Size(767, 334) $Outputbox.TabIndex = 3 $Outputbox.Text = "" $Outputbox.BackColor = [System.Drawing.SystemColors]::Window #~~< TabControl1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TabControl1 = New-Object System.Windows.Forms.TabControl $TabControl1.Location = New-Object System.Drawing.Point(0, 136) $TabControl1.Size = New-Object System.Drawing.Size(1161, 181) $TabControl1.SizeMode = [System.Windows.Forms.TabSizeMode]::FillToRight $TabControl1.TabIndex = 0 $TabControl1.Text = "" #~~< ManualOperations >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ManualOperations = New-Object System.Windows.Forms.TabPage $ManualOperations.AutoScroll = $true $ManualOperations.Location = New-Object System.Drawing.Point(4, 22) $ManualOperations.Padding = New-Object System.Windows.Forms.Padding(3) $ManualOperations.Size = New-Object System.Drawing.Size(1153, 155) $ManualOperations.TabIndex = 0 $ManualOperations.Text = "Manual Operations" $ManualOperations.UseVisualStyleBackColor = $true #~~< MO_ResetWindowsUpdate >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MO_ResetWindowsUpdate = New-Object System.Windows.Forms.Button $MO_ResetWindowsUpdate.Location = New-Object System.Drawing.Point(647, 16) $MO_ResetWindowsUpdate.Size = New-Object System.Drawing.Size(144, 32) $MO_ResetWindowsUpdate.TabIndex = 6 $MO_ResetWindowsUpdate.Text = "Reset Windows Update" $MO_ResetWindowsUpdate.UseVisualStyleBackColor = $true $MO_ResetWindowsUpdate.add_Click({MO_ResetWindowsUpdate_Click($MO_ResetWindowsUpdate)}) #~~< MO_FlushDNS >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MO_FlushDNS = New-Object System.Windows.Forms.Button $MO_FlushDNS.Location = New-Object System.Drawing.Point(8, 16) $MO_FlushDNS.Size = New-Object System.Drawing.Size(96, 32) $MO_FlushDNS.TabIndex = 1 $MO_FlushDNS.Text = "Flush DNS" $MO_FlushDNS.UseVisualStyleBackColor = $true $MO_FlushDNS.add_Click({MO_FlushDNS_Click($MO_FlushDNS)}) #~~< MO_ClearARPCache >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MO_ClearARPCache = New-Object System.Windows.Forms.Button $MO_ClearARPCache.Location = New-Object System.Drawing.Point(119, 16) $MO_ClearARPCache.Size = New-Object System.Drawing.Size(104, 32) $MO_ClearARPCache.TabIndex = 2 $MO_ClearARPCache.Text = "Clear ARP Cache" $MO_ClearARPCache.UseVisualStyleBackColor = $true $MO_ClearARPCache.add_Click({MO_ClearARPCache_Click($MO_ClearARPCache)}) #~~< MO_StartSFCScan >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MO_StartSFCScan = New-Object System.Windows.Forms.Button $MO_StartSFCScan.Location = New-Object System.Drawing.Point(238, 16) $MO_StartSFCScan.Size = New-Object System.Drawing.Size(88, 32) $MO_StartSFCScan.TabIndex = 3 $MO_StartSFCScan.Text = "Start SFC Scan" $MO_StartSFCScan.UseVisualStyleBackColor = $true $MO_StartSFCScan.add_Click({MO_StartSFCScan_Click($MO_StartSFCScan)}) #~~< MO_ScheduleOfflineCHKDSK >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MO_ScheduleOfflineCHKDSK = New-Object System.Windows.Forms.Button $MO_ScheduleOfflineCHKDSK.Location = New-Object System.Drawing.Point(344, 16) $MO_ScheduleOfflineCHKDSK.Size = New-Object System.Drawing.Size(144, 32) $MO_ScheduleOfflineCHKDSK.TabIndex = 4 $MO_ScheduleOfflineCHKDSK.Text = "Schedule Offline CHKDSK" $MO_ScheduleOfflineCHKDSK.UseVisualStyleBackColor = $true $MO_ScheduleOfflineCHKDSK.add_Click({MO_ScheduleOfflineCHKDSK_Click($MO_ScheduleOfflineCHKDSK)}) #~~< MO_ResetNetworkAdapter >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MO_ResetNetworkAdapter = New-Object System.Windows.Forms.Button $MO_ResetNetworkAdapter.Location = New-Object System.Drawing.Point(504, 16) $MO_ResetNetworkAdapter.Size = New-Object System.Drawing.Size(128, 32) $MO_ResetNetworkAdapter.TabIndex = 5 $MO_ResetNetworkAdapter.Text = "Reset Network Adapter" $MO_ResetNetworkAdapter.UseVisualStyleBackColor = $true $MO_ResetNetworkAdapter.add_Click({MO_ResetNetworkAdapter_Click($MO_ResetNetworkAdapter)}) $ManualOperations.Controls.Add($MO_ResetWindowsUpdate) $ManualOperations.Controls.Add($MO_FlushDNS) $ManualOperations.Controls.Add($MO_ClearARPCache) $ManualOperations.Controls.Add($MO_StartSFCScan) $ManualOperations.Controls.Add($MO_ScheduleOfflineCHKDSK) $ManualOperations.Controls.Add($MO_ResetNetworkAdapter) $ManualOperations.add_Click({Reset_Windows_Update_Click($ManualOperations)}) #~~< AutomaticDataCollection >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $AutomaticDataCollection = New-Object System.Windows.Forms.TabPage $AutomaticDataCollection.Location = New-Object System.Drawing.Point(4, 22) $AutomaticDataCollection.Padding = New-Object System.Windows.Forms.Padding(3) $AutomaticDataCollection.Size = New-Object System.Drawing.Size(1153, 155) $AutomaticDataCollection.TabIndex = 1 $AutomaticDataCollection.Text = "Automatic Data Collection" $AutomaticDataCollection.UseVisualStyleBackColor = $true #~~< ADC_NonDomainControllerServer >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ADC_NonDomainControllerServer = New-Object System.Windows.Forms.Button $ADC_NonDomainControllerServer.Location = New-Object System.Drawing.Point(224, 16) $ADC_NonDomainControllerServer.Size = New-Object System.Drawing.Size(160, 32) $ADC_NonDomainControllerServer.TabIndex = 4 $ADC_NonDomainControllerServer.Text = "Non Domain Controller Server" $ADC_NonDomainControllerServer.UseVisualStyleBackColor = $true $ADC_NonDomainControllerServer.add_Click({ADC_NonDomainControllerServer_Click($ADC_NonDomainControllerServer)}) #~~< ADC_DomainController >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ADC_DomainController = New-Object System.Windows.Forms.Button $ADC_DomainController.Location = New-Object System.Drawing.Point(104, 16) $ADC_DomainController.Size = New-Object System.Drawing.Size(104, 32) $ADC_DomainController.TabIndex = 3 $ADC_DomainController.Text = "Domain Controller" $ADC_DomainController.UseVisualStyleBackColor = $true $ADC_DomainController.add_Click({ADC_DomainController_Click($ADC_DomainController)}) #~~< ADC_Workstation >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ADC_Workstation = New-Object System.Windows.Forms.Button $ADC_Workstation.Location = New-Object System.Drawing.Point(8, 16) $ADC_Workstation.Size = New-Object System.Drawing.Size(80, 32) $ADC_Workstation.TabIndex = 2 $ADC_Workstation.Text = "Workstation" $ADC_Workstation.UseVisualStyleBackColor = $true $ADC_Workstation.add_Click({ADC_Workstation_Click($ADC_Workstation)}) $AutomaticDataCollection.Controls.Add($ADC_NonDomainControllerServer) $AutomaticDataCollection.Controls.Add($ADC_DomainController) $AutomaticDataCollection.Controls.Add($ADC_Workstation) #~~< ActiveDirectory >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ActiveDirectory = New-Object System.Windows.Forms.TabPage $ActiveDirectory.Location = New-Object System.Drawing.Point(4, 22) $ActiveDirectory.Padding = New-Object System.Windows.Forms.Padding(3) $ActiveDirectory.Size = New-Object System.Drawing.Size(1153, 155) $ActiveDirectory.TabIndex = 2 $ActiveDirectory.Text = "Active Directory" $ActiveDirectory.UseVisualStyleBackColor = $true #~~< AD_ListComputersLastLogonDate >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $AD_ListComputersLastLogonDate = New-Object System.Windows.Forms.Button $AD_ListComputersLastLogonDate.Location = New-Object System.Drawing.Point(200, 16) $AD_ListComputersLastLogonDate.Size = New-Object System.Drawing.Size(184, 32) $AD_ListComputersLastLogonDate.TabIndex = 4 $AD_ListComputersLastLogonDate.Text = "List Computers Last Logon Date" $AD_ListComputersLastLogonDate.UseVisualStyleBackColor = $true $AD_ListComputersLastLogonDate.add_Click({AD_ListComputersLastLogonDate_Click($AD_ListComputersLastLogonDate)}) #~~< AD_ListComputers >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $AD_ListComputers = New-Object System.Windows.Forms.Button $AD_ListComputers.Location = New-Object System.Drawing.Point(96, 16) $AD_ListComputers.Size = New-Object System.Drawing.Size(88, 32) $AD_ListComputers.TabIndex = 3 $AD_ListComputers.Text = "List Computers" $AD_ListComputers.UseVisualStyleBackColor = $true $AD_ListComputers.add_Click({AD_ListComputers_Click($AD_ListComputers)}) #~~< AD_ListUsers >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $AD_ListUsers = New-Object System.Windows.Forms.Button $AD_ListUsers.Location = New-Object System.Drawing.Point(8, 16) $AD_ListUsers.Size = New-Object System.Drawing.Size(72, 32) $AD_ListUsers.TabIndex = 2 $AD_ListUsers.Text = "List Users" $AD_ListUsers.UseVisualStyleBackColor = $true $AD_ListUsers.add_Click({AD_ListUsers_Click($AD_ListUsers)}) $ActiveDirectory.Controls.Add($AD_ListComputersLastLogonDate) $ActiveDirectory.Controls.Add($AD_ListComputers) $ActiveDirectory.Controls.Add($AD_ListUsers) $ActiveDirectory.add_MouseClick({AD_Tab_Click($ActiveDirectory)}) #~~< DomainOperations >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DomainOperations = New-Object System.Windows.Forms.TabPage $DomainOperations.Location = New-Object System.Drawing.Point(4, 22) $DomainOperations.Padding = New-Object System.Windows.Forms.Padding(3) $DomainOperations.Size = New-Object System.Drawing.Size(1153, 155) $DomainOperations.TabIndex = 3 $DomainOperations.Text = "Domain Operations" $DomainOperations.UseVisualStyleBackColor = $true #~~< DO_ResetDefaultDomainGPOs >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DO_ResetDefaultDomainGPOs = New-Object System.Windows.Forms.Button $DO_ResetDefaultDomainGPOs.Location = New-Object System.Drawing.Point(527, 16) $DO_ResetDefaultDomainGPOs.Size = New-Object System.Drawing.Size(168, 32) $DO_ResetDefaultDomainGPOs.TabIndex = 9 $DO_ResetDefaultDomainGPOs.Text = "Reset Default Domain GPO"+[char]39+"s" $DO_ResetDefaultDomainGPOs.UseVisualStyleBackColor = $true $DO_ResetDefaultDomainGPOs.add_Click({DO_ResetDomainGPOs_Click($DO_ResetDefaultDomainGPOs)}) #~~< DO_ListAllGPOProperties >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DO_ListAllGPOProperties = New-Object System.Windows.Forms.Button $DO_ListAllGPOProperties.Location = New-Object System.Drawing.Point(368, 16) $DO_ListAllGPOProperties.Size = New-Object System.Drawing.Size(144, 32) $DO_ListAllGPOProperties.TabIndex = 8 $DO_ListAllGPOProperties.Text = "List All GPO Properties" $DO_ListAllGPOProperties.UseVisualStyleBackColor = $true $DO_ListAllGPOProperties.add_Click({DO_ListAllGPOProperties_Click($DO_ListAllGPOProperties)}) #~~< DO_ExportAllGPOSettings >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DO_ExportAllGPOSettings = New-Object System.Windows.Forms.Button $DO_ExportAllGPOSettings.Location = New-Object System.Drawing.Point(208, 16) $DO_ExportAllGPOSettings.Size = New-Object System.Drawing.Size(144, 32) $DO_ExportAllGPOSettings.TabIndex = 7 $DO_ExportAllGPOSettings.Text = "Export All GPO Settings" $DO_ExportAllGPOSettings.UseVisualStyleBackColor = $true $DO_ExportAllGPOSettings.add_Click({DO_ExportAllGPOSettings_Click($DO_ExportAllGPOSettings)}) #~~< DO_ListActiveCertificateAuthority >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DO_ListActiveCertificateAuthority = New-Object System.Windows.Forms.Button $DO_ListActiveCertificateAuthority.Location = New-Object System.Drawing.Point(8, 16) $DO_ListActiveCertificateAuthority.Size = New-Object System.Drawing.Size(184, 32) $DO_ListActiveCertificateAuthority.TabIndex = 6 $DO_ListActiveCertificateAuthority.Text = "List Active Certificate Authority" $DO_ListActiveCertificateAuthority.UseVisualStyleBackColor = $true $DO_ListActiveCertificateAuthority.add_Click({DO_ListActiveCertificateAuthority_Click($DO_ListActiveCertificateAuthority)}) $DomainOperations.Controls.Add($DO_ResetDefaultDomainGPOs) $DomainOperations.Controls.Add($DO_ListAllGPOProperties) $DomainOperations.Controls.Add($DO_ExportAllGPOSettings) $DomainOperations.Controls.Add($DO_ListActiveCertificateAuthority) #~~< O365Exchange >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $O365Exchange = New-Object System.Windows.Forms.TabPage $O365Exchange.Location = New-Object System.Drawing.Point(4, 22) $O365Exchange.Padding = New-Object System.Windows.Forms.Padding(3) $O365Exchange.Size = New-Object System.Drawing.Size(1153, 155) $O365Exchange.TabIndex = 4 $O365Exchange.Text = "O365 Exchange" $O365Exchange.BackColor = [System.Drawing.Color]::Transparent #~~< OE_DisableClutterAllUsers >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $OE_DisableClutterAllUsers = New-Object System.Windows.Forms.Button $OE_DisableClutterAllUsers.Location = New-Object System.Drawing.Point(416, 16) $OE_DisableClutterAllUsers.Size = New-Object System.Drawing.Size(144, 32) $OE_DisableClutterAllUsers.TabIndex = 6 $OE_DisableClutterAllUsers.Text = "Disable Clutter All Users" $OE_DisableClutterAllUsers.UseVisualStyleBackColor = $true $OE_DisableClutterAllUsers.add_Click({OE_DisableClutterAllUsers_Click($OE_DisableClutterAllUsers)}) #~~< OE_O365Report >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $OE_O365Report = New-Object System.Windows.Forms.Button $OE_O365Report.Location = New-Object System.Drawing.Point(304, 16) $OE_O365Report.Size = New-Object System.Drawing.Size(96, 32) $OE_O365Report.TabIndex = 5 $OE_O365Report.Text = "O365 Report" $OE_O365Report.UseVisualStyleBackColor = $true $OE_O365Report.add_Click({OE_O365Report_Click($OE_O365Report)}) #~~< OE_ListAssignedLicenses >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $OE_ListAssignedLicenses = New-Object System.Windows.Forms.Button $OE_ListAssignedLicenses.Location = New-Object System.Drawing.Point(144, 16) $OE_ListAssignedLicenses.Size = New-Object System.Drawing.Size(144, 32) $OE_ListAssignedLicenses.TabIndex = 4 $OE_ListAssignedLicenses.Text = "List Assigned Licenses" $OE_ListAssignedLicenses.UseVisualStyleBackColor = $true $OE_ListAssignedLicenses.add_Click({OE_ListAssignedLicenses_Click($OE_ListAssignedLicenses)}) #~~< OE_ConnecttoO365 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $OE_ConnecttoO365 = New-Object System.Windows.Forms.Button $OE_ConnecttoO365.Location = New-Object System.Drawing.Point(16, 16) $OE_ConnecttoO365.Size = New-Object System.Drawing.Size(112, 32) $OE_ConnecttoO365.TabIndex = 3 $OE_ConnecttoO365.Text = "Connect to O365" $OE_ConnecttoO365.UseVisualStyleBackColor = $false $OE_ConnecttoO365.BackColor = [System.Drawing.Color]::SpringGreen $OE_ConnecttoO365.add_Click({OE_ConnecttoO365_Click($OE_ConnecttoO365)}) $O365Exchange.Controls.Add($OE_DisableClutterAllUsers) $O365Exchange.Controls.Add($OE_O365Report) $O365Exchange.Controls.Add($OE_ListAssignedLicenses) $O365Exchange.Controls.Add($OE_ConnecttoO365) $O365Exchange.add_Click({O365_Tab_Click($O365Exchange)}) #~~< LocalExchange >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LocalExchange = New-Object System.Windows.Forms.TabPage $LocalExchange.Location = New-Object System.Drawing.Point(4, 22) $LocalExchange.Padding = New-Object System.Windows.Forms.Padding(3) $LocalExchange.Size = New-Object System.Drawing.Size(1153, 155) $LocalExchange.TabIndex = 5 $LocalExchange.Text = "Local Exchange" $LocalExchange.UseVisualStyleBackColor = $true #~~< Exchange2016GroupBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Exchange2016GroupBox = New-Object System.Windows.Forms.GroupBox $Exchange2016GroupBox.Location = New-Object System.Drawing.Point(832, 8) $Exchange2016GroupBox.Size = New-Object System.Drawing.Size(168, 141) $Exchange2016GroupBox.TabIndex = 9 $Exchange2016GroupBox.TabStop = $false $Exchange2016GroupBox.Text = "Exchange 2016" #~~< LE_ListAllSMTP2016 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ListAllSMTP2016 = New-Object System.Windows.Forms.Button $LE_ListAllSMTP2016.Location = New-Object System.Drawing.Point(8, 56) $LE_ListAllSMTP2016.Size = New-Object System.Drawing.Size(80, 24) $LE_ListAllSMTP2016.TabIndex = 5 $LE_ListAllSMTP2016.Text = "List All SMTP" $LE_ListAllSMTP2016.UseVisualStyleBackColor = $true $LE_ListAllSMTP2016.add_Click({LE_ListAllSMTP2016_Click($LE_ListAllSMTP2016)}) #~~< LE_ConnectExchange2016 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ConnectExchange2016 = New-Object System.Windows.Forms.Button $LE_ConnectExchange2016.Location = New-Object System.Drawing.Point(8, 16) $LE_ConnectExchange2016.Size = New-Object System.Drawing.Size(136, 32) $LE_ConnectExchange2016.TabIndex = 4 $LE_ConnectExchange2016.Text = "Connect Exchange 2016" $LE_ConnectExchange2016.UseVisualStyleBackColor = $false $LE_ConnectExchange2016.BackColor = [System.Drawing.Color]::SpringGreen $LE_ConnectExchange2016.add_Click({LE_ConnectExchange2016_Click($LE_ConnectExchange2016)}) $Exchange2016GroupBox.Controls.Add($LE_ListAllSMTP2016) $Exchange2016GroupBox.Controls.Add($LE_ConnectExchange2016) #~~< Exchange2013GroupBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Exchange2013GroupBox = New-Object System.Windows.Forms.GroupBox $Exchange2013GroupBox.Location = New-Object System.Drawing.Point(560, 8) $Exchange2013GroupBox.Size = New-Object System.Drawing.Size(168, 141) $Exchange2013GroupBox.TabIndex = 8 $Exchange2013GroupBox.TabStop = $false $Exchange2013GroupBox.Text = "Exchange 2013" #~~< LE_ListAllSMTP2013 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ListAllSMTP2013 = New-Object System.Windows.Forms.Button $LE_ListAllSMTP2013.Location = New-Object System.Drawing.Point(8, 56) $LE_ListAllSMTP2013.Size = New-Object System.Drawing.Size(80, 24) $LE_ListAllSMTP2013.TabIndex = 5 $LE_ListAllSMTP2013.Text = "List All SMTP" $LE_ListAllSMTP2013.UseVisualStyleBackColor = $true $LE_ListAllSMTP2013.add_Click({LE_ListAllSMTP2013_Click($LE_ListAllSMTP2013)}) #~~< LE_ConnectExchange2013 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ConnectExchange2013 = New-Object System.Windows.Forms.Button $LE_ConnectExchange2013.Location = New-Object System.Drawing.Point(8, 16) $LE_ConnectExchange2013.Size = New-Object System.Drawing.Size(136, 32) $LE_ConnectExchange2013.TabIndex = 4 $LE_ConnectExchange2013.Text = "Connect Exchange 2013" $LE_ConnectExchange2013.UseVisualStyleBackColor = $false $LE_ConnectExchange2013.BackColor = [System.Drawing.Color]::SpringGreen $LE_ConnectExchange2013.add_Click({LE_ConnectExchange2013_Click($LE_ConnectExchange2013)}) $Exchange2013GroupBox.Controls.Add($LE_ListAllSMTP2013) $Exchange2013GroupBox.Controls.Add($LE_ConnectExchange2013) #~~< Exchange2010GroupBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Exchange2010GroupBox = New-Object System.Windows.Forms.GroupBox $Exchange2010GroupBox.Location = New-Object System.Drawing.Point(288, 8) $Exchange2010GroupBox.Size = New-Object System.Drawing.Size(168, 141) $Exchange2010GroupBox.TabIndex = 7 $Exchange2010GroupBox.TabStop = $false $Exchange2010GroupBox.Text = "Exchange 2010" #~~< LE_ListAllSMTP2010 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ListAllSMTP2010 = New-Object System.Windows.Forms.Button $LE_ListAllSMTP2010.Location = New-Object System.Drawing.Point(8, 56) $LE_ListAllSMTP2010.Size = New-Object System.Drawing.Size(80, 24) $LE_ListAllSMTP2010.TabIndex = 5 $LE_ListAllSMTP2010.Text = "List All SMTP" $LE_ListAllSMTP2010.UseVisualStyleBackColor = $true $LE_ListAllSMTP2010.add_Click({LE_ListAllSMTP2010_Click($LE_ListAllSMTP2010)}) #~~< LE_ConnectExchange2010 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ConnectExchange2010 = New-Object System.Windows.Forms.Button $LE_ConnectExchange2010.Location = New-Object System.Drawing.Point(8, 16) $LE_ConnectExchange2010.Size = New-Object System.Drawing.Size(136, 32) $LE_ConnectExchange2010.TabIndex = 4 $LE_ConnectExchange2010.Text = "Connect Exchange 2010" $LE_ConnectExchange2010.UseVisualStyleBackColor = $false $LE_ConnectExchange2010.BackColor = [System.Drawing.Color]::SpringGreen $LE_ConnectExchange2010.add_Click({LE_ConnectExchange2010_Click($LE_ConnectExchange2010)}) $Exchange2010GroupBox.Controls.Add($LE_ListAllSMTP2010) $Exchange2010GroupBox.Controls.Add($LE_ConnectExchange2010) #~~< Exchange2007GroupBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Exchange2007GroupBox = New-Object System.Windows.Forms.GroupBox $Exchange2007GroupBox.Location = New-Object System.Drawing.Point(8, 8) $Exchange2007GroupBox.Size = New-Object System.Drawing.Size(168, 141) $Exchange2007GroupBox.TabIndex = 6 $Exchange2007GroupBox.TabStop = $false $Exchange2007GroupBox.Text = "Exchange 2007" #~~< LE_ListAllSMTP2007 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ListAllSMTP2007 = New-Object System.Windows.Forms.Button $LE_ListAllSMTP2007.Location = New-Object System.Drawing.Point(8, 56) $LE_ListAllSMTP2007.Size = New-Object System.Drawing.Size(80, 24) $LE_ListAllSMTP2007.TabIndex = 5 $LE_ListAllSMTP2007.Text = "List All SMTP" $LE_ListAllSMTP2007.UseVisualStyleBackColor = $true $LE_ListAllSMTP2007.add_Click({LE_ListAllSMTP2007_Click($LE_ListAllSMTP2007)}) #~~< LE_ConnectExchange2007 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $LE_ConnectExchange2007 = New-Object System.Windows.Forms.Button $LE_ConnectExchange2007.Location = New-Object System.Drawing.Point(8, 16) $LE_ConnectExchange2007.Size = New-Object System.Drawing.Size(136, 32) $LE_ConnectExchange2007.TabIndex = 4 $LE_ConnectExchange2007.Text = "Connect Exchange 2007" $LE_ConnectExchange2007.UseVisualStyleBackColor = $false $LE_ConnectExchange2007.BackColor = [System.Drawing.Color]::SpringGreen $LE_ConnectExchange2007.add_Click({LE_ConnectExchange2007_Click($LE_ConnectExchange2007)}) $Exchange2007GroupBox.Controls.Add($LE_ListAllSMTP2007) $Exchange2007GroupBox.Controls.Add($LE_ConnectExchange2007) $LocalExchange.Controls.Add($Exchange2016GroupBox) $LocalExchange.Controls.Add($Exchange2013GroupBox) $LocalExchange.Controls.Add($Exchange2010GroupBox) $LocalExchange.Controls.Add($Exchange2007GroupBox) #~~< NetworkOperations >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $NetworkOperations = New-Object System.Windows.Forms.TabPage $NetworkOperations.Location = New-Object System.Drawing.Point(4, 22) $NetworkOperations.Padding = New-Object System.Windows.Forms.Padding(3) $NetworkOperations.Size = New-Object System.Drawing.Size(1153, 155) $NetworkOperations.TabIndex = 6 $NetworkOperations.Text = "Network Operations" $NetworkOperations.UseVisualStyleBackColor = $true #~~< TroubleshootingPacks >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TroubleshootingPacks = New-Object System.Windows.Forms.TabPage $TroubleshootingPacks.Location = New-Object System.Drawing.Point(4, 22) $TroubleshootingPacks.Padding = New-Object System.Windows.Forms.Padding(3) $TroubleshootingPacks.Size = New-Object System.Drawing.Size(1153, 155) $TroubleshootingPacks.TabIndex = 7 $TroubleshootingPacks.Text = "Troubleshooting Packs" $TroubleshootingPacks.UseVisualStyleBackColor = $true #~~< TP_Windows_Update_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Windows_Update_Test = New-Object System.Windows.Forms.Button $TP_Windows_Update_Test.Location = New-Object System.Drawing.Point(906, 63) $TP_Windows_Update_Test.Size = New-Object System.Drawing.Size(120, 32) $TP_Windows_Update_Test.TabIndex = 20 $TP_Windows_Update_Test.Text = "Windows Update Test" $TP_Windows_Update_Test.UseVisualStyleBackColor = $true $TP_Windows_Update_Test.add_Click({TP_Windows_Update_Test_Click($TP_Windows_Update_Test)}) #~~< TP_Video_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Video_Test = New-Object System.Windows.Forms.Button $TP_Video_Test.Location = New-Object System.Drawing.Point(804, 63) $TP_Video_Test.Size = New-Object System.Drawing.Size(96, 32) $TP_Video_Test.TabIndex = 19 $TP_Video_Test.Text = "Video Test" $TP_Video_Test.UseVisualStyleBackColor = $true $TP_Video_Test.add_Click({TP_Video_Test_Click($TP_Video_Test)}) #~~< TP_Usb_Core_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Usb_Core_Test = New-Object System.Windows.Forms.Button $TP_Usb_Core_Test.Location = New-Object System.Drawing.Point(698, 63) $TP_Usb_Core_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Usb_Core_Test.TabIndex = 18 $TP_Usb_Core_Test.Text = "Usb Core Test" $TP_Usb_Core_Test.UseVisualStyleBackColor = $true $TP_Usb_Core_Test.add_Click({TP_Usb_Core_Test_Click($TP_Usb_Core_Test)}) #~~< TP_Search_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Search_Test = New-Object System.Windows.Forms.Button $TP_Search_Test.Location = New-Object System.Drawing.Point(592, 63) $TP_Search_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Search_Test.TabIndex = 17 $TP_Search_Test.Text = "Search Test" $TP_Search_Test.UseVisualStyleBackColor = $true $TP_Search_Test.add_Click({TP_Search_Test_Click($TP_Search_Test)}) #~~< TP_Printer_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Printer_Test = New-Object System.Windows.Forms.Button $TP_Printer_Test.Location = New-Object System.Drawing.Point(486, 63) $TP_Printer_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Printer_Test.TabIndex = 16 $TP_Printer_Test.Text = "Printer Test" $TP_Printer_Test.UseVisualStyleBackColor = $true $TP_Printer_Test.add_Click({TP_Printer_Test_Click($TP_Printer_Test)}) #~~< TP_Power_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Power_Test = New-Object System.Windows.Forms.Button $TP_Power_Test.Location = New-Object System.Drawing.Point(380, 63) $TP_Power_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Power_Test.TabIndex = 15 $TP_Power_Test.Text = "Power Test" $TP_Power_Test.UseVisualStyleBackColor = $true $TP_Power_Test.add_Click({TP_Power_Test_Click($TP_Power_Test)}) #~~< TP_Performance_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Performance_Test = New-Object System.Windows.Forms.Button $TP_Performance_Test.Location = New-Object System.Drawing.Point(274, 63) $TP_Performance_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Performance_Test.TabIndex = 14 $TP_Performance_Test.Text = "Performance Test" $TP_Performance_Test.UseVisualStyleBackColor = $true $TP_Performance_Test.add_Click({TP_Performance_Test_Click($TP_Performance_Test)}) #~~< TP_Performance_Counters_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Performance_Counters_Test = New-Object System.Windows.Forms.Button $TP_Performance_Counters_Test.Location = New-Object System.Drawing.Point(123, 63) $TP_Performance_Counters_Test.Size = New-Object System.Drawing.Size(145, 32) $TP_Performance_Counters_Test.TabIndex = 13 $TP_Performance_Counters_Test.Text = "Performance Counters Test" $TP_Performance_Counters_Test.UseVisualStyleBackColor = $true $TP_Performance_Counters_Test.add_Click({TP_Performance_Counters_Test_Click($TP_Performance_Counters_Test)}) #~~< TP_Networking_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Networking_Test = New-Object System.Windows.Forms.Button $TP_Networking_Test.Location = New-Object System.Drawing.Point(8, 63) $TP_Networking_Test.Size = New-Object System.Drawing.Size(109, 32) $TP_Networking_Test.TabIndex = 12 $TP_Networking_Test.Text = "Networking Test" $TP_Networking_Test.UseVisualStyleBackColor = $true $TP_Networking_Test.add_Click({TP_Networking_Test_Click($TP_Networking_Test)}) #~~< TP_Keyboard_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Keyboard_Test = New-Object System.Windows.Forms.Button $TP_Keyboard_Test.Location = New-Object System.Drawing.Point(984, 16) $TP_Keyboard_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Keyboard_Test.TabIndex = 11 $TP_Keyboard_Test.Text = "Keyboard Test" $TP_Keyboard_Test.UseVisualStyleBackColor = $true $TP_Keyboard_Test.add_Click({TP_Keyboard_Test_Click($TP_Keyboard_Test)}) #~~< TP_IE_Security_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_IE_Security_Test = New-Object System.Windows.Forms.Button $TP_IE_Security_Test.Location = New-Object System.Drawing.Point(869, 16) $TP_IE_Security_Test.Size = New-Object System.Drawing.Size(109, 32) $TP_IE_Security_Test.TabIndex = 10 $TP_IE_Security_Test.Text = "IE Security Test" $TP_IE_Security_Test.UseVisualStyleBackColor = $true $TP_IE_Security_Test.add_Click({TP_IE_Security_Test_Click($TP_IE_Security_Test)}) #~~< TP_IE_Browse_Web_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_IE_Browse_Web_Test = New-Object System.Windows.Forms.Button $TP_IE_Browse_Web_Test.Location = New-Object System.Drawing.Point(743, 16) $TP_IE_Browse_Web_Test.Size = New-Object System.Drawing.Size(120, 32) $TP_IE_Browse_Web_Test.TabIndex = 9 $TP_IE_Browse_Web_Test.Text = "IE Browse Web Test" $TP_IE_Browse_Web_Test.UseVisualStyleBackColor = $true $TP_IE_Browse_Web_Test.add_Click({TP_IE_Browse_Web_Test_Click($TP_IE_Browse_Web_Test)}) #~~< TP_Device_Center_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Device_Center_Test = New-Object System.Windows.Forms.Button $TP_Device_Center_Test.Location = New-Object System.Drawing.Point(628, 16) $TP_Device_Center_Test.Size = New-Object System.Drawing.Size(109, 32) $TP_Device_Center_Test.TabIndex = 8 $TP_Device_Center_Test.Text = "Device Center Test" $TP_Device_Center_Test.UseVisualStyleBackColor = $true $TP_Device_Center_Test.add_Click({TP_Device_Center_Test($TP_Device_Center_Test)}) #~~< TP_Device_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Device_Test = New-Object System.Windows.Forms.Button $TP_Device_Test.Location = New-Object System.Drawing.Point(522, 16) $TP_Device_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Device_Test.TabIndex = 7 $TP_Device_Test.Text = "Device Test" $TP_Device_Test.UseVisualStyleBackColor = $true $TP_Device_Test.add_Click({TP_Device_Test_Click($TP_Device_Test)}) #~~< TP_Blue_Screen_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Blue_Screen_Test = New-Object System.Windows.Forms.Button $TP_Blue_Screen_Test.Location = New-Object System.Drawing.Point(416, 16) $TP_Blue_Screen_Test.Size = New-Object System.Drawing.Size(100, 32) $TP_Blue_Screen_Test.TabIndex = 6 $TP_Blue_Screen_Test.Text = "Blue Screen Test" $TP_Blue_Screen_Test.UseVisualStyleBackColor = $true $TP_Blue_Screen_Test.add_Click({TP_Blue_Screen_Test($TP_Blue_Screen_Test)}) #~~< TP_Bits_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Bits_Test = New-Object System.Windows.Forms.Button $TP_Bits_Test.Location = New-Object System.Drawing.Point(314, 16) $TP_Bits_Test.Size = New-Object System.Drawing.Size(96, 32) $TP_Bits_Test.TabIndex = 5 $TP_Bits_Test.Text = "Bits Test" $TP_Bits_Test.UseVisualStyleBackColor = $true $TP_Bits_Test.add_Click({TP_Bits_Test_Click($TP_Bits_Test)}) #~~< TP_Audio_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Audio_Test = New-Object System.Windows.Forms.Button $TP_Audio_Test.Location = New-Object System.Drawing.Point(212, 16) $TP_Audio_Test.Size = New-Object System.Drawing.Size(96, 32) $TP_Audio_Test.TabIndex = 4 $TP_Audio_Test.Text = "Audio Test" $TP_Audio_Test.UseVisualStyleBackColor = $true $TP_Audio_Test.add_Click({TP_Audio_Test_Click($TP_Audio_Test)}) #~~< TP_Apps_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Apps_Test = New-Object System.Windows.Forms.Button $TP_Apps_Test.Location = New-Object System.Drawing.Point(110, 16) $TP_Apps_Test.Size = New-Object System.Drawing.Size(96, 32) $TP_Apps_Test.TabIndex = 3 $TP_Apps_Test.Text = "Apps Test" $TP_Apps_Test.UseVisualStyleBackColor = $true $TP_Apps_Test.add_Click({TP_Apps_Test_Click($TP_Apps_Test)}) #~~< TP_Aero_Test >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $TP_Aero_Test = New-Object System.Windows.Forms.Button $TP_Aero_Test.Location = New-Object System.Drawing.Point(8, 16) $TP_Aero_Test.Size = New-Object System.Drawing.Size(96, 32) $TP_Aero_Test.TabIndex = 2 $TP_Aero_Test.Text = "Aero Test" $TP_Aero_Test.UseVisualStyleBackColor = $true $TP_Aero_Test.add_Click({TP_Aero_Test_Click($TP_Aero_Test)}) $TroubleshootingPacks.Controls.Add($TP_Windows_Update_Test) $TroubleshootingPacks.Controls.Add($TP_Video_Test) $TroubleshootingPacks.Controls.Add($TP_Usb_Core_Test) $TroubleshootingPacks.Controls.Add($TP_Search_Test) $TroubleshootingPacks.Controls.Add($TP_Printer_Test) $TroubleshootingPacks.Controls.Add($TP_Power_Test) $TroubleshootingPacks.Controls.Add($TP_Performance_Test) $TroubleshootingPacks.Controls.Add($TP_Performance_Counters_Test) $TroubleshootingPacks.Controls.Add($TP_Networking_Test) $TroubleshootingPacks.Controls.Add($TP_Keyboard_Test) $TroubleshootingPacks.Controls.Add($TP_IE_Security_Test) $TroubleshootingPacks.Controls.Add($TP_IE_Browse_Web_Test) $TroubleshootingPacks.Controls.Add($TP_Device_Center_Test) $TroubleshootingPacks.Controls.Add($TP_Device_Test) $TroubleshootingPacks.Controls.Add($TP_Blue_Screen_Test) $TroubleshootingPacks.Controls.Add($TP_Bits_Test) $TroubleshootingPacks.Controls.Add($TP_Audio_Test) $TroubleshootingPacks.Controls.Add($TP_Apps_Test) $TroubleshootingPacks.Controls.Add($TP_Aero_Test) $TroubleshootingPacks.add_Click({TroubleshootingPacksClick($TroubleshootingPacks)}) #~~< PowershellGallery >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PowershellGallery = New-Object System.Windows.Forms.TabPage $PowershellGallery.Location = New-Object System.Drawing.Point(4, 22) $PowershellGallery.Padding = New-Object System.Windows.Forms.Padding(3) $PowershellGallery.Size = New-Object System.Drawing.Size(1153, 155) $PowershellGallery.TabIndex = 8 $PowershellGallery.Text = "Powershell Gallery" $PowershellGallery.UseVisualStyleBackColor = $true #~~< ModulesGroupBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ModulesGroupBox = New-Object System.Windows.Forms.GroupBox $ModulesGroupBox.Location = New-Object System.Drawing.Point(688, 8) $ModulesGroupBox.Size = New-Object System.Drawing.Size(324, 141) $ModulesGroupBox.TabIndex = 14 $ModulesGroupBox.TabStop = $false $ModulesGroupBox.Text = "Modules" #~~< PG_Find_Module >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PG_Find_Module = New-Object System.Windows.Forms.Button $PG_Find_Module.Location = New-Object System.Drawing.Point(6, 19) $PG_Find_Module.Size = New-Object System.Drawing.Size(88, 32) $PG_Find_Module.TabIndex = 11 $PG_Find_Module.Text = "Find Module" $PG_Find_Module.UseVisualStyleBackColor = $true $PG_Find_Module.add_Click({PG_Find_Module_Click($PG_Find_Module)}) #~~< PG_Install_Module >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PG_Install_Module = New-Object System.Windows.Forms.Button $PG_Install_Module.Location = New-Object System.Drawing.Point(6, 68) $PG_Install_Module.Size = New-Object System.Drawing.Size(88, 32) $PG_Install_Module.TabIndex = 13 $PG_Install_Module.Text = "Install Module" $PG_Install_Module.UseVisualStyleBackColor = $true $PG_Install_Module.add_Click({PG_Install_Module_Click($PG_Install_Module)}) $ModulesGroupBox.Controls.Add($PG_Find_Module) $ModulesGroupBox.Controls.Add($PG_Install_Module) #~~< PG_Install_PowerShellGet >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PG_Install_PowerShellGet = New-Object System.Windows.Forms.Button $PG_Install_PowerShellGet.Location = New-Object System.Drawing.Point(8, 16) $PG_Install_PowerShellGet.Size = New-Object System.Drawing.Size(117, 32) $PG_Install_PowerShellGet.TabIndex = 5 $PG_Install_PowerShellGet.Text = "Install PowerShellGet" $PG_Install_PowerShellGet.UseVisualStyleBackColor = $false $PG_Install_PowerShellGet.BackColor = [System.Drawing.Color]::SpringGreen $PG_Install_PowerShellGet.add_Click({PG_Install_PowerShellGet_Click($PG_Install_PowerShellGet)}) #~~< ScriptsGroupBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ScriptsGroupBox = New-Object System.Windows.Forms.GroupBox $ScriptsGroupBox.Location = New-Object System.Drawing.Point(178, 8) $ScriptsGroupBox.Size = New-Object System.Drawing.Size(324, 141) $ScriptsGroupBox.TabIndex = 15 $ScriptsGroupBox.TabStop = $false $ScriptsGroupBox.Text = "Scripts" #~~< PG_Find_Script >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PG_Find_Script = New-Object System.Windows.Forms.Button $PG_Find_Script.Location = New-Object System.Drawing.Point(6, 19) $PG_Find_Script.Size = New-Object System.Drawing.Size(90, 32) $PG_Find_Script.TabIndex = 10 $PG_Find_Script.Text = "Find Script" $PG_Find_Script.UseVisualStyleBackColor = $true $PG_Find_Script.add_Click({PG_Find_Script_Click($PG_Find_Script)}) #~~< PG_Install_Script >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PG_Install_Script = New-Object System.Windows.Forms.Button $PG_Install_Script.Location = New-Object System.Drawing.Point(6, 68) $PG_Install_Script.Size = New-Object System.Drawing.Size(90, 32) $PG_Install_Script.TabIndex = 12 $PG_Install_Script.Text = "Install Script" $PG_Install_Script.UseVisualStyleBackColor = $true $PG_Install_Script.add_Click({PG_Install_Script_Click($PG_Install_Script)}) $ScriptsGroupBox.Controls.Add($PG_Find_Script) $ScriptsGroupBox.Controls.Add($PG_Install_Script) #~~< PG_Open_Powershell_Gallery_Website >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PG_Open_Powershell_Gallery_Website = New-Object System.Windows.Forms.Button $PG_Open_Powershell_Gallery_Website.Location = New-Object System.Drawing.Point(8, 58) $PG_Open_Powershell_Gallery_Website.Size = New-Object System.Drawing.Size(117, 50) $PG_Open_Powershell_Gallery_Website.TabIndex = 9 $PG_Open_Powershell_Gallery_Website.Text = "Open Powershell Gallery Website" $PG_Open_Powershell_Gallery_Website.UseVisualStyleBackColor = $true $PG_Open_Powershell_Gallery_Website.add_Click({PG_Open_Powershell_Gallery_Website_Click($PG_Open_Powershell_Gallery_Website)}) $PowershellGallery.Controls.Add($ModulesGroupBox) $PowershellGallery.Controls.Add($PG_Install_PowerShellGet) $PowershellGallery.Controls.Add($ScriptsGroupBox) $PowershellGallery.Controls.Add($PG_Open_Powershell_Gallery_Website) #~~< 3rdPartyUtilities >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $3rdPartyUtilities = New-Object System.Windows.Forms.TabPage $3rdPartyUtilities.Location = New-Object System.Drawing.Point(4, 22) $3rdPartyUtilities.Padding = New-Object System.Windows.Forms.Padding(3) $3rdPartyUtilities.Size = New-Object System.Drawing.Size(1153, 155) $3rdPartyUtilities.TabIndex = 9 $3rdPartyUtilities.Text = "3rd Party Utilities" $3rdPartyUtilities.UseVisualStyleBackColor = $true $TabControl1.Controls.Add($ManualOperations) $TabControl1.Controls.Add($AutomaticDataCollection) $TabControl1.Controls.Add($ActiveDirectory) $TabControl1.Controls.Add($DomainOperations) $TabControl1.Controls.Add($O365Exchange) $TabControl1.Controls.Add($LocalExchange) $TabControl1.Controls.Add($NetworkOperations) $TabControl1.Controls.Add($TroubleshootingPacks) $TabControl1.Controls.Add($PowershellGallery) $TabControl1.Controls.Add($3rdPartyUtilities) $TabControl1.SelectedIndex = 0 #~~< Panel1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Panel1 = New-Object System.Windows.Forms.Panel $Panel1.Location = New-Object System.Drawing.Point(0, 27) $Panel1.Size = New-Object System.Drawing.Size(1157, 113) $Panel1.TabIndex = 1 $Panel1.Text = "" #~~< Label2 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Label2 = New-Object System.Windows.Forms.Label $Label2.Location = New-Object System.Drawing.Point(872, 73) $Label2.Size = New-Object System.Drawing.Size(158, 23) $Label2.TabIndex = 13 $Label2.Text = "System Type x86/x64" #~~< Label1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Label1 = New-Object System.Windows.Forms.Label $Label1.Location = New-Object System.Drawing.Point(872, 50) $Label1.Size = New-Object System.Drawing.Size(100, 23) $Label1.TabIndex = 12 $Label1.Text = "OS" #~~< ComputerMGMT >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ComputerMGMT = New-Object System.Windows.Forms.Button $ComputerMGMT.Location = New-Object System.Drawing.Point(97, 10) $ComputerMGMT.Size = New-Object System.Drawing.Size(79, 93) $ComputerMGMT.TabIndex = 11 $ComputerMGMT.Text = "Computer MGMT" $ComputerMGMT.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $ComputerMGMT.UseVisualStyleBackColor = $true #region$ComputerMGMT.Image = ([System.Drawing.Image](...) $ComputerMGMT.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "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"+ "YII=")),0,$$.Length))))) #endregion $ComputerMGMT.add_Click({ComputerMGMT_Click($ComputerMGMT)}) #~~< MMC >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MMC = New-Object System.Windows.Forms.Button $MMC.Location = New-Object System.Drawing.Point(182, 10) $MMC.Size = New-Object System.Drawing.Size(79, 93) $MMC.TabIndex = 10 $MMC.Text = "MMC" $MMC.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $MMC.UseVisualStyleBackColor = $true #region$MMC.Image = ([System.Drawing.Image](...) $MMC.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "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")),0,$$.Length))))) #endregion $MMC.add_Click({MMC_Click($MMC)}) #~~< RestartComputer >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $RestartComputer = New-Object System.Windows.Forms.Button $RestartComputer.Location = New-Object System.Drawing.Point(777, 10) $RestartComputer.Size = New-Object System.Drawing.Size(79, 93) $RestartComputer.TabIndex = 9 $RestartComputer.Text = "Restart" $RestartComputer.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $RestartComputer.UseVisualStyleBackColor = $true #region$RestartComputer.Image = ([System.Drawing.Image](...) $RestartComputer.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "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"+ "AAAAAElFTkSuQmCC")),0,$$.Length))))) #endregion $RestartComputer.add_Click({Restart_Click($RestartComputer)}) #~~< CMDPrompt >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $CMDPrompt = New-Object System.Windows.Forms.Button $CMDPrompt.Location = New-Object System.Drawing.Point(607, 10) $CMDPrompt.Size = New-Object System.Drawing.Size(79, 93) $CMDPrompt.TabIndex = 8 $CMDPrompt.Text = "CMD Prompt" $CMDPrompt.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $CMDPrompt.UseVisualStyleBackColor = $true #region$CMDPrompt.Image = ([System.Drawing.Image](...) $CMDPrompt.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz"+ "AAAOwQAADsEBuJFr7QAAAgdJREFUWEftl01rGlEUhocoFQmioLgQBL8QQUUQRRQRRFRE1L/RfSk0"+ "kI1J1I5JmJioIckPao0f0VW7Snf9C3bVt/f4xYxOggRHA/WFB2eu58555nIXc7l9dh7+/Pq4fPYV"+ "2+SsWi+z1h8YB1ylxv/9+fwbox+/GM8b5eNRQ/aXJFhz80RCEG7Gg+EIC55G6MsyRH8wRG/BE7r9"+ "KTRO8wZDVsPq6H8af+wN0On28f2xh2+d7oKZgJNxyLXaD+NSqQSiWCyiUCggn88jl8shm80inU4j"+ "lUohmUwikUggHo8jFoshEokgFAohGAwiEAjA7/fD6/XC4/HA7XbDbrfDYrHAaDRCq9VSwwUzATdD"+ "xwTudyvQbN3tWKB992dZYJ6XBCiKCVDmK0CZC1AUEWg0byfN5QReWwHKXMDn88HlcsHhcMBms8Fq"+ "tcJkMsFgMECv10Oj0WxGIBqNTt7U6XRO6ihqtVry8HVYW4BCTenNKOKHEHJj6yARuLppSwTEm5CW"+ "TzxxGYr4+rWI50kEhEZLIhAOh1c2zaaRFchkMjCbzSvFSrAiQLt7eacqiUSgxl9CpVKtFCmJRGB2"+ "s1X2AnuBvcD7EqBv9ONyZUyDb+G0WkeVvwB/IaBWF1CpneNEpk7Mp89fmqz59KuYhQ4I9I1OA2S1"+ "DajX9FzAcjC7IBvdlqBe05PRfx6O+wdC5OY+KMj/aAAAAABJRU5ErkJggg==")),0,$$.Length))))) #endregion $CMDPrompt.add_Click({CMD_Click($CMDPrompt)}) #~~< ControlPanel >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ControlPanel = New-Object System.Windows.Forms.Button $ControlPanel.Location = New-Object System.Drawing.Point(437, 10) $ControlPanel.Size = New-Object System.Drawing.Size(79, 93) $ControlPanel.TabIndex = 7 $ControlPanel.Text = "Control Panel" $ControlPanel.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $ControlPanel.UseVisualStyleBackColor = $true #region$ControlPanel.Image = ([System.Drawing.Image](...) $ControlPanel.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz"+ "AAAOwQAADsEBuJFr7QAAA/lJREFUWEftlttPk3ccxt/ESxMvpsxsiUvUpWZ3S/wfdrEYs5gsTNhB"+ "Nw9bNiZDpzIP4GKWecA5QA5ONBOEhl1M0GAyMzfcPENBpKVAS+nwQEDDAlVZfeuz5/lBOdgW6+Ld"+ "+kue0PcNfT/P9/jWSp3USZ3oWZJzZOi1nKN4Fi3JrsCslQXPrvR9Q+PYyaMHOm8BlTefruN9wI9/"+ "ASUBYL8P2NsFfNsJfEPt9gJfdwD5HmCnG9jeDmy7AeS2AVuoHfwsE+PYySMDevgPwUmduWOj7+8H"+ "CIVCE9J1w20bpb2EEbiLsDzCtlNfEbiVwM0EbaJyWoHsFuBzF/AZ9UkTsJHXSRm4PBg2wNPuAayr"+ "6zGfw+3r8GCg0XxuHhyNC3+FX55fGsB8pufFKXq5PIiPrwFf0MhTDdQxQkE2numFo7DdSNf2WQfs"+ "8w6M+gswPDyMysCjmMgFrw1EcIrPkuopZ08EaYcCWHsV2JCMAaVZkRt4EVXsGTNQTwMN1C8LEOpr"+ "gO9eaAK+9Fg/Fhf1YXZB9zQ48i3Us2fm0cBHNJDVnIQBwZR2Az/kgaOk09wLn8tAuDED//z6Bh62"+ "5JosRCMXPKspMi3taRLBgkurrwCfsgxJGcj4ycfI3TTghaO0y9yLSuCoBN/gimARDajhBHayBIpa"+ "qqNqWIK5NPDBJTYis/CfDDjKKP6ds+cGrHwXllV6jQFFLvjrR/tNt8uAwFbubwYunaRk4L2LwPpk"+ "DKgHalr6WQIZYAlkglpY6IG1ywUrrwnVrtvouhuKGbUn0y6wUXEAmTSwlmWY2QDnW3OuLJgpUB/I"+ "CDV3T6uBZ9Z2megLO+2YORdcKY9GfpIL64Q/ghdo4J0LwJrLMxjQhiunAS2Z63dHjQllQuVYWevD"+ "8iqviVzw4/5wDFxzrqgFVwkE/3lcMpD+B/Ah+yChAa1XwfkMFPvp/qaN4NDYJhwZGTHgtoH7cSMX"+ "XHP+UllwWtoFltJKg3j7PLCKZUho4BgNROGF3PEHqQPd3Pfc9bnc4YnWaxSuOdeoqdvVcKq50q7I"+ "BV/RCLzP64QGKtiA8eC7uXKfB/yt34F3/5zBwBGmX/AS/2M4gzaqqRO9Nsp9tkn7914b33XYKKCa"+ "BjGhZOHLqQzeS2jgMNOvyAW3nVy5UtUCPCq3YiSwVTFmwMq+AiunGdYmTslm7oktbooju1XqMBJ8"+ "2Tkam8lAWc9Y2ot8j03kVQG+drttHJwS+T6Pjb3u6RlIJnLB36TSeT9xD2gC2ANFzIJKcYD1n/pj"+ "4kv2gN7neqXqraYXi3a71qs2nJaM5lyjpm5Xw6nmSrsiF3w178c18GrW4ZifZPPWFJt/fu6K95Ms"+ "dVLnf3os618/TIziHJ6OYwAAAABJRU5ErkJggg==")),0,$$.Length))))) #endregion $ControlPanel.add_Click({ControlPanel_Click($ControlPanel)}) #~~< FileExplorer >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $FileExplorer = New-Object System.Windows.Forms.Button $FileExplorer.Location = New-Object System.Drawing.Point(352, 10) $FileExplorer.Size = New-Object System.Drawing.Size(79, 93) $FileExplorer.TabIndex = 6 $FileExplorer.Text = "File Explorer" $FileExplorer.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $FileExplorer.UseVisualStyleBackColor = $true #region$FileExplorer.Image = ([System.Drawing.Image](...) $FileExplorer.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz"+ "AAAOwQAADsEBuJFr7QAAASJJREFUWEftljFuwkAURH2k1CkgVQouEW6Qu+AuFRJnQKLnAMESDZFA"+ "ShMoaS2wFhmNM6swRN8Lv8JPehXzZ7bDWUdHQ1n0h4fiJZhc9BblZ/8Jp/ehKX+e/pxVxI8oi97+"+ "ro9oij/m+dlqN74wfkC1egthmyc6GmKWxOX/eVwOQrV+F6XtxCxRIU8xS1TIU8wSFfIUs0SFPMUs"+ "USFPMUtUyFPMEhXyFLNEhTzFLFEhTzFLVOhrMwmvs+/f/4e21rd1h+rGLFGhW8Yb6w7VjVmiQqow"+ "RdWNWaJCqixF1Y1ZokKqLEXVjVmiQtayWOsNZokKWctirTeYJSpkLYu13mCWqJC1LNZ6g1lSf6f9"+ "DVnLYm034ptQocrw01VSbjoemSw7AR0vBdoltyuNAAAAAElFTkSuQmCC")),0,$$.Length))))) #endregion $FileExplorer.add_Click({FileExplorer_Click($FileExplorer)}) #~~< Powershell >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Powershell = New-Object System.Windows.Forms.Button $Powershell.Location = New-Object System.Drawing.Point(522, 10) $Powershell.Size = New-Object System.Drawing.Size(79, 93) $Powershell.TabIndex = 5 $Powershell.Text = "Powershell" $Powershell.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $Powershell.UseVisualStyleBackColor = $true #region$Powershell.Image = ([System.Drawing.Image](...) $Powershell.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlz"+ "AAAOwQAADsEBuJFr7QAABExJREFUWEftlvtPFFcUx/kT+FP4oUmbJmVdFrCwLrtAMPY3bQImVcqu"+ "vFYedqGIu8C6Ypq0/oSP2ibGWGjSBFGyio8qULewWrQW1pbXyorbFeSleDzn3js7M3uHR/sz3+Rk"+ "eMzcz7nnnvOdSdvRjoz0yeHgfktNCPK+iqTEBHyKoVy3Hce013G8jkN+8yTsOR5zCKReWVWD8eLO"+ "d6BE0am3UBRYg0L/Cjg6lsDRvgj2tldQ4PsXbN55sLXGcLHnYG2ZBevX02zxPM/fLGmC7W58Crsb"+ "nkBu/RjkHH0EOe4w/vwYbCdiHoFUZaoIZtCDEvzkCrjOYwIaeIH3JS7yAuFzsKclivAZDm/aAF7H"+ "4dm1I+x3mzfuFFhVVH5amCVwaj0Jn5h7B6T+8Joe3qqFT0F+0z+4+2fG8KMczo93AjcSzxBYVZnl"+ "/V0E5fA3CF8Fh3+JwRX1j65uDqfzbvwL4X8awi3Vv7GjEki9LJVDES280L+M5/4afh5eE3iu66PL"+ "WPoN4McU+GPIrfsD4Q8h2z0K2TW/I/wBZFUNUe8EBVIVnn86ZZwKt7cvgN2XwPKvCjxX+2VqOAN4"+ "owG8VoEPsyrgmkYNOOCg0kjwtgSeeRzLPs92rtXJ7vn/BM+qHGR9Ye94LY+gqeKWp8AXl+H4N4Ir"+ "43Z9RN8T/p9ioukQ3mAAr1Hh5iP3WNXsgXi6wKoyu+4HlVnfCK7M+uizFYHn6rgSVTse4cq4MXi1"+ "Ct/lugvW47GIQOpFGW/XaEq8kzA+q++J0gDtXJ11pePR2JJwuuJYdwmkKlPF7Qw6x62NZippNH2h"+ "BYHm+vbysAF8CMyV98Hs+hV2OW+zIykMrMkGlOW656RdSnCDWT/03Yy0+1eLK5BX8aMx/AjB7wD2"+ "GGtWe2BVNiBz5WAXA28B93e/gMXldYHl6h8ch8yy77HEdzaFm768yfpJIPWyuMMRCa4xmhLfFNwd"+ "03c/7drbdRM+LL0iGU0Sjkkp8MzyIL3QjAwolE7Wqcw6h/OmI/jhM1GIxt8ILNdYZA5Kai+ByXnL"+ "cNaTcPy/AqfEijvXZQPCMXFQeaVxa56GizcSAqnqwi8h+ODAD2BBqDGcdzw1nQKn4C4LsgFZqkMe"+ "gmrhe9tmpVmnkn/e3AMff9HLZv1g51M4fy0K5/pmMWbg7NVpjCk42zsJzm/CWPoBBN9IJmBtmcEG"+ "BNmActwjwdRZT905a7SDF9nZKkazlYrrOVgJmy9hbEDkYFo4Gc2Z3pdiGeCNVtYtXE41moWlt+IO"+ "Y1mdl5JwakR8y8oGlFP3kBmQkdGUn34AtqoeyHQOcLjmi4bG7bOWEJSduIbRx6P1KovS1l7YV98D"+ "H5XhsyIBur/oNOwXWFXZ7rAzv2lSN+vK222zL5rNZl2BaoM2VBIA2YCwpB4qeSpc/qLBt9v/hFPY"+ "vIm4QOqV2/DIQTDKcOPAhLYZdG/q82RuhuXf0Y7S0tLeA2cnJwpPGMfmAAAAAElFTkSuQmCC")),0,$$.Length))))) #endregion $Powershell.add_Click({PS_Click($Powershell)}) #~~< GPUpdate >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $GPUpdate = New-Object System.Windows.Forms.Button $GPUpdate.Location = New-Object System.Drawing.Point(267, 10) $GPUpdate.Size = New-Object System.Drawing.Size(79, 93) $GPUpdate.TabIndex = 4 $GPUpdate.Text = "GP Update" $GPUpdate.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $GPUpdate.UseVisualStyleBackColor = $true #region$GPUpdate.Image = ([System.Drawing.Image](...) $GPUpdate.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "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"+ "YII=")),0,$$.Length))))) #endregion $GPUpdate.add_Click({GPUpdate_Click($GPUpdate)}) #~~< PingTest >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $PingTest = New-Object System.Windows.Forms.Button $PingTest.Location = New-Object System.Drawing.Point(692, 10) $PingTest.Size = New-Object System.Drawing.Size(79, 93) $PingTest.TabIndex = 3 $PingTest.Text = "Ping Test" $PingTest.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $PingTest.UseVisualStyleBackColor = $true #region$PingTest.Image = ([System.Drawing.Image](...) $PingTest.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "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"+ "/QGrPOUbl4yPgQAAAABJRU5ErkJggg==")),0,$$.Length))))) #endregion $PingTest.add_Click({PingTest_Click($PingTest)}) #~~< RDP >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $RDP = New-Object System.Windows.Forms.Button $RDP.Location = New-Object System.Drawing.Point(12, 10) $RDP.Size = New-Object System.Drawing.Size(79, 93) $RDP.TabIndex = 2 $RDP.Text = "Remote Desktop" $RDP.TextAlign = [System.Drawing.ContentAlignment]::BottomCenter $RDP.UseVisualStyleBackColor = $true #region$RDP.Image = ([System.Drawing.Image](...) $RDP.Image = ([System.Drawing.Image]([System.Drawing.Image]::FromStream((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "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")),0,$$.Length))))) #endregion $RDP.add_Click({RDP_Click($RDP)}) #~~< ComputerNameBox >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ComputerNameBox = New-Object System.Windows.Forms.Button $ComputerNameBox.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat $ComputerNameBox.Location = New-Object System.Drawing.Point(872, 10) $ComputerNameBox.Size = New-Object System.Drawing.Size(282, 40) $ComputerNameBox.TabIndex = 1 $ComputerNameBox.Text = "$Computername" $ComputerNameBox.UseVisualStyleBackColor = $false $ComputerNameBox.BackColor = [System.Drawing.SystemColors]::Info $Panel1.Controls.Add($Label2) $Panel1.Controls.Add($Label1) $Panel1.Controls.Add($ComputerMGMT) $Panel1.Controls.Add($MMC) $Panel1.Controls.Add($RestartComputer) $Panel1.Controls.Add($CMDPrompt) $Panel1.Controls.Add($ControlPanel) $Panel1.Controls.Add($FileExplorer) $Panel1.Controls.Add($Powershell) $Panel1.Controls.Add($GPUpdate) $Panel1.Controls.Add($PingTest) $Panel1.Controls.Add($RDP) $Panel1.Controls.Add($ComputerNameBox) #~~< MainMenu1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $MainMenu1 = New-Object System.Windows.Forms.MenuStrip $MainMenu1.Location = New-Object System.Drawing.Point(0, 0) $MainMenu1.Size = New-Object System.Drawing.Size(1157, 24) $MainMenu1.TabIndex = 0 $MainMenu1.Text = "MainMenu1" #~~< FileToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $FileToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem $FileToolStripMenuItem.Size = New-Object System.Drawing.Size(37, 20) $FileToolStripMenuItem.Text = "File" #~~< ExitToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ExitToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem $ExitToolStripMenuItem.Size = New-Object System.Drawing.Size(92, 22) $ExitToolStripMenuItem.Text = "Exit" $FileToolStripMenuItem.DropDownItems.AddRange([System.Windows.Forms.ToolStripItem[]](@($ExitToolStripMenuItem))) #~~< HelpToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $HelpToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem $HelpToolStripMenuItem.Size = New-Object System.Drawing.Size(44, 20) $HelpToolStripMenuItem.Text = "Help" #~~< AboutToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $AboutToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem $AboutToolStripMenuItem.Size = New-Object System.Drawing.Size(107, 22) $AboutToolStripMenuItem.Text = "About" $HelpToolStripMenuItem.DropDownItems.AddRange([System.Windows.Forms.ToolStripItem[]](@($AboutToolStripMenuItem))) #~~< DonateToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DonateToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem $DonateToolStripMenuItem.Size = New-Object System.Drawing.Size(57, 20) $DonateToolStripMenuItem.Text = "Donate" #~~< DonateToolStripMenuItem1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $DonateToolStripMenuItem1 = New-Object System.Windows.Forms.ToolStripMenuItem $DonateToolStripMenuItem1.Size = New-Object System.Drawing.Size(112, 22) $DonateToolStripMenuItem1.Text = "Donate" $DonateToolStripMenuItem1.add_Click({Donate_Click($DonateToolStripMenuItem1)}) $DonateToolStripMenuItem.DropDownItems.AddRange([System.Windows.Forms.ToolStripItem[]](@($DonateToolStripMenuItem1))) $MainMenu1.Items.AddRange([System.Windows.Forms.ToolStripItem[]](@($FileToolStripMenuItem, $HelpToolStripMenuItem, $DonateToolStripMenuItem))) $MainMenu.Controls.Add($PCDiag_Output_Log) $MainMenu.Controls.Add($FL_Zip_Selected) $MainMenu.Controls.Add($FL_Open_Location) $MainMenu.Controls.Add($FL_Open_Selected) $MainMenu.Controls.Add($PCDiag_Working_Directory_File_List) $MainMenu.Controls.Add($CheckedListBox1) $MainMenu.Controls.Add($Outputbox) $MainMenu.Controls.Add($TabControl1) $MainMenu.Controls.Add($Panel1) $MainMenu.Controls.Add($MainMenu1) #region$MainMenu.Icon = ([System.Drawing.Icon](...) $MainMenu.Icon = ([System.Drawing.Icon](New-Object System.Drawing.Icon((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "AAABAAEAICAAAAAAIACxBAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAA"+ "AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAERklEQVRY"+ "R+2WW09UVxTH+Qh8FB6atGki4zCABRxmgGDqm5qASStluCMXO1DEGWAcMU1an1Bb28QYC02aIEpH"+ "8VJF6hTQYlUYldvIiFMEuSku19qXOefMPlzaZ/7JyuFyzv6tvfZa/3MStrUtM+04FNhnqwxCxteh"+ "uBiDzzDkdctxRH8dxesoZDaOw+6jEadAGpVSfjea1/4eZOSeeAe5/lXI8S2Ds20RnK0L4Gh5Ddne"+ "f8HumQV7cwQXewFZTdOQ9c0kWzzD/YwlTbBd9Y9hV90/kF47AmmHH0Ba9TD+/BDsxyJugdRkKQ4k"+ "0YMK/PgylJzFBHTwbM8rXOQlwmdgd1MY4VMc3rAOvIbDU6sG2e92T9QlsJqo/LQwS+DEWgw+NvMe"+ "SL3Dq0Z4sx4+AZkNz3H3T83hhzmcH+8YbiSaJLCakot+7yAoh79F+Ao4fYsMLtU7tLIxnM67/gnC"+ "H5nCbRV/sqMSSKNs5QMhPTzHt4Tn/gZ+HVgVeK4rQ0tY+nXgRyT8IaTX/I3w+5BaPQSplX8h/B5g"+ "j1HvBARSE55/ImUcD3e0zoPDO4flXxF4rtYL1HAm8HoTeJWED7Aq4JpmDdjnpNIo8JY5PPMoln2W"+ "7Vyv452z/wmeUtbP+sLR9kYdQUvxdXe2N6rC8W8El+N2ZdDYE75fIqLpEF5nAq/U4NbS26xqDn80"+ "UWA1WUvvBOSsrweXsz70dFngudouhrWOR7gcNwav0OA7S25h80ZCAmkUZbxVo8n3jMPotLEnCvy0"+ "c23WZcenlGtwuuJYdwikJkvxjSQ6x82NZiJmND3BeYHm+u7CgAn8LljL7oC15A/Y6brBjiTHv6oa"+ "UErJbRftUoGbzPqX308pu3+9sAwZxT+bw0sJfhOwx1izOvwrqgFZy/o7GHgTuK/zJSwsrQksV2//"+ "KCQX/oglvrkh3PLVNdZPAmlUavVwSIHrjCbfOwG3RozdT7v2dFyDjwsuKkYTg2NSEp5cFKAXmpkB"+ "BRPJOuWsczhvOoIfOhWGcPStwHKNhGYgv+o8WFzXTWc9Bsf/Szgllte+phoQjomTyquMW+MknLs6"+ "J5CafvgtCB/t/wlsCDWH846nppNwCu6yoBqQrSLoJqgevqdlWpl1KvmBxi749ItuNusH2x/D2cth"+ "ONMzjTEFpy9NYkzA6e5xcH07jKXvQ/DVWAJZTVPYgKAaUFr1YCB+1uN3zhrt4Dl2ttJoNlNeLQfL"+ "yPbOmRsQOZgeTkZzqvuVWAZ4oxV2CpfTjGZ+8Z24w1xZrvMxODUivmVVA0qruc8MyMxoik7eA3t5"+ "FyS7+jhc90VD47a3KQiFxy5j9PBovsSioLkbPq/tgk8K8VmRAN2fexL2CawmHD9XZsO4Ydbl222j"+ "L5qNZl1C9UEbyveDakBYUjeVPB6uftHg2+1/winw/KMCaVR63QMnwSjD9QMT2mLQvfHPk7mZln9b"+ "20pISPgAxFQnFWFRF0cAAAAASUVORK5CYII=")),0,$$.Length))))) #endregion $MainMenu.add_Load({MainMenuLoad($MainMenu)}) #endregion #region Custom Code #endregion #region Event Loop function Main{ [System.Windows.Forms.Application]::EnableVisualStyles() [System.Windows.Forms.Application]::Run($MainMenu) Add-Type -AssemblyName System.Windows.Forms } #endregion #region Event Handlers function Form1Load( $object ){ } # Flush DNS Cache function MO_FlushDNS_Click( $object ){ $FDNS = ipconfig /flushdns | Out-String $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Flush DNS *****") | Out-String $outputbox.AppendText($FDNS) $outputbox.AppendText("`n*** process Completed ***") | Out-String } # Clear ARP Cache function MO_ClearARPCache_Click( $object ){ $ARP = netsh interface ip delete arpcache | Out-String $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** clear ARP Cache *****") | Out-String $outputbox.AppendText("`n") $outputbox.AppendText($ARP) $outputbox.AppendText("`n*** process Completed ***") | Out-String } # SFC Scan function MO_StartSFCScan_Click( $object ){ $SFCTITLE = '$Host.UI.RawUI.WindowTitle = "PCDiag - SFC Scan"' $SFCPS1 = 'sfc /scannow' $SFCPS2 = 'Read-Host -Prompt "Press Enter to exit"' $SFCTITLE | Out-File -filepath c:\PCDiag\Scripts\SFC.ps1 $SFCPS1 | Out-File -filepath c:\PCDiag\Scripts\SFC.ps1 -append $SFCPS2 | Out-File -filepath c:\PCDiag\Scripts\SFC.ps1 -append $SFC = 'c:\PCDiag\SCripts\SFC.ps1' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** start SFC Scan *****") | Out-String $outputbox.AppendText("`nSFC scan will now Launch in a new window") | Out-String Start-Process powershell.exe -ArgumentList "$SFC" $outputbox.AppendText("`n*** process Completed ***") | Out-String } # Offline CHKDSK scan function MO_ScheduleOfflineCHKDSK_Click( $object ){ $OLDCHKDSK = 'chkdsk /f c:' $NEWCHKDSK = 'chkdsk c: /OfflineScanAndFix' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Schedule Offline CHKDSK *****") | Out-String $outputbox.AppendText("`nOffline CHKDSK scan will now Launch in a new window") | Out-String $outputbox.AppendText("`n*** process Completed ***") | Out-String if ($OS -eq "XP") { Start-Process powershell.exe -ArgumentList "$OLDCHKDSK" } elseif ($OS -eq "7") { Start-Process powershell.exe -ArgumentList "$OLDCHKDSK" } elseif ($OS -eq "8") { Start-Process powershell.exe -ArgumentList "$NEWCHKDSK" } elseif ($OS -eq "8.1") { Start-Process powershell.exe -ArgumentList "$NEWCHKDSK" } elseif ($OS -eq "10") { Start-Process powershell.exe -ArgumentList "$NEWCHKDSK" } elseif ($OS -eq "2003") { Start-Process powershell.exe -ArgumentList "$OLDCHKDSK" } elseif ($OS -eq "2008") { Start-Process powershell.exe -ArgumentList "$OLDCHKDSK" } elseif ($OS -eq "2012") { Start-Process powershell.exe -ArgumentList "$NEWCHKDSK" } elseif ($OS -eq "2016") { Start-Process powershell.exe -ArgumentList "$NEWCHKDSK" } } # Reset Network Adapter function MO_ResetNetworkAdapter_Click($object) { $Ip1 = ipconfig / release | Out-String $Ip2 = ipconfig / renew | Out-String $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Reset Network Adapter *****") | Out-String $Outputbox.AppendText($Ip1) $Outputbox.AppendText($Ip2) $outputbox.AppendText("`n*** process Completed ***") | Out-String } # Automatic Data Collection - Non Domain Controller Server function ADC_NonDomainControllerServer_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Automatic Data Collection for Non Domain Controller Server is running, Please wait. *****") | Out-String # List Systeminfo sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Systeminfo, details will be saved to file ") | Out-String Start-Process powershell.exe -windowstyle hidden -ArgumentList "systeminfo | Out-File $PCDPath'System Info.txt'" # List Server Roles sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing Installed server roles, Results saved to file ") | Out-String Import-Module servermanager ; Get-WindowsFeature | Out-File $PCDPath'Server Roles.txt' # List FSMO roles sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing FSMO role assignments, Results saved to file ") | Out-String netdom query fsmo | Out-File $PCDPath'FSMO Results.txt' # Capture Applied GPO report sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Applied group Policy Objects, report will be saved to file ") | Out-String gpresult /h $PCDPath'GPResults.html' # Export Error & Warning events Logs sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Event logs, results will be saved to file ") | Out-String wevtutil epl Application �/q:*[System[(Level=1 or Level=2 or Level=3)]]� $PCDPath'Application Events.evtx' wevtutil epl System �/q:*[System[(Level=1 or Level=2 or Level=3)]]� $PCDPath'System Events.evtx' $outputbox.AppendText("`nWarning, Error & Critical events have been exported ") | Out-String # Capture IP settings to file sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing IP settings, Capture complete & saved to file ") | Out-String ipconfig /all | Out-File $PCDPath'IP Configuration.txt' # List Mapped Drives sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing mapped network drives, details will be saved to file ") | Out-String Get-WmiObject -Class Win32_MappedLogicalDisk | Select-Object Name, ProviderName | Out-File $PCDPath'Mapped Network Drives.txt' # List Domain Controllers sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for Domain controllers, details will be saved to file ") | Out-String $DOMAIN = (Get-WmiObject Win32_ComputerSystem).Domain nltest /dclist:$DOMAIN | Out-File $PCDPath'Domain Controller List.txt' # List Scheduled Tasks sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for Scheduled Tasks, details will be saved to file ") | Out-String $schedule = New-Object -com("Schedule.Service") $schedule.connect() $tasks = $schedule.getfolder("\").gettasks(0) $tasks | Format-Table Name, LastRunTime -AutoSize | Out-File $PCDPath'Scheduled Tasks.txt' if ($tasks.count -eq 0) { Write-Host �Schedule is Empty� | Out-File $PCDPath'Scheduled Tasks.txt' -append } # List current w32tm time setting sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing time settings, details will be saved to file") | Out-String w32tm /query /status | Out-File $PCDPath'Time Settings.txt' # Run BPA scans sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nRunning BPA scans, results will be saved to file ") | Out-String Import-Module ServerManager $ModelsToRun = @() if ((Get-WindowsFeature Application-Server).Installed) { $ModelsToRun += "Microsoft/Windows/ApplicationServer" } if ((Get-WindowsFeature AD-Certificate).Installed) { $ModelsToRun += "Microsoft/Windows/CertificateServices" } if ((Get-WindowsFeature DHCP).Installed) { $ModelsToRun += "Microsoft/Windows/DHCP" } if ((Get-WindowsFeature AD-Domain-Services).Installed) { $ModelsToRun += "Microsoft/Windows/DirectoryServices" } if ((Get-WindowsFeature DNS).Installed) { $ModelsToRun += "Microsoft/Windows/DNSServer" } if ((Get-WindowsFeature File-Services).Installed) { $ModelsToRun += "Microsoft/Windows/FileServices" } if ((Get-WindowsFeature Hyper-V).Installed) { $ModelsToRun += "Microsoft/Windows/Hyper-V" } if ((Get-WindowsFeature NPAS).Installed) { $ModelsToRun += "Microsoft/Windows/NPAS" } if ((Get-WindowsFeature Remote-Desktop-Services).Installed) { $ModelsToRun += "Microsoft/Windows/TerminalServices" } if ((Get-WindowsFeature Web-Server).Installed) { $ModelsToRun += "Microsoft/Windows/WebServer" } if ((Get-WindowsFeature OOB-WSUS).Installed) { $ModelsToRun += "Microsoft/Windows/WSUS" } foreach ($BestPracticesModelId in $ModelsToRun) { #Path-variables $BPAName = $BestPracticesModelId.Replace("Microsoft/Windows/","") $HTMLPath = "$Computername $BPAName $date" #HTML-header $Head = " <title>BPA Report for $BestPracticesModelId on $Computername</title> <style type='text/css'> table { border-collapse: collapse; width: 700px } body { font-family: Arial } td, th { border-width: 2px; border-style: solid; text-align: left; padding: 2px 4px; border-color: black } th { background-color: grey } td.Red { color: Red } </style>" Import-Module BestPractices Invoke-BpaModel -BestPracticesModelId $BestPracticesModelId | Out-Null $BPAResults = Get-BpaResult -BestPracticesModelId $BestPracticesModelId | Where-Object {$_.Severity -eq "Error" -or $_.Severity -eq �Warning� } $BPAResults | ConvertTo-Html -Property Severity,Category,Title,Problem,Impact,Resolution,help -Title "BPA Report for $BestPracticesModelId on $Computername" -Body "BPA Report for $BestPracticesModelId on server $Computername <HR>" -Head $head | Out-File "$PCDPath $HTMLPath.html" } # New Function here # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) # End of Automatic Data Collection - Non Domain Controller Server sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Automatic Data Collection for Non Domain Controller Server - process Completed ***") | Out-String $outputbox.AppendText("`n") | Out-String } # Automatic Data Collection - Domain Controller Server function ADC_DomainController_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Automatic Data Collection for Domain Controller Server is running, Please wait. *****") | Out-String # Run DCDIAG sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming DCDIAG scan, Results will be saved to file ") | Out-String Start-Process powershell.exe -windowstyle hidden -ArgumentList "DCDIAG.exe /C /V | Out-File $PCDPath'DCDIAG Results.txt'" # List Systeminfo sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Systeminfo, details will be saved to file ") | Out-String Start-Process powershell.exe -windowstyle hidden -ArgumentList "systeminfo | Out-File $PCDPath'System Info.txt'" # List Server Roles sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing Installed server roles, Results saved to file ") | Out-String Import-Module servermanager ; Get-WindowsFeature | Out-File $PCDPath'Server Roles.txt' # List FSMO roles sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing FSMO role assignments, Results saved to file ") | Out-String netdom query fsmo | Out-File $PCDPath'FSMO Results.txt' # Capture Applied GPO report sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Applied group Policy Objects, report will be saved to file ") | Out-String gpresult /h $PCDPath'GPResults.html' # Export Error & Warning events Logs sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Event logs, results will be saved to file ") | Out-String wevtutil epl Application �/q:*[System[(Level=1 or Level=2 or Level=3)]]� $PCDPath'Application Events.evtx' wevtutil epl System �/q:*[System[(Level=1 or Level=2 or Level=3)]]� $PCDPath'System Events.evtx' $outputbox.AppendText("`nWarning, Error & Critical events have been exported ") | Out-String # Capture IP settings to file sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing IP settings, Capture complete & saved to file ") | Out-String ipconfig /all | Out-File $PCDPath'IP Configuration.txt' # List Mapped Drives sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing mapped network drives, details will be saved to file ") | Out-String Get-WmiObject -Class Win32_MappedLogicalDisk | Select-Object Name, ProviderName | Out-File $PCDPath'Mapped Network Drives.txt' # List Domain Controllers sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for Domain controllers, details will be saved to file ") | Out-String $DOMAIN = (Get-WmiObject Win32_ComputerSystem).Domain nltest /dclist:$DOMAIN | Out-File $PCDPath'Domain Controller List.txt' # List Scheduled Tasks sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for Scheduled Tasks, details will be saved to file ") | Out-String $schedule = New-Object -com("Schedule.Service") $schedule.connect() $tasks = $schedule.getfolder("\").gettasks(0) $tasks | Format-Table Name, LastRunTime -AutoSize | Out-File "c:\PCDiag\$Dt\Scheduled Tasks.txt" if ($tasks.count -eq 0) { Write-Host �Schedule is Empty� | Out-File $PCDPath'Scheduled Tasks.txt' -append } # List current w32tm time setting sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing time settings, details will be saved to file") | Out-String w32tm /query /status | Out-File $PCDPath'Time Settings.txt' # Run BPA scans sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nRunning BPA scans, results will be saved to file ") | Out-String Import-Module ServerManager $ModelsToRun = @() if ((Get-WindowsFeature Application-Server).Installed) { $ModelsToRun += "Microsoft/Windows/ApplicationServer" } if ((Get-WindowsFeature AD-Certificate).Installed) { $ModelsToRun += "Microsoft/Windows/CertificateServices" } if ((Get-WindowsFeature DHCP).Installed) { $ModelsToRun += "Microsoft/Windows/DHCP" } if ((Get-WindowsFeature AD-Domain-Services).Installed) { $ModelsToRun += "Microsoft/Windows/DirectoryServices" } if ((Get-WindowsFeature DNS).Installed) { $ModelsToRun += "Microsoft/Windows/DNSServer" } if ((Get-WindowsFeature File-Services).Installed) { $ModelsToRun += "Microsoft/Windows/FileServices" } if ((Get-WindowsFeature Hyper-V).Installed) { $ModelsToRun += "Microsoft/Windows/Hyper-V" } if ((Get-WindowsFeature NPAS).Installed) { $ModelsToRun += "Microsoft/Windows/NPAS" } if ((Get-WindowsFeature Remote-Desktop-Services).Installed) { $ModelsToRun += "Microsoft/Windows/TerminalServices" } if ((Get-WindowsFeature Web-Server).Installed) { $ModelsToRun += "Microsoft/Windows/WebServer" } if ((Get-WindowsFeature OOB-WSUS).Installed) { $ModelsToRun += "Microsoft/Windows/WSUS" } foreach ($BestPracticesModelId in $ModelsToRun) { #Path-variables $BPAName = $BestPracticesModelId.Replace("Microsoft/Windows/","") $HTMLPath = "$Computername $BPAName $date" #HTML-header $Head = " <title>BPA Report for $BestPracticesModelId on $Computername</title> <style type='text/css'> table { border-collapse: collapse; width: 700px } body { font-family: Arial } td, th { border-width: 2px; border-style: solid; text-align: left; padding: 2px 4px; border-color: black } th { background-color: grey } td.Red { color: Red } </style>" Import-Module BestPractices Invoke-BpaModel -BestPracticesModelId $BestPracticesModelId | Out-Null $BPAResults = Get-BpaResult -BestPracticesModelId $BestPracticesModelId | Where-Object {$_.Severity -eq "Error" -or $_.Severity -eq �Warning� } $BPAResults | ConvertTo-Html -Property Severity,Category,Title,Problem,Impact,Resolution,help -Title "BPA Report for $BestPracticesModelId on $Computername" -Body "BPA Report for $BestPracticesModelId on server $Computername <HR>" -Head $head | Out-File "$PCDPath $HTMLPath.html" } # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) # End of Automatic Data Collection - Domain Controller Server sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Automatic Data Collection for Domain Controller Server - process Completed ***") | Out-String $outputbox.AppendText("`n") | Out-String } # Automatic Data Collection - Workstation function ADC_Workstation_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Automatic Data Collection for Workstation is running, Please wait. *****") | Out-String # List Systeminfo sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Systeminfo, details will be saved to file ") | Out-String Start-Process powershell.exe -windowstyle hidden -ArgumentList "systeminfo | Out-File $PCDPath'System Info.txt'" # Capture Applied GPO report sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Applied group Policy Objects, report will be saved to file ") | Out-String gpresult /h $PCDPath'GPResults.html' # Export Error & Warning events Logs sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Event logs, results will be saved to file ") | Out-String wevtutil epl Application �/q:*[System[(Level=1 or Level=2 or Level=3)]]� $PCDPath'Application Events.evtx' wevtutil epl System �/q:*[System[(Level=1 or Level=2 or Level=3)]]� $PCDPath'System Events.evtx' $outputbox.AppendText("`nWarning, Error & Critical events have been exported ") | Out-String #Capture IP settings to file sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing IP settings, Capture complete & saved to file ") | Out-String ipconfig /all | Out-File $PCDPath'IP Configuration.txt' # List Mapped Drives sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing mapped network drives, details will be saved to file ") | Out-String Get-WmiObject -Class Win32_MappedLogicalDisk | Select-Object Name, ProviderName | Out-File $PCDPath'Mapped Network Drives.txt' # List Domain Controllers' sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for Domain controllers, details will be saved to file ") | Out-String $DOMAIN = (Get-WmiObject Win32_ComputerSystem).Domain nltest.exe /dclist:$DOMAIN | Out-File $PCDPath'Domain Controller List.txt' # List Scheduled Tasks sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for Scheduled Tasks, details will be saved to file ") | Out-String $schedule = New-Object -com("Schedule.Service") $schedule.connect() $tasks = $schedule.getfolder("\").gettasks(0) $tasks | Format-Table Name, LastRunTime -AutoSize | Out-File $PCDPath'Scheduled Tasks.txt' if ($tasks.count -eq 0) { Write-Host �Schedule is Empty� | Out-File $PCDPath'Scheduled Tasks.txt' -append } # List current w32tm time setting sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing time settings, details will be saved to file ") | Out-String w32tm /query /status | Out-File $PCDPath'Time Settings.txt' # New function here # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) # End of Automatic Data Collection - Workstation sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Automatic Data Collection for Workstation - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function AD_ListComputersLastLogonDate_Click($object){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Last Logon Date for Active Directory computers, details will be saved to file ") | Out-String Get-ADComputer -filter * -Properties * |Sort-Object lastlogondate -descending | ft name,lastlogondate -Autosize | Out-File $PCDPath'AD_Lastlogon_Computers.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Reviewing Last Logon Date for Active Directory computers - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function AD_ListComputers_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Active Directory computers, Results saved to file") | Out-String Get-ADComputer -filter * -Property * | Sort-Object | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap �Auto | Out-File $PCDPath'AD Computers.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Reviewing Active Directory computers - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function AD_ListUsers_Click($object){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing Active Directory Users, Results saved to file") | Out-String Get-ADUser -filter * | Sort-Object | Out-File $PCDPath'AD Users.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Reviewing Active Directory Users - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function DO_ListAllGPOProperties_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing all GPO's and generating report, Results saved to file") | Out-String Get-GPO -all | Select-Object -Property DisplayName,ID,gpostatus |Sort-Object Displayname | Format-Table |Out-File $PCDPath'GPO Properties.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Reviewing all GPO's and generating report - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function DO_ExportAllGPOSettings_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nReviewing all GPO's and generating report, Results saved to file") | Out-String Get-GPOReport -All -ReportType HTML -Path c:\PCDiag\$Dt\All_GPO_settings.html $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Reviewing all GPO's and generating report - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function DO_ListActiveCertificateAuthority_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nSearching for Active Certificate Authority, Results saved to file") | Out-String certutil -config --ping | Out-File $PCDPath'Certificate Authority.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Searching for Active Certificate Authority - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function OE_DisableClutterAllUsers_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nDisabling Clutter for All Users") | Out-String Connect-Msolservice -credential $0365UserCredential Get-Mailbox | set-Clutter -Enable $false $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Disabling Clutter for All Users - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function OE_O365Report_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nRunning O365 report, Results saved to file") | Out-String Connect-MsolService -Credential $O365UserCredential $O365Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $O365UserCredential -Authentication Basic -AllowRedirection Import-PSSession $O365Session $Report = @( ) $Mailboxes = Get-Mailbox -ResultSize Unlimited | where { $_.RecipientTypeDetails -ne "DiscoveryMailbox" } $MSOLDomain = Get-MsolDomain | where { $_.Authentication -eq "Managed" -and $_.IsDefault -eq "True" } $MSOLPasswordPolicy = Get-MsolPasswordPolicy -DomainName $MSOLDomain.name $MSOLPasswordPolicy = $MSOLPasswordPolicy.ValidityPeriod.ToString() foreach ($mailbox in $Mailboxes) { $DaysToExpiry = @( ) $DisplayName = $mailbox.DisplayName $UserPrincipalName = $mailbox.UserPrincipalName $UserDomain = $UserPrincipalName.Split('@')[1] $Alias = $mailbox.alias $MailboxStat = Get-MailboxStatistics $UserPrincipalName $LastLogonTime = $MailboxStat.LastLogonTime $TotalItemSize = $MailboxStat | select @{name = "TotalItemSize"; expression={[math]::Round(($_.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",", "")/1MB),2)}} $TotalItemSize = $TotalItemSize.TotalItemSize $RecipientTypeDetails = $mailbox.RecipientTypeDetails $MSOLUSER = Get-MsolUser -UserPrincipalName $UserPrincipalName if ($UserDomain -eq $MSOLDomain.name) {$DaysToExpiry = $MSOLUSER | select @{ Name = "DaysToExpiry" ; Expression = {( New-TimeSpan -start(Get-Date) -end($_.LastPasswordChangeTimestamp + $MSOLPasswordPolicy)).Days}} ; $DaysToExpiry = $DaysToExpiry.DaysToExpiry} $Information = $MSOLUSER | select FirstName, LastName, @{Name= 'DisplayName'; Expression={[String]::join(";", $DisplayName)}}, @{Name= 'Alias' ; Expression={[String]::join(";", $Alias)}}, @{Name= 'UserPrincipalName'; Expression={[String]::join(";", $UserPrincipalName)}}, Office, Department, @{Name= 'TotalItemSize (MB)'; Expression={[String]::join(";", $TotalItemSize)}}, @{Name= 'LastLogonTime'; Expression={[String]::join(";", $LastLogonTime)}}, LastPasswordChangeTimestamp, @{Name= "PasswordExpirationIn (Days)"; Expression={[String]::join(";", $DaysToExpiry)}}, @{Name= 'RecipientTypeDetails'; Expression={[String]::join(";", $RecipientTypeDetails)}}, islicensed, @{Name= "Licenses"; Expression={$_.Licenses.AccountSkuId}} $Report = $Report + $Information } $Report | Export-Csv $PCDPath'O365Report.csv' Get-PSSession | Remove-PSSession $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Running O365 report - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function OE_ListAssignedLicenses_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nCapturing assigned license information, Results saved to file") | Out-String Connect-Msolservice -credential $O365UserCredential Get-MSOLUser -all | Where-Object { $_.isLicensed -eq "FALSE" } | select userprincipalname, DisplayName | Sort-Object | Out-File $PCDPath'Exchange Assignedlicense.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Capturing assigned license information - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function OE_ConnecttoO365_Click($object){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nConnecting to O365, Enter O365 Login Credentials in the Windows security prompt") | Out-String $O365UserCredential = Get-Credential $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** PCDiag is now connected to O365, you can now execute PCDiag O365 functions ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function LE_ListAllSMTP2016_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for all SMTP email addresses, Results saved to file") | Out-String Get-Recipient | select Name -ExpandProperty EmailAddresses | select Name, SmtpAddress | Out-File $PCDPath'All SMTP Email Addresses.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Performing query for all SMTP email addresses - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function LE_ConnectExchange2016_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nConnecting to Local 2016 Exchange, Enter authorized administrative User Credentials in the Windows security prompt") | Out-String $Domain = � LDAP:// � + ([ADSI] �� ).distinguishedName $domsplit = $domain.split("=" + ",") $curdom = $domsplit[1] $domuser = Read-Host "`n`tEnter authorized administrator User Name" $dompassword = Read-Host "`n`tEnter Password" | ConvertTo-SecureString -AsPlainText -Force $Exch2016creds = $curdom + "\" + $domuser $cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $Exch2016creds, $dompassword $domainforest = get-adforest | select-ExpandProperty Name $servername = Read-Host "`n`tEnter name of Exchange server" $exch2016server = $servername + "." + $domainforest $ex2016Session = New-PSSession � ConfigurationName Microsoft.Exchange � ConnectionUri "http://$exch2016server/PowerShell" -Credential $cred � Authentication Kerberos Import-PSSession $ex2016Session $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** PCDiag is now connected to Local Exchange 2016, you can now execute PCDiag Local Exchange 2016 functions ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function LE_ListAllSMTP2013_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for all SMTP email addresses, Results saved to file") | Out-String Get-Recipient | select Name -ExpandProperty EmailAddresses | select Name, SmtpAddress | Out-File $PCDPath'All SMTP Email Addresses.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Performing query for all SMTP email addresses - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function LE_ConnectExchange2013_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nConnecting to Local 2013 Exchange, Enter authorized administrative User Credentials in the Windows security prompt") | Out-String $Domain = � LDAP:/ / � + ([ADSI] �� ).distinguishedName $domsplit = $domain.split("=" + ",") $curdom = $domsplit[1] $domuser = Read-Host "`n`tEnter authorized administrator User Name" $dompassword = Read-Host "`n`tEnter Password" | ConvertTo-SecureString -AsPlainText -Force $Exch2013creds = $curdom + "\" + $domuser $cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $Exch2013creds, $dompassword $domainforest = get-adforest | select-ExpandProperty Name $servername = Read-Host "`n`tEnter name of Exchange server" $exch2013server = $servername + "." + $domainforest $ex2013Session = New-PSSession � ConfigurationName Microsoft.Exchange � ConnectionUri "http://$exch2013server/PowerShell" -Credential $cred � Authentication Kerberos Import-PSSession $ex2013Session $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** PCDiag is now connected to Local Exchange 2013, you can now execute PCDiag Local Exchange 2013 functions ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function LE_ListAllSMTP2010_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for all SMTP email addresses, Results saved to file") | Out-String Get-Recipient | select Name -ExpandProperty EmailAddresses | select Name, SmtpAddress | Out-File $PCDPath'All SMTP Email Addresses.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Performing query for all SMTP email addresses - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function LE_ConnectExchange2010_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nConnecting to Local 2010 Exchange, Enter authorized administrative User Credentials in the Windows security prompt") | Out-String $Domain = � LDAP:/ / � + ([ADSI] �� ).distinguishedName $domsplit = $domain.split("=" + ",") $curdom = $domsplit[1] $domuser = Read-Host "`n`tEnter authorized administrator User Name" $dompassword = Read-Host "`n`tEnter Password" | ConvertTo-SecureString -AsPlainText -Force $Exch2010creds = $curdom + "\" + $domuser $cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $Exch2010creds, $dompassword $domainforest = get-adforest | select-ExpandProperty Name $servername = Read-Host "`n`tEnter name of Exchange server" $exch2010server = $servername + "." + $domainforest $ex2010Session = New-PSSession � ConfigurationName Microsoft.Exchange � ConnectionUri "http://$exch2010server/PowerShell" -Credential $cred � Authentication Kerberos Import-PSSession $ex2010Session $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** PCDiag is now connected to Local Exchange 2010, you can now execute PCDiag Local Exchange 2010 functions ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function LE_ListAllSMTP2007_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nPerforming query for all SMTP email addresses, Results saved to file") | Out-String Get-Recipient | select Name -ExpandProperty EmailAddresses | select Name, SmtpAddress | Out-File $PCDPath'All SMTP Email Addresses.txt' $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** Performing query for all SMTP email addresses - process Completed ***") | Out-String $Outputbox.AppendText("`n") | Out-String # Update Checkedlistbox1 $CheckedlistBox1.Items.Clear() $CheckedListBox1.Items.AddRange([string[]] ( Get-ChildItem $PCDPath)) } function LE_ConnectExchange2007_Click( $object ){ sleep -Seconds 1 $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nConnecting to Local 2007 Exchange, Enter authorized administrative User Credentials in the Windows security prompt") | Out-String Write-Host -ForegroundColor Yellow "`n`n`tEstablishing connection to local Exchange server" $Domain = � LDAP:/ / � + ([ADSI] �� ).distinguishedName $domsplit = $domain.split("=" + ",") $curdom = $domsplit[1] $domuser = Read-Host "`n`tEnter authorized administrator User Name" $dompassword = Read-Host "`n`tEnter Password" | ConvertTo-SecureString -AsPlainText -Force $Exch2007creds = $curdom + "\" + $domuser $cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $Exch2007creds, $dompassword $domainforest = get-adforest | select-ExpandProperty Name $servername = Read-Host "`n`tEnter name of Exchange server" $exch2007server = $servername + "." + $domainforest $Ex2007Session = New-PSSession � ConfigurationName Microsoft.Exchange � ConnectionUri "http://$exch2007server/PowerShell" -Credential $cred � Authentication Kerberos Import-PSSession $Ex2007Session $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n*** PCDiag is now connected to Local Exchange 2007, you can now execute PCDiag Local Exchange 2007 functions ***") | Out-String $Outputbox.AppendText("`n") | Out-String } function FL_Zip_Selected_Click( $object ){ } function FL_Open_Location_Click( $object ){ Start-Process explorer $PCDPath } function FL_Open_Selected_Click( $object ){ } function TP_Windows_Update_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching WindowsUpdate Troubleshooting pack, a new window will open") | Out-String $TPWindowsUpdate = "Get-TroubleshootingPack C:\Windows\diagnostics\system\WindowsUpdate | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPWindowsUpdate $outputbox.AppendText("`n") | Out-String } function TP_Video_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Video Troubleshooting pack, a new window will open") | Out-String $TPVideo = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Video | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPVideo $outputbox.AppendText("`n") | Out-String } function TP_Usb_Core_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Usb Core Troubleshooting pack, a new window will open") | Out-String $TPUsbCore = "Get-TroubleshootingPack C:\Windows\diagnostics\system\UsbCore | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPUsbCore $outputbox.AppendText("`n") | Out-String } function TP_Search_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Search Troubleshooting pack, a new window will open") | Out-String $TPSearch = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Search | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPSearch $outputbox.AppendText("`n") | Out-String } function TP_Printer_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Printer Troubleshooting pack, a new window will open") | Out-String $TPPrinter = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Printer | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPPrinter $outputbox.AppendText("`n") | Out-String } function TP_Power_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Power Troubleshooting pack, a new window will open") | Out-String $TPPower = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Power | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPPower $outputbox.AppendText("`n") | Out-String } function TP_Performance_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Performance Troubleshooting pack, a new window will open") | Out-String $TPPerf = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Performance | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPPerf $outputbox.AppendText("`n") | Out-String } function TP_Performance_Counters_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Performance Counters Troubleshooting pack, a new window will open") | Out-String $TPPCW = "Get-TroubleshootingPack C:\Windows\diagnostics\system\PCW | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPPCW $outputbox.AppendText("`n") | Out-String } function TP_Networking_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching AERO Troubleshooting pack, a new window will open") | Out-String $outputbox.AppendText("`nPRESS ENTER at : to bring up menu") | Out-String $TPNetworking= "Get-TroubleshootingPack C:\Windows\diagnostics\system\Networking | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPNetworking $outputbox.AppendText("`n") | Out-String } function TP_Keyboard_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching KeyboardTroubleshooting pack, a new window will open") | Out-String $TPKeyboard = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Keyboard | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPKeyboard $outputbox.AppendText("`n") | Out-String } function TP_IE_Security_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching IE Security Troubleshooting pack, a new window will open") | Out-String $TPIESec = "Get-TroubleshootingPack C:\Windows\diagnostics\system\IESecurity | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPIESec $outputbox.AppendText("`n") | Out-String } function TP_IE_Browse_Web_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching IE Browse Web Troubleshooting pack, a new window will open") | Out-String $TPIEWeb = "Get-TroubleshootingPack C:\Windows\diagnostics\system\IEBrowseWeb | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPIEWeb $outputbox.AppendText("`n") | Out-String } function TP_Device_Center_Test( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Device Center Troubleshooting pack, a new window will open") | Out-String $TPDevCenter = "Get-TroubleshootingPack C:\Windows\diagnostics\system\DeviceCenter | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPDevCenter $outputbox.AppendText("`n") | Out-String } function TP_Device_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Device Troubleshooting pack, a new window will open") | Out-String $TPDevice = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Device | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPDevice $outputbox.AppendText("`n") | Out-String } function TP_Blue_Screen_Test( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Blue Screen Troubleshooting pack, a new window will open") | Out-String $TPBluescreen = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Bluescreen | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPBluescreen $outputbox.AppendText("`n") | Out-String } function TP_Bits_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching BITS Troubleshooting pack, a new window will open") | Out-String $TPBITS = "Get-TroubleshootingPack C:\Windows\diagnostics\system\BITS | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPBITS $outputbox.AppendText("`n") | Out-String } function TP_Audio_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Audio Troubleshooting pack, a new window will open") | Out-String $TPAudio = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Audio | Invoke-TroubleshootingPack" Start-Process powershell.exe -ArgumentList $TPAudio $outputbox.AppendText("`n") | Out-String } function TP_Apps_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching Apps Troubleshooting pack, a new window will open") | Out-String $TPApps = "Get-TroubleshootingPack C:\Windows\diagnostics\system\Apps | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPApps $outputbox.AppendText("`n") | Out-String } function TP_Aero_Test_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`nLaunching AERO Troubleshooting pack, a new window will open") | Out-String $TPAero = "Get-TroubleshootingPack C:\Windows\diagnostics\system\AERO | Invoke-TroubleshootingPack" sleep -Seconds 2 Start-Process powershell.exe -ArgumentList $TPAero $outputbox.AppendText("`n") | Out-String } function TroubleshootingPacksClick( $object ){ Import-Module troubleshootingpack } function PG_Find_Module_Click( $object ){ } function PG_Install_Module_Click( $object ){ } function PG_Install_PowerShellGet_Click( $object ){ } function PG_Find_Script_Click( $object ){ } function PG_Install_Script_Click( $object ){ } function PG_Open_Powershell_Gallery_Website_Click( $object ){ Start-Process "https://www.powershellgallery.com/" } function AD_Tab_Click( $object ){ } function O365_Tab_Click( $object ){ } function ComputerMGMT_Click( $object ){ Start-Process compmgmt.msc } function MMC_Click( $object ){ Start-Process MMC } function Restart_Click( $object ){ $Restart_Computer = New-Object system.Windows.Forms.Form $Restart_Computer.Text = "PCDiag - Restart Computer" $Restart_Computer.TopMost = $true $Restart_Computer.StartPosition = "CenterScreen" $Restart_Computer.Width = 336 $Restart_Computer.Height = 193 $Restart_Computer.Icon = ([System.Drawing.Icon](New-Object System.Drawing.Icon((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "AAABAAEAICAAAAAAIACxBAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAA"+ "AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAERklEQVRY"+ "R+2WW09UVxTH+Qh8FB6atGki4zCABRxmgGDqm5qASStluCMXO1DEGWAcMU1an1Bb28QYC02aIEpH"+ "8VJF6hTQYlUYldvIiFMEuSku19qXOefMPlzaZ/7JyuFyzv6tvfZa/3MStrUtM+04FNhnqwxCxteh"+ "uBiDzzDkdctxRH8dxesoZDaOw+6jEadAGpVSfjea1/4eZOSeeAe5/lXI8S2Ds20RnK0L4Gh5Ddne"+ "f8HumQV7cwQXewFZTdOQ9c0kWzzD/YwlTbBd9Y9hV90/kF47AmmHH0Ba9TD+/BDsxyJugdRkKQ4k"+ "0YMK/PgylJzFBHTwbM8rXOQlwmdgd1MY4VMc3rAOvIbDU6sG2e92T9QlsJqo/LQwS+DEWgw+NvMe"+ "SL3Dq0Z4sx4+AZkNz3H3T83hhzmcH+8YbiSaJLCakot+7yAoh79F+Ao4fYsMLtU7tLIxnM67/gnC"+ "H5nCbRV/sqMSSKNs5QMhPTzHt4Tn/gZ+HVgVeK4rQ0tY+nXgRyT8IaTX/I3w+5BaPQSplX8h/B5g"+ "j1HvBARSE55/ImUcD3e0zoPDO4flXxF4rtYL1HAm8HoTeJWED7Aq4JpmDdjnpNIo8JY5PPMoln2W"+ "7Vyv452z/wmeUtbP+sLR9kYdQUvxdXe2N6rC8W8El+N2ZdDYE75fIqLpEF5nAq/U4NbS26xqDn80"+ "UWA1WUvvBOSsrweXsz70dFngudouhrWOR7gcNwav0OA7S25h80ZCAmkUZbxVo8n3jMPotLEnCvy0"+ "c23WZcenlGtwuuJYdwikJkvxjSQ6x82NZiJmND3BeYHm+u7CgAn8LljL7oC15A/Y6brBjiTHv6oa"+ "UErJbRftUoGbzPqX308pu3+9sAwZxT+bw0sJfhOwx1izOvwrqgFZy/o7GHgTuK/zJSwsrQksV2//"+ "KCQX/oglvrkh3PLVNdZPAmlUavVwSIHrjCbfOwG3RozdT7v2dFyDjwsuKkYTg2NSEp5cFKAXmpkB"+ "BRPJOuWsczhvOoIfOhWGcPStwHKNhGYgv+o8WFzXTWc9Bsf/Szgllte+phoQjomTyquMW+MknLs6"+ "J5CafvgtCB/t/wlsCDWH846nppNwCu6yoBqQrSLoJqgevqdlWpl1KvmBxi749ItuNusH2x/D2cth"+ "ONMzjTEFpy9NYkzA6e5xcH07jKXvQ/DVWAJZTVPYgKAaUFr1YCB+1uN3zhrt4Dl2ttJoNlNeLQfL"+ "yPbOmRsQOZgeTkZzqvuVWAZ4oxV2CpfTjGZ+8Z24w1xZrvMxODUivmVVA0qruc8MyMxoik7eA3t5"+ "FyS7+jhc90VD47a3KQiFxy5j9PBovsSioLkbPq/tgk8K8VmRAN2fexL2CawmHD9XZsO4Ydbl222j"+ "L5qNZl1C9UEbyveDakBYUjeVPB6uftHg2+1/winw/KMCaVR63QMnwSjD9QMT2mLQvfHPk7mZln9b"+ "20pISPgAxFQnFWFRF0cAAAAASUVORK5CYII=")),0,$$.Length))))) $yes = New-Object system.windows.Forms.Button $yes.Text = "Yes" $yes.Width = 60 $yes.Height = 30 $yes.Add_Click({ Restart-Computer }) $yes.location = New-Object system.drawing.point(126,108) $yes.Font = "Microsoft Sans Serif,10" $Restart_Computer.controls.Add($yes) $RCLabel1 = New-Object system.windows.Forms.Label $RCLabel1.Text = "Warning" $RCLabel1.AutoSize = $true $RCLabel1.Width = 25 $RCLabel1.Height = 10 $RCLabel1.location = New-Object system.drawing.point(124,19) $RCLabel1.Font = "Microsoft Sans Serif,10,style=Bold" $Restart_Computer.controls.Add($RCLabel1) $RCLabel2 = New-Object system.windows.Forms.Label $RCLabel2.Text = "This process will reboot the computer." $RCLabel2.AutoSize = $true $RCLabel2.Width = 25 $RCLabel2.Height = 10 $RCLabel2.location = New-Object system.drawing.point(51,47) $RCLabel2.Font = "Microsoft Sans Serif,10" $Restart_Computer.controls.Add($RCLabel2) $RCLabel3 = New-Object system.windows.Forms.Label $RCLabel3.Text = "Do you wish to proceed?" $RCLabel3.AutoSize = $true $RCLabel3.Width = 25 $RCLabel3.Height = 10 $RCLabel3.location = New-Object system.drawing.point(81,74) $RCLabel3.Font = "Microsoft Sans Serif,10" $Restart_Computer.controls.Add($RCLabel3) [void]$Restart_Computer.ShowDialog() $Restart_Computer.Dispose() } function CMD_Click( $object ){ Start-Process cmd } function ControlPanel_Click( $object ){ Start-Process Control } function FileExplorer_Click( $object ){ Start-Process explorer } function PS_Click( $object ){ Start-Process powershell } function GPUpdate_Click( $object ){ Start-Process gpupdate } function PingTest_Click( $object ){ $PingForm = New-Object System.Windows.Forms.Form $PingForm.Size = New-Object System.Drawing.Size(600,400) $PingForm.StartPosition = "CenterScreen" $PingForm.Text = "PCDiag - Ping Tool" $PingForm.Icon = ([System.Drawing.Icon](New-Object System.Drawing.Icon((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String( "AAABAAEAICAAAAAAIACxBAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAA"+ "AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAERklEQVRY"+ "R+2WW09UVxTH+Qh8FB6atGki4zCABRxmgGDqm5qASStluCMXO1DEGWAcMU1an1Bb28QYC02aIEpH"+ "8VJF6hTQYlUYldvIiFMEuSku19qXOefMPlzaZ/7JyuFyzv6tvfZa/3MStrUtM+04FNhnqwxCxteh"+ "uBiDzzDkdctxRH8dxesoZDaOw+6jEadAGpVSfjea1/4eZOSeeAe5/lXI8S2Ds20RnK0L4Gh5Ddne"+ "f8HumQV7cwQXewFZTdOQ9c0kWzzD/YwlTbBd9Y9hV90/kF47AmmHH0Ba9TD+/BDsxyJugdRkKQ4k"+ "0YMK/PgylJzFBHTwbM8rXOQlwmdgd1MY4VMc3rAOvIbDU6sG2e92T9QlsJqo/LQwS+DEWgw+NvMe"+ "SL3Dq0Z4sx4+AZkNz3H3T83hhzmcH+8YbiSaJLCakot+7yAoh79F+Ao4fYsMLtU7tLIxnM67/gnC"+ "H5nCbRV/sqMSSKNs5QMhPTzHt4Tn/gZ+HVgVeK4rQ0tY+nXgRyT8IaTX/I3w+5BaPQSplX8h/B5g"+ "j1HvBARSE55/ImUcD3e0zoPDO4flXxF4rtYL1HAm8HoTeJWED7Aq4JpmDdjnpNIo8JY5PPMoln2W"+ "7Vyv452z/wmeUtbP+sLR9kYdQUvxdXe2N6rC8W8El+N2ZdDYE75fIqLpEF5nAq/U4NbS26xqDn80"+ "UWA1WUvvBOSsrweXsz70dFngudouhrWOR7gcNwav0OA7S25h80ZCAmkUZbxVo8n3jMPotLEnCvy0"+ "c23WZcenlGtwuuJYdwikJkvxjSQ6x82NZiJmND3BeYHm+u7CgAn8LljL7oC15A/Y6brBjiTHv6oa"+ "UErJbRftUoGbzPqX308pu3+9sAwZxT+bw0sJfhOwx1izOvwrqgFZy/o7GHgTuK/zJSwsrQksV2//"+ "KCQX/oglvrkh3PLVNdZPAmlUavVwSIHrjCbfOwG3RozdT7v2dFyDjwsuKkYTg2NSEp5cFKAXmpkB"+ "BRPJOuWsczhvOoIfOhWGcPStwHKNhGYgv+o8WFzXTWc9Bsf/Szgllte+phoQjomTyquMW+MknLs6"+ "J5CafvgtCB/t/wlsCDWH846nppNwCu6yoBqQrSLoJqgevqdlWpl1KvmBxi749ItuNusH2x/D2cth"+ "ONMzjTEFpy9NYkzA6e5xcH07jKXvQ/DVWAJZTVPYgKAaUFr1YCB+1uN3zhrt4Dl2ttJoNlNeLQfL"+ "yPbOmRsQOZgeTkZzqvuVWAZ4oxV2CpfTjGZ+8Z24w1xZrvMxODUivmVVA0qruc8MyMxoik7eA3t5"+ "FyS7+jhc90VD47a3KQiFxy5j9PBovsSioLkbPq/tgk8K8VmRAN2fexL2CawmHD9XZsO4Ydbl222j"+ "L5qNZl1C9UEbyveDakBYUjeVPB6uftHg2+1/winw/KMCaVR63QMnwSjD9QMT2mLQvfHPk7mZln9b"+ "20pISPgAxFQnFWFRF0cAAAAASUVORK5CYII=")),0,$$.Length))))) function pingInfo { $wks=$PingTarget.text; $pingResult=ping $wks | fl | Out-String; $PingOutputBox.text=$pingResult } $PingTarget = New-Object System.Windows.Forms.TextBox $PingTarget.Location = New-Object System.Drawing.Size(20,50) $PingTarget.Size = New-Object System.Drawing.Size(150,20) $PingForm.Controls.Add($PingTarget) $PingOutputBox = New-Object System.Windows.Forms.TextBox $PingOutputBox.Location = New-Object System.Drawing.Size(10,150) $PingOutputBox.Size = New-Object System.Drawing.Size(565,200) $PingOutputBox.MultiLine = $True $PingOutputBox.ScrollBars = "Vertical" $PingForm.Controls.Add($PingOutputBox) $Button = New-Object System.Windows.Forms.Button $Button.Location = New-Object System.Drawing.Size(400,30) $Button.Size = New-Object System.Drawing.Size(110,80) $Button.Text = "Ping" $Button.Add_Click({pingInfo}) $PingForm.Controls.Add($Button) $PingForm.Add_Shown({$PingForm.Activate()}) [void] $PingForm.ShowDialog() } function RDP_Click( $object ){ Start-Process mstsc } function Donate_Click( $object ){ Start-Process "https://www.gofundme.com/pcdiag-donations" } function MainMenuLoad( $object ){ } function MO_ResetWindowsUpdate_Click( $object ){ $outputbox.AppendText("`n") | Out-String $outputbox.AppendText("`n***** Reseting Windows Update, Please wait *****") | Out-String $outputbox.AppendText("`n") Stop-Service wuauserv sleep -seconds 3 Remove-Item c:\windows\softwaredistribution -Recurse -Force sleep -seconds 4 Start-Service wuauserv $outputbox.AppendText("`n*** Windows Update Reset ***") | Out-String } function DO_ResetDomainGPOs_Click( $object ){ } function Reset_Windows_Update_Click( $object ){ } Main # This call must remain below all other event functions #endregion |