J'essaie d'écrire un script PowerShell pour supprimer l'icône du bureau pour Chrome après l'installation via sccm. Cependant, certains utilisateurs du réseau ont leur bureau dirigé vers différents dossiers sur le réseau. Existe-t-il une variable dans PowerShell qui stocke l'emplacement du bureau?
J'ai cherché en ligne et recherché à l'aide de Get-Variable | Out-String
, mais je n'ai rien trouvé. Le code fini devrait ressembler à:
If (Test-Path "$DesktopLocation\Google Chrome.lnk"){
Remove-Item "$DesltopLocation\Google Chrome.lnk"
}
Vous pouvez utiliser la méthode Environment.GetFolderPath()
pour obtenir le chemin d'accès complet aux dossiers spéciaux:
$DesktopPath = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop)
Cela peut être raccourci en:
$DesktopPath = [Environment]::GetFolderPath("Desktop")
Vous pouvez également obtenir le dossier de bureau partagé "AllUsers" (si le fichier de raccourci est partagé entre tous les utilisateurs):
[Environment]::GetFolderPath("CommonDesktopDirectory")
Consultez la liste complète des valeurs pour SpecialFolder Enum sur MSDN .
Si vous avez besoin de $ Desktop\a.txt, utilisez ceci
echo ([Environment]::GetFolderPath("Desktop")+"\a.txt")
Ce que vous recherchez est connu sous le nom de $home
variable. C'est l'une des fonctions intégrées de PowerShell variables automatiques .
Par défaut, il s'agit du chemin du profil utilisateur, alors explorez le bureau comme suit:
If (Test-Path "$home\Desktop\Google Chrome.lnk") {
Remove-Item "$home\Desktop\Google Chrome.lnk"
}