Intune Initial Scripts Backup
This commit is contained in:
144
dump/SCCM-Tool/Forms/Form-Examples/Form-Example-2.ps1
Normal file
144
dump/SCCM-Tool/Forms/Form-Examples/Form-Example-2.ps1
Normal file
@@ -0,0 +1,144 @@
|
||||
# Show message box popup.
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
$result = [System.Windows.Forms.MessageBox]::Show("My message", "Window Title", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::None)
|
||||
|
||||
# Show input box popup.
|
||||
Add-Type -AssemblyName Microsoft.VisualBasic
|
||||
$inputText = [Microsoft.VisualBasic.Interaction]::InputBox("Enter some value:", "Window Title", "Default value")
|
||||
|
||||
# Show an Open File Dialog and return the file selected by the user.
|
||||
function Read-OpenFileDialog([string]$InitialDirectory, [switch]$AllowMultiSelect)
|
||||
{
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
$openFileDialog = New-Object System.Windows.Forms.OpenFileDialog
|
||||
$openFileDialog.initialDirectory = $InitialDirectory
|
||||
$openFileDialog.filter = "All files (*.*)| *.*"
|
||||
if ($AllowMultiSelect) { $openFileDialog.MultiSelect = $true }
|
||||
$openFileDialog.ShowDialog() > $null
|
||||
if ($allowMultiSelect) { return $openFileDialog.Filenames } else { return $openFileDialog.Filename }
|
||||
}
|
||||
|
||||
|
||||
# Show an Open Folder Dialog and return the directory selected by the user.
|
||||
function Read-FolderBrowserDialog([string]$InitialDirectory)
|
||||
{
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
$openFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
|
||||
$openFolderDialog.ShowNewFolderButton = $true
|
||||
$openFolderDialog.RootFolder = $InitialDirectory
|
||||
$openFolderDialog.ShowDialog()
|
||||
return $openFolderDialog.SelectedPath
|
||||
}
|
||||
|
||||
# Prompt for multi-line user input:
|
||||
function Read-MultiLineInputDialog([string]$Message, [string]$WindowTitle, [string]$DefaultText)
|
||||
{
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Prompts the user with a multi-line input box and returns the text they enter, or null if they cancelled the prompt.
|
||||
|
||||
.DESCRIPTION
|
||||
Prompts the user with a multi-line input box and returns the text they enter, or null if they cancelled the prompt.
|
||||
|
||||
.PARAMETER Message
|
||||
The message to display to the user explaining what text we are asking them to enter.
|
||||
|
||||
.PARAMETER WindowTitle
|
||||
The text to display on the prompt window's title.
|
||||
|
||||
.PARAMETER DefaultText
|
||||
The default text to show in the input box.
|
||||
|
||||
.EXAMPLE
|
||||
$userText = Read-MultiLineInputDialog "Input some text please:" "Get User's Input"
|
||||
|
||||
Shows how to create a simple prompt to get mutli-line input from a user.
|
||||
|
||||
.EXAMPLE
|
||||
# Setup the default multi-line address to fill the input box with.
|
||||
$defaultAddress = @'
|
||||
John Doe
|
||||
123 St.
|
||||
Some Town, SK, Canada
|
||||
A1B 2C3
|
||||
'@
|
||||
|
||||
$address = Read-MultiLineInputDialog "Please enter your full address, including name, street, city, and postal code:" "Get User's Address" $defaultAddress
|
||||
if ($address -eq $null)
|
||||
{
|
||||
Write-Error "You pressed the Cancel button on the multi-line input box."
|
||||
}
|
||||
|
||||
Prompts the user for their address and stores it in a variable, pre-filling the input box with a default multi-line address.
|
||||
If the user pressed the Cancel button an error is written to the console.
|
||||
|
||||
.EXAMPLE
|
||||
$inputText = Read-MultiLineInputDialog -Message "If you have a really long message you can break it apart`nover two lines with the powershell newline character:" -WindowTitle "Window Title" -DefaultText "Default text for the input box."
|
||||
|
||||
Shows how to break the second parameter (Message) up onto two lines using the powershell newline character (`n).
|
||||
If you break the message up into more than two lines the extra lines will be hidden behind or show ontop of the TextBox.
|
||||
|
||||
.NOTES
|
||||
Name: Show-MultiLineInputDialog
|
||||
Author: Daniel Schroeder (originally based on the code shown at http://technet.microsoft.com/en-us/library/ff730941.aspx)
|
||||
Version: 1.0
|
||||
#>
|
||||
Add-Type -AssemblyName System.Drawing
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
|
||||
# Create the Label.
|
||||
$label = New-Object System.Windows.Forms.Label
|
||||
$label.Location = New-Object System.Drawing.Size(10,10)
|
||||
$label.Size = New-Object System.Drawing.Size(280,20)
|
||||
$label.AutoSize = $true
|
||||
$label.Text = $Message
|
||||
|
||||
# Create the TextBox used to capture the user's text.
|
||||
$textBox = New-Object System.Windows.Forms.TextBox
|
||||
$textBox.Location = New-Object System.Drawing.Size(10,40)
|
||||
$textBox.Size = New-Object System.Drawing.Size(575,200)
|
||||
$textBox.AcceptsReturn = $true
|
||||
$textBox.AcceptsTab = $false
|
||||
$textBox.Multiline = $true
|
||||
$textBox.ScrollBars = 'Both'
|
||||
$textBox.Text = $DefaultText
|
||||
|
||||
# Create the OK button.
|
||||
$okButton = New-Object System.Windows.Forms.Button
|
||||
$okButton.Location = New-Object System.Drawing.Size(510,250)
|
||||
$okButton.Size = New-Object System.Drawing.Size(75,25)
|
||||
$okButton.Text = "OK"
|
||||
$okButton.Add_Click({ $form.Tag = $textBox.Text; $form.Close() })
|
||||
|
||||
# Create the Cancel button.
|
||||
$cancelButton = New-Object System.Windows.Forms.Button
|
||||
$cancelButton.Location = New-Object System.Drawing.Size(415,250)
|
||||
$cancelButton.Size = New-Object System.Drawing.Size(75,25)
|
||||
$cancelButton.Text = "Cancel"
|
||||
$cancelButton.Add_Click({ $form.Tag = $null; $form.Close() })
|
||||
|
||||
# Create the form.
|
||||
$form = New-Object System.Windows.Forms.Form
|
||||
$form.Text = $WindowTitle
|
||||
$form.Size = New-Object System.Drawing.Size(600,310)
|
||||
$form.FormBorderStyle = 'FixedSingle'
|
||||
$form.StartPosition = "CenterScreen"
|
||||
$form.AutoSizeMode = 'GrowAndShrink'
|
||||
$form.Topmost = $True
|
||||
$form.AcceptButton = $okButton
|
||||
$form.CancelButton = $cancelButton
|
||||
$form.ShowInTaskbar = $true
|
||||
|
||||
# Add all of the controls to the form.
|
||||
$form.Controls.Add($label)
|
||||
$form.Controls.Add($textBox)
|
||||
$form.Controls.Add($okButton)
|
||||
$form.Controls.Add($cancelButton)
|
||||
|
||||
# Initialize and show the form.
|
||||
$form.Add_Shown({$form.Activate()})
|
||||
$form.ShowDialog() > $null # Trash the text of the button that was clicked.
|
||||
|
||||
# Return the text that the user entered.
|
||||
return $form.Tag
|
||||
}
|
||||
Reference in New Issue
Block a user