Szukaj na tym blogu

piątek, 22 czerwca 2012

Lista serwisów w power-shell



$a = @{Expression={$_.Status};Label="Status";width=10},@{Expression={$_.Name};Label="Name";width=50},@{Expression={$_.DisplayName};Label="DisplayName";width=50}


get-service | Format-Table $a

czwartek, 14 czerwca 2012

Instalacja nienadzorowana - opis pliku unattend.xml


Windows System Image Manager
Plik instalacji nienadzorowanej najłatwiej tworzy się w Windows System Image Manager – narzędziu, które znajduje się w pakiecie Windows Automated Installation Kit (WAIK).
Pierwszym krokiem wymaganym do stworzenia takiego pliku jest otworzenie obrazu systemu Windows (WIM) lub pliku katalog (clg):
Menu File | Select Windows Image
Dzięki temu stworzona zostaje lista komponentów, które możemy dodawać lub modyfikować we wdrażanym systemie. Jeżeli wskazujemy w tym miejscu ściągnięty (capture) przez nas system i nie posiada on wygenerowanego pliku katalog (clg) proces ten może potrwać kilka minut. Jeżeli wskazujemy oryginalne źródło instalacji systemu Windows (DVD) oprócz obrazu WIM są tam również pliki katalog dla każdej wersji systemu. Plik katalog (clg)  to plik binarny zawierający listę wszystkich ustawień danego obrazu systemu Windows.

WAŻNE:
Aby stworzyć plik clg dla systemu 32-bitowego WAIK musi być zainstalowany na 32 bitowym systemie (może to być również Windows 7)

Wymagane sekcje pliku unattend.xml

W pliku instalacji nienadzorowanej musza znaleźć się określone sekcje – jeżeli nie zostaną one określone lub są błędnie określone, podczas instalacji pojawi się interfejs użytkownika (UI). Poniżej znajduje się opis tych sekcji dla scenariusza kiedy system wdrażany jest poprzez WDS. Na końcu artykułu znajduje się zawartość przykładowego pliku dla instalacji nienadzorowanej dla Windows 7.

Ustawienia językowe Windows Setup
Microsoft-Windows-International-Core-WinPE | UILanguage
Określa domyślny język używany w zainstalowanym systemie



Microsoft-Windows-International-Core-WinPE | SetupUILanguage | UILanguage
Określa domyślny język używany podczas instalacji systemu

Akcjeptacja warunków licencji
Microsoft-Windows-Setup | UserData | AcceptEula
Poświadczenia do WDS
Microsoft-Windows-Setup | WindowsDeploymentServices | Login

Wybór obrazu systemu Windows, który ma zostać zainstalowany
Microsoft-Windows-Setup | WindowsDeploymentServices | ImageSelection |InstallImage

Wybór miejsca instalacji
Microsoft-Windows-Setup | WindowsDeploymentServices | ImageSelection | InstallTo | DiskID
Microsoft-Windows-Setup | WindowsDeploymentServices | ImageSelection | InstallTo | PartitionID


Dodatkowe sekcje pliku unattend.xml

Konfiguracja partycji
Konfiguracja partycji wymaga uzupełnienia dwóch sekcji:
Microsoft-Windows-Setup | DiskConfiguration | Disk | CreatePartitions

Microsoft-Windows-Setup | DiskConfiguration | Disk | ModifyPartitions

Oraz
Microsoft-Windows-Setup | DiskConfiguration | Disk








Gdzie specyfikujemy czy ma pojawić się UI oraz czy dysk ma zostać wyczyszczony (wipe)
Szczegółowe informacje na temat tworzenia partycji wraz z przykładami można znaleźć na:

Wbudowane konto administratora
W systemie Windows 7 wbudowane konto administratora zostało domyślnie wyłączone z powodów bezpieczeństwa. Jeżeli zachodzi potrzeba jego włączenia można to zrobić poprzez sekcję
Microsoft-Windows-Shell-Setup | AutoLogon

Oraz
Microsoft-Windows-Shell-Setup |UserAccounts | AdministratorPassword

