Próbowałem uzyskać dostęp do programu PowerShell z wiersza polecenia w środowisku odzyskiwania systemu Windows bez powodzenia. Jestem w stanie uruchamiać tam skrypty VBScript bez problemu i teraz zastanawiam się, czy jest jakiś sposób, aby uruchamiać tam również moje polecenia PowerShell.
Czy PowerShell może być używany w WinRE, czy w najlepszym razie utknąłem w obsłudze VBScript / JScript?
Pamiętaj, że chodzi o WinRE, a nie WinPE!
EDYTOWAĆ
EBGreen skomentował dodanie dodatkowych składników do WinPE , które pozwoliłyby na użycie PowerShell w tym środowisku. Czy to samo podejście można zastosować w WinRE?
windows-7
windows-8
powershell
Riaan
źródło
źródło
start powershell
z wiersza polecenia. Czy to działa w WinRE?start powershell
ipowershell
z wiersza polecenia WinRE bez powodzenia - mówi, że są to nieznane polecenia. Jednak działają dobrze w systemie Windows. Zastanawiam się, czy to ma coś wspólnego z zależnością PowerShell od .NetC:\Windows\System32\WindowsPowerShell\v1.0
ale być może trzeba będzie najpierw przeszukać Windows.powershell
polecenie z jego katalogu bez powodzenia. Miałem taki sam wynik jak George Duckett poniżej.Odpowiedzi:
Możesz to zrobić, ale będziesz potrzebować instalacji systemu Windows 8 i pakietu Windows 8 ADK z systemem Windows PE (jest to dość duży plik do pobrania). Jestem pewien, że możesz użyć tego obrazu Win RE w instalacji systemu Windows 7, gdy go uruchomisz, ale nie jestem w 100% pewien.
Jest kilka innych sposobów na osiągnięcie tego celu, w tym budowanie obrazu Windows PE z zainstalowanymi narzędziami środowiska odzyskiwania, ale jest to prawdopodobnie najłatwiejsza metoda i spowoduje, że PowerShell będzie dostępny za każdym razem, gdy komputer wejdzie w środowisko odzyskiwania kontra konieczność uruchamiania z niego przy użyciu nośnika wymiennego.
Znajdź swój WinRE.wim
Użyłem wszystkiego, by znaleźć moje. Zdarzyło się, że się ukrywał
C:\Recovery\67c45205-df4a-11e1-8fd9-9103ad6af7ef
. To może dotyczyć również ciebie. Aby rzucić okiem, musisz wyłączyćHide Protected System Files
. To ustawienie czai się w Eksploratorze podView, Options, Change Folder and Search Options, View tab.
Zmień uprawnienia
Będziesz musiał zadzierać z uprawnieniami, aby nawet zobaczyć uprawnienia w tym folderze. Bałagan z uprawnieniami zawsze denerwuje, ale idź naprzód, jeśli masz odwagę. Po prostu dodałem swoją nazwę użytkownika do uprawnień bezpieczeństwa z pełną kontrolą.
Kliknij Odzyskiwanie prawym przyciskiem myszy, wybierz właściwości
Otwórz kartę Zabezpieczenia
Kliknij Zaawansowane
Kliknij Dodaj
Wybierz dyrektora
Dodaj swoją nazwę użytkownika (lub administratora, jeśli chcesz pracować z nią jako administrator)
Skopiuj WinRE.wim
Zdecydowałem się skopiować .wim, abym mógł z nim pracować, ale przypuszczam, że mógłbyś również pracować z nim bezpośrednio. Jeśli zdecydujesz się na bezpośrednią pracę z nim, odpowiednio zmodyfikuj polecenie. Skopiowałem mój do
C:\winre\
.Dodaj PowerShell do obrazu
Teraz, gdy mamy do czynienia z .im, możemy dodać niezbędne komponenty do PowerShell. Potrzebne będą odpowiednie składniki zestawu Windows ADK, w tym Windows PE.
Zamontuj obraz
Znajdź narzędzia do wdrażania i obrazowania, kliknij prawym przyciskiem myszy i uruchom jako administrator
Utwórz folder, aby zamontować obraz
Uruchom to polecenie, aby zamontować obraz:
Dodaj wymagane pakiety
W poniższych poleceniach jest trochę tam iz powrotem, a rzeczy trzeba zrobić po kolei. Musimy zainstalować następujące pakiety:
Będziemy również musieli zainstalować pakiety en-us (zastępując preferowany język) dla każdego z powyższych pakietów.
Zacznij od tego:
Następnie uruchom to:
Teraz naciśnij Updwukrotnie, aby przywołać pierwsze polecenie, i zastąp WMI NetFX4. Powtarzaj tę czynność, dopóki nie zainstalujesz wszystkich wymaganych składników wraz z wymaganym językiem. Pamiętaj, aby to zrobić po kolei.
Zakończ zdjęcie
Teraz, gdy wszystkie pakiety są na miejscu, musimy zatwierdzić nasze zmiany i dokończyć nasz WinRE.wim. Stamtąd możemy zbudować plik .iso, przetestować go w Hyper-V i skopiować plik WinRE.wim do naszego pliku odzyskiwania, abyśmy mieli dostęp do programu PowerShell przy następnym awarii systemu.
Odmontuj i zatwierdź
Uruchom następujące polecenie, aby zdemontować obraz i zatwierdzić zmiany:
Kilka rzeczy może się nie udać, a komunikaty o błędach są strasznie mylące. Upewnij się, że nie ma literówek i nie masz żadnych otwartych powiązań z tymi plikami, nawet Eksploratora.
Wymień oryginalny WinRE.wim i przetestuj
Utwórz kopię zapasową oryginalnego pliku WinRE.wim i zastąp go nowym. Teraz uruchom msconfig i otwórz kartę Boot. Sprawdź
Safe Boot
i wybierzAlternate Shell
. Uruchom ponownie i spróbuj.Bum! PowerShell w Windows RE
Start PowerShell
i baw się dobrze!Aby wyjść z trybu awaryjnego, musisz uruchomić msconfig z wiersza poleceń i odznaczyć Bezpieczny rozruch.
źródło
WinPE-PowerShell
zamiastWinPE-PowerShell3
iWinPE-NetFX
zamiastWinPE-NetFX4
. ToWinPE-HTA
nigdy nie było konieczne i nawet nie jest związane z PS. Nie dodawaj go, jeśli nie uruchamiasz aplikacji HTA. StorageWMI i DismCmdlets to moduły dla PS, nie potrzebujesz ich, jeśli ich nie potrzebujesz. Zastępują diskpart i disc. Oficjalny przewodnik stwardnienia rozsianegoDlatego PowerShell nie może być używany w WinRE.
źródło
Tak, próbowałem wielu rzeczy i doszedłem do wniosku, że to nie zadziała. Odpowiedź Williama dostarcza dowodów na poparcie tego.
Zanotowałem, gdzie jest PowerShell. Na moim komputerze to w
c:\windows\system32\windowspowershell\v1.0\powershell.exe
ac:\windows\syswow64\windowspowershell\v1.0\powershell.exe
.Skrót w narzędziach administracyjnych wskazuje na syswow64.
Następnie ponownie uruchomiłem tryb odzyskiwania i znalazłem się w wierszu polecenia.
Pierwszą rzeczą, którą zauważyłem, jest to, że nie mogę dostać się na
c
dysk.Więc uruchomiłem,
diskpart
a następnie wprowadziłem polecenie,list vol
aby uzyskać listę dostępnych dysków. Na mojej maszynie mój dysk C został nazwany moim dyskiem D w konsoli odzyskiwania.Więc wyszedłem
diskpart
piszącexit
, następnie w konsoli poleceń wpisałemd:
, a następniecd\windows\syswow64\windowspowershell\v1.0
.Zauważ, że jeśli robisz to etapami, użycie
dir
do potwierdzenia nazw folderów nie pokazuje wszystkiego (mianowiciev1.0
folderu).Kiedy tam dotarłem, skrzyżowałem palce i pisałem na maszynie
powershell
, tylko po to, by otrzymać wiadomość:Przez chwilę przeglądałem powyższy komunikat o błędzie, ale nie mogłem znaleźć niczego, co sugerowałoby, że PowerShell może działać.
Próbowałem także innego powershell.exe w systemie32, ale nie otrzymałem żadnej wiadomości (nie
didn't recognise the command
lub nic.źródło