2 0

Create shortcut using PowerShell

Public Desktop:

$Shell = New-Object -ComObject WScript.Shell
$Location = "C:\Users\public\Desktop"
$Application = "Remote Desktop.lnk"
$Shortcut = $shell.CreateShortcut("$Location\$Application")
$Shortcut.TargetPath = "C:\Program Files\Remote Desktop\msrdcw.exe"
$Shortcut.IconLocation = "C:\Program Files\Remote Desktop\msrdcw.exe,0"
$Shortcut.Description = "Microsoft Remote Desktop Client"
$Shortcut.WorkingDirectory = "C:\Program Files\Remote Desktop\"
if (-Not (Test-Path $Location\$Application)) {
$Shortcut.Save()
}

All Users Start Menu:
$Shell = New-Object -ComObject WScript.Shell
$Location = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
$Application = "Remote Desktop.lnk"
$Shortcut = $shell.CreateShortcut("$Location\$Application")
$Shortcut.TargetPath = "C:\Program Files\Remote Desktop\msrdcw.exe"
$Shortcut.IconLocation = "C:\Program Files\Remote Desktop\msrdcw.exe,0"
$Shortcut.Description = "Microsoft Remote Desktop Client"
$Shortcut.WorkingDirectory = "C:\Program Files\Remote Desktop\"
if (-Not (Test-Path $Location\$Application)) {
$Shortcut.Save()
}

Both:
$Shell = New-Object -ComObject WScript.Shell

$Location1 = "C:\Users\public\Desktop"
$Location2 = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
$Application = "Remote Desktop.lnk"

$TargetPath = "C:\Program Files\Remote Desktop\msrdcw.exe"
$IconLocation = "C:\Program Files\Remote Desktop\msrdcw.exe"
$Description = "Microsoft Remote Desktop Client"
$WorkingDirectory = "C:\Program Files\Remote Desktop\"

if (-Not (Test-Path $Location1\$Application)) {
$Shortcut = $shell.CreateShortcut("$Location1\$Application")
$Shortcut.TargetPath = "$TargetPath"
$Shortcut.IconLocation = "$IconLocation"
$Shortcut.Description = "$Description"
$Shortcut.WorkingDirectory = "$WorkingDirectory"
$Shortcut.Save()
}

if (-Not (Test-Path $Location2\$Application)) {
$Shortcut = $shell.CreateShortcut("$Location2\$Application")
$Shortcut.TargetPath = "$TargetPath"
$Shortcut.IconLocation = "$IconLocation"
$Shortcut.Description = "$Description"
$Shortcut.WorkingDirectory = "$WorkingDirectory"
$Shortcut.Save()
}

[showhide]

set TARGET='C:\Program Files\Remote Desktop\msrdcw.exe'
set SHORTCUT='C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Remote Desktop.lnk'
set PWS=powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile

%PWS% -Command "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut(%SHORTCUT%); $S.TargetPath = %TARGET%; $S.Save()"

[/showhide]