Archivi categoria: Windows Server

Azure: come creare una VM personalizzata e distribuirla

Guida passo su come utilizzare Sysprep per creare immagini personalizzate su Azure e deployarle sia utilizzando il tool sysprep dal sistema operativo sia utilizzando i comandi Powershell.

Requisiti

  1. Crea una VM di base: Inizia creando una VM di base con il sistema operativo Windows desiderato installato. Questa VM sarà la base per le tue distribuzioni future.
  2. Personalizza la VM: Configura la VM di base in base alle tue esigenze specifiche, installa le applicazioni necessarie e apporta le personalizzazioni richieste.
  3. Aggiorna il sistema operativo: Assicurati di avere tutte le patch e gli aggiornamenti di sicurezza più recenti installati sulla VM di base.
  4. Esegui Sysprep: Una volta che la VM di base è configurata e aggiornata, puoi eseguire Sysprep per prepararla per la distribuzione.

Creazione dell’immagine personalizzata

Dal sistema operativo (utilizzando Sysprep)

  1. Apri il prompt dei comandi: Apri il prompt dei comandi come amministratore.
  2. Esegui Sysprep: C:\Windows\System32\sysprep\sysprep.exe
  3. Configura le opzioni Sysprep: Nella finestra di dialogo Sysprep, seleziona le seguenti opzioni:
    • Ora (shutdown): Imposta l’opzione su “Spegni” per spegnere la VM dopo il completamento di Sysprep.
    • Generaleize: Assicurati che questa opzione sia selezionata per preparare la VM per l’uso su altre macchine.
  4. Avvia Sysprep: Fare clic su “OK” per avviare il processo Sysprep. Questo processo può richiedere alcuni minuti e la VM verrà quindi arrestata.

Da Powershell

Stop-AzVM -ResourceGroupName "Nome-Gruppo-Risorse" -Name "Nome-VM" -Force
Set-AzVM -ResourceGroupName "Nome-Gruppo-Risorse" -Name "Nome-VM" -Generalized

Creare un’immagine personalizzata su Azure

Dal portale Azure

  1. Accedi al portale di Azure: Accedi al portale di Azure.
  2. Crea una immagine personalizzata: Naviga al servizio “Immagini personalizzate” nel portale di Azure e fai clic su “Aggiungi”.
  3. Configura l’immagine: Compila i dettagli dell’immagine personalizzata.
  4. Seleziona la VM di base: Nella sezione “Origine” dell’immagine personalizzata, seleziona la VM di base dalla quale hai eseguito Sysprep.
  5. Crea l’immagine: Fai clic su “Crea” per avviare il processo di creazione dell’immagine personalizzata. Azure creerà un’immagine basata sulla VM di base con le personalizzazioni apportate durante la configurazione.

Da Powershell

$vm = Get-AzVM -ResourceGroupName "Nome-Gruppo-Risorse" -Name "Nome-VM"
$imageConfig = New-AzImageConfig -Location "Nome-Regione"
$imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -SnapshotId $vm.StorageProfile.OsDisk.Snapshot.Id
New-AzImage -Image $imageConfig -ResourceGroupName "Nome-Gruppo-Risorse" -ImageName "Nome-Immagine" -Description "Descrizione-Immagine"

Distribuzione di VM personalizzate

Dal portale Azure

  1. Seleziona l’immagine personalizzata: Naviga tra le risorse disponibili e seleziona l’immagine di VM personalizzata che hai creato.
  2. Configura la VM: Segui il processo guidato per configurare la nuova VM utilizzando l’immagine personalizzata.
  3. Avvia la VM: Una volta completata la configurazione, avvia la nuova VM. Sarà basata sull’immagine personalizzata che hai creato su Azure.

Da Powershell

  1. Creazione di una VM da un’immagine personalizzata
    New-AzVm -ResourceGroupName "Nome-Gruppo-Risorse" -Name "Nome-Nuova-VM" -ImageName "Nome-Immagine" -Location "Nome-Regione" -AdminUsername "Nome-Admin" -AdminPassword "Password-Admin"
  2. Avvio della VM
    Start-AzVM -ResourceGroupName "Nome-Gruppo-Risorse" -Name "Nome-Nuova-VM"

Hyper-V 2016: The cluster request in not valid for this object (error 0x800713b8)

In un cluster di test basato su Windows 2016 stavo configurando un CSV. Entrambi i nodi del cluster erano configurati anche come Domain Controler.
Al momento di aggiungere il disco CSV viene notificato dal sistema che l’operazione fallisce con il messaggio sotto riportato:

Error code 0x800713b8: The cluster request in not valid for this object

Mentre fino a Windows 2012 R2 si poteva configurare un nodo di un cluster anche come Domain Controller, pur se altamente sconsigliato, in Windows 2016 questo non è più possibile.

Occorre disinstallare il ruolo da DC e configurare successivamente il disco come CSV. Nel mio caso ho dovuto anche distruggere il cluster e rifarlo.

Hyper-V 2016: come condividere dischi virtuali tra Virtual Machine

In Hyper-V 2016 è stata introdotta una nuova features per poter condividere i dischi virtuali, ovvero i VHD Set (VHDS).

A differenza dei dischi VHD e VHDX condivisi che limitano alcune operazioni, con i VHD Set sono supportate le operazioni come la live migration, resizing “a caldo”, snapshot. Per più informazioni rimando alla documentazione ufficiale: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/create-vhdset-file

Creazione e configurazione di un VHDS:
– Dalla console di gestione di Hyper-V, “New” – Hard Disk…”
– Come formato del disco scegliete VHD Set e completare il wizard.

