Artykuł ma na celu zaprezentowanie kilku nowości, które pojawiły się w Windows Server 2008 R2 RC w opcji instalacyjnej Server Core. Główny nacisk został położony na zarządzanie z poziomu nowego PowerShell v2, obsługę ASP.net w Server Core, pokazanie skryptu konfiguracyjnego Sconfig oraz narzędzia do migracji Windows Server Migration Tools. Jak wiemy, instalacja Server Core zapewnia minimalne środowisko dla uruchamiania określonych ról serwera, ograniczające obszar ataków.
Co się zmieniło w Windows Server Core 2008 R2?
- Sconfig, czyli uproszczenie zadań administratorskich
- Możliwość instalacji roli Active Directory Certificate Services (AD CS)
- Obsługa ASP.NET w przypadku roli serwera WWW
- Windows PowerShell v2
- Windows-on-Windows 64-bit (WoW64)
- .NET Framework
- Podzbiór .NET Framework 2.0
- Podzbiór .NET Framework 3.0, który zawiera Windows Communication Foundation (WCF) I Windows Workflow Foundation (WF)
- Podzbiór .NET Framework 3.5 zawierający .NET Language-Integrated Query (LINQ)
- Usunięto dodatek Removable Storage
- Możliwość zdalnego zarządzania Server Core i jego konfiguracji z innej maszyny Windows Server 2008 R2 przy użyciu Server Manager.
- Nowe i ulepszone narzędzie Windows Server Migration Tools, które umożliwia migrację pomiędzy architekturami (x86 do x64), migrację pomiędzy fizycznym a wirtualnym środowiskiem oraz pomiędzy wersją pełną a instalacją Server Core, a także wspiera IPv6 oraz migrację usługi BranchCache.
- Dodano File Server Resource Manager, czyli komponent roli File Services, który był niedostępny w Windows Server 2008 RTM dla tej edycji.
Sconfig
Jest to narzędzie upraszczające sposób wstępnej konfiguracji oraz proste zadania administracyjne, administratorom nieznającym jeszcze składni poleceń takich, jak Netdom, net, czy netsh. Narzędzie oparte jest o skrypt sconfig.vbs, znajdujący się w lokalizacji %windir%\system32\%language%\, standardowo zmienna ustawiona jest na language=en-US. Po uruchomieniu narzędzia dostajemy menu, z poziomu którego wybieramy, jaka operacja ma zostać wykonana.
Skrypt konfiguracyjny uruchamiamy za pomocą polecenia Sconfig.cmd po przejściu do lokalizacji \Windows\system32.
Jakie możliwości konfiguracyjne oferuje Sconfig?
- Konfiguracja stacji w domenie (dołączenie) lub dodanie do Workgroupy
- Zmiana nazwy hosta
- Dodanie lokalnego konta administratora
- Konfiguracja zdalnego zarządzania
- Konfiguracja ustawień Windows Update
- Pobieranie i instalacji poprawek
- Konfiguracja Remote Desktop
- Konfiguracja ustawień sieciowych
- Zmiana czasu i godziny
- Konfiguracja Customer Experience Improvement Program (CEIP)
- Wylogowanie użytkownika
- Restart serwera
- Wyłączenie serwera
Zdaniem autora artykułu: narzędzie można rozszerzać o nowe funkcje, dopisując kod po stronie skryptu vbs.
Przykładowa konfiguracja z użyciem narzędzia Sconfig.cmd


- Konfiguracja adresacji IP, DNS, Default Gateway - opcja nr 8 „Network Settings".


Alternatywna konfiguracja z linii wiersza poleceń:
C:\> netsh interface ipv4 show interfaces
C:\> netsh interface ipv4 set address name <ID from interface list> source=static address=<preferred IP address> gateway=<gateway address>
C:\> netsh interface ipv4 add dnsserver name=<name of primary DNS server> address=<IP address of the primary DNS server> index=1
- Włączenie zdalnego pulpitu - opcja nr 7 „Remote Desktop".

Automatycznie tworzona jest odpowiednia reguła na firewallu. Mamy możliwość wyboru, czy końcówki bez Network Level Authentication uzyskają dostęp zdalny.
- Dołączanie do domeny lub grupy roboczej - opcja nr 1 „Domain/Workgroup".

