Neuer Rechner und schon wieder das alte Problem beim ausführen von Powershell Skripten: Die Datei kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist.... \1: Die Datei "C:\work\1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter "about_Execution_Policies" (:/). In Zeile:1 Zeichen:1 +. \1 + ~~~~~~~~~~~~~~~ + CategoryInfo: Sicherheitsfehler: (:) [], PSSecurityException + FullyQualifiedErrorId: UnauthorizedAccess Niemand ließt die eingebauten Manuals und wir alle fragen doch viel lieber Google und scheitern wenn es sich um ein deutsches Windows handelt. Uns geht es genauso (wenn wir deutsche Sprache verwenden würden) und daher hier ein kurzes Snippet zur schnellen Lösung des "Problems". Da ein Zugriff auf die Registry notwendig ist, müssen alle folgenden Kommandos in einer Powershell Session ausgeführt werden, welche "Als Administrator" ausgeführt wurde. Methode 1 - alles etwas unsicherer machen: set-executionpolicy remotesigned Damit wird die Ausführung erlaubt für alle lokalen Skripte, und nur heruntergeladene Skripte erfordern eine Signatur.
Wenn Sie versuchen, Skripte in PowerShell auszuführen, erhalten Sie eine ziemlich lange Fehlermeldung, die im Grunde sagt: "Skripting ist auf diesem System deaktiviert. " Dies ist eine Sicherheitsmaßnahme in PowerShell, um zu verhindern, dass bösartige Skripts ausgeführt werden und das System möglicherweise beschädigt wird. Natürlich ist das selbst geschriebene Skript nicht bösartig und sollte ausführbar sein. Um dieses Problem zu lösen, müssen Sie die Ausführungsrichtlinie in PowerShell ändern. Was verursacht den Fehler "Das Ausführen von Skripten ist auf diesem System deaktiviert"? Nachdem wir viele Berichte von mehreren Benutzern erhalten hatten, haben wir uns entschieden, dieses Problem zu untersuchen, und unsere Nachforschungen haben ergeben, dass der Fehler mit dem folgenden Problem zusammenhängt. Powershell verfügt über integrierte Sicherheitsfunktionen. Eine davon ist die sogenannte Durchsetzungspolitik. Diese Richtlinie kann die Ausführung von Skripts verhindern und kann in bestimmten Situationen nützlich sein.
Haupt / / PowerShell-Fehler Die Ausführung von Skripten ist auf diesem System deaktiviert. Ich habe ein Power-Shell-Skript, das ausgeführt wird, um Dienste zu stoppen, den Prozess zu stoppen / zu beenden, 2 Dateien zu löschen und dann neu zu starten. Ich kann dieses Skript perfekt auf meinem Windows 10 64-Bit-Hostcomputer ausführen - mit NULL Ich habe ein Power-Shell-Skript, das ausgeführt wird, um Dienste zu stoppen, den Prozess zu stoppen / zu beenden, 2 Dateien zu löschen und dann neu zu starten. Ich kann dieses Skript perfekt auf meinem Windows 10 64-Bit-Hostcomputer ausführen - mit NULL-Problemen. Ich versuche es in meinen virtuellen Maschinen auszuführen und erhalte den Fehler kann nicht geladen werden, da das Ausführen von Skripten auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter about_Execution_Policies unter? LinkID = 135170 Nur zum Kichern habe ich mir meine Gruppenrichtlinien angesehen und sie sind auf keinem Computer konfiguriert. Administrative Vorlagen> Windows-Komponenten> Windows PowerShell nicht konfiguriert.
Microsoft hat Windows PowerShell als Standardverwaltungskonsole in sein Betriebssystem integriert, sowohl für Privatanwender (Windows 10) als auch für Unternehmen (Windows Server), um Hunderte von Aufgaben auf einfache, sichere und voll funktionsfähige Weise ausführen zu können. Zu den Aufgaben, die wir mit Windows PowerShell ausführen können, gehört jedoch die Ausführung von Skripten, die die Aufgabe haben, Routineaufgaben zu automatisieren oder eine bestimmte Aufgabe auszuführen, die die Verwaltungsaktionen erleichtert, und obwohl dies etwas wirklich Nützliches ist, kann es gewisse Risiken beinhalten, da Ein Skript mit böswilligem Inhalt kann sich auf verschiedene Systemkomponenten auswirken, z. B. auf Ihre Datensätze oder Dienste, und sich negativ auf die gesamte Leistung und den Betrieb auswirken. Aus diesem Grund bietet Microsoft verschiedene Optionen an, die wir als Benutzer für die Ausführung von Skripten auswählen können, indem sie alle unabhängig von ihrer Quelle aktivieren (nichts empfohlen), um sie überhaupt einzuschränken.
Wenn Sie die Ausführungsrichtlinie ändern, sind Sie möglicherweise den im Hilfethema "about_Execution_Policies" unter " beschriebenen Sicherheitsrisiken ausgesetzt. Möchten Sie dei Ausführungsrichtlinie ändern? Als Auswahl erhält man JA / NEIN und ANHALTEN Wer auf seinem System lokal mit PowerShell herumexperimentieren möchte, kann sich dies so einstellen. Beachte dabei, dass du nun ungeschützt gegenüber nicht signierten und für böse Zwecke gescriptete PowerShell Cmdlets bist. Allerdings wird auf der Seite "about_Execution_Policies" (obiger Link) beschrieben, dass die default execution policy die " Restricted " sei. Beachtet dies bei Eurer Entscheidung. Es gibt noch folgende, in Sicherheitsbelangen eingeschränkten Befehle (Man kann jeden Befehl mit -force vervollständigen, dabei wird die Rückfrage unterdrückt, ob man die Einstellung tatsächlich haben möchte…): Set-ExecutionPolicy Restricted -force Default Policy, Ausführung von Skripten nicht möglich Set-ExecutionPolicy AllSigned -force Skripte können ausgeführt werden, Skripte und Konfigurations-Files müssen signiert sein Set-ExecutionPolicy RemoteSigned -force Empfohlene Einstellung!
Allerdings kann er mit $sUser, $sDomain und $sPasswort nichts anfangen, diese sind leer.. (sie sind in dem Hauptprogramm als Global deklariert, was aber nichts hilft, weil ein include der 3 zur Folge hätte, dass die funktionen am anfang nochmals ausgeführt werden. ) Ist es irgendwie möglich, mit den Variablen im anderen Skript weiterzuarbeiten? mit $cmdLine[] funktionierte es nicht... Ich hoffe nochmals auf Hilfe und sende LG, der Robert #12 wenn du dein Programm mit RunAs($sUser, $sDomain, $sPassword, 2, @ScriptDir & "\") startest, dann läuft doch das Programm schon mit den benötigten Recht Dann sollte normal ein einfaches Run(""... ) reichen. #13 Das Problem ist, dass ich in der Shell selbst nochmal andere Daten brauche (Firma, Vorname, Nachname usw. ), die ich aber auch überssichtsgründen weggelassen habe. Diese Daten sende ich dann per ControlSend() in die Shell, aber die Daten brauche ich halt aus dem Main-Skript, weil dort die Eingaben erfolgen. #14 Dann kannst du z. B. diese folgendermaßen als Parameter übergeben RunAs($sUser, $sDomain, $sPassword, 2, @ScriptDir & "\ -Firma:""NixAG"" -Name:""Huber"" -Vorname:""Klaus""") In dem Programm müssen diese Parameter dann ausgewertet werden, dass kann man z. so machen If $cmdline[0] > 0 Then For $i = 0 To $cmdline[0] If StringRegExp($cmdline[$i], "(?
Nach dem Neustart Ihres Computers können Sie ganz einfach ein Skript Ihrer Wahl ausführen. Sambit ist ein qualifizierter Maschinenbauingenieur, der gerne über Windows 10 und Lösungen dazu schreibt seltsamsten möglichen Probleme.