2010-10-20 7 views
-8

Je voulais donc commencer à écrire un script PowerShell. Je voulais commencer petit et écrire simplement un script qui substiute un dossier de fichiers local en tant que lecteur. Assez simple. Je l'ai fait avant d'utiliser les anciens outils de commande DOS.Les scripts Powershell ne fonctionnent pas par défaut

Donc le script que je voulais écrire est:

subst d: G:\CER 

Ok, alors j'essaie d'exécuter le script dans le Powershell ISE en appuyant sur le bouton 'Play' (c.-à-F5)

Alors, que est-ce que je reçois?

fichier G: \ CER \ Make_Stage.ps1 ne peut pas être chargé car l'exécution de scripts est désactivé sur ce système. Veuillez voir "get-help about_signing" pour plus de détails. En ligne: 0 CHAR: 0

Comment est-ce stupide, que de l'exécution de la boîte de scripts PowerShell sont désactivé! c'est-à-dire par défaut! Tout simplement incroyable que par défaut ce nouvel outil fait simplement pas travail. Powershell doit être le plus stupide des scripts.

Donc, apparemment, je dois enregistrer quelque chose quelque part (je l'espère pas avec MS). Si quelqu'un a une réponse sur la façon de résoudre ce problème, je l'apprécierais.

Répondre

17

Pour activer les scripts, ouvrez une invite de PowerShell en tant qu'administrateur et exécutez:

 
Set-ExecutionPolicy RemoteSigned 

Voici un billet de blog de Lee qui parle des principes de sécurité de PowerShell (http://www.leeholmes.com/blog/2005/08/16/demonstration-of-monads-security-features/). Gardez à l'esprit que la plupart des ordinateurs n'exécuteront jamais de script PowerShell.

+0

Merci pour la réponse. C'est exactement ce dont j'avais besoin. –

+0

Bien que, "la plupart des ordinateurs ne seront jamais" n'est pas vrai. Microsoft utilise PowerShell dans leur tâche "Fix It", mais vous pouvez remplacer ExecutionPolicy sur la ligne de commande PowerShell.exe pour contourner le problème sans modifier le paramètre. – Jaykul

+4

Aussi: si vous n'êtes pas l'administrateur, vous pouvez toujours: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser – Jaykul

5

Pour résoudre ce problème, exécutez:

set-executionpolicy remotesigned 

Dans une invite de PowerShell élevée.

-2

Je l'ai trouvé:

De l'aide docs (DEEEP dans les documents d'aide)

DESCRIPTION LONG La politique d'exécution restreinte ne permet pas de scripts à exécuter.

Un long article s'ensuit sur la définition d'une stratégie d'exécution. Je ne suis pas impressionné jusqu'ici avec PS.

Questions connexes