This is the script I am using for my drop down box.
the script created to rename computers based in location and department
so it ask users to choose their location (building and the floor) and the department, every building and department has a code and then users enter their ext number
Headquarter Building = "HQ"
Airport Office = "AIR"
Laboratories = "LAB"
Information Technology = "IT"
Human Resources = "HR"
Finance = "FIN"
After choosing location and department and entering ext number the computer named is created like this 'HQ-HR-3456"
SO what I'm stock in is this
1- need to load data or populate Combobox from xml file
2- when they selecting building in first ComboBox then the second ComboBox shows the floors
Is there a way to make these 2 things happen?
i do my research last two weeks but i ended empty handed so sad
so i try my best to do so.
i write my xml file but not sure
<?xml version="1.0" encoding="utf-8" ?> <root><campuses><campus uniquecode="LDN" label="London"><buildings><building uniquecode="HQ" label="Headquarter Building"><floors><floor uniquecode="G" label="Ground Floor" /><floor uniquecode="F" label="First Floor" /><floor uniquecode="S" label="Second Floor" /><floor uniquecode="T" label="Third Floor" /></floors></building><building uniquecode="LHRO" label="London Airport Office"><floors><floor uniquecode="G" label="Ground Floor" /><floor uniquecode="F" label="First Floor" /><floor uniquecode="S" label="Second Floor" /><floor uniquecode="T" label="Third Floor" /></floors></building><building uniquecode="LAP" label="Lap Building"><floors><floor uniquecode="G" label="Ground Floor" /><floor uniquecode="F" label="First Floor" /><floor uniquecode="S" label="Second Floor" /><floor uniquecode="T" label="Third Floor" /></floors></building></buildings></campus></campuses><departments><department uniquecode="CEO" label="CEO" /><department uniquecode="LABS" label="Laboratory" /><department uniquecode="IT" label="Information Technology" /><department uniquecode="HR" label="Human Resources" /><department uniquecode="FIN" label="Finnance" /></departments></root>
this is my scripts
#Loading Assemnlies Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing $Global:ErrorProvider = New-Object System.Windows.Forms.ErrorProvider function Set-ComputerName { $ErrorProvider.Clear() if ($DDBBuilding.Text.Length -eq 0) { $ErrorProvider.SetError($GBBuilding, "Please Choose Your Building") } elseif ($DDBFloornumber.Text.Length -eq 0) { $ErrorProvider.SetError($GBFloornumber, "Please Choose Your Floor") } elseif ($DDBSector.Text.Length -eq 0) { $ErrorProvider.SetError($GBSector, "Please Choose Your Sector") } #Validation Rule for computer names. elseif ($TBExtnumber.Text.Length -gt 4 ) { $ErrorProvider.SetError($GBExtnumber, "Your Extension Number invalid, Please Enter Your Extension Number") } elseif ($TBExtnumber.Text.Length -eq 0 ) { $ErrorProvider.SetError($GBExtnumber, "Your Extension Number invalid, Please Enter Your Extension Number") } else { $OutputBox.Text = $DDBBuilding.SelectedItem.ToSTRING() + $DDBFloornumber.SelectedItem.ToSTRING() + "-" + $DDBSector.SelectedItem.ToSTRING() + "-" + $TBExtnumber.Text.ToUpper() $ComputerName = $DDBBuilding.SelectedItem.ToSTRING() + $DDBFloornumber.SelectedItem.ToSTRING() + "-" + $DDBSector.SelectedItem.ToSTRING() + "-" + $TBExtnumber.Text.ToUpper() Rename-Computer -NewName "$ComputerName" Restart-Computer } } #Start To Creat Form $Form = New-Object System.Windows.Forms.Form $Form.Size = New-Object System.Drawing.Size(400,500) $Form.StartPosition = "CenterScreen" $Form.Text = "change Computer name" #Creating DropDownBox $DDBBuilding = New-Object System.Windows.Forms.ComboBox $DDBBuilding.Location = New-Object System.Drawing.Size(85,30) $DDBBuilding.Size = New-Object System.Drawing.Size(200,50) $DDBBuilding.Height = 200 $Form.Controls.Add($DDBBuilding) $Details = @("HQ","airport","Lab") foreach($Detail in $Details){ $DDBBuilding.Items.Add($Detail) } #Add a Label to input box $GBBuilding = New-Object System.Windows.Forms.GroupBox $GBBuilding.Location = New-Object System.Drawing.Size(80,10) $GBBuilding.Size = New-Object System.Drawing.Size(210,50) $GBBuilding.Text = "Choose Your Building" $GBBuilding.BackColor = "Transparent" $GBBuilding.AutoSize = $true $Form.Controls.Add($GBBuilding) #Creating DropDownBox $DDBFloornumber = New-Object System.Windows.Forms.ComboBox $DDBFloornumber.Location = New-Object System.Drawing.Size(85,90) $DDBFloornumber.Size = New-Object System.Drawing.Size(200,50) $DDBFloornumber.Height = 200 $Form.Controls.Add($DDBFloornumber) $Details = @("G","F","S") foreach($Detail in $Details){ $DDBFloornumber.Items.Add($Detail) } #Add a Label to input box $GBFloornumber = New-Object System.Windows.Forms.GroupBox $GBFloornumber.Location = New-Object System.Drawing.Size(80,70) $GBFloornumber.Size = New-Object System.Drawing.Size(210,50) $GBFloornumber.Text = "Choose Your Floor" $GBFloornumber.BackColor = "Transparent" $GBFloornumber.AutoSize = $true $Form.Controls.Add($GBFloornumber) #Creating DropDownBox $DDBSector = New-Object System.Windows.Forms.ComboBox $DDBSector.Location = New-Object System.Drawing.Size(85,150) $DDBSector.Size = New-Object System.Drawing.Size(200,50) $DDBSector.Height = 200 $Form.Controls.Add($DDBSector) $Details = @("FIN","HR","IT") foreach($Detail in $Details){ $DDBSector.Items.Add($Detail) } #Add a Label to input box $GBSector = New-Object System.Windows.Forms.GroupBox $GBSector.Location = New-Object System.Drawing.Size(80,130) $GBSector.Size = New-Object System.Drawing.Size(210,50) $GBSector.Text = "Choose Your Sector" $GBSector.BackColor = "Transparent" $GBSector.AutoSize = $true $Form.Controls.Add($GBSector) #Add an Input box $TBExtnumber = New-Object System.Windows.Forms.TextBox $TBExtnumber.Location = New-Object System.Drawing.Size(85,210) $TBExtnumber.Size = New-Object System.Drawing.Size(200,50) $TBExtnumber.TabIndex = "1" $Form.Controls.Add($TBExtnumber) #Add a Label to input box $GBExtnumber = New-Object System.Windows.Forms.GroupBox $GBExtnumber.Location = New-Object System.Drawing.Size(80,190) $GBExtnumber.Size = New-Object System.Drawing.Size(210,50) $GBExtnumber.Text = "Enter Your Extension Number:" $GBExtnumber.BackColor = "Transparent" $GBExtnumber.AutoSize = $true $Form.Controls.Add($GBExtnumber) #Creat a outputbox $OutputBox = New-Object System.Windows.Forms.RichTextBox $OutputBox.Location = New-Object System.Drawing.Size(85,270) $OutputBox.Size = New-Object System.Drawing.Size(200,50) $OutputBox.Multiline = $true $Form.Controls.Add($OutputBox) #Add a Label to input box $GBOutputBox = New-Object System.Windows.Forms.GroupBox $GBOutputBox.Location = New-Object System.Drawing.Size(80,250) $GBOutputBox.Size = New-Object System.Drawing.Size(210,80) $GBOutputBox.Text = "Your New Computer Name is:" $GBOutputBox.BackColor = "Transparent" $GBOutputBox.AutoSize = $true $Form.Controls.Add($GBOutputBox) #Create a Button $ButtonValidate = New-Object System.Windows.Forms.Button $ButtonValidate.Location = New-Object System.Drawing.Size(60,350) $ButtonValidate.Size = New-Object System.Drawing.Size(60,30) $ButtonValidate.Text = "Validate" $ButtonValidate.TabIndex = "2" $ButtonValidate.Add_Click({Set-ComputerName}) $Form.Controls.Add($ButtonValidate) $form.ShowDialog()Big thanks to help in advanced :)