IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Script raccourci windows


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Points : 67
    Points
    67
    Par défaut Script raccourci windows
    Bonjour

    J'aimerai avoir une petite aide concernant un script (qui sera ensuite appeler par Python) pour que l'icone soit directement sur le bureau, la problématique étant que le nom du profil ne peut pas être statique puisqu'il sera utiliser sur différente machine, donc avec des noms de session différente, d'ou le fait que je peux pas le mettre en "statique" comme les nombreux exemple que j'ai pu voir.

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $SourceFileLocation = "$env:USERPROFILE\Desktop\soft\APps\monapplis.exe"
    $ShortcutLocation = "C:\Users\%USERPROFILE%\Desktop\monapplis.lnk"
    $WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutLocation)
    $Shortcut.TargetPath = $SourceFileLocation
    $Shortcut.Save()

    Et j'ai une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Impossible d'enregistrer le raccourci "C:\Users\%USERPROFILE%\Desktop\TEST.lnk".
    Au caractère Ligne:10 : 1
    + $Shortcut.Save()
    + ~~~~~~~~~~~~~~~~
        + CategoryInfo          : OperationStopped: (:) [], DirectoryNotFoundException
        + FullyQualifiedErrorId : System.IO.DirectoryNotFoundException
    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    J'ai tenté une update de mon script

    Cet fois ci j'ai pas d'erreur, l'icone est bien présente mais non valide



    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $WScriptShell = New-Object -ComObject WScript.Shell
    $TargetFile = "$env:username\Desktop\soft\APps\monapplis.exe"
    $ShortcutFile = "C:\users\$env:username\Desktop\monapplis.lnk"
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
    $Shortcut.TargetPath = $TargetFile
    $Shortcut.Save()

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Points : 386
    Points
    386
    Par défaut
    Bonjour,

    Je pense que j'aurais effectué une recherche du user en amont plutôt que de d'utiliser la variable $env:USERPROFILE, j'aurai fait ceci :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    (get-wmiobject -Class Win32_Computersystem).Username

    Ce morceau va permettre de récupérer l'utilisateur connecté, si vous avez un nom de domaine, vous pouvez remplacer celui-ci exemple :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (get-wmiobject -Class Win32_Computersystem).Username  -replace "mondomain/",""

    De cette manière vous récupérer le nom de l'utilisateur, vous n'avez plus qu'à mettre cette commande dans une variable et d'utiliser cette variable dans le chemin :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $user = (get-wmiobject -Class Win32_Computersystem).Username  -replace "mondomain/",""
    $SourceFileLocation = "$user\Desktop\soft\APps\monapplis.exe"
    $ShortcutLocation = "C:\Users\$user\Desktop\monapplis.lnk"
    $WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutLocation)
    $Shortcut.TargetPath = $SourceFileLocation
    $Shortcut.Save()

    ou bien peut-être essayer ceci :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $user = $env:username
    $SourceFileLocation = "$user\Desktop\soft\APps\monapplis.exe"
    $ShortcutLocation = "C:\Users\$user\Desktop\monapplis.lnk"
    $WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutLocation)
    $Shortcut.TargetPath = $SourceFileLocation
    $Shortcut.Save()
    La folie, c’est se comporter de la même manière et s’attendre à un résultat différent.

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Je conseil de ne pas utiliser le WMI quand c'est possible.

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $desktop = [Environment]::GetFolderPath("Desktop")
    $SourceFileLocation = "$desktop\soft\APps\monapplis.exe"
    $ShortcutLocation = "$desktop\monapplis.lnk"
    $WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutLocation)
    $Shortcut.TargetPath = $SourceFileLocation
    $Shortcut.Save()

    On a déjà joué avec la création d'un raccourci (avec icône) en vbs (même objet COM) : https://www.developpez.net/forums/d2...-appli-metier/

    PS : Pourquoi cette distinction ? Ce n'est pas le même "desktop" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $SourceFileLocation = "$user\Desktop\soft\APps\monapplis.exe"
    $ShortcutLocation = "C:\Users\$user\Desktop\monapplis.lnk"

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par kaillros Voir le message
    J'ai tenté une update de mon script

    Cet fois ci j'ai pas d'erreur, l'icone est bien présente mais non valide



    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $WScriptShell = New-Object -ComObject WScript.Shell
    $TargetFile = "$env:username\Desktop\soft\APps\monapplis.exe"
    $ShortcutFile = "C:\users\$env:username\Desktop\monapplis.lnk"
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
    $Shortcut.TargetPath = $TargetFile
    $Shortcut.Save()
    l'appli est bien présente ? elle se trouve de base sur tous les "\Desktop\soft\APps\monapplis.exe" de chaque utilisateur ?

Discussions similaires

  1. envoi de commande raccourci windows
    Par Ludo_360 dans le forum Delphi
    Réponses: 2
    Dernier message: 09/05/2007, 15h47
  2. script arrêt windows xp pro
    Par ylarvor dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/04/2007, 21h06
  3. Execution de script sous windows
    Par vinzzzz dans le forum Général Python
    Réponses: 5
    Dernier message: 26/09/2006, 19h55
  4. Raccourci Windows-E affiche un module de recherche bizarre
    Par Maximil ian dans le forum Windows XP
    Réponses: 5
    Dernier message: 12/06/2006, 10h03
  5. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo