PowerShell桌面变量

PowerShell桌面变量,powershell,desktop,Powershell,Desktop,我正在尝试编写PowerShell脚本,以便在通过sccm安装后删除Chrome的桌面图标。但是,网络中的某些用户将其桌面定向到网络上的不同文件夹PowerShell中是否有存储桌面位置的变量? 我在网上搜索过,使用Get Variable | Out String,但没有找到任何东西。完成的代码应该如下所示: If (Test-Path "$DesktopLocation\Google Chrome.lnk"){ Remove-Item "$DesltopLocation\Google

我正在尝试编写PowerShell脚本,以便在通过sccm安装后删除Chrome的桌面图标。但是,网络中的某些用户将其桌面定向到网络上的不同文件夹PowerShell中是否有存储桌面位置的变量?

我在网上搜索过,使用
Get Variable | Out String
,但没有找到任何东西。完成的代码应该如下所示:

If (Test-Path "$DesktopLocation\Google Chrome.lnk"){
    Remove-Item "$DesltopLocation\Google Chrome.lnk"
}
您可以使用获取特殊文件夹的完整路径:

$DesktopPath = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop)
这可以缩短为:

$DesktopPath = [Environment]::GetFolderPath("Desktop")

您还可以获取“AllUsers”共享桌面文件夹(如果快捷方式文件在所有用户之间共享):


查看。

的完整值列表。您要查找的变量称为
$home
。这是PowerShell内置的一个

它默认为用户配置文件路径,因此向下钻取到桌面,如下所示:

If (Test-Path "$home\Desktop\Google Chrome.lnk") {
    Remove-Item "$home\Desktop\Google Chrome.lnk"
}

如果需要$Desktop\a.txt,请使用此选项

echo ([Environment]::GetFolderPath("Desktop")+"\a.txt")

这适用于本地桌面,但不适用于像我的场景中那样的重定向桌面。真遗憾,它没有下载文件夹的枚举。
echo ([Environment]::GetFolderPath("Desktop")+"\a.txt")