Archivio per la categoria Windows Server

Hyper-V: dischi virtuali tipologie e creazione dalla powershell.

Windows 2012 server presenta la novità del formato .vhdx che si integra al precedente .vhd utilizzato da windows 2008 server, i dischi virtuali creati con il nuovo formato sono utilizzabili solo su 2012 server e presumo saranno utilizzati nelle versioni successive.

I dischi .vhd era limitatati alla dimensione massima di 2040 gb e questo tipo di disco virtuali non è utilizzabili sulle macchine virtuali di seconda generazione, tra i vantaggi che il nuovo formato presenta abbiamo:

  • Possono raggiungere la dimensione massima di 64 tb.
  • Hanno blocchi di dimensione maggiore per i dischi dinamici.
  • Utilizzano le dimensioni del settore logico di 4 KB a differenza di .vhd che si limitano ai 512, risultando perciò già pronti per lavorare sull’hardware moderno migliorando le prestazioni dell varie virtual machine.
  • Hanno la presenza di un log interno che riduce la possibilità di corruzione del disco virtuale.
  • Hanno il supporto al trim per il recupero dello spazio inutilizzato sul disco.

Entrambi i formati dei vari dischi virtuali possono essere creati attraverso lo scriptlet New-VHD dalla powershell, i vai parametri per la creazione sono gli stessi che portano al risultato dell’utilizzo dell’ interfaccia grafica, tramite questa si possono creare:

  • Fixed size: i dischi a cui viene assegnata una dimensione prestabilita di spazio.
  • Dynamically expanding: i dischi in cui lo spazio aumenta all’aumentare dei dati inseriti, sono consigliabili in situazioni dove le prestazioni delle varie applicazioni non siano tropo eccessive.
  • Differencing: questa tipologia di dischi è legato a quelle situazioni in cui per necessità conviene creare una relazione di tipo parent-child tra un disco rigido virtuale che deve rimanere intoccato e i dischi child creati successivamente, ma lo scenario di utilizzo di questi dischi lo descriverò a parte visto la sua importanza.

Vediamo alcuni esempi dello scriptlet New-Vhd:

PS C:\> New-VHD –Path c:\Wmdisk\disk1.vhdx –SizeBytes 30GB

Questo esempio crea un disco chiamato disk1 in formato .vhdx della dimensione di 30gb nella directory c:\wmdisk, se non specificato lo spazio di 30gb questo disco sarà di tipo ad espansione dinamica che è il formato predefinito dove non indicato, il parametro aggiuntivo -Fixed invece crea un disco a dimensione fissa.

PS C:\> New-VHD –Path c:\Wmdisk\disk1.vhdx –SizeBytes 30GB -Fixed

Questo invece crea un differencing disk chiamato disk2 dal parent disk1 nella stessa cartella.

PS C:\> New-VHD ––ParentPath c:\Wmdisk\disk1.vhdx c:\Wmdisk\disk2.vhdx  -Differencing.

Annunci

, , , , , , , , , , , ,

Lascia un commento

Windows 2012 Server. Gestire gli utenti loggati tramite Remote Desktop con la powershell.

Vi ricordate questa bella finestra chiamata “Terminal Services Manager”? tremendamente utile per gestire in tutta semplicità le sessioni del Remote Desktop ex Terminal Services?

yd78z

La Microsoft ha deciso di rimuovere questa finestra di dialogo da Windows 2012 Server, perciò come mi è capitato altre volte di terminare una sessione di Remote Desktop di un utente loggato mi sono visto costretto a mettere mano alla powershell e ai suoi cmdlet per gestire la situazione.

I comandi che seguono spiegano come visualizzare le sessioni aperte e chiudere una sessione bloccata di un utente, partiamo aprendo una powershell con un’utente che abbia i diritti di administrator e digitiamo il comando

qwinsta /server:server01 (dove server01 dopo i due punti indica il nome del server che vogliamo esaminare)

L’output del comando sarà simile a questo, ho preso un esempio da internet per analizzare.

SESSIONNAME    USERNAME            ID              STATE        TYPE         DEVICE
console                                                       0                 Conn            wdcon
rdp-tcp                                                         65536       Listen           rdpwd
administrator            2                 Disc              rdpwd

 

