Si j'essaie de changer la politique d'exécution, je reçois un message qui dit que je ne peux pas modifier le registre car je ne suis pas administrateur. P>
On dirait que cela devrait être possible, car je peux exécuter des fichiers par lots et d'autres programmes .exe et .com. p>
5 Réponses :
Vous pouvez essayer de définir la stratégie du processus lui-même. p>
powershell.exe -executionpassepoly bypass p> blockQuote>
Des 3 techniques que j'ai vues, c'est le plus simple. Fonctionne à la maison, travaille au bureau.
C'est ce que je cherchais.
Que diriez-vous de
$script = Get-Content .\test.ps1 Invoke-Expression $script
Si votre administrateur de domaine ne l'a pas interdit, vous pouvez le faire:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
Je ne saurais pas de quelle stratégie de groupe l'ensemble de l'administrateur au bureau. Je me demande si la police arrête la technique d'expression invoke et la technique -CODEDCommand, qui permettent à la fois le contenu d'un fichier de script d'exécuter sans modifier la politique d'exécution.
Je ne penserais pas, mais je ne l'ai pas testé. Si PowerShell est activé, vous pouvez toujours "exécuter" un script en saisissant simplement la ligne de commande. L'objectif de la politique d'exécution n'est pas vraiment d'arrêter un utilisateur déterminé, il est d'empêcher un utilisateur non au courant d'exécuter accidentellement des scripts non approuvés.
Parfait, merci beaucoup :)
La troisième technique que j'ai trouvée ailleurs sur Internet est d'utiliser
PowerShell.exe -EncodedCommand xxxxxxx p>
où xxxxxxx est le résultat de p> ref:
http://dmitrysotnikov.wordpress.com/ 2008/06/27 / PowerShell-Script-in-A-Bat-File / P> P>
Si vous souhaitez avoir un moyen facile d'exécuter un script si simple, cela me fait me demander pourquoi vous ne pouvez pas simplement exécuter le PS1 en premier lieu, mais là, nous y allons. P> une version générique qui invite à UserInput Pour taper le nom du script serait: P> myscript.ps1 code> à partir du shell Windows, tout ce dont vous avez besoin est une batte runmyscript.bat code> avec le contenu suivant : set /p filename="Type name of script here: "
type %filename% | powershell -