Posted on

Guida Definitiva: Ottimizzare Hyper-V (Windows Server 2022) per Punteggi Novabench CPU > 800

Se hai bisogno di ottenere un punteggio Novabench CPU elevato (800+) in una macchina virtuale (VM) ospitata su Windows Server 2022 con Hyper-V, questa guida ti mostrerà come massimizzare le prestazioni del processore.

La chiave del successo, come dimostrato dalla nostra esperienza pratica, è l’ottimizzazione della frequenza di clock del processore Host.

1. 🎯 Obiettivo e Strategia

L’obiettivo è portare il punteggio del singolo test CPU di Novabench sopra gli 800 punti (e idealmente oltre 1000).

  • Punto di Partenza: Ottenere un punteggio CPU superiore a 500 è facile; superare gli 800 è il vero ostacolo nelle VM.

  • La Strategia: Il numero di core non basta. La soluzione è concentrarsi sulla frequenza della CPU Host per massimizzare la potenza di calcolo di ciascun core virtuale.


2. ⚡ Fase 1: Sbloccare la Frequenza Massima dell’Host (Il Passo Cruciale)

Il fattore più impattante per il punteggio CPU è l’assicurarsi che la CPU fisica del tuo Host giri alla massima frequenza Turbo Boost possibile.

Imposta il Piano Energetico su “Prestazioni Elevate” (Host)

Windows Server, per impostazione predefinita, mantiene la CPU a frequenze inferiori. Dobbiamo forzare le massime prestazioni.

Azione: Forzare il piano “Prestazioni Elevate” o “Prestazioni Massime” sul tuo Host Windows Server 2022.

  1. Apri la finestra Esegui (WIN+ R) sul tuo Host.

  2. Digita powercfg.cpl e premi Invio.

  3. Nella finestra Opzioni risparmio energia, seleziona:

    • Prestazioni Elevate (High Performance).

    • (Opzionale, se disponibile) Prestazioni Massime (Ultimate Performance): Sbloccabile tramite PowerShell con privilegi di Amministratore, eseguendo:

      PowerShell

      powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
      

    Risultato Notato: Questa singola azione ha portato il nostro punteggio CPU da 556 (con piano Basic) a 1176 (con piano High Performance)!


3. ⚙️ Fase 2: Ottimizzazione della VM in Hyper-V

Queste impostazioni garantiscono che la VM ottenga la massima priorità nell’uso della CPU ad alta frequenza appena sbloccata.

A. Priorità Massima (Relative Weight)

Il peso relativo determina la priorità della tua VM rispetto ad altre VM in competizione per il tempo CPU.

  1. Nelle impostazioni della VM, vai su Processore (Processor).

  2. Imposta il Fattore di peso relativo (Relative Weight) al valore massimo: 800.

    • Nota: È stato verificato che con lo stesso numero di vCPU, il punteggio CPU migliora notevolmente quando il peso passa da 100 a 800.

B. Assegnazione dei Processori Virtuali (vCPU)

Se la frequenza è la qualità, i vCPU sono la quantità. Per un punteggio CPU superiore a 800, la quantità deve essere elevata.

  1. Imposta un Numero Elevato: Assegna un numero di vCPU che si avvicini il più possibile al numero di core fisici del tuo Host.

  2. Il Nostro Risultato: L’uso di 12 vCPU in combinazione con la massima frequenza ci ha permesso di raggiungere lo score di 1176.


4. 📊 Riepilogo e Risultati Ottenuti

Questa tabella riassume l’impatto delle ottimizzazioni basate sui dati reali:

Configurazione Processori (vCPU) Relative Weight Piano Alimentazione Host Risultato (CPU Score)
Punto di Partenza 10 800 Bilanciato (Basic) 556
Obiettivo Raggiunto 12 800 Prestazioni Elevate 1176

Conclusione: Concentrandosi sulla frequenza Host (Prestazioni Elevate) e combinandola con la massima priorità (Relative Weight 800) e un numero elevato di vCPU (12), è possibile superare ampiamente la soglia di 800 nel test CPU di Novabench.


Nota Aggiuntiva: Per bilanciare le risorse in un ambiente di produzione (con altre VM), è possibile sperimentare la riduzione delle vCPU (es. a 8) mantenendo il piano Prestazioni Elevate sull’Host. Si otterrà comunque un punteggio CPU elevato (stimato tra 800 e 950) sacrificando meno risorse.

Posted on

Anteprima Scomparsa sui File di Rete? Ecco Perché Windows Bloccava i Tuoi Documenti

Anteprima Scomparsa sui File di Rete? Ecco Perché Windows Bloccava i Tuoi Documenti


Se di recente, aprendo Esplora Risorse (Gestione File) per visualizzare una cartella sul tuo server di rete o NAS, hai notato che le pratiche anteprime dei documenti (che siano PDF, Word o Excel) sono state sostituite da anonime icone bianche, non sei il solo.