Ora in quest’esempio solamente administrator è presente, se vi fosse un’elenco di utenze queste sarebbero identificate dal relativo id numerico, perciò ad esempio per chiudere la  sessione corrente di administrator basta utilizzare il comando rwinsta /server:server01  2.

Qualora fossimo loggati manualmente sul server si può benisssimo lanciare il comando  qwinsta per visualizzare le sessioni e semplicemente rwinsta 2 per chiudere la sessione n°2, cercando più approfonditamente su Internet ho trovati un workaround per gestire il tutto tramite il vecchio Terminal Service Manager ma preferisco utilizzare i comandi a disposizione forniti dalla versione di Windows  2012 Server.

, , , , , , ,

Lascia un commento

NetworkOpenedfiles: monitorare i file aperti delle cartelle condivise in rete

Ho perso il conto delle volte che la gente mi chiama con domandi riguardanti su come mai non riesce a chiudere un’applicativo, o a modificare un file, oppure che il software di backup (gratutito) non ha fatto le copie perché alcuni file della rete, o a tutte quelle altre problematiche collegati al fatto che qualcuno aveva momentaneamente accesso a uno o più file.

Sul sito di Nirsoft.net, che di sicuro molti conosceranno per Mailpassview; è disponibile NetworkOpenedfiles un software gratuito che se installato su un qualsiasi sistema operativo server o desktop permette il monitor dei file aperti con indicazioni relativi all’utente, al nome pc e relativo ip e anche dei permessi dell’utente su file e cartelle, basta perciò cercare di capire quale utente abbia momentaneamente bloccato i file, perciò basta giri sulle scrivania riportando la stessa noiosa domanda tipica:

“Scusa stai lavorando sulla cartella condivisa” oppure “Sei dentro al programma? mi chiudi la sessione di Desktop Remoto in maniera corretta?..

Un’altra caratteristica interessante e che si può installare su una postazioni qualsiasi e dal menù “Opzioni → Opzioni avanzate, selezionare “Carica file aperti di rete” possiamo monitorare il n/s server interessato.

Grande Nirsoft ..come sempre…di sotto lo screenshot del programma dal sito Nirsoft.

networkopenedfiles

, , , , , ,

Lascia un commento

Hyper-V: introduzione alla gestione della memoria dinamica delle vm.

Nella configurazione di una vm in Hyper_V la memoria copre un ruolo fondamentale, si può assegnare in maniera fissa o dinamica alle varie macchine virtuali che creiamo ritrovandoci a gestire le seguenti opzioni:

Startup RAM: Questa è la quantità di RAM allocata al VM durante l’avvio, questa può essere la stessa della quantità minima di RAM o arrivare fino all’importo massimo di RAM allocata,  una volta che la macchina virtuale è stata avviata, utilizzerà la quantità di RAM configurata come la Minimum Ram.

Minimum Ram: questa è la quantità minima di RAM  sarà assegnato dal host di virtualizzazione ad ogni VM. Quando più macchine virtuali sono avviate e richiedono memoria ad Hyper-V  questo la rialloca fino che questo valore minimo
è soddisfatto. È possibile ridurre l’impostazione minima RAM utilizzata mentre la VM è in esecuzione, ma non è possibile farlo mentre è in esecuzione.

Maximum Ram:questa è la quantità massima di RAM assegnato dall’ host di virtualizzazione alle VM. È possibile aumentare l’impostazione massima di RAM mentre la VM è in esecuzione, ma non è possibile diminuirlo.

Memory Buffer: questa è la percentuale di memoria che Hyper-V dovrebbe destinare al VM come  buffer.

Memory Weight: consente di configurare come la memoria dovrebbe essere assegnata ad una particolare macchina virtuale rispetto ad altre  esecuzione sullo stesso host di virtualizzazione.

Su questo link ci sono le varie raccomandazioni suggerite da Microsoft per permettere all’Hypervisor la corretta gestione della ram assegnata alle varie virtual machines.

Articolo su Technet.

ramhyper-v

, , , , , ,

Lascia un commento

Microsoft 70-417:Installazione DirectAccess e configurazione client.

