How do I start remote desktop from PowerShell?
Same as in command line, you can launch the RDP client as so:
mstsc /v:10.10.10.10:3389
From your desktop, you can start an RDP session pointing to a remote system with this:
Start-Process "$env:windir\system32\mstsc.exe" -ArgumentList "/v:$machinename"
Where $machinename
is the name of the remote system. You will be prompted for credentials.
Connection settings are stored in .rdp files. There is no need to specify a computer name and list other settings in the code.Connect Hyper-V with settings from .rdp file:
$hyperv = Get-VM -Name "VM-Name"if($hyperv.State -eq "Running") { Write-Host "Hyper-V is Running." Start-Process "$env:windir\system32\mstsc.exe" -ArgumentList "$env:userprofile\Documents\RDP-Name.rdp"} else { Write-Host "Hyper-V is Stopped." Start-VM -Name "VM-Name" Start-Sleep -Seconds 6 Start-Process "$env:windir\system32\mstsc.exe" -ArgumentList "$env:userprofile\Documents\RDP-Name.rdp"}
Well, for the beauty of this whole process, create a .vbs file in the same folder that calls your .ps1 file in invisible mode.
Set objShell = WScript.CreateObject("WScript.Shell")Set FSO = CreateObject("Scripting.FileSystemObject")Set F = FSO.GetFile(Wscript.ScriptFullName)path = FSO.GetParentFolderName(F)objShell.Run(CHR(34) & "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "" -ExecutionPolicy Bypass & ""'" & path & "\Ps1File.ps1'" & CHR(34)), 0, True