diff --git a/Sharepoint/gui/spmover/EnvSetup.ps1 b/Sharepoint/gui/spmover/EnvSetup.ps1 new file mode 100644 index 0000000..2735f0b Binary files /dev/null and b/Sharepoint/gui/spmover/EnvSetup.ps1 differ diff --git a/Sharepoint/gui/spmover/Functions.ps1 b/Sharepoint/gui/spmover/Functions.ps1 new file mode 100644 index 0000000..c3a973b Binary files /dev/null and b/Sharepoint/gui/spmover/Functions.ps1 differ diff --git a/Sharepoint/gui/spmover/spmover1.ps1 b/Sharepoint/gui/spmover/spmover1.ps1 new file mode 100644 index 0000000..90445f9 --- /dev/null +++ b/Sharepoint/gui/spmover/spmover1.ps1 @@ -0,0 +1,123 @@ +<# + .NOTES + =========================================================================== + FileName: spmover1.ps1 + Author: SebastienQUEROL + Created On: 2024/03/06 + Last Updated: 2024/03/06 + Organization: + Version: v0.1 + =========================================================================== + + .DESCRIPTION + + .DEPENDENCIES +#> + +# ScriptBlock to Execute in STA Runspace +$sbGUI = { + param($BaseDir) + + #region Child Forms + + $Script:childFormInfo = @{ + 'MainForm' = @{ + XMLText = @" +
+"@ + } + } + #endregion Child Forms + + #region Dot Sourcing of files + + $dotSourceDir = $BaseDir + + . "$($dotSourceDir)\Functions.ps1" + . "$($dotSourceDir)\EnvSetup.ps1" + + #endregion Dot Sourcing of files + + #region Form Initialization + + try { + ConvertFrom-WinFormsXML -Reference refs -Suppress -Xml @" + +"@ + } catch {Update-ErrorLog -ErrorRecord $_ -Message "Exception encountered during Form Initialization."} + + #endregion Form Initialization + + #region Other Actions Before ShowDialog + + try { + Remove-Variable -Name eventSB + } catch {Update-ErrorLog -ErrorRecord $_ -Message "Exception encountered before ShowDialog."} + + #endregion Other Actions Before ShowDialog + + # Show the form + try {[void]$Script:refs['MainForm'].ShowDialog()} catch {Update-ErrorLog -ErrorRecord $_ -Message "Exception encountered unexpectedly at ShowDialog."} + + <# + #region Actions After Form Closed + + try { + + } catch {Update-ErrorLog -ErrorRecord $_ -Message "Exception encountered after Form close."} + + #endregion Actions After Form Closed + #> +} + +#region Start Point of Execution + + # Initialize STA Runspace +$rsGUI = [Management.Automation.Runspaces.RunspaceFactory]::CreateRunspace() +$rsGUI.ApartmentState = 'STA' +$rsGUI.ThreadOptions = 'ReuseThread' +$rsGUI.Open() + + # Create the PSCommand, Load into Runspace, and BeginInvoke +$cmdGUI = [Management.Automation.PowerShell]::Create().AddScript($sbGUI).AddParameter('BaseDir',$PSScriptRoot) +$cmdGUI.RunSpace = $rsGUI +$handleGUI = $cmdGUI.BeginInvoke() + + # Hide Console Window +Add-Type -Name Window -Namespace Console -MemberDefinition ' +[DllImport("Kernel32.dll")] +public static extern IntPtr GetConsoleWindow(); + +[DllImport("user32.dll")] +public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow); +' + +[Console.Window]::ShowWindow([Console.Window]::GetConsoleWindow(), 0) + + #Loop Until GUI Closure +while ( $handleGUI.IsCompleted -eq $false ) {Start-Sleep -Seconds 5} + + # Dispose of GUI Runspace/Command +$cmdGUI.EndInvoke($handleGUI) +$cmdGUI.Dispose() +$rsGUI.Dispose() + +Exit + +#endregion Start Point of Execution