Installazione e amministrazione di Windows Server 2008 Server Core
a cura di Ermanno Goletto - SysAdmin.it
Una delle novità di Windows Server 2008 è l'introduzione della possibilità di installare il sistema operativo in modalità Server Core. Questa modalità di installazione, presente in tutte le versioni di Windows Server 2008, consente un risparmio di risorse hardware utilizzate in termini di CPU, RAM e spazio occupato su disco in quanto vengono installati solo componenti indispensabili per consentire la funzionalità di alcuni servizi. Questo significa che oltre al risparmio di risorse hardware si avrà anche una ridotta "superficie di attacco" ed una minor probabilità di avere bug, quindi un carico amministrativo ridotto in termini di aggiornamento del sistema.
Installazione di Windows 2008 Server Core
Windows Serve 2008 Core necessita dei seguenti requisiti hardware per poter essere installato:
Processore: 2GHz o superiore (minimo 1 GHz per processori x86 o 1.4 GHz per processori x64).
RAM: 1 GB o superiore (minimo 512 MB, i valori massimi sono 4GB per la versione Standard a 32 bit, 64GB per le versioni Enterprise e Datacenter a 32 bit, 32GB la versione Standard a 64 bit e 2TB per le versioni Enterprise e Datacenter a 64 bit).
Spazio libero su disco: 2 GB.
Video: Super VGA (800 × 600) o superiore.
Per confrontare i requisiti hardware con quelli di Windows Server 2008 non in modalità Core si faccia riferimento al seguente Microsoft Windows Server 2008 System Requirements.
Il processo di installazione si basa su WinPE 2.0 come quello di Windows Vista che per essere avviato richiede almeno 256 MB di RAM, un valore minore del minimo richiesto da Windows Server 2008, ma va precisato che prima di avviare l'installazione viene controllata che la disponibilità di memoria del sistema sia almeno di 512 MB in caso contrario non sarà possibile continuare.
L'installazione di Windows 2008 Server Core è decisamente semplice e si articola nelle seguenti fasi:
Selezione della lingua, regional settings e layout di tastiera.
Selezione dell'opzione per l'avvio dell'installazione.
Introduzione della product key (per default viene selezionata l'opzione di attivare Windows quando il computer sarà connesso a Internet).
Selezione della modalità di installazione Server Core.
Accettazione del contratto di licenza.
Selezionane dell'opzione di installazione Custom.
Selezione della partizione su cui eseguire l'installazione (tramite l'opzione Drive options sarà possibile gestire le partizioni, mentre tramite Load Driver potranno essere caricati driver non inclusi nell'installazione di Windows Server 2008 da floppy, CD, DVD o chiavette USB)
Terminata l'installazione preme CTRL+ALT+CANC quindi selezionare Other User.
Autenticarsi al sistema con l'utente Administrator senza password.
Modificare la password di Administrator come richiesto.
E' anche possibile installare Windows 2008 in modalità unattend o tramite Windows Deployment Services, per ulteriori informazioni si faccia riferimento al seguente .
Dal momento che non esiste l’Initial Tasks Wizard le seguenti operazioni dovranno essere fatte successivamente manualmente a riga di comando o tramite script:
Impostazione nome computer.
Configurazione impostazioni di rete.
Join al dominio.
Abilitazione aggiornamenti automatici.
Attivazione windows.
I percorsi di aggiornamento per quanto riguarda la versione Core sono vincolati alle seguenti limitazioni:
Non è possibile aggiornare da una versione precedente di Windows Server.
Non è possibile aggiornare la modalità Server Core alla modalità full con interfaccia grafica, ma è necessaria una nuova installazione.
Non è possibile aggiornare la modalità full con interfaccia grafica alla modalità Server Core, ma è necessaria una nuova installazione.
Analisi del sistema
La shell di Windows Server 2008 Core è rappresentata dal prompt dei comandi (la shell Explorer non viene installata), il sistema operativo dispone infatti di una ridotta interfaccia grafica che consente solo l'esecuzione di semplici applicazioni GDI. Ciò significa che il sistema è più leggero, ma anche che occorre ricorrere alla riga di comando per configurare il sistema.
La modalità di installazione Server Core consente l'esecuzione dei seguenti ruoli
Active Directory Domain Services (AD DS).
Active Directory Lightweight Directory Services (AD LDS)
DHCP Server
DNS Server
File Services (incluso DFSR e FSR)
Print Services
Streaming Media Services
Web Server (IIS)
Hyper-V
Per informazioni sui ruoli sopportati nelle diverse edizioni si faccia riferimento al seguente Windows Server 2008: Compare Server Core Installation Options.
Oltre ai ruoli elencati precedentemente sono anche supportare le seguenti features:
Microsoft Failover Cluster
Network Load Balancing
Subsystem for UNIX-based Applications
Windows Backup
Multipath I/O
Removable Storage Management
Windows Bitlocker Drive Encryption
Simple Network Management Protocol (SNMPv1 e v2c)
Windows Internet Naming Service (WINS)
Telnet client
Quality of Service (QoS)
Non sono invece presenti Internet Explorer, Windows Media Player, lo stack audio e qualunque altra funzionalità o applicazione che utilizzi chiamate api non supportate questo significa che, essendo Internet Explorer al momento un prerequisito per il .NET Framework, non sarà possibile utilizzare Powershell o eseguire alcuna applicazione managed, inoltre sebbene sia supportato IIS non potranno essere pubblicate applicazioni web basate su ASP.NET, ma solo siti basati su html.
Una tipica applicazione di Windows 2008 Server Core potrebbe essere quella di un server per un branch office che assolva al ruolo di Read-Only Domain Controller e file server, mentre tramite il ruolo Hyper-V possono essere supportate eventuali altre applicazioni necessarie che non potrebbero essere eseguite in ambiente Server Core. In ogni caso ogni qual volta sia necessario un server la cui gestione sia assimilabile a quella di una appliance o in cui la ridotta superficie di attacco e l'assenza di funzionalità non necessarie siano importanti Windows Server 2008 Core è la scelta ottimale (si pensi a situazioni in cui i server si trovino in ambienti non presidiati o non in cui non vi sia personale specializzato che si occupi della loro gestione).
Dopo l'instalIazione viene abilitato per default la nuova versione del Windows Firewall che supporta il filtraggio del traffico sia in entrata che in uscita, l'integrazione con IPSec ed eccezioni per la configurazione avanzata che consentono ad esempio di configurare le regole per consentire l'amministrazione remota del sistema.
In questa modalità d'installazione sono presenti solo i binari (gli stessi della versione full) necessari per il funzionamento dei ruoli supportati, per verificare se un'applicazione può funzionare su Windows 2008 Server Core occorre controllare se utilizza chiamate api supportate. L'elenco delle api supportate per DLL o nome funzione è disponibile al seguente link Server Core Reference.
L'assenza della shell Explorer può essere un semplice metodo per testare se uno script viene eseguito in ambiente Server Core utilizzando ad esempio le seguenti istruzioni:
Dim bServerCore Set objFSO = CreateObject("Scripting.FileSystemObject") Set objShell = WScript.CreateObject("WScript.Shell") Set objProcessEnvVar = objShell.Environment("Process") bServerCore = Not objFSO.FileExists(objProcessEnvVar("SYSTEMROOT") + "\explorer.exe") Set objProcessEnvVar = Nothing Set objShell = Nothing Set objFSO = Nothing
Potrebbe infatti dover essere necessario differenziare il codice di uno script a seconda della modalità di installazione in cui viene eseguito, in ogni caso si tenga presente che le funzioni che utilizzano l'interfaccia grafica quali MsgBox, InputBox e WScript.Echo sono supportate anche in ambiente Server Core.
Il modo più corretto per ottenere informazioni sul sistema operativo in esecuzione è comunque quello di utilizzare la chiamata api GetProductInfo che se è in esecuzione Windows 2008 Server Core ritornerà uno dei seguenti valori: PRODUCT_DATACENTER_SERVER_CORE, PRODUCT_ENTERPRISE_SERVER_CORE o PRODUCT_STANDARD_SERVER_CORE. Il modo più semplice per verificare la modalità d'installazione tramite la GetProductInfo all'interno di uno script è quello di utilizzare Windows Management Instrumentation (WMI) tramite il seguente comando:
- wmic path win32_operatingsystem get OperatingSystemSKU /value
che restituisce i seguenti valori per le modalità di installazione Core (per maggiori dettagli sui valori restituiti si veda la documentazione della funzione API GetProductInfo):
12 Server Datacenter Edition Core
13 Server Standard Edition Core
14 Server Enterprise Edition Core
29 Web Server Edition Core
39 Server Datacenter Edition without Hyper-V Core
40 Server Standard Edition without Hyper-V Core
41 Server Enterprise Edition without Hyper-V Core
Configurazione dell'installazione
Terminata l'installazione occorre configurare l'installazione tramite il prompt dei comandi che, se necessario può essere avviato avviato tramite il Task Manager (visualizzabile premendo CTRL+ALT+CANC) selezionando File quindi New Task (Run...) e digitando cmd.exe. La gestione della sessione può avvenire tramite interfaccia grafica dopo aver premuto CTRL+ALT+CANC oppure tramite a riga di comando utilizzando ad esempio Logoff, per ulteriori informazioni si veda il link Comandi di Servizi terminal.
Di seguito verranno descritte le operazioni più comuni che è necessario eseguire per configurare un installazione Server Core.
Configurazione del prompt dei comandi
E' possibile configurare le impostazioni di default del prompt dei comandi per renderla più "confortevole" tramite un click destro sulla barra del titolo e selezionando la voce di menù contestuale Defaults, mentre selezionando Properties è possibile impostare le opzioni del prompt dei comandi corrente.
In particolare è consigliabile selezionare, nella scheda Options, l'opzione Discard Old Duplicates nel riquadro Command History per scaricare i vecchi duplicati del buffer size e Quick Edit Mode nel riquadro Edit Options per consentire le funzionalità di copia e incolla. Tramite le scheda Font e Colors è possibile modificare il carattere e il colore utilizzati, mentre tramite la scheda Layout è possibile impostare le dimensioni della finestra.
Impostazione dei Regional Settings e della tastiera
Per configurare le impostazioni di tastiera è possibile utilizzare l'applet Intl.cpl. L'impostazione della tastiera e dei regional settings italiani, se non è stato fatto durante la fase di installazione, è possibile mediante la seguente procedura:
Selezionare la scheda Formats e quindi Italian (Italy) in Current Format. per impostare i formati di visualizzazione di data, ora, numeri e valute.
Selezionare la scheda Location e quindi Italy in Current location. Questa impostazione viene utilizzata da alcuni software e servizi per fornire informazioni legate alla località (ad esempio news e tempo atmosferico).
Selezionare la scheda Keyboards and Languages.
Selezionare Change Keyboards.
Aggiungere la tastiera italiana tramite Add.
Impostare la tastiera italiana come prima tastiera nell'elenco delle tastiere utilizzabili tramite Move up.
Impostare la tastiera italiana come tastiera di default.
Selezionare Apply.
Selezionare OK.
Selezionare Apply.
Selezionare OK.
Per passare alla tastiera italiana nel prompt dei comandi corrente utilizzare la combinazione di tasti SHIFT+ALT.
Impostazione data e ora
La data e ora del sistema può essere configurata tramite l'applet Timedate.cpl. Nella scheda Date and Time è possibile impostare la data e l'ora correnti selezionando Change date and time, mentre selezionando Change time zone è possibile modificare il fuso orario. Tramite la scheda Internet Time è possibile invece impostare la sincronizzazione oraria con riferimenti orari in Internet.
L'impostazione della data e dell'ora è anche possibile tramite i comandi Date e Time che consentono anche la sola visualizzazione utilizzando il parametro /T.
Configurazione impostazioni di rete
Per impostazione predefinita le impostazioni di rete sono configurate per l'utilizzo del DHCP, quindi in assenza di tale servizio nella rete verrà impostato un indirizzo ip nel range APIPA (Automatic Private IP Assignement) 169.254.x.x.
Per verificare le attuali impostazioni di rete delle relative interfacce è possibile utilizzare il comando:
- ipconfig /all oppure netsh interface ip show config
Per visualizzare le interfacce di rete è possibile utilizzare il comando:
- netsh interface ipv4 show interfaces
(sarà possibile riferirsi ad una specifica interfaccia tramite il suo nome indicato nella colonna Name dell'elenco)
Le impostazioni di rete della possono essere configurate come segue tramite il comando Netsh:
Per impostare sull'interfaccia Local Area Connection l'indirizzo IP 10.0.0.100 con subnet mask 255.255.255. 0 e gateway predefinito 10.0.0.1 utilizzare il comando:
netsh interface ipv4 set address name="Local Area Connection" static address=10.0.0.100 mask=255.255.255.0 gateway=10.0.0.1 1Per impostare l'interfaccia Local Area Connection ad ottenere automaticamente un indirizzo IP da un server DHCP utilizzare il comando:
netsh interface ipv4 set address "Local Area Connection" dhcpPer impostare sull'interfaccia Local Area Connection l'indirizzo IP 10.0.0.2 come indirizzo del server DNS primario utilizzare il comando:
netsh interface ipv4 set dns name="Local Area Connection" source=static address=10.0.0.2 primaryPer impostare l'interfaccia Local Area Connection ad ottenere dinamicamente le impostazioni DNS utilizzare il comando:
netsh interface ipv4 set dns "Local Area Connection" dhcp
Se necessario il comando Netsh offre un semplice modo per salvare e riapplicare le impostazioni di rete che può tornare utile nel caso queste debbano essere modificate temporaneamente:
Per esportare le configurazioni di rete sul file C:\NetSettings\lan.txt utilizzare il comando:
netsh -c interface dump > c:\netsettings\lan.txtPer importare le configurazioni di rete del file C:\NetSettings\lan.txt utilizzare il comando:
netsh -f c:\netsettings\lan.txt
oppure
netsh exec c:\netsettings\lan.txt
Per ulteriori informazioni sul comando Netsh si vedano i seguenti link:
Impostazione nome computer e join al dominio
Durante il processo di installazione viene generato automaticamente il nome assegnato al computer, per modificare questa impostazione utilizzare la seguente procedura:
Determinare il nome del computer attualmente configurato tramite il comando hostname o ipconfig /all oppure Set computername che consente di visualizzare la variabile d'ambiente computername.
Modificare il nome del computer e riavviare il sistema utilizzando Netdom tramite il comando:
netdom renamecomputer %ComputerName% /NewName: NewComputerName /reboot
Confermare il messaggio che modificando il nome del computer alcuni servizi (come ad esempio la Certificate Authority) potrebbe smettere di funzionare premendo Y.
Per eseguire il join ad un dominio occorre prima avere configurato il server dns nelle impostazioni di rete tramite netsh come visto precedentemente, a meno tale informazione non sia distribuita tramite un server DHCP, quindi utilizzare il seguente comando che utilizza le credenziali dell'Administrator di dominio richiedendo la digitazione della password e riavvia il sistema:
- netdom join ComputerName /Domain: DomainName /UserD:Administrator /PasswordD:* /reboot
Per rimuovere il computer dal dominio utilizzare il seguente comando:
- netdom remove ComputerName /Domain: DomainName /UserD:Administrator /PasswordD:* /reboot
Attivazione di Windows
Per attivare la copia di Windows Server 2008 è possibile ricorrere al vbscript slmgr.vbs che permette di gestire le seguenti operazioni:
Attivazione della copia di Windows:
%systemroot%\system32\slmgr.vbs -ato
Attivazione remota della copia di Windows:
cscript %systemroot%\system32\slmgr.vbs -ato ServerNameUserNamePassword
Informazioni dettagliate sull'attivazione di Windows in modalità grafica:
%systemroot%\system32\slmgr.vbs -dlv
Informazioni dettagliate sull'attivazione di Windows in modalità testuale:
cscript %systemroot%\system32\slmgr.vbs -dlv
Visualizzazione della data di scadenza della licenza in modalità grafica:
cscript %systemroot%\system32\slmgr.vbs -xpr
Visualizzazione della data di scadenza della licenza in modalità testuale:
cscript %systemroot%\system32\slmgr.vbs -xpr
Estensione del periodo di valutazione (se durante l'installazione non viene fornita una product key è possibile utilizzare il prodotto per un periodo valutativo di 60 giorni è possibile estendere periodo di altri 60 giorni per tre volte per un totale di 240 giorni come indicato nel seguente How to extend the Windows Server 2008 evaluation period):
cscript %systemroot%\system32\slmgr.vbs -rearm (da eseguire prima della scadenza)
shutdown /r /t 0 (per riavviare il computer)
Attivazione degli aggiornamenti automatici
Per impostazione predefinita dopo l'installazione gli aggiornamenti automatici sono disabilitati, ma è possibile gestire tale funzionalità tramite lo script Scregedit.wsf:
Abilitazione dell' Automatic Update:
cscript %systemroot%\system32\Scregedit.wsf /au 4
Net stop wuauserv
Net start wuauserv
Visualizzazione delle impostazioni correnti dell' Automatic Update:
cscript %systemroot%\system32\Scregedit.wsf /au /v
Diabilitazione dell' Automatic Update:
cscript %systemroot%\System32\Scregedit.wsf /au 1
Net stop wuauserv
Per default l'opzione /au 4 abilita il download in locale degli aggiornamenti ed esegue l'installazione alle 3:00 AM eseguendo il riavvio del computer se un aggiornamento lo richiede, nel caso in cui un utente sia connesso al computer verrà informato del riavvio del sistema operativo, in modo che possa scegliere se posticiparlo o meno.
In Windows 2008 Server Core non sono disponibili le opzioni di configurazione degli aggiornamenti automatici 2 e 3 poichè utilizzano i balloon pop-up che nella modalità Core non possono essere visualizzati poichè la shell è il prompt dei comandi e non explorer.exe. Non è disponibile neppure l'opzione 5, che consente agli amministratori locali di configurare gli aggiornamenti automatici, a causa dell'assenza del Pannello di Controllo. Per maggiori informazioni sulle opzioni di configurazione degli aggiornamenti automatici si veda Managing the WSUS Automatic Updates Client Download, Install, and Reboot Behavior with Group Policy.
Per modificare le impostazioni di default degli aggiornamenti automatici (come ad esempio l'ora a cui scaricare e installare gli aggiornamenti) e possibile ricorrere ad una modifica al registro o usare le Group Policy se il computer appartiene ad un dominio.
Di seguito vengono elencati alcuni comandi che possono risultare utile per la gestione degli aggiornamenti e delle applicazioni:
Avvio del controllo degli aggiornamenti:
Wuauclt /detectnow
Visualizzazione degli aggiornamenti installati:
wmic qfe list
Installazione manuale di un aggiornamento:
Wusa.exe UpdateName .msu /quiet
La rimozione di un aggiornamento può essere eseguita tramite WMIC e Pkgmgr tramite la seguente procedura:
Espandere il file msu dell'aggiornamento nella directory c:\msu-extract tramite il comando:
expand /f:* UpdateName .msu c:\ UpdateName
Posizionarsi nella directory c:\UpdateName tramite il comando:
cd \ UpdateName
Aprire con Notepad il file UpdateName.xml * *tramite il comando:
notepad UpdateName .xml
Sostituire Install con Remove e salvare il file.
Disinstallare l'aggiornamento tramite il comando:
Pkgmgr /n: UpdateName .xml
Impostazione delle proprietà del Desktop
In Windows Server 2008 Server Core non è possibile accedere alle proprietà dello schermo tramite interfaccia grafica, per impostare la risoluzione video occorre modificare una chiave di registro utilizzando la seguente procedura:
Digitare Regedit al prompt dei comandi.
Aprire la chiave HKLM\System\CurrentControlSet\Control\Video.
Espandere la GUIDs che ha una subkey VolatileSettings all'interno della subkey 0000.
Aprire la subkey 0000 e aggiungere o modificare i valori DefaultSettings.XResolution e DefaultSettings.YResolution per impostare la risoluzione orizzontale e verticale.
Chiudere Regedit
Affinché la risoluzione impostata venga utilizzata occorre seguire un logoff e un login.
Il valore della GUID in cui risiedono i valori da modificare è generato automaticamente, non risulta quindi possibile automatizzare l'impostazione via script. E' possibile alternativamente impostare la risoluzione video durante l'installazione tramite un file unattend, inoltre se ci si connette tramite Terminal Services è possibile impostare la risoluzione sul client RDP.
Di seguito vengono elencate le chiavi di registro relative ad altre impostazioni dell'aspetto video:
Profondità di colore:
Registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\ GUID \0000\DefaultSettings.BitsPerPel
Valori:
0x00000008 = 8 bit (256 colori)
0x00000010 = 16 bits (65536 colori)
0x00000018 = 24 bits (16777216 colori)
0x00000020 = 32 bits (4294967296 colori)
Refresh Rate:
Registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\ GUID \0000\DefaultSettings.VRefresh
Valore: frequenza di refresh espressa in Hertz.
Tramite tramite la chiave di registro HKCU\Control Panel\Desktop è possibile gestire altre impostazioni del Desktop come ad esempio lo ScreenSaver tramite i valori ScreenSaveActive, ScreenSaveTimeOut, ScreenSaverIsSecure e SCRNSAVE.EXE.
Gestione delle impostazioni (file paging, servizi, driver, event logs, applicazioni, processi e utenti)
Per avere una panoramica delle impostazioni di sistema è possibile utilizzare il comando Systeminfo oppure l'applicazione SC, Net e il tool PnpUtil che permettono varie operazioni tra cui:
Aggiunta di un driver:
pnputil -i -a Path\FileDriver .inf
Elenco driver installati:
sc query type= driver
Rimozione di un driver o di un servizio:
sc delete NomeServizio
Elenco servizi in esecuzione:
sc query oppure net start
Avvio di un servizio:
sc start NomeServizio oppure net start NomeServizio
Arresto di un servizio:
sc stop NomeServizio oppure net stop NomeServizio
L'Event Log può essere gestito a riga di comando tramite wevtutil che permette le seguenti operazioni:
Elenco degli Event Logs disponibili:
wevtutil el
Visualizzazione di n eventi di un Log (Application, Hardware Events, Secutity, System, etc...) in formato testo ordinati a partire dal più recente:
wevtutil qe LogName /f:text /c:10 /rd:true
Esportazione di un Log:
wevtutil epl LogNamePath\FileName .evtx
Cancellazione di un Log:
wevtutil cl LogName
In Windows Server 2008 è possibile gestire le applicazioni tramite WMIC e Msiexec che consentono le seguenti operazioni:
Installazione di un'applicazione:
Msiexec.exe /i PathFileMsi (ovviamente se esiste è anche possibile avviare il file setup.exe)
Elenco applicazioni msi installate:
wmic product
Disinstallazione applicazione tramite Msiexec:
Msiexec /x PathFileMsi oppure Msiexec /x GUIDPackageMsi
Disinstallazione applicazione tramite Wmic:
Wmic product get name /value per ottenere il Name dell'applicazione.
Wmic product where name=" Name " call uninstall
Per la gestione dei processi è disponibile Tasklist che permette di vedere i processi in esecuzione fornendo alcune informazioni tra cui l'ID del processo (PID) che può essere utilizzato da TaskKill per interromper il processo tramite il comando:
- taskkill /PID IDProcesso
In alternativa è anche possibile utilizzare applicazioni quali ProcessExplorer e TCPView di Mark Russinovich in quanto molte delle loro funzionalità si basano su api supportate in Windows Server 2008 Core.
Gli utenti e i gruppi possono essere gestiti tramite il comando Net che permette le seguente operazioni:
Aggiunta di un utente al gruppo local Administrators:
net localgroup Administrators /add Dominio \ NomeUtente
Rimozione di un utente dal gruppo local Administrators:
net localgroup Administrators /delete Dominio \ NomeUtente
Modifica della password di Administrator:
net user administrator *
Elenco gruppi locali:
net localgroup
Visualizzazione impostazioni di login e password:
net accounts per le impostazioni di dominio utilizzare net accounts /domain
Elenco utenti locali:
net localgroup
Aggiunta utente locale:
net user NomeUtente * /add
Eliminazione utente locale:
net user NomeUtente * /delete
Per ulteriori informazioni si vedano i seguenti link: Net user, Net localgroup, Net accounts, Net group.
Amministrazione Remota
Ovviamente la console messa disposizione da Windows 2008 Server Core può non essere così comoda per la gestione di configurazioni di una certa complessità come ad esempio quelle richieste se il Server Core risiede in un Data Center. In particolare è possibile amministrare remotamente il sistema in tre modi:
Snap-in della Microsoft Management Console (MMC).
Sessione Remote Desktop.
Amministrazione remota tramite Microsoft Management Console (MMC)
E' possibile amministrare remotamente Windows 2008 Server Core tramite MMC 3.0 disponibile con Windows Server 2003 R2, Microsoft Windows Vista e Windows Server 2008 per sistemi Windows XP e Windows Server 2003 si veda il seguente link MMC 3.0 update is available for Windows Server 2003 and for Windows XP.
Il modo più semplice per utilizzare MMC è quello di abilitare il firewall per la gestione remota su tutti i profili (Pubblico, Privato e Dominio) tramite il seguente comando:
- netsh advfirewall set allprofiles settings remotemanagement enable
In questo modo sarà possibile tramite MMC abilitare poi i gruppi di regole del firewall per utilizzare gli altri snap-in, si noti che per connettersi remotamente a Windows Server Core tramite MMC occorre utilizzare una account che abbia i privilegi di accesso all'istanza Server Core. Quindi se il computer Server Core appartiene al domino è necessario autenticarsi al computer da cui si esegue MMC utilizzando delle credenziali di dominio con i privilegi necessari, in alternativa, o se il computer Server Core non appartiene al dominio, è possibile salvare delle credenziali differenti per l'accesso tramite utilizzando il comando cmdkey (omettendo il parametro /pass verrà richiesta la password):
- cmdkey /add: ServerName /user: UserName /pass: Password
oppure tramite l'utility Gestione nomi utenti e password archiviati che può essere avviata tramite il comando:
- RunDll32.exe keymgr.dll,KRShowKeyMgr
Per gli snap-in Event Viewer e Scheduled Tasks l'utilizzo di credenziali differenti non è necesario.
Se il computer Server Core un server stand alone occorrerà configurare l' snap-in Windows Firewall with Advanced Security per connettersi tramite l'indirizzo IP anziché tramite il nome. In casi come questo potrebbe essere utile abilitare poi tramite MMC le regole di firewall Inbound File and Printer Sharing (Echo Request - ICMPv4-In) per consentire il ping e File and Printer Sharing (NB-Name-In) per consentire la risoluzione del nome tramite NetBIOS (UDP 137). Ovviamente è possibile gestire le eccezioni del firewall da riga di comando sul computer Server Core tramite netsh advfirewall firewall come indicato nel seguente How to use the “netsh advfirewall firewall” context instead of the “netsh firewall” context to control Windows Firewall behavior in Windows Server 2008 and in Windows Vista.
Per consentire la gestione remota completa tramite MMC è possibile abilitare il gruppo di regole firewall "Remote Administration" utilizzando il seguente comando:
- netsh advfirewall firewall set rule group="Remote Administration" new enable=yes
In alternativa è possibile abilitare granularmente ogni snap-in abilitando il relativo gruppo di regole firewall utilizzando il comando:
- Netsh advfirewall firewall set rule group=" Rule Group " new enable=yes
Di seguito viene riportata tabella per gli snap-in di maggior interesse:
Snap-in |
Rule Group |
---|---|
Event Viewer |
Remote Event Log Management |
Services |
Remote Service Management |
Shared Folders |
File and Printer Sharing |
Task Scheduler |
Remote Scheduled Tasks Management |
Reliability and Performance |
“Performance Logs and Alerts” e “File and Printer Sharing” |
Disk Management |
Remote Volume Management |
Windows Firewall with Advanced Security |
Windows Firewall Remote Management |
Occorre tenere conto che non esiste una regola generale per ogni snap-in, ma che alcuni richiedono configurazioni aggiuntive:
per utilizzare lo snap-in Device Manager occorre abilitare sul computer Server Core la policy (è possibile farlo remotamente tramite lo snap-in Group Policy Object):
Configuration\Administrative Templates\Device Installation\Allow remote access to the PnP interface.
per utilizzare lo snap-in Disk Management occorre abilitare sul computer Server Core il servizio Virtual Disk Service (VDS), è possibile farlo remotamente tramite lo snap-in Services.
per utilizzare lo snap-in IPSec Mgmt occorre abilitare sul computer Server Core la gestione remota di IPSec tramite lo script scregedit.wsf utilizzando il seguente comando:
Cscript %systemroot%\system32\scregedit.wsf /im 1
Amministrazione remota tramite Terminal Services
Per configurare l'accesso al computer Server Core tramite Terminal Services occorre utilizzare lo script scregedit.wsf per abilitare Remote Desktop in modalità Amministrazione utilizzando il seguente comando:
- Cscript %systemroot%\system32\scregedit.wsf /AR 0
Il comando oltre ad abilitare Remote Desktop in modalità Amministrazione configura anche il firewall per accettare il traffico RDP in ingresso per il profilo Public, in alternativa è possibile configurare il firewall con il seguente comando:
- netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
Per visualizzare l'attuale configurazione dell'RDP è possibile utilizzare il comando (un valore di ritorno pari a1 indica che le connessioni RDP sono disabilitate, mentre un valore di ritorno pari a 0 indica che sono abilitate):
- Cscript %systemroot%\system32\scregedit.wsf /AR /v
In Windows Vista e Windows Server 2008 è stata introdotto un nuovo Credential Security Service Provider (CredSSP) ciò significa che il Remote Desktop è configurato per negoziare una cifratura con il client e se questo la supporta il traffico tra server e client verrà criptato evitando così lo sniffing dei tasti premuti per introdurre le credenziali che vengono digitate sul client e non sul server. Per connettersi al computer Server Core tramite il client RDP rilasciato con versioni precedenti precedenti a Windows Vista e Windows Server 2008 (Windows XP e Windows Server 2003) occorre disabilitare il CredSSP per Terminal Services tramite il seguente comando:
- Cscript %systemroot%\system32\scregedit.wsf /CS 0
Ovviamente se possibile è consigliabile utilizzare il client di Terminal Services 6.0, per ulteriori informazioni in merito si veda L'aggiornamento del client di Connessione desktop remoto 6.0 è disponibile per il download nell'Area download Microsoft.
E' possibile avviare una sessione RDP tramite il comando Mstsc una volta avviata la sessione è possibile accedere ai drive remoti tramite la share \\tsclient\ DriverLetter (per esempio \\tsclient\c), mentre per disconnetere la sessione è possibile utilizzare il comando Logoff.
Amministrazione remota tramite Windows Remote Management
Windows Remote Management (WinRM) è l'implementazione Microsoft del protocollo WS-Management basato su SOAP, di facile integrazione con i firewall (firewall friendly), che consente ad hardware e a sistemi operativi di diversi fornitori di interoperare.
WinRM è disponibile in Windows Server 2003 R2, Windows Vista e Windows Server 2008 e consente di gestire i computer su Internet tramite HTTP su porta TCP 80, una porta per servizi Internet standard che la maggior parte dei firewall lascia aperta in ogni caso la porta utilizzata può essere modificata. E' anche possibile utilizzare il protocollo HTTPS su porta TCP 443 modificabile, ma in questo caso occorrerà importare un certificato digitale rilasciato per il computer Server Core.
Per configurare WinRM su Server Core è possibile utilizzare il seguente comando che abilita il servizio di amministrazione da remoto tramite WS-Management mediante la creazione di un listener WinRM su HTTP per accettare richieste WS-Management su tutti gli IP del computer e l'abilitazione della group rule del firewall per WinRS Windows Remote Management (HTTP-in):
- winrm quickconfig
In Windows Server 2008 Windows Remote Management è installato per default e il servizio WinRM è impostato le l'avvio automatico ritardato, quindi per verificare se Windows Remote Management è abilitato è possibile utilizzare il seguente comando che elenca i listener:
- winrm enumerate winrm/config/listener
Per disabilitare Windows Remote Management è necessario rimuovere il listener tramite il comando:
- WinRM delete winrm/config/listener?Address=*+Transport=HTTP
Le impostazioni predefinite di Windows Remote Management sono:
Massimo di 5 utenti concorrenti
Massimo di due shell per utente
Massimo di 80MB di memoria utilizzabile per shell
Massimo di 5 processi per shell
Per accedere a Server Core occorrerà utilizzare il comando WinRS disponibile in Windows Server 2003 R2, Windows Vista e Windows Server 2008 mediante il seguente formato:
- winrs -r: NomeServerComando
Affinché sia possibile eseguire comandi tramite WinRS su HTTP è necessario utilizzare l'autenticazione Kerberos e i due computer devono appartenere allo stesso dominio, in caso contrario occorre utilizzare HTTPS o aggiungere il computer Server Core ai trusted hosts del client remoto tramite il comando:
- WinRM set winrm/config/client @{TrustedHosts="IP Server Core or Hostname Server Core"}
Per eseguire i comandi remotamente è possibile utilizzare WinRS tramite il comando:
- winrs -r: NomeServerComando
Se i due computer non appartenengono allo stesso dominio o non viene utilizzata l'autenticazione Kerberos occorre eseguire i comandi passando le credenziali di account locale o di dominio con privilegi amministrativi a meno che sul client remoto siano state memorizzate credenziali per il computer Server Core:
- winrs -r: NomeServer –u: DomainName \ Username –p: PassWordComando
E' possibile aprire un prompt dei comandi relativo al computer Server Core sul client remoto tramite il comando:
winrs -r: NomeServercmd.exe
per chiudere il prompt dei comandi utilizzare il comando exit.
Gestione dei ruoli e delle features
In Windows 2008 Server Core è posibile ottenere l'elenco dei ruoli e delle features disponibili e di quelli installati tramite il comando oclist che se utilizzato in combinazione al comando Find consente di ottenere informazioni più mirate come ad esempio l'elenco dei ruoli e delle features installati:
- oclist | find “Installed” | find /v “Not Installed”
oppure l'elenco dei ruoli e delle features esclusi quelli relativi ad IIS:
- oclist | find “Installed” | find /v “IIS”
L'installazione e la rimozione dei ruoli e delle features può invece essere gestito tramite il comando ocsetup utilizzando la seguente sintassi (l'utilizzo del comando Start consente di attendere la fine dell'operazione):
installazione role o feature: start /w ocsetup RoleOrFeatureName
rimozione role o feature: start /w ocsetup RoleOrFeatureName /uninstall
Role o Feature |
Rule Name o Feature Name |
Note |
---|---|---|
DHCPServerCore |
Per configurare lo scope è possibile utilizzare il comando Netsh, oppure utilizzare lo snap-in del DHCP per eseguire le impostazioni da remoto tramite la MMC. Se il DHCP si trova in un dominio Active Directory occorrerà autorizzarlo. Il servizio DHCP per impostazione predefinita non è impostato per l'avvio automatico. Per avviare il servizio e impostarlo per l'avvio automatico è possibile utilizzare i seguenti comandi: net start dhcpserver sc config dhcpserver start= auto |
|
DNS-Server-Core-Role |
Per configurare la zona dns è possibile utilizzare il comando dnscmd, oppure utilizzare lo snap-in del DNS per eseguire le impostazioni da remoto tramite la MMC. |
|
File Replication service: FRS-Infrastructure Distributed File System service: DFSN-Server Distributed File System Replication: DFSR-Infrastructure-ServerEdition Network File System (NFS): ServerForNFS-Base Network File System (NFS): ClientForNFS-Base |
Il servizio Server è installato per default per fornire il supporto alle share amministrative utilizzate dagli strumenti di gestione |
|
Printing-ServerCore-Role |
Per gestire le stampanti è possibile utilizzare lo snap-in Print Management Console per eseguire le configurazioni remotamente tramite la MMC. |
|
MediaServer |
Prima di eseguire l'installazione occorre scaricare lo Streaming Media Services role installer. Per gestire gli Streaming Media Services è possibile utilizzare l'apposito snap-in per eseguire le configurazioni remotamente tramite la MMC. |
|
DirectoryServices-ADAM-ServerCore |
|
L'installazione e la rimozione dell'Active Directory Domain Services role non supportato tramite ocsetup ma occorre utilizzare dcpromo. Per maggior praticità conviene gestire l'installazione utilizzando un answer file come descritto nei seguenti link:
Installing a New Windows Server 2008 Forest by Using an Answer File
Installing a New Windows Server 2008 Child Domain by Using an Answer File
Installing a New Windows Server 2008 Domain Tree by Using an Answer File
Installing an Additional Windows Server 2008 Domain Controller by Using an Answer file
Conclusioni
Windows 2008 Server Core nasce con l'obbiettivo di trovare il giusto compromesso tra risorse hardware necessarie, sicurezza del sistema e semplicità di gestione. Risulta quindi la scelta giusta per server non presidiati in sedi remote o server virtuali che assolvono a specifiche funzionalità. Non è invece adatto a realizzare server applicativi a causa del mancato supporto al .NET Framework e al ridotto numero di api disponibili.
Ovviamente l'ottimizzazione del sistema comporta necessariamente una riduzione delle funzionalità disponibili e la prima conseguenza è un'interfaccia utente ridotta al prompt dei comandi e pochi altri tool. Per agevolare le operazioni di configurazione e gestione si ha comunque a disposizione la possibilità di amministrare remotamente il sistema o di utilizzare script che possono essere salvati su unità di memorizzazione removibili o nel caso di macchine virtuali Server Core "iniettati" nel disco virtuale tramite tool quali VHDMount. In alternativa è anche possibile eseguire un'installazione automatizzata tramite un file unattend.
Per ulteriori approfondimenti si vedano i seguenti link: