Skip to content

Instantly share code, notes, and snippets.

@MoT3rror
Last active June 19, 2020 03:53
Show Gist options
  • Save MoT3rror/199f1235c6bc7b25d27040502f0e3aa9 to your computer and use it in GitHub Desktop.
Save MoT3rror/199f1235c6bc7b25d27040502f0e3aa9 to your computer and use it in GitHub Desktop.
php_switch.ps1
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Select a Computer'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'
$okButton = New-Object System.Windows.Forms.Button
$okButton.Location = New-Object System.Drawing.Point(75,120)
$okButton.Size = New-Object System.Drawing.Size(75,23)
$okButton.Text = 'OK'
$okButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $okButton
$form.Controls.Add($okButton)
$cancelButton = New-Object System.Windows.Forms.Button
$cancelButton.Location = New-Object System.Drawing.Point(150,120)
$cancelButton.Size = New-Object System.Drawing.Size(75,23)
$cancelButton.Text = 'Cancel'
$cancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $cancelButton
$form.Controls.Add($cancelButton)
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Please select a computer:'
$form.Controls.Add($label)
$listBox = New-Object System.Windows.Forms.ListBox
$listBox.Location = New-Object System.Drawing.Point(10,40)
$listBox.Size = New-Object System.Drawing.Size(260,20)
$listBox.Height = 80
[void] $listBox.Items.Add('php56')
[void] $listBox.Items.Add('php70')
[void] $listBox.Items.Add('php71')
[void] $listBox.Items.Add('php72')
[void] $listBox.Items.Add('php73')
[void] $listBox.Items.Add('php74')
$form.Controls.Add($listBox)
$form.Topmost = $true
$result = $form.ShowDialog()
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
$x = $listBox.SelectedItem
(Get-Item C:\tools\php\current).Delete()
New-Item -ItemType SymbolicLink -Path "C:\tools\php\current" -Target "C:\tools\php\$x"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment