Function Get-FileName($initialDirectory) { [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog $OpenFileDialog.initialDirectory = $initialDirectory $OpenFileDialog.filter = "PS1 (*.ps1)| *.ps1" $OpenFileDialog.ShowDialog((New-Object System.Windows.Forms.Form -Property @{TopMost = $true })) | Out-Null $OpenFileDialog.filename } $file = Get-FileName -initialDirectory "C:\Users\USER\PATH\Documents\WindowsPowerShell" "&'$file'" | invoke-expression