In preparazione al 70-417 ho trovato questo corso su Microsoft Virtual Academy, dove viene introdotto e spiegato le funzionalità di DirectAccess tra cui anche l’integrazione con la funzionalità Nap sempre ovviamente su Windows 2012 Server.

Windows 2012 DirectAccessTraining

A completare il tutto questi due corsi su Technet Lab che illustrano la procedura di configurazione del server al ruolo DirectAccess, la creazione di un gruppo in Active Directory in cui inserire i computer che utilizzeranno DirectAccess, il deploy della configurazione di DirectAccess tramite un file di testo sul computer, ecco i laboratori virtuali da provare su TechnetLabs:

Introduction to DirectAccess in Windows Server 2012.

Nel Laboratorio virtuale su Technetlab la procedura da eseguire era la seguente:

Viene creato un gruppo tramite powershell o gui nel server di dominio principale DA_Clients questo serve in quanto di default le GPO di DirectAccess si applicano al gruppo mobile computers di tutto il dominio, con il gruppo creato filtriamo l’utilizzo al solo gruppo creato perciò d powershell digitiamo:

New-AdGroup -Groupscope global -Name Da_Clients

Su un’altro server installiamo il ruolo di DirecAccess con il comando:

Install-WindowsFeature RemoteAccess -IncludeManagementTools.

Sempre sul server che utilizzerà DirectAccess configuriamo tutto con Remote Access Management  da server manager, seguiamolo wizard e scegliamo il deploy sia di DirectAccess che della Vpn e nella finestra successiva inseriamo l’ip pubblico o il nome da raggiungere.

Nella finestra successiva editiamo cliccando su here i parametri necessari, scegliendo il n/s gruppo Da_Clients e togliendo il gruppo everyone presente e pure il flag Enable DirectAccess for mobile Computer only.

In server Manager sull’altro server  lanciamo un prompt di powershell e digitando gpmc.msc per aprire Group Policy Management oppure si può fare tramite gui, a questo punto vedrete la policy DirectAccessClient Settings cliccate su Details e copiate il valore Unique ID co il tasto dx del mouse.

Creiamo adesso il file .txt che servirà per permettere l’utilizzo di DirectAccess al computer chiamato DAclient con questo comando da powershell

Djoin.exe /provision /domain contoso.com /machine DAclient /savefile client.txt /policynames “DirectAccess Client Settings”/POLICYPATHS “c:\windows\SYSVOL\sysvol\contoso.com\policies\[ID UNIVOCO DELLA GPO]\Machine\Registry.pol”

Nella parte blu riportate l’id con le parentesi graffe complete!!!

Questo file va copiato sull’altro server sul quale è installato il suo di IIS webserver, va copiate nella root del default server basta utilizzare questo comando.

copy .\cliente.txt  \\nomeserver\c$\inetpub\wwwroot

Aggiungiamo il computer chiamato DAClient al gruppo Da_Clients e verifichiamo che sul server ci sia copiato il file di testo necessario, fatto questo e ora d spostarsi sul client e scaricare il file file di testo digitando da brower http://nomeserver/client.tx dove nome server lo ripeto..e’ il server con DirectAccess installato, fatto questo copiamo il file txt scaricato in c:\windows.

Apriamo un prompt da amministratore e digitiamo il comando:

Djoin.exe /requestodj /loadfile client.txt /windowspath %systemroot% /localos

Questo comando leggerà il file con l’impostazione della configurazione  di DirectAccess, una volta avuto esito positivo riavviamo il computer.

Nel techlab le fasi successive sono vi verifica della connettività di DirectAccess prima con un utente fuori dal dominio e  poi con un utente del dominio, e in Remote Access Management monitora lo stato della connessione, siccome questa parte è noiosa non ho nessuna voglia di trascriverla.

 

 

 

 

Lascia un commento

Microsoft 70-417: Deploy e gestione server, Active Directory.

 

Questi tutorial sono un valido aiuto per la preparazione all’esame 70-417 Upgrading your skill to MCSA Windows 2012 Server, consentono di fare pratico con i concetti di deploy, installazione ruoli di windows server e configurazione dei domain controllers attraverso Server Manager, utilizzo di Active Directory Administrative Center, perciò vi consiglio di cercare su Technet Labs queti titoli:

  • Deploying and Configuring Servers with Server Manager.
  • Windows Server 2012 R2 – Configuring and Managing Servers.
  • Module 2: Identity Services with Active Directory Directory.