Alternatywna konfiguracja z linii wiersza poleceń:
netdom join %computername% /domain:<domain> /userd: <domain>\username> /passwordd:*
- Konfiguracja zdalnego zarządzania serwerem - opcja nr 4 „Configure Remote Management".

W tej sekcji możemy włączyć MMC Remote Management, zainstalować PowerShell i pozwolić na zdalne zarządzanie.
Wszystkie operacje przeprowadzone za pomocą skryptu Sconfig można wykonać manualnie z linii wiersza poleceń. Więcej informacji na temat konfiguracji Server Core 2008 z wiersza poleceń znajduje się w przewodniku zamieszczonym na stronach Microsoft TechNet - Server Core Installation Option Getting Started Guide.
Rola AD CS dostępna w Core R2
Co nowego w Active Directory Certificate Services w Windows Server 2008 R2?
- Certificate Enrollment Web Service i Certificate Enrollment Policy Web Service,
- Wsparcie rejestrowania certyfikatów w całym lesie,
- Ulepszone wsparcie dla high-volume CA wykorzystywane przy wdrożonym NAP z wymuszaniem IPsec,
- W Windows Server Core 2008 rola Certificate Services była niedostępna, teraz w wersji Server Core R2 możliwa jest jej instalacja.
Wykonajmy zapytanie, aby dowiedzieć się, jakie role i dodatki są zainstalowane w systemie. Posłuży nam do tego polecenie: oclist | more. W poniższym przykładzie widać, że rola CertificateServices została już zainstalowana na serwerze. Możemy nią zarządzać, podłączając się zdalnie do serwera Core przez odpowiednią przestawkę lub za pomocą narzędzia linii wiersza poleceń certutil.exe.

W celu zainsalowania roli AD CS musimy skorzystać z polecenia ocsetup:

Obsługa ASP.net w Server Core 2008 R2
Wraz z nadejściem Windows Server 2008 R2 w serwerze Core pojawiła się możliwość zainstalowania dodatku .NET Framework.
Dostępność Frameworka w tej wersji systemu dostarcza następujących korzyści:
- Wsparcie dla ASP.NET - możemy użyć Server Core do hostowania aplikacji ASP.NET,
- IIS Remote Management - zdalne zarządzanie serwerem IIS z poziomu GUI IIS Managera,
- PowerShell - Windows Server 2008 R2 zawiera przystawkę IIS.
Instalacja serwera IIS w Server Core 2008 R2
Do przeprowadzenia standardowej instalacji użyjemy polecenia ocsetup:
start /w ocsetup IIS-WebServerRole
W następnym kroku należy zainstalować komponenty ASP.NET:
start /w ocsetup WAS-NetFxEnvironment
start /w ocsetup IIS-ISAPIExtensions
start /w ocsetup IIS-ISAPIFilter
start /w ocsetup IIS-NetFxExtensibility
start /w ocsetup IIS-ASPNET
Instalacja PowerShell oraz przystawki IIS
Na początku zainstalujemy PowerShell:
start /w ocsetup MicrosoftWindowsPowerShell
Następnie uruchamiamy PowerShell przez wpisanie:
\windows\system32\WindowsPowerShell\v1.0\powershell.exe
Korzystając z wiersza poleceń PowerShella, importujemy przystawkę IIS:
import-module WebAdministration
Teraz możemy wyświetlić listę gotowych IIS cmdletów:
get-command -pssnapin WebAdministration
Włączenie zdalnego zarządzania IIS
W pierwszym kroku musimy zainstalować usługę zarządzania IIS:
start /w ocsetup IIS-ManagementService
Następnie włączamy możliwość zdalnego zarządzania serwerem:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server /v EnableRemoteManagement /t REG_DWORD /d 1
W ostatnim kroku startujemy usługę IIS-Management:
net start wmsvc
PowerShell w Server Core R2
Jak pokazano wcześniej, instalację PowerShell możemy przeprowadzić z poziomu skryptu Sconfig lub z wiersza poleceń za pomocą ocsetup.
start /w ocsetup MicrosoftWindowsPowerShell.
Windows PowerShell v2 w Windows Server 2008 R2 oferuje ponad 100 nowych cmdletów, między innymi:
- Get-Hotfix
- Send-MailMessage
- Get-ComputerRestorePoint
- New-WebServiceProxy
- Debug-Process
- Add-Computer
- Rename-Computer
- Reset-ComputerMachinePassword.
Kilka przykładów użycia PowerShell:
PowerSHell V2 dostarcza dwa cmdlety do przetwarzania logów zdarzeń. Pierwszy z nich to *-EventLog, który jest dedykowany do czytania logów na XP i Win2k3, a drugi to Get-WinEvent dla Vista, Win2k8 oraz Windows 7.

Wyświetlenie logów Windows PowerShell za pomocą polecenia Get-WinEvent:

W celu sprawdzenia składni polecenia Get-WinEvent oraz wyświetlenia gotowych przykładów wpisz:

Przy Windows Server Core 2008 RTM wszystkie dodatkowe funkcje (features) należało instalować przy użyciu polecenia ocsetup. W Windows 2008 Server R2 RC trochę się to zmieniło, z pomocą przychodzi PowerShell. Aby wykorzystać nowe Server Manger cmdlety, musimy importować moduł servermanager poprzez uruchomienie komendy PowerShell - „Import-Module servermanager".
Moduł servermanger zawiera trzy cmdlety PowerShell, tak jak pokazano na rysunku poniżej.

Sprawdzamy, czy komponent .NET Framework jest zainstalowany. Znak „X" oznacza, że komponent został zainstalowany. Wpisując polecenie Get-WindowsFeature, otrzymamy całą listę dodatkowych elementów.

Jedną z istotnych zmian w Windows Server 2008 R2 z PowerShell v2 jest dodanie modułu Active Directiry PoweShell, który na obecną chwilę zawiera 75 cmdletów do zarządzania infrastrukturą Active Directory.
Instalacja modułu AD Powershell.
Standardowo AD PowerShell instalowany jest na kontrolerze domeny Windows Server 2008 R2. Z poziomu linii wiersza poleceń instalujemy funkcję:
start /w ocsetup ActiveDirectory-PowerShell

Teraz importujemy moduł AD Powershell. W tym celu otwieramy konsolę PowerShell:

Praca z AD PowerShell
Na maszynie dołączonej do domeny mamy stworzony default drive o nazwie AD. Za pomocą poleceń natywnych, np. CD, DIR możemy nawigować po usłudze katalogowej. Ścieżki należy podawać w formacie X500.
Jak dostać się do domeny i nawigować po niej?
Cd AD:
PWD
DIR | Format-Table -Auto
CD "DC=contoso, DC=local"
DIR | ft -a
Poniższy przykład prezentuje stworzenie i usunięcie jednostki organizacyjnej „myNewOu" w domenie contoso.local.

Tip: W PowerShell v2 za pomocą klawisza TAB możemy automatycznie dopełniać komendy.
Jak wyświetlić właściwości nowej jednostki organizacyjnej?
Get-ADOrganizationalUnit "OU=Warsaw,DC=contoso,DC=local"
Jak wylistować wszystkie obiekty użytkowników?
CD CN=USers
Dir | Ft -a
Get-ADObject -Filter {name -like "*"}
Get-ADUser -Filter {name -like "*"}
Get-ADUser -Filter {name -like "*"} | Select Name, Enabled | Format-Table -Auto
Jak włączyć na przykład konto gościa?
Enable-ADAccount -Identity Guest
Teraz sprawdźmy, czy zostało włączone:
Get-ADUser -Filter {name -like "Guest"} | Select Name, Enabled | Format-Table -Auto

Jak wyświetlić informacje o grupie Domain Admins?
Get-ADGroup -SearchBase "DC=contoso,DC=local" -SearchScope Subtree -Filter {Name -like "*Domain Admins*"}
Wyświetlenie informacji o domenie:
Get-ADDomain contoso
Wyświetlenie informacji o Domain Password Policy:
Get-ADDefaultDomainPasswordPolicy
Jak się nauczyć AD PowerShell?
PS AD:\> Get-help -AD
## wszystkie cmdlety, które tworzą obiekty AD
PS AD:\> get-help New-AD*
Pobieramy więcej informacji na temat specyficznego cmdletu:
## opis składni
PS AD:\> Get-help set-aduser -detailed
## przykładowe użycie
PS AD:\> get-help get-aduser -examples
Best Practices Analyser w Server Core 2008 R2
Microsoft BPA to narzędzie zaprojektowane dla administratorów stawiających dopiero pierwsze kroki. Narzędzie pozwala zebrać informacje z wielu miejsc systemu i przedstawić czytelny raport, zawierający informacje oraz linki do materiałów opisujących, co powinien zrobić administrator, aby poprawić bezpieczeństwo i wydajność swojego serwera.
W Windows Server Core 2008 R2 możemy skorzystać z modułu PowerShell o nazwie Best Practices Analyzer. Na obecną chwilę cmdlety BPA pomogą usprawnić następujące role serwera:
- Active Directory Domain Services
- Active Directory Certificate Services
- Web Server (IIS)
- DNS Server
- Remote Desktop Services.
Jak dodać moduł BPA w PowerShell?
Import-module BestPractices
Sprawdźmy, jakie polecenia są dostępne.
Get-command *BPA*
Poleceniem get-BpaModel możemy sprawdzić, jakie role zainstalowane na serwerze mogą być skanowane za pomocą BPA.

W celu wygenerowania raportu przykładowo dla roli WebServer użyjemy polecenia invoke-BpaModel z id odpowiadającemu serwerowi IIS, czyli Microsoft/Windows/WebServer.

W ostatnim kroku możemy podejrzeć raport wygenerowany przez Best Practices Analysera. W tym celu wykorzystamy polecenie Get-BpaResult Microsoft/Windows/WebServer.

Oczywiście, wiersz linii poleceń nie jest wygodnym narzędziem do czytania raportu. Jak to zrobić z konwersją do formatu HTML?
Get-BpaResult Microsoft/Windows/WebServer | ConvertTo-HTML | set-content c:\report.html
Windows-on-Windows 64-bit (WoW64)
Windows on Windows 64 (WoW64) to opcjonalna funkcjonalność pozwalająca uruchomić 32-bitowe aplikacje na 64-bitowym serwerze. W standardzie WoW64 jest zainstalowany i jego binaria zajmują około 250MB na dysku. Mamy oczywiście możliwość usunięcia tej funkcjonalności, jeśli chcemy używać tylko aplikacji 64-bitowych.
Należy pamiętać, że w przypadku instalacji roli Active Directory, Active Directory Lightweight Directory Services czy IIS na serwerze Core musimy mieć WoW64, ponieważ te role wymagają 32-bitowej platformy.
Windows Server Migration Tools
Windows Server Migration Tools to narzędzie oparte o cmdlety PowerShell, które pozwala przeprowadzić migrację niektórych ról, funkcji, opcji systemów operacyjnych czy zasobów współdzielonych z systemów Windows Server 2003, Windows Server 2008 lub Windows Server 2008 R2 do systemu Windows Server 2008 R2.
Narzędzie umożliwia migrację z systemów 32-bitowych do architektury 64-bitowej.
Systemy operacyjne wspierane przez WSMT w procesie migracji:
|
Źródłowy procesor serwera
|
System operacyjny źródła
|
Docelowy Serwer
|
Docelowy procesor serwera
|
|
x86- or x64-based
|
Windows Server 2003
|
Windows Server 2008 R2 and Server Core
|
x64-based
|
|
x86- or x64-based
|
Windows Server 2003 R2
|
Windows Server 2008 R2 and Server Core
|
x64-based
|
|
x86- or x64-based
|
Windows Server 2008
|
Windows Server 2008 R2 and Server Core
|
x64-based
|
|
x64-based
|
Windows Server 2008 R2
|
Windows Server 2008 R2 and Server Core
|
x64-based
|
|
x64-based
|
Windows Server 2008 R2 Server Core
|
Windows Server 2008 R2 and Server Core
|
x64-based
|
Niemożliwa jest migracja pomiędzy serwerami w różnych wersjach językowych, czyli nie możemy przeprowadzić migracji z Windows Server 2008 z francuskim UI do Windows Server 2008 R2 z niemieckim UI.
Wspierana jest migracja z platform x86 i x64 pod kontrolą Windows Server 2003 czy też Windows Server 2008 do Windows Server 2008 R2. Wszystkie edycje Windows Server 2008 R2 są 64-bitowe.
Nie jest także możliwe przeprowadzenie migracji serwera Core pod kontrolą Windows Server 2008 RTM do Windows Server Core 2008 R2, ponieważ ten pierwszy nie posiada .NET Framework.
Poniżej przeprowadzono przykładową migrację roli DHCP z pełnej instalacji Windows Server 2008 R2 Enterprise do Windows Server Core 2008 R2.
Jak wygląda proces migracji serwera DHCP z WSMT?