Automatyzacja fazy Windows Welcome
Jeżeli nie uwzględnimy tej fazy w pliku instalacji nienadzorowanej Windows przywita nas po pierwszym restarcie ekranem jak poniżej:

Jeżeli nie chcemy widzieć tego ekranu musimy określić następujące sekcje
Microsoft-Windows-International-Core | InputLocale
Microsoft-Windows-International-Core | SystemLocale
Microsoft-Windows-International-Core | UILanguage
Microsoft-Windows-International-Core | UserLocale

Microsoft-Windows-Shell-Setup | OOBE | HideEULAPage

Microsoft-Windows-Shell-Setup | ProductKey




Zawartość pliku unattend.xml który został stworzony na podstawie opisanych powyżej kroków:



<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-us</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UserLocale>en-us</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TimeZone>Central European Standard Time</TimeZone>
<AutoLogon>
<Password>
<Value>
UABAAHMAcwB3ADAAcgBkAFAAYQBzAHMAdwBvAHIAZAA=</Value>
<PlainText>
false</PlainText>
</Password>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Username>administrator</Username>
</AutoLogon>
<UserAccounts>
<AdministratorPassword>
<Value>UABAAHMAcwB3ADAAcgBkAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
</UserAccounts>
<OOBE>
<HideEULAPage>true</HideEULAPage>
</OOBE>
</component>
</settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<WindowsDeploymentServices>
<Login>
<Credentials>
<Domain>ocean.com</Domain>
<Password>P@ssw0rd123</Password>
<Username>administrator</Username>
</Credentials>
</Login>
<ImageSelection>
<InstallImage>
<ImageName>Windows 7 PROFESSIONAL</ImageName>
<ImageGroup>ImageGroup1</ImageGroup>
<Filename>install.wim</Filename>
</InstallImage>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
<DiskConfiguration>
<Disk wcm:action="add">
<CreatePartitions>
<CreatePartition wcm:action="add">
<Extend>true</Extend>
<Order>1</Order>
<Type>Primary</Type>
</CreatePartition>
</CreatePartitions>
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Order>1</Order>
<PartitionID>1</PartitionID>
<Label>System</Label>
<Format>NTFS</Format>
</ModifyPartition>
</ModifyPartitions>
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
</Disk>
</DiskConfiguration>
</component>
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>en-us</UILanguage>
</SetupUILanguage>
<InputLocale>en-us</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UserLocale>en-us</UserLocale>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RegisteredOwner />
<ProductKey>
*****-*****-*****-*****-*****</ProductKey>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/users/student/documents/adaxdelta_w7ksi.wim#C_IMAGE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>



Rozwiązywanie problemów związanych z instalacją nienadzorowaną
Aby sprawdzić, jaki plik odpowiedzi został ściągnięty i ma zostać użyty:
Podczas instalacji sytemu z wykorzystaniem WDS w fazie, kiedy załadowany jest Windows PE wciśnij kombinację klawiszy SHIFT + F10. W otwartym oknie linii poleceń (cmd) przejdź do lokalizacji X:\sources\wdsunattend i otwórz plik wdsunattend.xml. Porównaj jego zawartość i sprawdź czy jest to odpowiedni plik.

Aby sprawdzić logi związane z plikiem instalacji nienadzorowanej i przebiegiem procesu instalacji przejdź do X:\windows\panther i otwórz plik setupact.log
Jeżeli plik unattend.xml zawiera niepoprawnie skonfigurowane elementy pojawi się interfejs użytkownika – informacje o tym można znaleźć w logu setuperr.log który znajduje się w lokalizacji X:\windows\panther


wtorek, 12 czerwca 2012

Modyfikowanie obrazu WIM w trybie offline - sprawdzenie czy obraz został poprawnie ściągnięty przy użyciu sysprep


Obraz systemu znajdujący się w pliku WIM można podmontować (tak jak zostało to opisane tutaj) i modyfikować go w trybie offline: dodawać aktualizacje, sterowniki, itp. a także modyfikować rejestr systemu.

