Nota: Este artículo fue publicado originalmente en 2015. Algunos pasos, comandos o versiones de software pueden haber cambiado. Consulta la documentación actual de Windows para la información más reciente.
When deploying software in a business environment or setting up a shared computer, you often need to place a program shortcut where every user account on the machine can see it. Windows provides dedicated “Public” or “All Users” folders for this purpose. This guide covers the exact folder paths for every modern version of Windows, how to create shortcuts manually and with PowerShell, and how to deploy shortcuts at scale using Group Policy.
Understanding Windows Shortcut Locations
Windows maintains two levels of user profile folders for desktop and Start Menu items:
- Per-user folders — shortcuts placed here appear only for a single user account.
- Public (All Users) folders — shortcuts placed here appear for every user who logs into the machine.
When a user views their desktop or Start Menu, Windows merges the contents of both the per-user folder and the public folder. This means any .lnk file you place in the public folder automatically shows up for all accounts.
All Users Folder Paths by Windows Version
Desktop Shortcuts
| Windows Version | All Users Desktop Path |
|---|---|
| Windows 11 | C:\Users\Public\Desktop |
| Windows 10 | C:\Users\Public\Desktop |
| Windows 8 / 8.1 | C:\Users\Public\Desktop |
| Windows 7 | C:\Users\Public\Desktop |
| Windows Vista | C:\Users\Public\Desktop |
| Windows XP | C:\Documents and Settings\All Users\Desktop |
Start Menu Shortcuts
| Windows Version | All Users Start Menu Path |
|---|---|
| Windows 11 | C:\ProgramData\Microsoft\Windows\Start Menu\Programs |
| Windows 10 | C:\ProgramData\Microsoft\Windows\Start Menu\Programs |
| Windows 8 / 8.1 | C:\ProgramData\Microsoft\Windows\Start Menu\Programs |
| Windows 7 | C:\ProgramData\Microsoft\Windows\Start Menu\Programs |
The C:\ProgramData folder replaced the older C:\Documents and Settings\All Users\Application Data path starting with Windows Vista.
Using Environment Variables
Rather than hard-coding paths, you can use environment variables that resolve correctly regardless of the Windows version or drive letter:
:: All Users Desktop
%PUBLIC%\Desktop
:: All Users Start Menu Programs
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs
:: Current user's desktop (for reference)
%USERPROFILE%\Desktop
In PowerShell, you can also use the .NET special folders API:
# All Users Desktop
[Environment]::GetFolderPath("CommonDesktopDirectory")
# All Users Start Menu
[Environment]::GetFolderPath("CommonStartMenu")
# All Users Start Menu Programs subfolder
[Environment]::GetFolderPath("CommonPrograms")
Accessing the Hidden Public Desktop Folder
By default, the C:\Users\Public\Desktop folder is hidden in File Explorer. There are three ways to access it:
Option 1: Type the Path Directly
Open File Explorer and type the following into the address bar:
C:\Users\Public\Desktop
Press Enter, and the folder will open even though it is hidden.
Option 2: Use the Run Dialog
Press Win + R to open the Run dialog and type:
%PUBLIC%\Desktop
Option 3: Show Hidden Files
- Open File Explorer.
- Click the View tab (Windows 10) or click the three-dot menu and select Options (Windows 11).
- Check Hidden items (Windows 10) or go to View tab in Folder Options and select Show hidden files, folders, and drives (Windows 11).
- Navigate to
C:\Users\Publicand the Desktop folder will now be visible.
Creating Shortcuts Manually
Method 1: Copy an Existing Shortcut
The simplest approach is to find an existing shortcut on your desktop and copy it to the public folder:
- Right-click the shortcut on your desktop and select Copy.
- Navigate to
C:\Users\Public\Desktop. - Right-click in the folder and select Paste.
- You will need to confirm the UAC (User Account Control) prompt since the Public Desktop requires administrator privileges to modify.
Method 2: Create a New Shortcut Directly
- Navigate to
C:\Users\Public\Desktop. - Right-click in the empty space and select New > Shortcut.
- Browse to the program executable (e.g.,
C:\Program Files\MyApp\MyApp.exe). - Enter a name for the shortcut and click Finish.
Creating Shortcuts with PowerShell
For automation and scripting, PowerShell provides a reliable way to create shortcuts programmatically. This is especially useful in deployment scripts, SCCM task sequences, or Intune remediation scripts.
Basic Desktop Shortcut
# Create a shortcut on the All Users desktop
$WshShell = New-Object -ComObject WScript.Shell
$ShortcutPath = "$env:PUBLIC\Desktop\My Application.lnk"
$Shortcut = $WshShell.CreateShortcut($ShortcutPath)
$Shortcut.TargetPath = "C:\Program Files\MyApp\MyApp.exe"
$Shortcut.WorkingDirectory = "C:\Program Files\MyApp"
$Shortcut.Description = "Launch My Application"
$Shortcut.IconLocation = "C:\Program Files\MyApp\MyApp.exe,0"
$Shortcut.Save()
Write-Host "Shortcut created at $ShortcutPath"
Start Menu Shortcut
# Create a shortcut in the All Users Start Menu Programs folder
$WshShell = New-Object -ComObject WScript.Shell
$StartMenuPath = "$env:ALLUSERSPROFILE\Microsoft\Windows\Start Menu\Programs"
$ShortcutPath = "$StartMenuPath\My Application.lnk"
$Shortcut = $WshShell.CreateShortcut($ShortcutPath)
$Shortcut.TargetPath = "C:\Program Files\MyApp\MyApp.exe"
$Shortcut.WorkingDirectory = "C:\Program Files\MyApp"
$Shortcut.Description = "Launch My Application"
$Shortcut.Save()
Write-Host "Start Menu shortcut created at $ShortcutPath"
Start Menu Subfolder
To organize your shortcut into a subfolder within the Start Menu:
# Create a subfolder and shortcut in the All Users Start Menu
$StartMenuFolder = "$env:ALLUSERSPROFILE\Microsoft\Windows\Start Menu\Programs\My Company"
# Create the folder if it does not exist
if (-not (Test-Path $StartMenuFolder)) {
New-Item -ItemType Directory -Path $StartMenuFolder -Force
}
$WshShell = New-Object -ComObject WScript.Shell
$ShortcutPath = "$StartMenuFolder\My Application.lnk"
$Shortcut = $WshShell.CreateShortcut($ShortcutPath)
$Shortcut.TargetPath = "C:\Program Files\MyApp\MyApp.exe"
$Shortcut.Arguments = "--some-flag"
$Shortcut.WorkingDirectory = "C:\Program Files\MyApp"
$Shortcut.WindowStyle = 1 # 1 = Normal, 3 = Maximized, 7 = Minimized
$Shortcut.Save()
Shortcut with URL Target
To create a web link shortcut (.url file) instead of a program shortcut:
# Create a URL shortcut on the All Users desktop
$UrlShortcutPath = "$env:PUBLIC\Desktop\Company Intranet.url"
$UrlContent = @"
[InternetShortcut]
URL=https://intranet.company.com
IconIndex=0
IconFile=C:\Windows\System32\shell32.dll
"@
Set-Content -Path $UrlShortcutPath -Value $UrlContent
Deploying Shortcuts with Group Policy
For domain-joined environments, Group Policy Preferences (GPP) is the most scalable way to deploy shortcuts to multiple computers.
Paso-by-Paso GPP Shortcut Deployment
- Open Group Policy Management on a domain controller or management workstation.
- Create a new GPO or edit an existing one linked to the desired OU.
- Navigate to Computer Configuración > Preferences > Windows Settings > Shortcuts (or use User Configuración if you want per-user targeting).
- Right-click Shortcuts and select New > Shortcut.
- Configure the shortcut properties:
- Action: Create (use Replace if you want to overwrite an existing shortcut)
- Name: The display name of the shortcut
- Target type: File System Object
- Location: All Users Desktop (or All Users Start Menu)
- Target path: The full path to the executable
- Icon file path: Path to the icon (optional)
- Click OK to save.
The shortcut will be created on target computers during the next Group Policy refresh (typically within 90 minutes, or immediately after running gpupdate /force).
Item-Level Targeting
GPP supports item-level targeting, which lets you conditionally deploy shortcuts based on criteria such as:
- Operating system version (e.g., only Windows 11)
- Seguridad group membership
- Computer name patterns
- IP address ranges
- Registry key values
This is useful when a particular application is only installed on certain machines.
Removing Shortcuts for All Users
To remove a shortcut from all users, simply delete the .lnk file from the public folder:
# Remove a desktop shortcut for all users
Remove-Item "$env:PUBLIC\Desktop\My Application.lnk" -Force
# Remove a Start Menu shortcut for all users
Remove-Item "$env:ALLUSERSPROFILE\Microsoft\Windows\Start Menu\Programs\My Application.lnk" -Force
Solución de Problemas Problemas Comunes
Shortcut Does Not Appear for Other Users
- Verify the shortcut is in
C:\Users\Public\Desktopand not in a specific user’sC:\Users\<username>\Desktopfolder. - Check that the shortcut file has appropriate read permissions for the
Usersgroup. - Ensure hidden files are visible if you are browsing in File Explorer.
Access Denied When Creating Shortcuts
- Writing to the Public Desktop or ProgramData folders requires administrator privileges. Run your script or File Explorer as Administrator.
- In Group Policy, ensure the GPO has the correct security filtering to apply to the target computers or users.
Shortcut Works for Admin but Not Standard Users
- The target executable may be in a folder that standard users cannot access. Verify that the program’s installation directory grants read and execute permissions to the
Usersgroup. - If the shortcut requires elevation, standard users will see a UAC prompt. Consider whether the application truly requires admin rights.