Error applying shared driver

NOTA. Per evitare l’errore “The storage where the virtual hard disk is located does not support virtual hard disk sharing”, il vhds deve essere salvato in una LUN\volume che sia condivisa (per esempio un CSV).

– Dalla configurazione della VM alla quale si deve attestare il disco, “Scsi Controller – Shared Drive” e cliccare su Add.
– Specificare il path di dove risiede il VHDS e cliccare su OK.

Trust relationship failed between Workstation and Domain senza rejoin o reboot

Per fixare questo errore Microsoft consiglia di reijoinare la macchina al dominio (fonte)

E’ possibile risolvere il problema senza effettuare il rejoin al domino e/o il reboot della macchina utilizzando il tool Netdom da CLI o tramite il cmdlet Reset-ComputerMachinePassword da Powershell.

Tramite “NETDOM”

Eseguire il login al macchina con credenziali locali ed eseguire il comando sotto da CLI:

Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password

Dove
server: nome del Domain Controller
UserD: utenza di dominio
Password: password dell’utenza di dominio

Effettuare il logout ed accedere alla macchina con credenziali di dominio

Info su NETDOM a questo LINK

Tramite Reset-ComputerMachinePassword

Eseguire il login al macchina con credenziali locali ed eseguire il comando sotto da Powershell:

Reset-ComputerMachinePassword -Server DomainController -Credential Domain\Admin

Effettuare il logout ed accedere alla macchina con credenziali di dominio

Info sul comando Reset-ComputerMachinePassword a questo LINK

Configurare una Virtual Machine con Windows Nano Server in Hyper-V

Requisiti: ISO Windows Server 2016

Montare la ISO. Per comodità, l’ho scompattata sul disco locale nel percorso: c:\NanoServer\Files

All’interno della directory locale C:\NanoServer, oltre al contenuto della ISO, ho copiato i moduli Powershell.

NanoServer Folder

NanoServer Folder

 

 

 

Da Powershell:

#Preparazione area di lavoro
cd C:\NanoServer
Import-Module .\NanoServerImageGenerator.psm1
#Creazione del VHDX
New-NanoServerImage -MediaPath .\Files -BasePath .\Base -TargetPath .\Images\NanoServer.vhdx -MaxSize 20GB -DeploymentType Guest -Edition Datacenter -ComputerName "NanoServer"

Dove:

  • MediaPath: percorso di dove sono memorizzati i file di Windows Server 2016
  • BasePath: Percorso dove vengono memorizzati i dati temporanei
  • TargetPath: percorso dove verrà memorizzato il disco creato. VHD per VM di Generazione 1, VHDX per VM di Generazione 2
  • MaxSize: dimensione massima del disco. Nel caso non venga inizializzato questo valore, il valore di default è 4 GB.
  • DeplymentType: Guest per macchine virtuali, Host per macchine fisiche
  • Edition: Standard o Datacenter
  • ComputerName: nome della macchina

Per l’elenco completo dei parametri, fare riferimento alla TechNet: https://technet.microsoft.com/itpro/powershell/windows/nanoserverimagegenerator/new-nanoserverimage

Collegare il disco in una nuova macchina virtuale Hyper-V e avviarla.

NanoServer in Hyper-V

NanoServer in Hyper-V

 

RDS – Pending reboot

Può accadere che durante la configurazione dei nodi RD Virtualizion Host in un ambiente RDS, questi risultino in “pending reboot” nonostante siano già stati riavviati più volte…

Pending Reboot

 

 

Per normalizzare la situazione, verificare la presenza della chiave di registro

HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

se esiste, eliminarla e agganciare i nodi secondo la procedura standard.

 

Windows Server 2012 R2: da evaluation version a RTM

Da command prompt.

Verificare la versione installata:
DISM /online /Get-CurrentEdition

Oppure, per verificare a che versione di può upgradare il sistema:
DISM /online /Get-TargetEditions

E aggiornare con
DISM /online /Set-Edition:ServerVersion /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

Framework 3.5 in Windows 2012, 8 e versioni successive e possibili errori (e come risolverli)

Due strade per installare il Framework sui sistemi in oggetto:
1 – Da linea di comando
2 – Da interfaccia grafica

1 – Da linea di comando

dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess

D: è il disco dove risiedono i binary del sistema operativo

2 – Da interfaccia grafica
In fase di installazione specificare il path dove risiede la directory “sourcesxs

 

Nel caso in fase di installazione di presentino gli errori 0x800F081F o 0x800F0906, verificare che nel sistema non siano presenti una delle seguenti patch:

KB2966826
KB2966827
KB2966828

Nel caso ce ne sia almeno una di queste… disinstallarle.

Per maggiori dettagli: https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10

 

Abilitare share senza richiesta password

Nel caso si configurasse l’utenza Everyone su una share, viene comunque richiesta la password quando ci si prova ad accedere.
Nel mio caso avevo bisogno di accedere alla share in lettura e scritura con utenza al di fuori del dominio di appartenenza.

1. Sulla directory da condividere, abilitare l’utenza everyone in lettura e scrittura sui permessi di sharing e NTFS
2. Abilitare l’utenza Guest
2.1 Nel caso di DC, abilitare l’utenza dalla MMC “Local Security Policy” (Local policies – Security options – Accounts: guest account status: enabled)
3. Dalle Local Security Policy:
3.1 Network Access:  Let Everyone permissions apply to anonymous users = Enabled
3.2 Network Access:  Restrict anonymous access to Named Pipes and Shares = Disabled

Lo share ora dovrebbe essere accessibile senza che venga richiesta utenza e password.

🙂