PowerShell, Windows Kurtarma Ortamı'nda kullanılabilir mi?


10

PowerShell'e Windows Kurtarma Ortamı'ndaki Komut İstemi'nden başarıyla erişmeye çalıştım. Orada VBScripts sorunsuz çalıştırabiliyorum ve şimdi de PowerShell komutlarımı oradan çalıştırmanın bir yolu olup olmadığını merak ediyorum.

PowerShell WinRE içinde kullanılabilir mi yoksa en iyi VBScript / JScript desteğiyle takılı kalıyor muyum?

Lütfen bunun WinRE ile değil WinRE ile ilgili olduğunu unutmayın!

DÜZENLE

EBGreen, WinPE'ye PowerShell'in bu ortamda kullanılmasına izin verecek ek bileşenler ekleme hakkında yorum yapmıştı . Aynı yaklaşım WinRE ile de uygulanabilir mi?


Powershell'i komut satırından start powershellkomut isteminden başlatabilirsiniz . Bu WinRE'de çalışıyor mu?
George Duckett

Her ikisini de denedim start powershellve powershellWinRE Komut İsteminden başarı ile - bu bilinmeyen komutlar diyor. Gerçi Windows içinde iyi çalışıyor. Bunun PowerShell'in .Net'e bağımlılığıyla ilgili bir şey olup olmadığını merak ediyorum
Riaan

Tamam, son öneri, powershell exe'ye gitmeyi ve çalıştırmayı deneyin. Buradan, Powershell.exe (v 2.0) Yolu Sanırım böyle bir şey olacak C:\Windows\System32\WindowsPowerShell\v1.0ama önce pencerelerde arama gerekebilir.
George Duckett

Başlangıçta powershellkomutu dizinden başarı ile çalıştırmayı denemiştim . George Duckett ile aynı sonucu aldım.
Riaan

Yanıtlar:


7

Bunu yapabilirsin, ancak bir Windows 8 yüklemek ve gerekir Windows 8 ADK ile , Windows PE (o oldukça büyük bir yükleme). Bu Win RE görüntüsünü bir Windows 7 yüklemesinde kullanabildiğinizden emin olabilirsiniz, ancak% 100 emin değilim.

Kurtarma ortamı araçları yüklü bir Windows PE görüntüsü oluşturmak da dahil olmak üzere bunu gerçekleştirmenin birkaç yolu daha vardır, ancak bu muhtemelen en kolay yöntemdir ve makineniz kurtarma ortamına her girdiğinde PowerShell'in kullanılabilir olmasına neden olur. çıkarılabilir medya kullanarak önyükleme yapmak zorunda.

WinRE.wim'inizi bulun

Her şeyi benimkini bulmak için kullandım . Saklanıyordu C:\Recovery\67c45205-df4a-11e1-8fd9-9103ad6af7ef. Bu sizin için de geçerli olabilir. Bir göz atmak için devre dışı bırakmanız gerekecek Hide Protected System Files. Bu ayar Explorer'da gizleniyorView, Options, Change Folder and Search Options, View tab.

Güzellikleri göster

İzinleri değiştirme

Bu klasördeki izinleri görmek için izinlerle uğraşmak zorunda kalacaksınız . İzinlerle uğraşmak her zaman biraz gergin olur, ancak cesaretiniz varsa ilerleyin. Kullanıcı adımı tam kontrolle güvenlik izinlerine ekledim.

Kurtarma'ya sağ tıklayın, özellikleri seçin

Açık özellikler

Güvenlik sekmesini açın

Güvenlik sekmesini tıklayın

Gelişmiş'i tıklayın

Biliyor musun, bu kadar yardıma ihtiyacın olursa, muhtemelen bunu yapmamalısın ...

Ekle'yi tıklayın

Güvenlik izinleriyle uğraşmak ciddi acıya neden olabilir

Müdür Seçin

Ama ekran görüntüleri eğlenceli ve bana tüm temsilcisi

Kullanıcı adınızı ekleyin (veya bununla yönetici olarak çalışmak istiyorsanız Yönetici)

Artık süper gizli gerçek adımı biliyorsun, zomg!

WinRE.wim kopyala

Onunla çalışabilmek için .wim dosyasını kopyalamayı seçtim, ancak sanırım onunla da doğrudan çalışabilirsiniz. Doğrudan onunla çalışmayı seçtiyseniz, komutu uygun şekilde değiştirin. Benimkini kopyaladım C:\winre\.

Resme PowerShell ekleyin

Artık çalışmak için bir .wim'e sahip olduğumuza göre, PowerShell için gerekli bileşenleri ekleyebiliriz. Windows PE de dahil olmak üzere Windows ADK'nın uygun bileşenlerine ihtiyacınız olacaktır.

resmi bağla

Dağıtım ve Görüntüleme Araçlarını bulun, sağ tıklayın ve Yönetici olarak çalıştırın

Cidden, bunu kendi başınıza bulamadıysanız şimdi geri dönün

Görüntüyü monte etmek için bir klasör oluşturun

En azından insanların bu şeyleri kopyalayıp yapıştırmasına izin vermiyorum

Görüntüyü bağlamak için bu komutu çalıştırın: Ekran görüntüleri kopyalama ve yapıştırma işlemlerini önlemek için mükemmeldir!

Gerekli paketleri ekleyin

Orada şu komutları karışan ileri biraz geri var ve her şey var sırayla yapılacak. Aşağıdaki paketleri kurmamız gerekiyor:

  • WinPE-WMI
  • WinPE-NetFX4
  • WinPE-Komut Dosyası
  • WinPE-PowerShell3
  • WinPE-DismCmdlets
  • WinPE-StorageWMI
  • WinPE-STD