Da questi a mio avviso le parti piu’ interessanti sono quelle relative alla powershell e gli script utilizzati negli esempi:

Questo installa il ruole di Active Directory su un server chiamato Server2

Install-WindowsFeature –Name AD-Domain-Services –ComputerName Server2

Questo di seguito invece promuove server2 come ulteriore domain controller dell’ormai nota Azienda Contoso, alla fine verranno chieste le credenziali di administrator per completare il tutto.

Invoke-Command –ComputerName Server2 –ScriptBlock {Import-Module ADDSDeployment;Install-ADDSDomainController –NoGlobalCatalog:$False –CreateDNSDelegation:$False –Credential (Get-Credential) –CriticalReplicationOnly:$False –DatabasePath “C:\Windows\NTDS” –DomainName “Contoso.com” –InstallDNS:$True –LogPath “C:\Windows\NTDS” –NoRebootOnCompletion:$False –SiteName “Default-First-Site-Name” –SysVolPath “C:\Windows\SysVol”

 

, , , ,

Lascia un commento

Microsoft 70-417: Migrare i servizi di Active Directory su Windows 2012 R2.

Studiando per questo esame mi è successo di dover sostituire da un cliente un server con uno nuovo sul quale è installato Windows 2012, perciò quale occasione migliore di provare sul campo quello che stavo studiando.

Premetto che il tutto è stato realizzato prima su http://Migrating Active Directory to Windows Server 2012 R2  prima di provarlo dal mio cliente e nonostante tutto ho avuto ugualmente delle difficoltà, fortunatamente i miei clienti sono piccoli e ho risolto il tutto in maniera indolore per loro almeno…questo è uno di quei casi in cui ti capita purtroppo di affrontare un argomento sul quale non hai molta esperienza che non sia quella di un tutorial o un laboratorio virtuale provato sul internet.

Nonostante i server che ho consegnato hanno la versione italiana i comandi li riporto nella versione in inglese perché secondo me è più corretto.

Questo procedimento è valido per trasferire i ruoli di Active Directory, DNS, DHCP da un server con versioni precedenti di Windows 2012.

Nel fare questo dobbiamo:

  • Copiare il cd di Windows 2012 Server R2 in una directory sull’attuale server, preparare il server vecchio con il comando adprep.exe per migrare la struttura esistente di Active Directory verso quella di Windows 2012 R2.
  • Il nuovo server con Windows 2012 dovrà inizialmente diventare un controller aggiuntivo del dominio esistente.
  • I ruoli presenti sul vecchio server devono essere trasferiti su quello nuovo, si può fare sia da interfaccia grafica che da prompt o powershell.
  • Impostare il nuovo server come quello principale e trasferire i ruoli DNS, lo scope DHCP presente sul vecchio server sul nuovo.
  • Effettuare il demote del vecchio server dal dominio.

Tutte l’operazioni che seguono possono effettuarsi tramite un pc del dominio su cui è installato RSAT, il pc deve essere con windows 8 o superiore in questo caso, oppure eseguendo le operazioni localmente sui singoli server…cosa che sconsiglio visto che da un pc si può fare tutto

Partiamo collegandoci al vecchio server dove precedentemente ho copiato il contenuto del’iso di Win2012 R2 in un cartella nella root chiamata iso2012r2\win2012.

Partendo dalla powershell, ma va bene anche il vecchio prompt, mi sono spostato nella directory e ho lanciato il comando adprep.exe” /forestprep.

Può essere utile anche lanciare adprep.exe /domaninprep prima di aggiungere il nuovo server come domain controller aggiuntivo, io ho anche lanciato netdom query fsmo per avere un output dei ruoli installati, ma giusto per scrupolo visto che era un server singolo.

Adesso installiamo i servizi di Active Directory sul nuovo server tramite Server Manager, add Roles and Features e scegliamo Active Directory Domain Services indicando di installarli sul nuovo server con win2012 r2, aspettiamo che si completi l’installazione e una volta finita vedremo che Server Manager indicherà che ci sono dell’operazioni da completare per il server con windows 2012 e sarà presente il link promote this server to a domain controller.

Clicchiamo sul link e facciamo diventare il nuovo server un controller aggiuntivo di quello esistente, in questo modo i server saranno entrambi Domain Controller di questo dominio, una volta che sono nello stesso dominio trasferiamo i ruoli utilizzando Active Directory User and Computers scegliamo il vecchio server e dal menù Action scegliamo Change Domain Controller nella finestra di dialogo che appare selezioniamo il nuovo server.

Adesso dal menù Action scegliete Operation Masters, nella finestra che appare vedrete i ruoli installati sul server vecchio, tipo RID, PDC, Infrastructure e con il pulsante Change li spostate dal server vecchio al nuovo.

Si può usare il prompt? Certo… sono io che non sono bravo per questo mi ero fatto un post su come trasferire i ruoli tramite riga di comando.

Adesso dobbiamo utilizzare lo strumento Active Directory and Trusts e spostare il tutto sul nuovo server, perciò una volta che il tool è partito da menù Action scegliamo Change Active Directory Domain Controller e nella finestra di dialogo spostiamo il tutto dal server nuovo al vecchio.

Dobbiamo occuparci anche dello schema master perciò lanciate una console mmc e aggiunte lo snap.in Active Directory Schema, una volta che è presente nella console sempre menù Action e Change Active Directory Domain Controller poi come sempre da server vecchio a nuovo.

PS: Se non vi compare negli snap in da aggiungere digitate da un prompt  il comando regsvr32 schmmgmt.dll.

Lanciamo  un prompt di dos e verifichiamo con netdom quesry fsmo se i ruoli sono veramente sul server nuovo, poi mi collego  cambio il dns preferito nelle proprietà della scheda di rete sia sul server nuovo che sul vecchio impostando come dns primario l’indirizzo del nuovo server.

Dobbiamo cambiare il valore del dns preferenziale che i client devono ricevere  dal servizio di dhcp installato sul server attuale, quanto odio questa parte…da Server Manager lancio il tool DHCP qui vedo ovviamente il server vecchio e espando la voce IPV4|Server Options seleziono dal menù Action -> Proprierties .

Nella finestra che compare nella voce Server Options, inserisco il nome di dominio del server nuovo e clicco sul pulsante Resolve, viene aggiunto l’indirizzo del nuovo server come dns principale a questo punto nella lista dei dns rimuovo il server vecchio.

Questo farà si che il servizio DHCP attualmente installato sul vecchio server passerà come dns preferito l’ip del nuovo server, adesso dobbiamo lo scope configurato sul server DHCP dal vecchio a nuovo.

Su server nuovo ho creato nella root una cartella chiamata bkdhcpconf, dove importerò in un file xml chiamato dhcpconf.xml i valori del servizio DHCP installato sul vecchi server, prima ovviamente installo da Server Manager il servizio DHCP sul serve nuovo sempre con Add Roles and features scegliendo DHCP.

Lanciando un prompt di powershell con diritti amministrativi digito:

Export-DhcpServer –ComputerName nome.delserver.vecchio -Leases -File C:\ bkdhcpconf \ dhcpconf.xml –verbose.

Questo importa i valori dal server vecchio successivamente digito:

Import-DhcpServer –ComputerName nome.delserver.nuovo -Leases –File C:\ bkdhcpconf \ dhcpconf.xml –verbose.

Lanciamo sempre il tool DHCP da Server Manager e selezioniamo il server vecchio da menù Action scegliamo Unauthorize confermiamo il tutto, aggiungiamo ora il server nuovo con il comando Add Server vediamo che lo scope importato non è stato autorizzato perciò menù Action e scegliamo Authorize.

PS: nel mio caso ho avuto problemi a rimuovere il vecchio server DHCP ottenevo Incorrect Parameter, ho cercato sui kb Microsoft per rimuovere l’errore e alla fine ci sono riuscito.

Una volta che tutto è risultato funzionante, utenti dns, dhcp e tutto il resto cioè share di rete e applicativi vari ho effettuato il demote del vecchio server.

, , , , ,

Lascia un commento