Peggio ancora, potresti aver ricevuto il messaggio ingannevole “Impossibile visualizzare l’anteprima del file a causa di un errore nell’anteprima” o, addirittura, l’allarmante avviso “Il file che si desidera visualizzare in anteprima potrebbe danneggiare il computer“.

Tranquillo, il problema non è nel tuo file o nel tuo software, ma in un recente inasprimento delle politiche di sicurezza di Windows che può essere risolto in pochi passaggi.

🛑 Il Mistero: Perché Funziona in Locale ma non in Rete?

La causa di questo comportamento apparentemente casuale è la gestione delle Zone di Sicurezza da parte del tuo sistema operativo.

  1. I File Locali sono Fidati: Quando un file si trova sulla tua unità C: (Documenti, Desktop), Windows lo classifica nella zona di “massima fiducia” ed è libero di eseguire il codice necessario per generare la miniatura complessa del documento.
  2. I Server Sono Sospetti: Un recente aggiornamento di Windows ha reso più restrittiva l’interpretazione dei percorsi di rete (server o NAS). Il tuo PC ha smesso di riconoscere automaticamente il server come parte dell’Intranet locale e ha iniziato a classificarlo come una fonte di provenienza “esterna” o “Internet”.
  3. Il Blocco dell’Esecuzione: Per mitigare rischi di sicurezza (come il furto di credenziali), Windows blocca intenzionalmente l’esecuzione dei programmi di anteprima di terze parti  per i file provenienti da fonti non completamente fidate. Il risultato è la scomparsa dell’anteprima.

✅ La Soluzione Semplice: Dichiarare il Server come “Intranet Locale”

La soluzione più efficace e duratura è comunicare esplicitamente a Windows che il tuo server di rete è una fonte sicura e interna all’azienda.

Attenzione: E’ necessario riavviare il PC dopo questa procedura.

  1. Apri le Opzioni Internet:
    • Premi contemporaneamente il tasto Windows + R (per aprire la finestra Esegui).
    • Digita inetcpl.cpl e premi Invio.
  2. Accedi alle Impostazioni di Sicurezza:
    • Nella finestra che si apre, vai alla scheda Sicurezza.
    • Seleziona l’icona Intranet locale
    • Clicca sul pulsante Siti (Sites).
  3. Aggiungi il Percorso del Server:
    • Clicca sul pulsante Avanzate (Advanced).
    • Nella casella “Aggiungi il sito Web all’area:”, inserisci il percorso del tuo server. È importante usare il formato corretto, ad esempio:
      • Se usi l’indirizzo IP: \\192.168.1.2 (o l’IP corretto del tuo server)
      • Se usi il nome del server: \\NOMESERVER
    • Clicca su Aggiungi, poi Chiudi e infine OK in tutte le finestre aperte.

Riavvia il computer. Dopo il riavvio, Windows dovrebbe riconoscere il server come Intranet locale e ripristinare immediatamente la visualizzazione delle anteprime per tutti i file.


⚠️ Cosa Fare con i File Già Spostati

Se avevi notato che un file, una volta spostato dal server al tuo PC (es. nella cartella Documenti), continuava a non mostrare l’anteprima in locale, significa che il file ha mantenuto un “marchio di non sicurezza” (chiamato Mark-of-the-Web).

Per questi file:

  1. Fai clic con il tasto destro sul file.
  2. Seleziona Proprietà.
  3. Nella scheda Generale, cerca la sezione Sicurezza in basso.
  4. Spunta la casella “Sblocca” (Unblock).
  5. Clicca OK.

A questo punto, l’anteprima locale dovrebbe riapparire, confermando che il problema era solo una restrizione di sicurezza applicata dal sistema operativo.

Posted on

Powershell Invoke-WebRequest Fails with SSL/TLS Secure Channel

Scenario

you are trying to execute this powershell command

Invoke-WebRequest -Uri https://mysite.com/

and you get this error. “Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel.”

Solution

The cause of the error is Powershell by default uses TLS 1.0 to connect to website, but website security requires TLS 1.2. You can change this behavior by placing the following command before the request method

 

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri https://mysite.com/
Posted on

Trovare un computer usando il MAC Address

Procedura valida per i sistemi Windows

ARP

Lanciare il comando  (usato per questo test un domain controller)

arp -a

Avrete la lista di tutti gli ip di rete e  del relativo Mac Address

PING

Se in questa lista trovate il MAC address che state cercando, prendete nota del suo indirizzo ip e trovate il nome usando il comando

ping -a IP

 

 

Posted on

How to Deploy ASP.NET Core Web API on IIS Windows Server

(Tested on windows server 2012r2)

Install the .NET Core Hosting Bundle on Windows Server