Ayrıca yukarıdaki paketlerin her biri için de en-us (tercih ettiğiniz dilin yerine) paketleri yüklememiz gerekecek.

Bununla başlayın:

dism /image:C:\winre\mount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab

Sonra şunu çalıştırın:

dism /image:C:\winre\mount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab

Şimdi Upilk komutu geri çağırmak için iki kez basın ve WMI'yi NetFX4 ile değiştirin. Gerekli tüm bileşenleri, gerekli dille birlikte yükleyene kadar tekrarlayın. Bunu sırayla yapmayı unutmayın.

Görüntüyü bitir

Artık tüm paketler hazır olduğuna göre, değişikliklerimizi yapmamız ve WinRE.wim dosyamızı bitirmemiz gerekiyor. Buradan bir .iso oluşturabilir, Hyper-V'de test edebilir ve WinRE.wim dosyasını kurtarma dosyamıza kopyalayabiliriz, böylece sistemin bir sonraki çöküşünde PowerShell'e erişebiliriz.

Çıkar ve Taahhüt Et

Görüntüyü çıkarmak ve değişiklikleri uygulamak için aşağıdaki komutu çalıştırın: Yukarıdaki komut yazmak için emdi, bu yüzden C + P üzerinde bir slayt izin vereceğim ...

Burada bazı şeyler yanlış gidebilir ve hata mesajları çok yanıltıcıdır. Yazım hatası olmadığından ve bu dosyalarla ilgili açık bir şeyin olmadığından, Explorer'dan bile emin olun .

Orijinal WinRE.wim dosyasını değiştirin ve test edin

Orijinal WinRE.wim'inizin bir yedeğini alın ve yenisiyle değiştirin. Şimdi msconfig dosyasını çalıştırın ve Boot sekmesini açın. Kontrol edin Safe Bootve seçin Alternate Shell. Yeniden başlatın ve bir deneyin.

TROLOLOL Artık güvenli bagajda takıldınız!  Bu ayar çubuğunu fark etmeden önce üç kez yeniden başladım ...

Boom! Windows RE'de PowerShell

Start PowerShell ve keyfini çıkarın!

Ahh, güzel mavi PowerShell ... Tatlı zafer.

Güvenli moddan çıkmak için komut satırından msconfig komutunu çalıştırmanız ve Güvenli Önyükleme'nin işaretini kaldırmanız gerekir.


1
yavaş ... alkış
William Jackson

Kapsamlı cevap için teşekkürler, Tanner! Tam da ihtiyacım olan şey bu.
Riaan

1
WinRE resminizin bu OEM kurtarma bölümlerinden birinde olması durumunda , Kurtarma önyükleme girişine bakmak ve görüntünün yolunu bulmak için Visual BCD Düzenleyicisi'ni kullanabilirsiniz .
Bob

1
7 yıl sonra, "win10 için PE" de bu hala geçerli, ancak paketler yeniden adlandırıldı ve sayılar düştü. Kullanım WinPE-PowerShellyerine WinPE-PowerShell3ve WinPE-NetFXyerine WinPE-NetFX4. WinPE-HTAAslında gerekli değildi ve hatta PS ilgili değil. HTA Uygulamalarını çalıştırmıyorsanız eklemeyin. StorageWMI ve DismCmdlet'ler PS için modüllerdir, ihtiyacınız yoksa bunlara ihtiyacınız yoktur. Diskpart ve dism'in yerine geçer.
Oficial

2
  1. Windows PowerShell için Microsoft .NET Framework gerekir. [ kaynak ]
  2. Windows Kurtarma Ortamı, Windows PE'yi temel alır. [ kaynak ]
  3. Windows PE, .NET Framework'ü desteklemez. [ kaynak ]

Bu nedenle, PowerShell WinRE'de kullanılamaz.


Evet, bunun MS.Net bağımlılıklarından kaynaklandığını düşündüm. Bu yanıt, değiştirilmemiş varsayılan yüklemeler için kesinlikle geçerlidir. Teşekkürler William!
Riaan

0

Doğru, bir çok şey denedim ve işe yaramayacağı sonucuna vardım. William'ın cevabı bunu desteklemek için kanıt sağlar.


Powershell'in nerede olduğunu not ettim. Makinemde içeri ve içeri c:\windows\system32\windowspowershell\v1.0\powershell.exegirdi c:\windows\syswow64\windowspowershell\v1.0\powershell.exe.

Yönetimsel araçlardaki kısayol, syswow64'ü gösterir.

Daha sonra kurtarma moduna yeniden başladım ve komut istemine gittim.

Fark ettiğim ilk şey, csürücüye gidemem.

Böylece, çalıştırılabilir sürücülerin bir listesini almak diskpartiçin komut girdim list vol. Makinemde C konsoluma kurtarma konsolunda D diskim adı verildi.

Ben çıkıldı Yani diskpartyazarak exit, daha sonra komut konsolu daktilo içinde d:izledi cd\windows\syswow64\windowspowershell\v1.0.

Bunu aşamalar halinde yaparsanız, dirklasör adlarını onaylamak için kullanmanın her şeyi (yani v1.0klasör) göstermediğini unutmayın.

Bir kez orada parmaklarımı geçti ve yazdım powershell, sadece mesajı almak için:

The subsystem needed to support the image type is not present

Yukarıdaki hata mesajını biraz googledim, ancak powershell'in işe yarayabileceğini gösteren hiçbir şey bulamadım.


Ayrıca diğer powershell.exe system32 denedim ama hiçbir mesaj var (hayır didn't recognise the commandya da bir şey).

resim açıklamasını buraya girin


Bu işe yaramıyor. Teşekkürler George.
Riaan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.