Jak pokazano na powyższej ilustracji, proces przed migracją polega na odpowiednim przygotowaniu serwera docelowego i źródłowego do takiej operacji. W następnym kroku, czyli w procesie migracji, używamy cmdletów Export i Import narzędzia WSMT do właściwej migracji. Informacje są automatycznie zbierane i magazynowane, a następnie są zapisane do odpowiedniego formatu.
W etapie po migracji uruchamiane są procedury weryfikujące, czy serwer docelowy został odpowiednio przeniesiony. Jeśli podczas sprawdzenia zostanie wykryty błąd, rozpoczyna się proces diagnozowania i rozwiązywania problemu, jeśli to nie pomoże, to przeprowadzana jest operacja rollback.
Jak zainstalować Windows Server Migration Tools w wersji pełnej Win2k8 R2?
Z poziomu Server Manager dodajemy nową Funkcję (Add Features).

Wybieramy Windows Server Migration Tools, wraz z którym zainstalują się cmdlety PowerShell. Po zakończeniu instalacji WSMT będzie dostępne z poziomu Administrative Tools, gdzie zlokalizowany jest katalog z narzędziem.

Po uruchomieniu WSMT wpisujemy polecenie Get-SmigServerFeature, aby zebrać informacje o zainstalowanych komponentach, które mogą zostać zmigrowane.

W kolejnym kroku użyjemy cmdletu Export-SmigServerSetting, tym samym rozpoczynając etap właściwej migracji. Na dysku C:\ (zdefiniowany w parametrze -path) zostanie stworzony plik svrmig.mig.
Należy zatrzymać serwer DHCP, aby procedura Export zakończyła się powodzeniem.

Jak zainstalować Windows Server Migration Tools w Windows Server Core 2008 R2?
Mamy możliwość instalacji na dwa sposoby: za pomocą cmdletów ServerManager dla PowerShell lub z wiersza poleceń za pomocą polecenia ocsetup ServerMigration.
W poniższym przykładzie z poziomu PowerShell importujemy moduł ServerManger, po czym możemy zainstalować funkcję ServerMigration.

W następnym kroku aby móc korzystać z cmdletów, musimy dodać odpowiedni snap-in do bieżącej sesji, korzystając z polecenia Add-PSSnapin.

Według najlepszych praktyk Microsoft plik svrmig.mig powinien znajdować się na lokalnym serwerze, nie powinien być kopiowany po sieci.

Na maszynie docelowej wykonujemy operację odwrotną, czyli importujemy konfigurację roli DHCP za pomocą cmdletu Import-SmigServerSetting.

Jeśli operacja się powiodła, otrzymamy komunikat, że migracja zakończyła się powodzeniem. Korzystając z polecenia oclist | more, sprawdźmy, czy została zainstalowana odpowiednia rola DHCPServerCore na serwerze docelowym.

Przed weryfikacją poprawności zakresów DHCP i działania nowego serwera DHCP musimy go wystartować.
Należy pamiętać także o autoryzacji serwera DHCP w domenie, aby mógł on rozdzielać adresy.

Korzystając z polecenia netsh dhcp server sprawdźmy, czy zakres został poprawnie przeniesiony. Na rysunku poniżej widać, że zakres Scope1 jest aktywny. Migracja zakończyła się powodzeniem.

Podsumowanie
Głównymi zaletami Windows Server Core 2008 R2 są między innymi:
- Zredukowane nakłady na konserwację oprogramowania, ponieważ zainstalowane są tylko pliki absolutnie niezbędne do działania serwera DHCP, DNS czy DC.
- Mniejsza płaszczyzna ataków. Z samego faktu, że Server Core pracuje przy mniejszej liczbie uruchomionych plików wynika mniejsza liczba punktów narażonych na potencjalne ataki z sieci. Ponadto ewentualne luki bezpieczeństwa odkryte w niezainstalowanych plikach nie wymagają natychmiastowego stosowania łat aktualizacyjnych.
- W Windows Server Core 2008 R2 Microsoft postawił na zredukowanie nakładów pracy przy konfiguracji i późniejszym zarządzaniu takim serwerem.
- Administrator ma do dyspozycji narzędzie Sconfig, którym można szybko przeprowadzić wstępną konfigurację serwera.
- Za pomocą PowerShell można zarządzać rolami lokalnego serwera, od PowerShell v2 także zdalne zarządzanie za pomocą cmdletów PS.
- Możliwość instalacji .NET Framework i hostowania aplikacji ASP.net.