2017-04-20 1 views
2

En fonction de l'origine du problème, cette question peut ou non être plus appropriée pour SuperUser, mais comme je ne trouve pas l'origine du problème, je vais essayer de l'afficher ici en premier lieu. si cela doit être déplacé.Lancement du script PowerShell avec raccourci clavier

J'ai essayé de regarder this StackOverflow post mais l'affiche n'a pas les mêmes problèmes que moi. Mon estimation actuelle est qu'il me manque une forme de paramètre lors du lancement de l'instance PowerShell. J'essaie de lancer un script PowerShell à l'aide de raccourcis clavier. Mon script actuel (super-simple, il suffit demande un oui/non popup) ressemble à ceci:

$a = new-object -comobject wscript.shell 
$a.popup("Here's a test script", 0,"Title goes here", 4) 

Pour vous assurer que c'était pas de problème de consultation, je mets à la fois le script et le raccourci vers le script sur le bureau, à savoir:

  • C: \ users \ me \ desktop \ ShortcutTest.ps1
  • C: \ users \ me \ desktop \ ShortcutTest - shortcut.ps1

le raccourci a les paramètres suivants dans le propert s:

 
Target:  C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File 'C:\Users\me\Desktop\ShortcutTest.ps1' 
Start in:  C:\Users\me\Desktop 
Shortcut key: Ctrl + Alt + Q 

le problème est quand je le raccourci démarre avec succès une fenêtre PowerShell, mais il ferme immédiatement l'instance.

Dépannage jusqu'à

  • Exécution du raccourci en tant qu'administrateur, même résultat
  • Modification de l'emplacement du raccourci, même résultat
  • Modification de l'emplacement du script réel, même résultat (il a initialement résidé sur un serveur qui empêche les scripts)
  • Changement des sections 'Début' et 'Cible' du raccourci, même résultat
  • Si vous supprimez le paramètre -File de la cible dans le raccourci, l'instance de PowerShell reste ouverte. Je suppose donc qu'il manque des paramètres dans le script ou lorsque je l'appelle depuis le raccourci. Changer le contenu du script en un simple 'Write-Host "" Great successful "' ferme immédiatement l'instance de PowerShell, ce qui me fait suspecter que ce sont les paramètres utilisés dans la 'Target' (-File et -ExecutionPolicy) qui est Il manque quelque chose.

Si quelqu'un a des conseils sur la façon dont je pourrais résoudre ce problème, ou au moins résoudre le problème, ce serait grandement apprécié!

+0

« Quand je le raccourci, il démarre avec succès une fenêtre Powershell, mais il ferme immédiatement l'instance. » Qu'espériez-vous arriver? Il exécute le script et le shell se termine. Voulez-vous dire que vous voulez que le script s'exécute mais que la fenêtre de la console reste après la fin du script? –

+0

Ah, désolé de ne pas être clair :) le script est supposé attendre que l'utilisateur clique sur l'une des cases de la fenêtre d'invite.Lors de l'exécution manuelle du script, l'utilisateur est invité à indiquer une case à cocher oui/non, mais lorsque je l'exécute avec le raccourci, l'invite ne s'affiche pas. – MagneTism

+1

Essayez ceci, cela fonctionne pour moi sur un autre fichier que j'ai: C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -WindowStyle caché -ExecutionPolicy ByPass -File 'C: \ Users \ moi \ Desktop \ ShortcutTest .ps1 ' –

Répondre

2

Essayez ceci:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" - 
    WindowStyle Hidden -ExecutionPolicy ByPass -File 
    'C:\Users\me\Desktop\ShortcutTest.ps1'