You can use the Environment.GetFolderPath()
method to get the full path to special folders:
$DesktopPath = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop)
This can be shortened to:
$DesktopPath = [Environment]::GetFolderPath("Desktop")
You can also get the “AllUsers” shared desktop folder (if the shortcut file is shared among all users):
[Environment]::GetFolderPath("CommonDesktopDirectory")
Check out the full list of values for the SpecialFolder
Enum.