PowerShell mówi, że „skrypty są wyłączone w tym systemie”.
Próbuję uruchomić plik
cmd, który wywołuje skrypt PowerShell z
cmd.exe, ale pojawia się ten błąd:
Nie można załadować
Management_Install.ps1, ponieważ w tym systemie wyłączono obsługę skryptów.
Uruchomiłem to polecenie:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Kiedy uruchamiam
Get-ExecutionPolicyz PowerShell, zwraca on
Unrestricted.
PS C:\Users\Administrator\> Get-ExecutionPolicy
Unrestricted
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1WARNING: Running x86 PowerShell...Nie można załadować pliku
C: \ Projects \ Microsoft.Practices.ESB \ Source \ Samples \ Management Portal \ Install \ Scripts \ Management_Install.ps1, ponieważ w tym systemie skrypty są wyłączone. Więcej informacji można znaleźć w sekcji „
get-help about_signing”.
W Internecie: 1 znak: rok 25
.\Management_Install.ps1
<<<< 1
- CategoryInfo: NotSpecified: (:) [], PSSecurityException
- FullyQualifiedErrorId : RuntimeException
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSEPress any key to continue . . .
Ten system nosi nazwę Windows Server 2008R2.
Co ja robię źle?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
25 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Windows Server 2008
https://en.wikipedia.org/wiki/Windows_Server_2008
To znaczy R2
x64
i
x86
wersje programu PowerShell, które muszą mieć własne zasady wykonywania. Czy skonfigurowałeś zasady wykonywania na obu hostach?
w jaki sposób
administrator
, możesz ustawić zasady wykonywania, wpisując to w oknie programu PowerShell:
Więcej informacji znajdziesz w
za pomocą polecenia cmdlet Set-ExecutionPolicy
https://docs.microsoft.com/pow ... olicy
.
Gdy skończysz, możesz przywrócić zasadę domyślną za pomocą:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
https://en.wikipedia.org/wiki/Windows_Server_2012
x64 został uruchomiony.
Dla
Windows 7
,
Windows 8
,
Windows 10
,
Windows Server 2008 R2
lub
Windows Server 2012
uruchom następujące polecenia jako
administrator
:
x86
(32-bitowy)
Otwórz
Uruchom polecenie
x64
(64 bit)
Otwórz
Uruchom polecenie Możesz sprawdzić tryb za pomocą
[Environment] :: Is64BitProcess
Zalecenia
:
MSDN - zasady wykonywania programu Windows PowerShell
https://technet.microsoft.com/ ... .aspx
Windows - wyjaśnienie katalogu 32-bitowego i 64-bitowego
http://www.samlogic.net/articl ... 4.htm
Anonimowy użytkownik
Potwierdzenie od:
tak jak
ale bardzo niewielu wyjaśnia
czemu
... Zanim zaczniesz wykonywać kod od nieznajomych w Internecie, zwłaszcza kod wyłączający środki bezpieczeństwa, musisz dokładnie zrozumieć, co robisz. Oto więcej szczegółów na temat tego problemu.
Na
Strona TechNet dotycząca zasad wykonywania
http://technet.microsoft.com/library/hh847748.aspx
:
Zasady wykonywania programu Windows PowerShell umożliwiają zdefiniowanie warunków, w jakich program Windows PowerShell ładuje pliki konfiguracyjne i uruchamia skrypty.
Korzyści, które, jak wspomniano
Podstawy zasad programu PowerShell, pisanie i podpisywanie kodu
http://www.darkoperator.com/bl ... .html
:
- Kontrola wykonania - kontrola poziomu zaufania do wykonywalnych skryptów.
- Command Highjack - zapobiegaj wprowadzaniu komend na mojej drodze.
- Identity to skrypt utworzony i podpisany przez zaufanego programistę i/lub podpisany certyfikatem z urzędu certyfikacji, któremu ufam.
- Integralność - Skrypty nie mogą być modyfikowane przez złośliwe oprogramowanie ani złośliwego użytkownika.
Aby sprawdzić aktualną politykę wykonywania, możesz uruchomić http://technet.microsoft.com/l ... px... Ale prawdopodobnie jesteś tutaj, ponieważ chcesz to zmienić.Aby to zrobić, uruchom polecenie cmdlet .
Podczas aktualizowania zasad wykonywania należy podjąć dwie ważne decyzje.
Typ zasad wykonywania:
>
Zakres nowych zmian
>
<sup>
† = Domyślnie
</sup>na przykład
: jeśli chcesz zmienić politykę na RemoteSigned tylko dla CurrentUser, musisz uruchomić następujące polecenie:
Uwaga
: aby zmienić zasady wykonywania, należy uruchomić PowerShell
jako administrator
.
Jeśli jesteś w trybie normalnym i spróbujesz zmienić zasady wykonywania, pojawi się następujący błąd:
Odmowa dostępu do klucza rejestru „HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell”. Aby zmienić zasady wykonywania dla dziedziny domyślnej (LocalMachine), uruchom program Windows PowerShell z opcją Uruchom jako administrator.
Jeśli chcesz zaostrzyć wewnętrzne ograniczenia dotyczące własnych skryptów, które nie zostały pobrane z Internetu (lub przynajmniej nie zawierają metadanych UNC), możesz wymusić uruchamianie tylko podpisanych skryptów. Aby podpisać własne skrypty, postępuj zgodnie z instrukcjami zawartymi w artykule Scotta Hanselmana na temat
podpisywanie skryptów PowerShell
http://www.hanselman.com/blog/ ... .aspx
.
Uwaga
: Większość ludzi prawdopodobnie otrzyma ten błąd za każdym razem, gdy otworzą Powershell, ponieważ pierwszą rzeczą, którą PS próbuje zrobić podczas uruchamiania, jest wykonanie skryptu profilu użytkownika, który ustawia twoje środowisko tak, jak lubisz.
Ten plik zwykle znajduje się w:
Możesz znaleźć dokładną lokalizację, uruchamiając zmienną PowerShell
Jeśli w profilu nie ma nic, na czym Ci zależy i nie chcesz zepsuć ustawień zabezpieczeń, możesz go po prostu usunąć, a PowerShell nie znajdzie niczego, czego nie może wykonać.
Anonimowy użytkownik
Potwierdzenie od:
Przejdź do menu Start i wyszukaj „Windows PowerShell ISE”.
Kliknij prawym przyciskiem myszy wersję x86 i wybierz „Uruchom jako administrator”.
U góry wklej ; uruchom skrypt. Wybierz „Tak”.
Powtórz te kroki dla 64-bitowej technologii PowerShell ISE (nie x86).
Dopracowuję tylko kroki, do których sugerował Miller. Dzięki Chad!
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
lub
Możesz przeczytać o tym wszystko w poście pomocy.
Anonimowy użytkownik
Potwierdzenie od:
Domyślnie to
ograniczony
... Aby umożliwić wykonywanie skryptów PowerShell, musimy ustawić ten ExecutionPolicy jako
objazd
albo jak
bez limitu
.
Możemy ustawić zasady dla bieżącego użytkownika na lub za pomocą dowolnego z następujących poleceń PowerShell:
bez limitu
polityka ładuje wszystkie pliki konfiguracyjne i uruchamia wszystkie skrypty. Jeśli używasz niepodpisanego skryptu pobranego z Internetu, zostaniesz poproszony o pozwolenie przed jego uruchomieniem.
W polityce
objazd
nic nie jest blokowane i nie ma ostrzeżeń ani podpowiedzi podczas wykonywania skryptu. Omijanie jest łatwiejsze niż .
Anonimowy użytkownik
Potwierdzenie od:
OK, zmień zasady, wpisując po prostu:
Anonimowy użytkownik
Potwierdzenie od:
Windows 10
i nie mógł wykonać żadnych poleceń. Jedyne polecenie, które dało mi kilka wskazówek, brzmiało:
[x64]
- Otwórz C: \ Windows \ SysWOW64 \ cmd.exe [jako administrator ]
- Uruchom polecenie & > powershell Set-ExecutionPolicy Unrestricted
Ale to nie zadziałało. Był ograniczony. Prawdopodobnie nowe zasady bezpieczeństwa dla systemu Windows 10. Wystąpił taki błąd:Set-ExecutionPolicy: program Windows PowerShell pomyślnie zaktualizował zasady wykonywania, ale to ustawienie jest zastępowane przez zasady zdefiniowane w bardziej szczegółowym zakresie. Z powodu zastąpienia Twoja powłoka zachowa swoją obecną skuteczną politykę wykonywania ...
Więc znalazłem inny sposób (
decyzja
):
Teraz otwórz PowerShell i ciesz się;)
Anonimowy użytkownik
Potwierdzenie od:
Win
</kbd>
+
<kbd>
R
</kbd>
i wprowadź polecenie kopiuj wklej i naciśnij
<kbd>
OK
</kbd>
:
I wykonaj swój skrypt.
Następnie przywróć zmiany, takie jak:
Anonimowy użytkownik
Potwierdzenie od:
ISE
https://technet.microsoft.com/ ... .aspx, aby ustawić zasady wykonywania, musisz użyć x86 PowerShell. Podobnie, jeśli używasz 64-bitowego ISE, musisz zainstalować zasady za pomocą 64-bitowego programu PowerShell.
Anonimowy użytkownik
Potwierdzenie od:
Możesz również przeczytać ten artykuł Scotta Sutherlanda, który wyjaśnia 15 różnych sposobów obejścia PowerShell , jeśli nie masz uprawnień administratora:
15 sposobów na ominięcie polityki wykonywania
https://blog.netspi.com/15-way ... licy/
PowerShell
Anonimowy użytkownik
Potwierdzenie od:
użyj tego polecenia
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Teraz uruchom polecenie uruchomienia, cokolwiek używasz .. Zaufaj mi, ta aplikacja będzie działać .. Zamów :)
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Od tego czasu zespół PowerShell wprowadził wiele ulepszeń i jest przekonany, że użytkownicy nie zepsują zbyt wiele podczas uruchamiania skryptów. Dlatego począwszy od programu PowerShell 4.0 jest on domyślnie włączony.
W twoim przypadku wprowadź z konsoli PowerShell i powiedz tak.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Oto jak zdalnie zmienić tylko zasady 32-bitowe:
Anonimowy użytkownik
Potwierdzenie od:
Rozwiązałem tym poleceniem
<pre class="lang-bsh prettyprint-override">
Anonimowy użytkownik
Potwierdzenie od:
Ponieważ używam systemu Windows, wykonaj poniższe czynności
Otwórz wiersz polecenia jako administrator i podążaj tą ścieżką
Znajdź plik ng.ps1 w tym folderze (dir)
a następnie usuń go (del ng.ps1)
Możesz także wyczyścić pamięć podręczną npm, chociaż powinno działać bez tego kroku.
Mam nadzieję, że to pomoże, ponieważ zadziałało dla mnie.
Mam nadzieję że to pomoże
Anonimowy użytkownik
Potwierdzenie od:
Wsparcie
http://en.wikipedia.org/wiki/R ... %2529
Ruby lub
Chef
http://en.wikipedia.org/wiki/Chef_%28software%29
i używając `wykonanie systemu, wykonaj następujące czynności:
`powershell.exe -ExecutionPolicy Unrestricted -command [Environment]::GetFolderPath(\'mydocuments\')`
To polecenie służy do pobierania folderu „MyDocuments”.
załatwia sprawę.
Mam nadzieję, że komuś to pomoże.
Anonimowy użytkownik
Potwierdzenie od:
zarówno od Jacka Edmondsa powyżej, jak i od Petera Mortensena/Dhany ze słupka
How to run an application as "run as administrator" from the command prompt?
https://coderoad.ru/8249705/