Windows : exécuter un script Powershell

L'utilisation de Powershell permet d'optimiser davantage Windows. Mais il n'est pas si simple d'écrire librement des scripts. C'est pourquoi Microsoft empêche que les scripts puissent être exécutés tels quels. Vous trouverez ci-dessous quelques conseils sur l'exécution de scripts.

  • Qu'est-ce qu'un script Powershell au juste?
  • Pourquoi ne peut-on pas lancer un tel script par un simple double-clic?
  • Comment puis-je quand même exécuter le script que j'ai écrit moi-même via la console ?
  • Comment puis-je exécuter mon script Powershell par un double-clic ?

Qu'est-ce qu'un script Powershell ?

Un script Powershell est tout simplement un fichier texte qui contient des commandes pour Powershell. Lorsque ce fichier est ouvert, les commandes sont exécutées par Windows. Il est donc possible - avec le savoir-faire correspondant - de programmer des applications ou des processus simples dans un fichier que Windows exécute ensuite. Les processus informatiques peuvent ainsi être considérablement facilités. Les scripts Powershell peuvent se présenter sous la forme de fichiers de script avec l'extension .ps1, de fichiers de données de script avec l'extension .psd1 ou de fichiers de module de script avec l'extension .psm1.

Pourquoi ne peut-on pas lancer un tel script par un simple double-clic?

Microsoft a remplacé l'ancienne fenêtre de commande par Powershell avec Windows 10. Dans le cadre de ce changement, quelques mesures de sécurité ont également été prises. Ainsi, les scripts Powershell ne peuvent pas être ouverts par un double-clic, afin que les non-initiés ne puissent pas simplement ouvrir un fichier texte quelconque contenant des commandes et mettre ainsi en danger la stabilité de Windows. En effet, les commandes Powershell peuvent interférer profondément avec le système et, dans le pire des cas, causer des dommages considérables.

Comment puis-je tout de même exécuter le script que j'ai écrit moi-même via la console?

Pour commencer, vous devez vous assurer que votre script fonctionne. Vérifiez donc encore une fois qu'il n'y a pas d'erreurs dans le fichier texte.

    1. Exécutez d'abord PowerShell en tant qu'administrateur. Avec la commande Get-ExecutionPolicy , vous pouvez savoir quelle stratégie est actuellement active. Il existe différentes politiques de sécurité selon lesquelles Windows décide si un script peut être exécuté. En cas de doute, il devrait être Restricted. Restricted est la politique par défaut qui interdit l'exécution de tout script Powershell.
    2. Entrez ensuite Set-ExecutionPolicy [politique] -force. Remplacez [politique] par l'une des politiques suivantes :
  1. Unrestricted :
    • Cette politique autorise l'exécution de tout script Powershell. Peu importe que vous ayez écrit le script vous-même ou qu'il provienne d'Internet ou de quelqu'un d'autre.

    AllSigned :

    • Dans cette politique, seuls les scripts disposant d'un certificat numérique sous la forme d'une signature numérique sont lancés. Si ce n'est pas le cas, Windows vous demandera si l'éditeur est digne de confiance.

    RemoteSigned:

    • Il s'agit ici d'exécuter tous les scripts créés localement, c'est-à-dire écrits sur cet ordinateur lui-même. Wenn Sie ein Skript aus dem Internet herunterladen, muss es über eine digitale Signatur verfügen, damit es ausgeführt werden kann.
  2. Um das Skript ausführen zu können, rufen Sie über die Konsole in der Powershell den entsprechenden Ordner/Dateipfad auf.
  3. Geben Sie danach den Befehl [Skriptname].ps1 ein. Damit wird Ihr Skript gestartet.

Wie kann ich mein Powershell Skript per Doppelklick ausführen?

    1. Klicken Sie mit der rechten Maustaste auf Ihren Desktop und wählen Sie "Neue Verknüpfung" aus.
    2. Geben Sie als Speicherort Folgendes ein:
  1. %windir%System32WindowsPowerShellv1.0powershell.exe -noexit -File "[Dateipfad][Skriptname].ps1"
  2. Geben Sie der Verknüpfung dann einen eindeutigen Namen. Si vous double-cliquez maintenant sur le raccourci, le script enregistré avec le nom de script correspondant dans le chemin de fichier correspondant sera automatiquement exécuté.