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:

  1. Selezione della lingua, regional settings e layout di tastiera.


     

  2. Selezione dell'opzione per l'avvio dell'installazione.

  3. Introduzione della product key (per default viene selezionata l'opzione di attivare Windows quando il computer sarà connesso a Internet).

  4. Selezione della modalità di installazione Server Core.


     

  5. Accettazione del contratto di licenza.

  6. Selezionane dell'opzione di installazione Custom.


     

  7. 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)


     

  8. Terminata l'installazione preme CTRL+ALT+CANC quindi selezionare Other User.

  9. Autenticarsi al sistema con l'utente Administrator senza password.

  10. 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:

  1. Selezionare la scheda Formats e quindi Italian (Italy) in Current Format. per impostare i formati di visualizzazione di data, ora, numeri e valute.

  2. 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).

  3. Selezionare la scheda Keyboards and Languages.

  4. Selezionare Change Keyboards.

  5. Aggiungere la tastiera italiana tramite Add.

  6. Impostare la tastiera italiana come prima tastiera nell'elenco delle tastiere utilizzabili tramite Move up.

  7. Impostare la tastiera italiana come tastiera di default.

  8. Selezionare Apply.

  9. Selezionare OK.

  10. Selezionare Apply.

  11. Selezionare OK.

  12. 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 1

  • Per 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" dhcp

  • Per 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 primary

  • Per 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.txt

  • Per 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:

  1. Determinare il nome del computer attualmente configurato tramite il comando hostnameipconfig /all oppure Set computername che consente di visualizzare la variabile d'ambiente computername.

  2. Modificare il nome del computer e riavviare il sistema utilizzando Netdom tramite il comando:

  3. netdom renamecomputer %ComputerName% /NewName: NewComputerName /reboot

  4. 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:

  1. Espandere il file msu dell'aggiornamento nella directory c:\msu-extract tramite il comando:

  2. expand /f:* UpdateName .msu c:\ UpdateName

  3. Posizionarsi nella directory c:\UpdateName tramite il comando:

  4. cd \ UpdateName

  5. Aprire con Notepad il file UpdateName.xml * *tramite il comando:

  6. notepad UpdateName .xml

  7. Sostituire Install con Remove e salvare il file.

  8. Disinstallare l'aggiornamento tramite il comando:

  9. 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:

  1. Digitare Regedit al prompt dei comandi.

  2. Aprire la chiave HKLM\System\CurrentControlSet\Control\Video.

  3. Espandere la GUIDs che ha una subkey VolatileSettings all'interno della subkey 0000.

  4. Aprire la subkey 0000 e aggiungere o modificare i valori DefaultSettings.XResolution e DefaultSettings.YResolution  per impostare la risoluzione orizzontale e verticale.

  5. Chiudere Regedit

  6. 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:

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

DHCP Server

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

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 Services

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

Print Services

Printing-ServerCore-Role

Per gestire le stampanti è possibile utilizzare lo snap-in Print Management Console per eseguire le configurazioni remotamente tramite la MMC.

Streaming Media Services

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.

Active Directory
Lightweight Directory Services

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:

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: