Zabawy z PowerShell bez konsekwencji w Windows Sandbox

By PowerShell

Co jakiś czas przygotowuję skrypty dla kogoś pod konkretne wymagania, co wiążą się z potrzebą dokładnego sprawdzenia ich działania. W większości przypadków skrypty te wykonują pewne operacje na systemach klienckich z systemem Windows 10.

Ich testowanie na swojej stacji wiązałoby się z potrzebą nie jednej reinstalacji systemu. Rozwiązanie, które przechodzi pierwsze na myśl to oczywiście Hyper-V i wirtualna maszyna, ale czy jedyne?

Poniżej, pokaże Ci funkcjonalność Windows Sandbox w „dziesiątce”, która może być świetną alternatywą dla tego typu potrzeb (ale nie tylko).

Czym jest Windows Sandbox?

Windows Sandbox to rozwiązanie umożliwiające w szybki sposób uruchomienie zwirtualizowanego środowiska na swojej stacji, które co prawda użyje lokalnego systemu operacyjnego, ale w izolowany sposób. Dzięki temu podejrzane pliki, szkodliwe aplikacje, wadliwe skrypty nie będą miały wpływu na twój system.

Po zamknięciu piaskownicy całe oprogramowanie wraz ze wszystkimi plikami i stanem zostanie trwale usunięte. Jest to szybszy i prostszy sposób niż konfiguracja Hyper-V i wirtualizacja systemu. Dodatkowo co jest zaletą, piaskownica zajmie tylko około 100MB Twojej przestrzeni dyskowej.

Instalacja Windows Sandbox

Przed instalacja spójrz na wymagania wstępne:

Windows 10 Pro lub Enterprise Insider build 18342 lub nowszy 
Architektura 64-bitowa 
Funkcje wirtualizacji włączone w systemie BIOS 
Co najmniej 4GB RAM (rekomendowane 8GB) 
Co najmniej 1 GB wolnej przestrzenidyskowej (rekomendowany dysk SSD) 
Conajmniej 2 rdzenie CPU (rekomendowane 4 rdzenie z hyperthreadingiem)

Jeśli sprawdziłeś i nie ma przeciwskazań to wykonaj poniższe polecenie PowerShell:

Startujemy z Windows Sandbox

Po ponownym uruchomieniu, piaskownica jest gotowa do działania. Oczywiście Windows Sandbox znajdziesz w menu lub w konsoli PowerShell wykonaj WindowsSandbox.exe.

menu windows sandbox

Jest jeszcze jeden sposób, ale o tym za chwile.

Personalizacja Windows Sandbox

Standardowo piaskownica za każdym razem uruchamia się czysta, jako nowa instalacja systemu Windows 10. Jednak nie musi tak być, za pomocą plików konfiguracyjnych możesz wpływać na ustawienia w 4 zakresach:

➡ wirtualizacja GPU – włączenie/wyłączenie
➡ dostęp do sieci – włączenie/wyłączenie
➡ udostępnienie (odczyt/zapis) folderów pomiędzy hostem a piaskownicą (widoczne na pulpicie – C:\Users\WDAGUtilityAccount\Desktop)
➡ określenie pojedynczego polecenie, które będzie wywoływane automatycznie przy uruchomieniu (więc większą ilość poleceń musimy zamknąć w skrypt)

Pliki konfiguracyjne Windows Sandbox są sformatowane jako XML i używają rozszerzenia pliku .wsb.

Instalacja Visual Studio Code w Windows Sandbox

Poniżej przykład pliku konfiguracyjnego .wsb, który przygotowuję od razu piaskownicę do pracy z Visual Studio Code.

Dzięki takiej konfiguracji folderów mam dostęp (tylko odczyt) do niezbędnych zasobów ze skryptami oraz dodatkowy katalog Out(zapis), który jest moim miejscem pracy w VSCode.

Natomiast wykonywany przy starcie skrypt PowerShell instaluje Visual Studio Code, przenosi ustawienia oraz wybrane rozszerzenia z lokalnego hosta.

Więcej informacji na temat samego pliku konfiguracyjnego znajdziesz tutaj.

Poniżej, demonstracyjne wideo jak wygląda uruchomienie piaskownicy systemu Windows z pliku konfiguracyjnego (to trzeci sposób, o który wspominałem).

Ograniczenia i wady

Takie moje luźne spostrzeżenia, które można traktować bardziej jako szukanie dziury w całym.

  • Możesz uruchomić tylko jedną instancję na raz.
  • Wiem, wiem, tak to działa, ale po ponownym uruchomieniu każda zmiana zostanie utracona. Jednak nieraz przydałby się zachować zmiany na dłużej 😉
  • W przypadku błędu np. w składni plik konfiguracyjny jest stosowany do tego miejsca. Nie otrzymamy żadnego komunikatu o błędzie w pliku .wsb podczas uruchamiania Windows Sandbox.

Podsumowanie

Potrzebujesz nieraz sprawdzić skrypt (chociażby taki pobrany z internetów), ale również podejrzany plik bądź aplikacje ? Jeśli tak, to Windows Sandbox jest dla Ciebie 🙂

Dla ciekawskich, dodatkowe informacje o tym jak działa piaskownica systemu Windows od środka, jak rozwiązano zarządzanie pamięcią lub jak rozwiązano separacje pomiędzy systemem, znajdziesz tutaj

22 Najważniejsze Wskazówki Pisania Skryptów PowerShell

No comments yet.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

× Close