Add-Type -AssemblyName PresentationFramework Add-Type -AssemblyName System.Windows.Forms [XML] $XAML = Get-Content "C:\Users\5022375\Documents\Mainform2.xaml" $XAML.Window .RemoveAttribute("x:Class" ) $Reader = New-Object System.Xml.XmlNodeReader $XAML $MainForm = [Windows.Markup.XamlReader ]::Load($Reader ) # EVENT Handler #addButton = $Window.FindName('addButton') $PrintSelect = $Mainform. FindName('Printer_Select') $MapPrinterButton = $Mainform.FindName( 'Map_Printers_Button') $DefaultSelect = $Mainform. FindName('Default_Select') $DefaultSelectButton = $Mainform.FindName( 'Set_Default_Button') $SiteCodeLabel = $Mainform. FindName('Site_Code') $SiteCodeLabel.Content = $clientname $PrintersInstalled = Get-WmiObject Win32_Printer -ComputerName "." | ? Name -NotContains "session" $TMSButton = $Mainform. FindName('Start_TMS') $StatusLabel = $Mainform. FindName("MappingStatus") $StatusLabel.visibility = "Hidden" $DefaultSelect.Items .Clear() Foreach ($x in $PrintersInstalled) { $DefaultSelect.Items .Add($x .Name. Substring(($x. Name.LastIndexOf( "\")+ 1))) } Foreach ($p in $Printerstochoose) { $PrintSelect.Items .Add($p ) $Printselect.Items .Refresh() } <big> $MapPrinterButton .add_click({ $StatusLabel = $Mainform. FindName("MappingStatus") $StatusLabel.visibility = "Visible" </big> $WS_Net = New-Object -com Wscript.Network foreach ($p in $PrintSelect.SelectedItems) { $server = $Printersformatted | Where-Object Printer -EQ $p | Select Server -First 1 $Server = $server. server $printstring = "\\$server \$p" Write-Host "Working on Printer $P" try { $WS_Net.AddWindowsPrinterConnection( "$printstring" ) } Catch{ $Maperror = $_. Exception.Message Write-Host $Maperror -ForegroundColor Red } } $PrintersInstalled = Get-WmiObject Win32_Printer -ComputerName "." $DefaultSelect.Items .Clear() Foreach ($x in $PrintersInstalled) { $DefaultSelect.Items .Add($x .Name. Substring(($x. Name.LastIndexOf( "\")+ 1))) } $StatusLabel.Visibility = "Hidden" })
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)