mardi 31 octobre 2017

Power Shell list box doesn't return Var

I am trying to create a Popup asking a user to select a department and then based on the department run a selection of Choco commands to install software each department needs to use. I'm running into an issue with it not returning the selected #var.

Troubleshooting so far has shown that no matter what item I select in the list it just run the commands under the first IF section and then stop going.

I've tried to scalre down my code to just ask it to print each business department so I could check the list box setup and I can't find what i'm missing.

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 

$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "Department"
$objForm.Size = New-Object System.Drawing.Size(249,190) 
$objForm.StartPosition = "CenterScreen"

#OK Button action
$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") 
    {$TSDepartment=$objListBox.SelectedItem;$objForm.Close()}})

#Ok Button
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(10,115)
$OKButton.Size = New-Object System.Drawing.Size(200,30)
$OKButton.Text = "OK"
$OKButton.Add_Click({$TSDepartment=$objListBox.SelectedItem;$objForm.Close()})
$objForm.Controls.Add($OKButton)

# List box Lable
$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(200,20) 
$objLabel.Text = "Please select a Department:"
$objForm.Controls.Add($objLabel) 

#list box Side
$objListBox = New-Object System.Windows.Forms.ListBox 
$objListBox.Location = New-Object System.Drawing.Size(10,40) 
$objListBox.Size = New-Object System.Drawing.Size(200,20) 
$objListBox.Height = 70

#pick list
[void] $objListBox.Items.Add("Call-Center")
[void] $objListBox.Items.Add("Law-Office")
[void] $objListBox.Items.Add("Admin-Support")
[void] $objListBox.Items.Add("Base")
[void] $objListBox.Items.Add("IT")

$objForm.Controls.Add($objListBox) 
$objForm.Topmost = $True
$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()

#resulting var
#$TSDepartment

# Simple PowerShell ElseIf
# Admin-Support softwre list
if ($TSDepartment = "Admin-Support")  
{
'Admin Support Software'
choco upgrade chocolatey    
get-executionpolicy         
set-executionpolicy remotesigned                        

choco   install 7zip    --ignore-checksum
choco   install adobereader --ignore-checksum
choco   install cutepdf --ignore-checksum
choco   install jre8    --ignore-checksum
choco   install Silverlight --ignore-checksum
choco   install vlc --ignore-checksum
choco   install webex   --ignore-checksum

} 

# Law Office softwre list
ElseIf ( $TSDepartment = "Law-Office")  
{
'Law Office Software'
choco upgrade chocolatey    
get-executionpolicy
set-executionpolicy remotesigned

choco install 7zip --ignore-checksum
choco install adobereader --ignore-checksum
choco install cutepdf --ignore-checksum
choco install vlc  --ignore-checksum
choco install jre8 --ignore-checksum
choco install rsclientprint --ignore-checksum
choco install Silverlight --ignore-checksum
choco install webex --ignore-checksum
} 

# Call Center softwre list
ElseIf ( $TSDepartment = "Call-Center")  
{
'Call Center Software'
choco upgrade chocolatey    
get-executionpolicy         
set-executionpolicy remotesigned            

choco   install adobereader --ignore-checksum
choco   install cutepdf --ignore-checksum
choco   install jre8    --ignore-checksum
choco   install Silverlight --ignore-checksum
choco   install vlc --ignore-checksum
choco   install webex   --ignore-checksum
choco   install Silverlight --ignore-checksum
choco   install softphone   --ignore-checksum
}

# IT softwre list
ElseIf ( $TSDepartment = "IT")  
{
'IT Software'
choco upgrade chocolatey    
get-executionpolicy         
set-executionpolicy remotesigned            

choco   install 7zip    --ignore-checksum
choco   install adobereader --ignore-checksum
choco   install cutepdf --ignore-checksum
choco   install jre8    --ignore-checksum
choco   install Silverlight --ignore-checksum
choco   install vlc --ignore-checksum
choco   install webex   --ignore-checksum
choco   install Firefox --ignore-checksum
choco   install foxitreader --ignore-checksum
choco   install Ghostscript.app --ignore-checksum
choco   install GoogleChrome    --ignore-checksum
choco   install greenshot   --ignore-checksum
choco   install notepadplusplus --ignore-checksum
choco   install PowerShell  --ignore-checksum
choco   install putty   --ignore-checksum
choco   install sysinternals    --ignore-checksum
choco   install windirstat  --ignore-checksum
choco   install wireshark   --ignore-checksum
}

# Base Software List
ElseIf ( $TSDepartment = "Base")  
{
'Base Software'
choco upgrade chocolatey    
get-executionpolicy         
set-executionpolicy remotesigned            

choco   install adobereader --ignore-checksum
choco   install cutepdf --ignore-checksum
choco   install jre8    --ignore-checksum
choco   install Silverlight --ignore-checksum
choco   install webex   --ignore-checksum
}

# null Software List
Else
{
'Upgrade Choco'
choco upgrade chocolatey    
get-executionpolicy         
set-executionpolicy remotesigned            
}

Aucun commentaire:

Enregistrer un commentaire