Jak modyfikować rejestr w trybie offline - podmontowany obraz WIM:
1.       Zabootuj komputer do środowiska Windows PE
2.       Otwórz linię poleceń (cmd) wciskając klawisz F8 lub F10 lub kombinację SHIFT+F10
3.       Otwórz edytor rejestru (regedit.exe). Ustaw zaznaczenie na klucz HKEY_LOCAL_MACHINE
Z menu File wybierz Load Hive
1.       Wskaż katalog Windows\System32\config w lokalizacji w której został zamontowany obraz WIM
2.       Wybierz gałąź rejestru którą chcesz załadować wskazując na pliki bez rozszerzenia:
SOFTWARE - HKLM\Software
SECURITY - HKLM\Security
SYSTEM - HKLM\System
3.       Nadaj tymczasową nazwę dla ładowanego klucz rejestru, np. tempSOFTWARE

Jak sprawdzić czy podmontowany obraz WIM został poprawnie przygotowany poprzez użycie narzędzia sysprep:
1.       Korzystając z metody opisanej powyżej załaduj klucz SOFTWARE z zamontowanego obrazu
2.       Przejdź do klucza tempSOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State
3.       Odszukaj wartość ImageState – jeżeli jej wartość jest taka sama jak na rysunku poniżej obraz został poprawnie przygotowany poprzez użycie narzędzia sysprep
Jeżeli wartość ta jest taka jak na rysunku poniżej obraz nie został poprawnie przygotowany i nie może być wdrożony – próba jego wdrożenia skutkuje BLUE SCREEN po pierwszym restarcie po instalacji


Inny sposób to sprawdzenie zawartości pliku state.ini, np.:
type %windir%\Setup\State\State.ini
gdzie %windir% to oczywiście katalog Windows podmontowanego obrazu WIM.

Poniżej znajduje się opis wartości jakie może przyjmować wartość ImageState:

IMAGE_STATE_COMPLETE
Obraz został poprawnie zainstalowany. Obraz nie może zostać wdrożony na żaden inny sprzęt ponieważ jest teraz sprzętowo zależny

IMAGE_STATE _UNDEPLOYABLE
Domyślny stan obrazu w momencie kiedy instalacja systemu nie została jeszcze zakończona, nadal trwa lub zakończyła się niepowodzeniem

IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE
Obraz poprawnie zakończył fazę Generalize i jego instalacja będzie kontynuowana od fazy OOBEsystem

IMAGE_STATE_GENERALIZE_RESEAL_TO_AUDIT
Obraz poprawnie zakończył fazę Generalize i jego instalacja będzie kontynuowana w trybie Audit

IMAGE_STATE_SPECIALIZE_RESEAL_TO_OOBE
Obraz poprawnie zakończył fazę Specialize i jego instalacja będzie kontynuowana od fazy OOBEsystem

IMAGE_STATE_SPECIALIZE_RESEAL_TO_AUDIT
Obraz poprawnie zakończył fazę Specialize i jego instalacja będzie kontynuowana w trybie Audit



Rozwiązywanie problemów związanych z instalacją nienadzorowaną (WDS)


Aby sprawdzić, jaki plik odpowiedzi został ściągnięty i ma zostać użyty:
Podczas instalacji sytemu z wykorzystaniem WDS w fazie, kiedy załadowany jest Windows PE wciśnij kombinację klawiszy SHIFT + F10. W otwartym oknie linii poleceń (cmd) przejdź do lokalizacji X:\sources\wdsunattend i otwórz plik wdsunattend.xml. Porównaj jego zawartość i sprawdź czy jest to odpowiedni plik.

Aby sprawdzić logi związane z plikiem instalacji nienadzorowanej i przebiegiem procesu instalacji przejdź do X:\windows\panther i otwórz plik setupact.log
Jeżeli plik unattend.xml zawiera niepoprawnie skonfigurowane elementy pojawi się interfejs użytkownika – informacje o tym można znaleźć w logu setuperr.log który znajduje się w lokalizacji X:\windows\panther