Question Suppression de raccourci sur chaque utilisateurs

Plus d'informations
il y a 13 ans 1 mois #13784 par Suber
Bonjour,

Je bloque sur un script pour résumé :

J'aurais besoin que mon script récupère chaque utilisateurs qui c'est connecté au poste puis supprime le raccourci qui se trouve sur chaque profile utilisateur \"C:\Users\LOGIN\Desktop\Raccourci.lnk\"

J'ai commencé par récupérer chaque utilisateurs qui se sont connectés au poste via :

-> Get-WmiObject win32_userprofile | select localpath

Cela me récupère bien tous les utilisateurs qui se sont connectées au poste

Mais je n'arrive pas à traiter l'information par la suite Quelqu'un pourrait me donner un coup de pouce, main ou coup de pied :-)

Merci par avance

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #13787 par SiSMik
Salut,

Je pense que tu te tracasse pour rien à passer par des classes WMI.

Tous les utilisateurs qui se sont connectés sur ton pc ont forcément un dossier dans c:\users. Donc ceci devrait suffire

[code:1]
$LinkPath = \"\Desktop\Raccourci.lnk\"
# On récupère la liste des fichiers
Get-Childitem \"C:\Users\\" | Foreach {
# Pour chaque dossier utilisateur
# On crée le chemin complet
$FullLinkPath = $_ + $LinkPath
# Si le lien existe...
if (Test-Path $FullLinkPath) {
# On le supprime.
Remove-Item $FullLinkPath -Force
Write-Host \"Lien supprime pour $($_)\"
}
else {
Write-Host \"pas de lien à supprimer pour $($_)\"
}
}
[/code:1]

En espérant que ça t'aide

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #13790 par Laurent Dardenne
Salut,
benduru écrit:

Je pense que tu te tracasse pour rien à passer par des classes WMI.

Est-il possible de rediriger le répertoire[code:1] C:\Users [/code:1]?<br><br>Message édité par: Laurent Dardenne, à: 25/01/13 20:05

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #13794 par Suber
Un grand merci pour ta réponse benduru

J'ai modifié le script, car il y a un petit bug au niveau du test il n'y a pas le début du chemin qui est \&quot;C:\Users\&quot; Je l'ai placé dans une variable il s'adaptera dans n'importe quelle situation
Je remets le script modifié au cas ou quelqu'un en aura besoin
[code:1]
$LinkPath = \&quot;\Desktop\Raccourci.lnk\&quot;

# On récupère l'endroit ou ce trouve le Profile Directory
$ProfilesDirectory = (get-itemproperty -Path \&quot;HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\&quot; -Name ProfilesDirectory).ProfilesDirectory
Write-Host $ProfilesDirectory


# On récupère la liste des fichiers
Get-Childitem $ProfilesDirectory | Foreach {
# Pour chaque dossier utilisateur
# On crée le chemin complet
$FullLinkPath = $ProfilesDirectory + $_ + $LinkPath
# Si le lien existe...
if (Test-Path $FullLinkPath) {
# On le supprime.
Remove-Item $FullLinkPath -Force
Write-Host \&quot;Lien supprime pour $($_)\&quot;
}
else {
Write-Host \&quot;pas de lien à supprimer pour $($_)\&quot;
}
}
[/code:1]

PS : Pour Laurent Dardenne, Oui tu peux redirigé tu retrouves l'info dans:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- ProfilesDirectory

Message édité par: Suber, à: 28/01/13 11:03<br><br>Message édité par: Suber, à: 28/01/13 11:23

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena