t1564655949asdas.ps1
<#PSScriptInfo .VERSION 1.9 .GUID 715a6707-796c-445f-9e8a-8a0fffd778a5 .AUTHOR Ugur Koc .COMPANYNAME .COPYRIGHT .TAGS Windows, AutoPilot, Powershell .LICENSEURI .PROJECTURI https://www.github.com .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES This script has no dependencies. .RELEASENOTES Version 1.0: Initial Release .PRIVATEDATA #> <# .DESCRIPTION The goal of this script is to help with the import process of a device into AutoPilot and simplifying this by using a User Interface (GUI). You will be able to select a Group Tag if you use them and the script will reboot after the deployment profile was successfully assigned. It will also help to troubleshoot possible Network requirements by running a connectivitiy check. This GUI uses the Powershell Script Get-WindowsAutoPilotInfo of Michael Niehaus. #> Param() Add-Type -AssemblyName PresentationFramework Add-Type -AssemblyName System.Windows.Forms # XAML file $xamlFile = @' <Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp2" mc:Ignorable="d" ResizeMode="NoResize" Title="Autopilot Import GUI with Group Tag" Height="576" Width="399"> <Grid Background="White"> <Grid.RowDefinitions> <RowDefinition Height="33*"/> <RowDefinition Height="29*"/> </Grid.RowDefinitions> <Rectangle HorizontalAlignment="Left" Height="108" Margin="30,104,0,0" Stroke="Black" VerticalAlignment="Top" Width="331"/> <ComboBox x:Name="dropdown" HorizontalAlignment="Left" Margin="29,242,0,0" VerticalAlignment="Top" Width="330" Height="30" FontSize="18" IsEditable="True" BorderBrush="White" FontStyle="Italic"> <ComboBox.Background> <LinearGradientBrush EndPoint="0,1"> <GradientStop Color="#FFF0F0F0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </ComboBox.Background> </ComboBox> <Button x:Name="button_register" Content="Login and register device in AutoPilot" HorizontalAlignment="Left" Margin="29,282,0,0" VerticalAlignment="Top" Width="330" Height="26" Background="#FF8EFF8B" Grid.RowSpan="2" FontWeight="Bold"/> <TextBlock x:Name="text_author" HorizontalAlignment="Left" Margin="236,233,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Grid.Row="1"><Run Language="de-de" Text="Author"/></TextBlock> <TextBlock x:Name="text_version" HorizontalAlignment="Left" Margin="320,233,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Grid.Row="1"><Run Language="de-de" Text="Version"/></TextBlock> <TextBlock HorizontalAlignment="Left" Margin="30,221,0,0" TextWrapping="Wrap" VerticalAlignment="Top" FontWeight="Bold" Width="117"><Run Text="Choose Group"/><Run Language="de-de" Text=" T"/><Run Text="ag:"/></TextBlock> <TextBox x:Name="text_output" HorizontalAlignment="Left" Margin="29,67,0,0" TextWrapping="WrapWithOverflow" VerticalAlignment="Top" Width="330" Height="161" IsReadOnly="True" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Grid.Row="1"/> <Button x:Name="button_check_connectivity" Content="Run Network Connectivity Check" HorizontalAlignment="Left" Margin="29,30,0,0" VerticalAlignment="Top" Width="330" Height="26" Background="#FFA1CEFF" Grid.Row="1" FontWeight="Bold"/> <TextBlock HorizontalAlignment="Left" Margin="16,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="356" FontSize="20" TextAlignment="Center" FontWeight="Bold"><Run Language="de-de" Text="Autopilot Import GUI with Group Tag"/></TextBlock> <TextBlock HorizontalAlignment="Left" Margin="239,94,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Background="White" Width="110" TextAlignment="Center" Height="19" FontWeight="Bold" FontStyle="Italic"><Run Language="de-de" Text="Device Information"/></TextBlock> <Button x:Name="button_howto" Content="How does it work?" HorizontalAlignment="Left" Margin="30,64,0,0" VerticalAlignment="Top" Background="White" Width="127"/> <TextBlock x:Name="text_time" HorizontalAlignment="Left" Margin="212,42,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="84"><Run Language="de-de" Text="Time"/></TextBlock> <TextBlock x:Name="text_date" HorizontalAlignment="Left" Margin="123,42,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="84"><Run Language="de-de" Text="Date"/></TextBlock> <TextBlock x:Name="text_serialnumber" HorizontalAlignment="Left" Margin="128,182,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146" Height="20"><Run Language="de-de" Text="Serialnumber"/></TextBlock> <TextBlock x:Name="text_devicemodel" HorizontalAlignment="Left" Margin="128,116,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146" Height="18"><Run Language="de-de" Text="Device Model"/></TextBlock> <TextBlock x:Name="text_manufacturer" HorizontalAlignment="Left" Margin="126,160,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="18"><Run Language="de-de" Text="Manufacturer"/></TextBlock> <TextBlock x:Name="text_devicename" HorizontalAlignment="Left" Margin="128,138,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146" Height="20"><Run Text="Device "/><Run Language="de-de" Text="Name"/></TextBlock> <TextBlock x:Name="text_freespace" HorizontalAlignment="Left" Margin="325,116,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="59" Height="18"><Run Language="de-de" Text="Free Space"/></TextBlock> <TextBlock HorizontalAlignment="Left" Margin="41,116,0,0" TextWrapping="Wrap" Text="Device Model:" VerticalAlignment="Top" Height="18" FontWeight="Bold"/> <TextBlock HorizontalAlignment="Left" Margin="41,138,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="19" FontWeight="Bold"><Run Text="Device "/><Run Language="de-de" Text="Name"/><Run Text=":"/></TextBlock> <TextBlock HorizontalAlignment="Left" Margin="40,160,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="19" FontWeight="Bold"><Run Language="de-de" Text="Manufacturer:"/></TextBlock> <TextBlock HorizontalAlignment="Left" Margin="41,182,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="20" FontWeight="Bold"><Run Language="de-de" Text="Serialnumber:"/></TextBlock> <TextBlock HorizontalAlignment="Left" Margin="212,115,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="19" FontWeight="Bold"><Run Language="de-de" Text="Free Storage in GB:"/></TextBlock> <TextBlock x:Name="text_internet_connection" HorizontalAlignment="Left" Margin="165,64,0,0" TextWrapping="Wrap" Text="Internet Connection Button" VerticalAlignment="Top" Height="20" Width="194" TextAlignment="Center"/> </Grid> </Window> '@ #create window $inputXML = $xamlFile $inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^<Win.*', '<Window' [XML]$XAML = $inputXML #Read XAML $reader = (New-Object System.Xml.XmlNodeReader $xaml) try { $window = [Windows.Markup.XamlReader]::Load( $reader ) } catch { Write-Warning $_.Exception throw } # Create variables based on form control names. # Variable will be named as 'var_<control name>' $xaml.SelectNodes("//*[@Name]") | ForEach-Object { #"trying item $($_.Name)"; try { Set-Variable -Name "var_$($_.Name)" -Value $window.FindName($_.Name) -ErrorAction Stop } catch { throw } } # Get-Variable var_* # function function connectivity_check { $ErrorActionPreference = 'SilentlyContinue' $WarningPreference = 'SilentlyContinue' $OriginalProgressPreference = $Global:ProgressPreference $Global:ProgressPreference = 'SilentlyContinue' $ComputerInfo = Get-CimInstance -ClassName Win32_ComputerSystem $ComputerName = $ComputerInfo.Name $Serialnumber = Get-CimInstance win32_SystemEnclosure | select serialnumber Write-Host "--- Basic Info ---" Write-Host "Computername:" $ComputerName Write-Host "Serialnumber:" $Serialnumber.serialnumber Write-Host `n # MDM Registration Test reachability # https://docs.microsoft.com/de-de/mem/intune/enrollment/windows-enroll Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: Enterprise regitration ---" $MDM_registration = (Test-NetConnection enterpriseregistration.windows.net -Port 443 ).TcpTestSucceeded If($MDM_registration -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "MDM_registration - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "MDM_registration - Error " Write-Host @ErrorIcon } $MDM_enrollment = (Test-NetConnection enterpriseenrollment-s.manage.microsoft.com -Port 443 ).TcpTestSucceeded If($MDM_enrollment -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "MDM_enrollment - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "MDM_enrollment - Error " Write-Host @ErrorIcon } Write-Host `n # Autopilot Test reachability # https://docs.microsoft.com/de-de/mem/autopilot/networking-requirements Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: Windows Autopilot Deployment Services ---" $AutoPilot_ztd = (Test-NetConnection ztd.dds.microsoft.com -Port 443 ).TcpTestSucceeded If($AutoPilot_ztd -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "AutoPilot_ztd - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "AutoPilot_ztd - Error " Write-Host @ErrorIcon } $AutoPilot_cs = (Test-NetConnection cs.dds.microsoft.com -Port 443 ).TcpTestSucceeded If($AutoPilot_cs -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "AutoPilot_cs - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "AutoPilot_cs - Error " Write-Host @ErrorIcon } $AutoPilot_login = (Test-NetConnection login.live.com -Port 443 ).TcpTestSucceeded If($AutoPilot_login -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "AutoPilot_login - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "AutoPilot_login - Error " Write-Host @ErrorIcon } Write-Host `n # License Test reachability # https://support.microsoft.com/en-us/topic/windows-activation-or-validation-fails-with-Error -code-0x8004fe33-a9afe65e-230b-c1ed-3414-39acd7fddf52 Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: License activation service ---" $Licensing_activation = (Test-NetConnection activation.sls.microsoft.com -Port 443 ).TcpTestSucceeded If($Licensing_activation -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Licensing_activation - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Licensing_activation - Error " Write-Host @ErrorIcon } $Licensing_validation = (Test-NetConnection validation.sls.microsoft.com -Port 443 ).TcpTestSucceeded If($Licensing_validation -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Licensing_validation - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Licensing_validation - Error " Write-Host @ErrorIcon } Write-Host `n # WufB Test reachability Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: Windows Update for Business Service ---" $WufB = (Test-NetConnection update.microsoft.com -Port 443 ).TcpTestSucceeded If($WufB -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "WufB - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "WufB - Error " Write-Host @ErrorIcon } Write-Host `n # SSO Test reachability Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: Single Sign-On ---" $SSO = (Test-NetConnection autologon.microsoftazuread-sso.com -Port 443 ).TcpTestSucceeded If($SSO -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "SSO - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "SSO - Error " Write-Host @ErrorIcon } Write-Host `n # TPM Test reachability # https://docs.microsoft.com/de-de/mem/autopilot/networking-requirements Write-Host -BackgroundColor DarkBlue "--- TPM Connectivity to Intel, Qualcomm and AMD ---" $TPM_Intel = (Test-NetConnection ekop.intel.com -Port 443).TcpTestSucceeded If($TPM_Intel -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "TPM_Intel - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "TPM_Intel - Error " Write-Host @ErrorIcon } $TPM_Qualcomm = (Test-NetConnection ekcert.spserv.microsoft.com -Port 443).TcpTestSucceeded If($TPM_Qualcomm -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "TPM_Qualcomm - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "TPM_Qualcomm - Error " Write-Host @ErrorIcon } $TPM_AMD = (Test-NetConnection ftpm.amd.com -Port 443).TcpTestSucceeded If($TPM_AMD -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "TPM_AMD - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "TPM_AMD - Error " Write-Host @ErrorIcon } $TPM_Azure = (Test-NetConnection azure.net -Port 443).TcpTestSucceeded If($TPM_Azure -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "TPM_Azure - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "TPM_Azure - Error " Write-Host @ErrorIcon } Write-Host `n # Intune (Config deployment) Test reachability Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: Config deployment and access for managed devices ---" $Intune_ConfigDeployment_microsoftonline = (Test-NetConnection login.microsoftonline.com -Port 443).TcpTestSucceeded If($Intune_ConfigDeployment_microsoftonline -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Intune_ConfigDeployment_microsoftonline - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Intune_ConfigDeployment_microsoftonline - Error " Write-Host @ErrorIcon } $Intune_ConfigDeployment_configoffice = (Test-NetConnection config.office.com -Port 443).TcpTestSucceeded If($Intune_ConfigDeployment_configoffice -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Intune_ConfigDeployment_configoffice - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Intune_ConfigDeployment_configoffice - Error " Write-Host @ErrorIcon } $Intune_ConfigDeployment_graph = (Test-NetConnection graph.windows.net -Port 443).TcpTestSucceeded If($Intune_ConfigDeployment_graph -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Intune_ConfigDeployment_graph - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Intune_ConfigDeployment_graph - Error " Write-Host @ErrorIcon } Write-Host `n # Intune (POSH and Win32 Apps deployment) Test reachability Write-Host -BackgroundColor DarkBlue "--- Checking connectivity for: Network requirements for PowerShell scripts and Win32 apps ---" $Intune_AppDeployment_pri = (Test-NetConnection euprodimedatapri.azureedge.net -Port 443).TcpTestSucceeded If($Intune_AppDeployment_pri -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Intune_AppDeployment_pri - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Intune_AppDeployment_pri - Error " Write-Host @ErrorIcon } $Intune_AppDeployment_sec = (Test-NetConnection euprodimedatasec.azureedge.net -Port 443).TcpTestSucceeded If($Intune_AppDeployment_sec -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Intune_AppDeployment_sec - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Intune_AppDeployment_sec - Error " Write-Host @ErrorIcon } $Intune_AppDeployment_hotfix = (Test-NetConnection euprodimedatahotfix.azureedge.net -Port 443).TcpTestSucceeded If($Intune_AppDeployment_hotfix -eq "True"){ Write-Host -NoNewline -ForegroundColor DarkGreen "Intune_AppDeployment_hotfix - Success " Write-Host @CheckIcon } else { Write-Host -NoNewline -ForegroundColor DarkRed "Intune_AppDeployment_hotfix - Error " Write-Host @ErrorIcon } Write-Host `n $Global:ProgressPreference = $OriginalProgressPreference Read-Host -Prompt "Press Enter to exit" } function Get-TimeStamp { return "[{0:HH:mm:ss}]" -f (Get-Date) } function Write-Log { Param ( $text ) "$text" | out-file "c:\Autopilot_Import_GUI_log.txt" -Append -Force } Write-Log -text "--- Start Logging: $(Get-TimeStamp) ---" #Time and Date $timer1 = New-Object 'System.Windows.Forms.Timer' $timer1_Tick={ $var_text_time.Text = (Get-Date).ToString("HH:mm:ss") } $timer1.Enabled = $True $timer1.Interval = 1000 # in ms -> 1000 = Update clock every second $timer1.add_Tick($timer1_Tick) $var_text_date.Text = (Get-Date).ToString("MM:dd:yyyy") #endregion #Region Icons $CheckIcon = @{ Object = [Char]8730 ForegroundColor = 'Green' NoNewLine = $false } $ErrorIcon = @{ Object = [Char]8709 ForegroundColor = 'Red' NoNewLine = $false } #endregion #endregion # Add Grouptags: $var_dropdown.Items.Add("") $var_dropdown.Items.Add("GroupTag 1") $var_dropdown.Items.Add("GroupTag 2") $var_dropdown.Items.Add("GroupTag 3") $var_dropdown.Items.Add("GroupTag 4") $var_dropdown.Items.Add("GroupTag 5") $var_dropdown.Items.Add("GroupTag 6") $var_text_serialnumber.Text = (Get-WmiObject -class win32_bios).SerialNumber $var_text_devicemodel.Text = (Get-CimInstance -ClassName Win32_ComputerSystem).Model $var_text_devicename.Text = (Get-CimInstance -ClassName Win32_ComputerSystem).Name $var_text_manufacturer.Text = (Get-CimInstance -ClassName Win32_ComputerSystem).Manufacturer $var_text_freespace.Text = (Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object -Property DeviceID,@{'Name' = 'FreeSpace (GB)'; Expression= { [int]($_.FreeSpace / 1GB) }} | Measure-Object -Property 'FreeSpace (GB)' -Sum).Sum $var_dropdown.Add_SelectionChanged( { $grouptag_list = $var_dropdown.selectedItem $var_text_output.AppendText("`r`n$(Get-TimeStamp) Selected Group Tag: " + $grouptag_list) $GroupTag = $grouptag_list $var_text_output.ScrollToEnd() }) $var_button_register.Add_Click{ $var_text_output.AppendText("`r`n$(Get-TimeStamp) Installing Powershell Module Get-WindowsAutopilotInfo.") Write-Log -text "`r`n$(Get-TimeStamp) Installing Powershell Module Get-WindowsAutopilotInfo." $var_text_output.AppendText("`r`n$(Get-TimeStamp) Running import process.") Write-Log -text "`r`n$(Get-TimeStamp) Running import process." $scriptlocation = "$env:ProgramFiles\WindowsPowerShell\Scripts" cd $scriptlocation $grouptag_list = $var_dropdown.selectedItem $GroupTag = $grouptag_list if ([string]::IsNullOrWhiteSpace($GroupTag) -eq "True"){ $Start_Register = (Start-Process PowerShell -Argumentlist " -NoExit #-NoProfile Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned Install-PackageProvider -Name NuGet -Force Write-Host 'Installing Get-WindowsAutopilotInfo:'`n Install-Script -Name Get-WindowsAutoPilotInfo -Force Write-Host 'No Group Tag is selected' Write-Host 'Installing dependencies (Module: WindowsAutopilotIntune).'`n Write-Host 'Opening Login Window after the installation was successfull:'`n .\Get-WindowsAutopilotInfo.ps1 -online Write-Host 'Everything completed. Rebooting now ...'`n Start-Sleep -s 2 Restart-Computer " -Wait) } else { $Start_Register = (Start-Process PowerShell -Argumentlist " -NoExit #-NoProfile Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned Install-PackageProvider -Name NuGet -Force Write-Host 'Installing Get-WindowsAutopilotInfo:'`n Install-Script -Name Get-WindowsAutoPilotInfo -Force Write-Host 'Selected $GroupTag' Write-Host 'Installing dependencies (Module: WindowsAutopilotIntune).'`n Write-Host 'Opening Login Window after the installation was successfull:'`n .\Get-WindowsAutopilotInfo.ps1 -online -assign -GroupTag '$GroupTag' -reboot Write-Host 'Everything completed. Rebooting now ...'`n Start-Sleep -s 2 Restart-Computer " -Wait) } $var_text_output.AppendText("`r`n$(Get-TimeStamp) Running: Get-WindowsAutoPilotInfo.ps1 -GroupTag $GroupTag -online -assign -reboot") # Scroll to bottom of the output box. $var_text_output.ScrollToEnd() } if (Test-Connection 8.8.8.8 -Quiet -ErrorAction "SilentlyContinue"){ Write-Host "Internet connection available." Write-Log -text "`r`n$(Get-TimeStamp) Connected to the Internet." $var_text_internet_connection.text = "Internet connection available." $var_text_internet_connection.Fontweight = "Bold" $var_text_internet_connection.Foreground = "#00a300" } else { Write-Host "Internet connection not available." Write-Log -text "`r`n$(Get-TimeStamp) Not connected to the Internet." $var_text_internet_connection.text = "Internet connection not available." $var_text_internet_connection.Fontweight = "Bold" $var_text_internet_connection.Foreground = "#a30000" } $var_button_check_connectivity.Add_Click{ $var_text_output.AppendText("`r`n$(Get-TimeStamp) Running Network connectivity check.") Write-Log -text "`r`n$(Get-TimeStamp) Running Network connectivity check." $getfunction = (Get-Command -Type Function connectivity_check) $fullgetfunction = 'Function ' + $getfunction.Name + " {`n" + $getfunction.Definition + "`n}" Start-Process powershell -args '-noprofile', '-EncodedCommand', ` ([Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes("$fullgetfunction; connectivity_check"))) } $var_button_howto.Add_Click{ Start-Process www.ugurkoc.de } $var_text_author.Text = "Ugur Koc" $var_text_version.text = "Version 0.1" # Open GUI $Null = $window.ShowDialog() |