The .NET Core Hosting bundle is an installer for the .NET Core Runtime and the ASP.NET Core Module. The bundle allows ASP.NET Core apps to run with IIS.

Current version:.NET Core Hosting Bundle installer (direct download)

(for this test we installed version .Net Core 8 on win 2012r2)

Visual Studio : Publish on Folder

After creating the ASP.NET Core application in Visual Studio, we can use the Visual Studio Publish Tool to deploy and run our app. For this project, choose to publish to a folder. Choose the folder and hit “Finish”.

In the next screen, where you see the settings for this deploy, click on “More Actions” and then on “Edit”.

Select :

  • Deployment Mode : Complete
  • Target Runtime : win-x64 (for our server)
  • File Publish Options : Delete all existing files prior to publish (flagged)
  • Database : Default Connection edit (if yuu need it)

Save this configuration, control it an Publish.

Copy the contents of the folder on the IIS server to the folder dedicated to the new site.

IIS and new site

Create the site on IIS. For the Application Pool you have to use default .NET CLR Version : v4.0.

Open your browser and call up the site. You receive the “page not found” error (404).

Remember that a site that hosts only calls web api. To verify that it works you can use the controller that Visual Studio sets by default when creating a site. Then type:

https://www.mynewapisite.com/WeatherForecast

and you will get a result. The site works!


Posted on

Esportazione di una macchina virtuale Hyper-v

Per esportare una macchina virtuale Hyper-v è necessario aprire powershell con permessi amministrativi ed eseguire il seguente comando :

Export-VM -Name <virtual machine name> -Path <path>

Errore sulla rete

Nei nostri test ci siamo resi conto che il comando è sempre valido quando il path di destinazione è una cartella del server mentre ci sono difficolta se il path di destinazione è una cartella in rete. In particolare non siamo riusciti ad esportare direttamente su una cartella Linux (es. nas) perché l’esportazione viene eseguita dall’account System.

Vedi documentazione Microsoft

Posted on

Chi può aggiungere una workstation al dominio Active Directory ?

A default tutti gli utenti di dominio hanno la capacità di aggiungere una workstation al dominio.

Limiti sul numero

Il limite a questa attività è che un qualsiasi utente può aggiungere un massimo di 10 workstation al dominio.

Impatto

Quando l’utente raggiunge il numero massimo di computer inseriti a dominio , riceve questo messaggio di errore

Chi ha aggiunto una workstation ad active directory ?

Per saper chi ha aggiunto una workstation ad active directory è suffico9enbte lanciare quiesto script ppowershell creato sulla base di questo articolo :

Using PowerShell to Discover Who Added a Client to Your Domain

Clear-Host

Write-Host "I'm writing ms-DS-MachineAccountQuota"

# List the current value of ms-DS-MachineAccountQuota
Get-ADDomain | 
Select-Object -ExpandProperty DistinguishedName | 
Get-ADObject -Properties 'ms-DS-MachineAccountQuota' | 
Select-Object -ExpandProperty ms-DS-MachineAccountQuota




Write-Host "Number clients in this environment"
Get-ADComputer -Filter * | Measure-Object | Select-Object -ExpandProperty Count
Write-Host "Number users in this environment"
Get-ADUser -Filter * | Measure-Object | Select-Object -ExpandProperty Count


Write-Host ""
Write-Host "Who did this?"
$Clients = Get-ADComputer -Properties ms-ds-CreatorSid, WhenCreated -Filter {ms-ds-creatorsid -ne "$Null"}
$Users = Get-ADUser -Filter *

ForEach ($C in $Clients)
{
ForEach ($U in $Users) 
{
If ($U.Sid -eq $C.'ms-ds-creatorsid')
{
$C | Select-Object -Property @{
Name = 'ComputerName'; Expression = {$C.Name}},
@{Name = 'WhenCreated'; Expression = {$C.WhenCreated.DateTime}},
@{Name = "UserName"; Expression = {$U.Name}
}
}
}
}

Modificare il limite del numero di workstation

E’ possibile modificare questo numero aumentandolo oppure portandolo a 0. Se si porta a 0, gli utenti dovranno avere particolari permessi per poter inserire un computer a dominio.

Per farlo, dal domain controller, lanciare il comando adsiedit.msc.

A sinistra posizionatevi sul nodo principale che comincia con “DC=…”. Tasto destro del mouse -> Proprietà . La chiave con il numero da modificare è MS-DS-MachineAccountQuota.

 

Limitare l’aggiunta di una workstation al dominio ad un gruppo

E’ possibile limitare ad un gruppo di utenti la capacità di aggiungere workstation al dominio , agendo direttamente sulle GPO

Computer Configuration → Windows Settings → Security Settings → Local Policies → User Rights Assignment

Cercare la voce “Add workstations to the domain” e modificatela per specificare solo gli utenti e gruppi che possono eseguire l’operazione di aggiunta.