<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.rvmgroup.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gabriele.vivinetto</id>
	<title>RVM Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kb.rvmgroup.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gabriele.vivinetto"/>
	<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php/Special:Contributions/Gabriele.vivinetto"/>
	<updated>2026-08-04T05:23:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Ricostruzione_indici_di_Database_Adiuto&amp;diff=11515</id>
		<title>Ricostruzione indici di Database Adiuto</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Ricostruzione_indici_di_Database_Adiuto&amp;diff=11515"/>
		<updated>2026-07-14T15:51:56Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Per migliorare le prestazioni è utile eseguire nottetempo queste query:&amp;lt;pre&amp;gt; EXEC sp_updatestats &amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt; SET NOCOUNT ON; DECLARE @db_id int; DECLARE @objectid int; DECLARE @indexid int; DECLARE @partitioncount bigint; DECLARE @schemaname nvarchar(130);  DECLARE @objectname nvarchar(130);  DECLARE @indexname nvarchar(130);  DECLARE @partitionnum bigint; DECLARE @partitions bigint; DECLARE @frag float; DECLARE @command nvarchar(4000);    SET @db_id = DB_ID(); -- Condi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per migliorare le prestazioni è utile eseguire nottetempo queste query:&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_updatestats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
SET NOCOUNT ON;&lt;br /&gt;
DECLARE @db_id int;&lt;br /&gt;
DECLARE @objectid int;&lt;br /&gt;
DECLARE @indexid int;&lt;br /&gt;
DECLARE @partitioncount bigint;&lt;br /&gt;
DECLARE @schemaname nvarchar(130); &lt;br /&gt;
DECLARE @objectname nvarchar(130); &lt;br /&gt;
DECLARE @indexname nvarchar(130); &lt;br /&gt;
DECLARE @partitionnum bigint;&lt;br /&gt;
DECLARE @partitions bigint;&lt;br /&gt;
DECLARE @frag float;&lt;br /&gt;
DECLARE @command nvarchar(4000); &lt;br /&gt;
 &lt;br /&gt;
SET @db_id = DB_ID();&lt;br /&gt;
-- Conditionally select tables and indexes from the sys.dm_db_index_physical_stats function &lt;br /&gt;
-- and convert object and index IDs to names.&lt;br /&gt;
SELECT&lt;br /&gt;
    object_id AS objectid,&lt;br /&gt;
    index_id AS indexid,&lt;br /&gt;
    partition_number AS partitionnum,&lt;br /&gt;
    avg_fragmentation_in_percent AS frag&lt;br /&gt;
INTO #work_to_do&lt;br /&gt;
FROM sys.dm_db_index_physical_stats (@db_id, NULL, NULL , NULL, &#039;LIMITED&#039;)&lt;br /&gt;
WHERE avg_fragmentation_in_percent &amp;gt; 10.0 AND index_id &amp;gt; 0;&lt;br /&gt;
 &lt;br /&gt;
-- Declare the cursor for the list of partitions to be processed.&lt;br /&gt;
DECLARE partitions CURSOR FOR SELECT * FROM #work_to_do;&lt;br /&gt;
 &lt;br /&gt;
-- Open the cursor.&lt;br /&gt;
OPEN partitions;&lt;br /&gt;
 &lt;br /&gt;
-- Loop through the partitions.&lt;br /&gt;
WHILE (1=1)&lt;br /&gt;
    BEGIN;&lt;br /&gt;
        FETCH NEXT&lt;br /&gt;
           FROM partitions&lt;br /&gt;
           INTO @objectid, @indexid, @partitionnum, @frag;&lt;br /&gt;
        IF @@FETCH_STATUS &amp;lt; 0 BREAK;&lt;br /&gt;
        SELECT @objectname = QUOTENAME(o.name), @schemaname = QUOTENAME(s.name)&lt;br /&gt;
        FROM sys.objects AS o&lt;br /&gt;
        JOIN sys.schemas as s ON s.schema_id = o.schema_id&lt;br /&gt;
        WHERE o.object_id = @objectid;&lt;br /&gt;
        SELECT @indexname = QUOTENAME(name)&lt;br /&gt;
        FROM sys.indexes&lt;br /&gt;
        WHERE  object_id = @objectid AND index_id = @indexid;&lt;br /&gt;
        SELECT @partitioncount = count (*)&lt;br /&gt;
        FROM sys.partitions&lt;br /&gt;
        WHERE object_id = @objectid AND index_id = @indexid;&lt;br /&gt;
 &lt;br /&gt;
-- 30 is an arbitrary decision point at which to switch between reorganizing and rebuilding.&lt;br /&gt;
        IF @frag &amp;lt; 30.0&lt;br /&gt;
            SET @command = N&#039;ALTER INDEX &#039; + @indexname + N&#039; ON &#039; + @schemaname + N&#039;.&#039; + @objectname + N&#039; REORGANIZE&#039;;&lt;br /&gt;
        IF @frag &amp;gt;= 30.0&lt;br /&gt;
            SET @command = N&#039;ALTER INDEX &#039; + @indexname + N&#039; ON &#039; + @schemaname + N&#039;.&#039; + @objectname + N&#039; REBUILD&#039;;&lt;br /&gt;
        IF @partitioncount &amp;gt; 1&lt;br /&gt;
            SET @command = @command + N&#039; PARTITION=&#039; + CAST(@partitionnum AS nvarchar(10));&lt;br /&gt;
        EXEC (@command);&lt;br /&gt;
        PRINT N&#039;Executed: &#039; + @command+ N&#039; &#039; + cast(@frag as nvarchar(25)) ;&lt;br /&gt;
    END;&lt;br /&gt;
 &lt;br /&gt;
-- Close and deallocate the cursor.&lt;br /&gt;
CLOSE partitions;&lt;br /&gt;
DEALLOCATE partitions;&lt;br /&gt;
 &lt;br /&gt;
-- Drop the temporary table.&lt;br /&gt;
DROP TABLE #work_to_do;&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Adiuto&amp;diff=11514</id>
		<title>Adiuto</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Adiuto&amp;diff=11514"/>
		<updated>2026-07-14T15:50:31Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Query utili in Adiuto]]&lt;br /&gt;
*[[Impostare un Reverse Proxy Apache per Adiuto per accedere via http su porta 80]]&lt;br /&gt;
*[[Creare una vista in Adiuto con i campi di una famiglia ridenominati con le Label]]&lt;br /&gt;
*[[Le fasature di import falliscono con un errore di Cannot resolve the collation conflict between &amp;quot;SQL_Latin1_General_CP850_CI_AS&amp;quot; and &amp;quot;Latin1_General_CI_AS&amp;quot; in the equal to operation.]]&lt;br /&gt;
*[[Adiuto non parte e dà errore di License Incompatible]]&lt;br /&gt;
*[[Eliminare i collegati duplicati in Adiuto]]&lt;br /&gt;
*[[Identificare la famiglia in uno script Adiuto]]&lt;br /&gt;
*[[Aggiornare la visibilità di record in Adiuto dopo un cambio nei campi]]&lt;br /&gt;
*[[Il servizio AdiFeed rimane bloccato in Starting]]&lt;br /&gt;
*[[Aggiornamento Adiuto 6.7.2]]&lt;br /&gt;
*[[Adiuto va in crash con errore OutOfMemoryError: GC overhead limit exceeded]]&lt;br /&gt;
*[[Caricare delel fatture XML su portale IFIN]]&lt;br /&gt;
*[[Impossibile visualizzare il file di un documento in Adiuto]]&lt;br /&gt;
*[[Il database di Adiuto su SQL Server Express raggiunge il limite di 10GB]]&lt;br /&gt;
*[[I link di reset password in Adiuto non contengono l&#039;URL corretto se dietro un reverse proxy]]&lt;br /&gt;
*[[Terminare workflow Massivamente in Adiuto]]&lt;br /&gt;
*[[Eliminazione di un utente Adiuto]]&lt;br /&gt;
*[[Adiuto indica come Scartate perchè duplicate delle fatture effettivamente consegnate]]&lt;br /&gt;
*[[Ricostruzione indici di Database Adiuto]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Adiuto_indica_come_Scartate_perch%C3%A8_duplicate_delle_fatture_effettivamente_consegnate&amp;diff=11513</id>
		<title>Adiuto indica come Scartate perchè duplicate delle fatture effettivamente consegnate</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Adiuto_indica_come_Scartate_perch%C3%A8_duplicate_delle_fatture_effettivamente_consegnate&amp;diff=11513"/>
		<updated>2026-07-14T15:49:26Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Può succedere che ci si trovi con degli scarti in Adiuto, ma su ADE e Invoice Channel la fattura sia consegnata.&lt;br /&gt;
&lt;br /&gt;
Succede perchè si invia la fattura più volte (non si capisce se siamo noi a farlo o è ifin e si riceve subito la NS. Una volta acquisita la ricevuta di SCARTO, anche quando arriva quella di consegna, non viene allegata e rimane nel Transito di Immission&lt;br /&gt;
&lt;br /&gt;
Per importarla occorre verificare i filename delle ricevute RC di consegna incagliate, da cui si recupera l&#039;ID_SDI&lt;br /&gt;
&lt;br /&gt;
In [https://fatturapa.ifin.it/ Invoice channel di IFIN] si fa la ricerca per range temporale ed ID SDI e si deduce il numero della Fattura.&lt;br /&gt;
&lt;br /&gt;
In Adiuto si cerca la fattura (che sarà falsamente scartata) e si deduce il FIDD.&lt;br /&gt;
&lt;br /&gt;
Poi si fa un update di F31 di quel FIDD inserendo l&#039;UID IFIN che è la prima parte del filename della ricevuta:.&lt;br /&gt;
&lt;br /&gt;
Fatto questo, si rilancia la fasatura immission di importazione Ricevute e la ricevuta verrà caricata, collegata e la fattura sarà CONSEGNATA&lt;br /&gt;
&lt;br /&gt;
Alla fine bisogna poi modificare anche il FLAF per far bloccare il documento e far apparire la coccarda.&lt;br /&gt;
&lt;br /&gt;
Ad esempio se il filename della ricevuta da importare fosse:&amp;lt;pre&amp;gt;4D0BDE37-4FC0-4973-935C-86E77BE3D5C1_17756685916_IT01071920282_to55h_RC_001.xml&amp;lt;/pre&amp;gt;Su Invoice channel, ricerchiamo l&#039;ID SDI&amp;lt;pre&amp;gt;&lt;br /&gt;
17756685916&lt;br /&gt;
&amp;lt;/pre&amp;gt;Troviamo che il numero fattura è, ad esempio &amp;lt;pre&amp;gt;&lt;br /&gt;
9833&lt;br /&gt;
&amp;lt;/pre&amp;gt;In adiuto cerchiamo la fattura e troviamo che il suo FIDD (CTRL-SHIFT-F2) è&amp;lt;pre&amp;gt;1968619&amp;lt;/pre&amp;gt;Lanciamo quindi la query:&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE &lt;br /&gt;
 A1001&lt;br /&gt;
SET F31 = &#039;4D0BDE37-4FC0-4973-935C-86E77BE3D5C1&#039;&lt;br /&gt;
WHERE&lt;br /&gt;
 FIDD = &#039;1968619&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;E importiamo al ricevuta.&lt;br /&gt;
&lt;br /&gt;
Poi recuperiamo nuovamente il fidd della fattura (perchè cambia) che ipotiziaaimo diventi&amp;lt;pre&amp;gt;&lt;br /&gt;
1968630&lt;br /&gt;
&amp;lt;/pre&amp;gt;e facciamo:&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE &lt;br /&gt;
  TDOC&lt;br /&gt;
SET&lt;br /&gt;
  FLAF = 1 &lt;br /&gt;
WHERE&lt;br /&gt;
  FIDD = 1968630&lt;br /&gt;
&amp;lt;/pre&amp;gt;Il dettaglio del [https://helpdesk.bluenext.it/it/support/tickets/1053072 ticket] è&amp;lt;pre&amp;gt;Prendo ad esempio la prima ricevuta del log&lt;br /&gt;
D:\Adiuto\Transito\RicevuteSDI\201F2760-ADC4-438F-A0C9-99DEAF2D8449_17700396210_IT01071920282_th5fj_RC_003.xml &lt;br /&gt;
&lt;br /&gt;
1. individua la fattura corrispondente, poi modifica il valore del campo F31 (quello che trovi è quello della ricevuta di scarto) e metti quello della ricevuta; il valore lo ricavi dal nome file, tutti i caratteri fino al primo underscore. In questo caso  201F2760-ADC4-438F-A0C9-99DEAF2D8449 &lt;br /&gt;
UPDATE A1001 set F31 = &#039;201F2760-ADC4-438F-A0C9-99DEAF2D8449 &#039; where fidd = fidd della fattura&lt;br /&gt;
&lt;br /&gt;
2. Fai girare la fasatura immission delle ricevute. La ricevuta dovrebbe collegarsi alla fattura e modificare lo stato = CONSEGNATA&lt;br /&gt;
&lt;br /&gt;
3. modifica il FLAF del documento facendo update sulla TDOC (per bloccare il documento e far comparire la coccardina colorata)&lt;br /&gt;
UPDATE TDOC set FLAF = 1 where fidd =  nuovo fidd fattura (attenzione, lo script del workflow delle ricevute fa un ModificaInfo sulla fattura, quindi il FIDD cambia; devi prendere il nuovo FIDD)&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Adiuto_indica_come_Scartate_perch%C3%A8_duplicate_delle_fatture_effettivamente_consegnate&amp;diff=11512</id>
		<title>Adiuto indica come Scartate perchè duplicate delle fatture effettivamente consegnate</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Adiuto_indica_come_Scartate_perch%C3%A8_duplicate_delle_fatture_effettivamente_consegnate&amp;diff=11512"/>
		<updated>2026-07-14T15:47:46Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Può succedere che ci si trovi con degli scarti in Adiuto, ma su ADE e Invoice Channel la fattura sia consegnata.  Succede perchè si invia la fattura più volte (non si capisce se siamo noi a farlo o è ifin e si riceve subito la NS. Una volta acquisita la ricevuta di SCARTO, anche quando arriva quella di consegna, non viene allegata e rimane nel Transito di Immission  Per importarla occorre verificare i filename delel ricevute RC di consegna incagliate, da cui si recup...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Può succedere che ci si trovi con degli scarti in Adiuto, ma su ADE e Invoice Channel la fattura sia consegnata.&lt;br /&gt;
&lt;br /&gt;
Succede perchè si invia la fattura più volte (non si capisce se siamo noi a farlo o è ifin e si riceve subito la NS. Una volta acquisita la ricevuta di SCARTO, anche quando arriva quella di consegna, non viene allegata e rimane nel Transito di Immission&lt;br /&gt;
&lt;br /&gt;
Per importarla occorre verificare i filename delel ricevute RC di consegna incagliate, da cui si recupera l&#039;ID_SDI&lt;br /&gt;
&lt;br /&gt;
In Invoice channel di IFIN si fa la ricerca per range temporale ed ID SDI e si deduce il numero della Fattura.&lt;br /&gt;
&lt;br /&gt;
In Adiuto si cerca la fattura (che sarà falsamente scartata) e si deduce il FIDD.&lt;br /&gt;
&lt;br /&gt;
Poi si fa un update di F31 di quel FIDD inserendo l&#039;UID IFIN che è la prima parte del filename della ricevuta:.&lt;br /&gt;
&lt;br /&gt;
Fatto questo, si rilancia la fasatura immission di importazione RIcevute e la ricevuta verrà caricata, collegata e la fattura sarà CONSEGNATA&lt;br /&gt;
&lt;br /&gt;
Alla fine bisogna poi modificare anche il FLAF per far bloccae il documento e far apparire la coccarda.&lt;br /&gt;
&lt;br /&gt;
Ad esempio se il filename della ricevuta da importare fosse:&amp;lt;pre&amp;gt;4D0BDE37-4FC0-4973-935C-86E77BE3D5C1_17756685916_IT01071920282_to55h_RC_001.xml&amp;lt;/pre&amp;gt;Su Invoice channel, ricerchiamo l&#039;ID SDI&amp;lt;pre&amp;gt;&lt;br /&gt;
17756685916&lt;br /&gt;
&amp;lt;/pre&amp;gt;Troviamo che il numero fattura è, ad esempio &amp;lt;pre&amp;gt;&lt;br /&gt;
9833&lt;br /&gt;
&amp;lt;/pre&amp;gt;In adiuto cerchiamo la fattura e troviamo che il suo FIDD (CTRL-SHIFT-F2) è&amp;lt;pre&amp;gt;1968619&amp;lt;/pre&amp;gt;Lanciamo quindi la query:&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE &lt;br /&gt;
 A1001&lt;br /&gt;
SET F31 = &#039;4D0BDE37-4FC0-4973-935C-86E77BE3D5C1&#039;&lt;br /&gt;
WHERE&lt;br /&gt;
 FIDD = &#039;1968619&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;E importiamo al ricevuta.&lt;br /&gt;
&lt;br /&gt;
Poi recuperiamo nuovamente il fidd della fattura (perchè cambia) che ipotiziaaimo diventi&amp;lt;pre&amp;gt;&lt;br /&gt;
1968630&lt;br /&gt;
&amp;lt;/pre&amp;gt;, e facciamo:&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE &lt;br /&gt;
  TDOC&lt;br /&gt;
SET&lt;br /&gt;
  FLAF = 1 &lt;br /&gt;
WHERE&lt;br /&gt;
  FIDD = 1968630&lt;br /&gt;
&amp;lt;/pre&amp;gt;Il dettaglio del [https://helpdesk.bluenext.it/it/support/tickets/1053072 ticket] è&amp;lt;pre&amp;gt;Prendo ad esempio la prima ricevuta del log&lt;br /&gt;
D:\Adiuto\Transito\RicevuteSDI\201F2760-ADC4-438F-A0C9-99DEAF2D8449_17700396210_IT01071920282_th5fj_RC_003.xml &lt;br /&gt;
&lt;br /&gt;
1. individua la fattura corrispondente, poi modifica il valore del campo F31 (quello che trovi è quello della ricevuta di scarto) e metti quello della ricevuta; il valore lo ricavi dal nome file, tutti i caratteri fino al primo underscore. In questo caso  201F2760-ADC4-438F-A0C9-99DEAF2D8449 &lt;br /&gt;
UPDATE A1001 set F31 = &#039;201F2760-ADC4-438F-A0C9-99DEAF2D8449 &#039; where fidd = fidd della fattura&lt;br /&gt;
&lt;br /&gt;
2. Fai girare la fasatura immission delle ricevute. La ricevuta dovrebbe collegarsi alla fattura e modificare lo stato = CONSEGNATA&lt;br /&gt;
&lt;br /&gt;
3. modifica il FLAF del documento facendo update sulla TDOC (per bloccare il documento e far comparire la coccardina colorata)&lt;br /&gt;
UPDATE TDOC set FLAF = 1 where fidd =  nuovo fidd fattura (attenzione, lo script del workflow delle ricevute fa un ModificaInfo sulla fattura, quindi il FIDD cambia; devi prendere il nuovo FIDD)&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Adiuto&amp;diff=11511</id>
		<title>Adiuto</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Adiuto&amp;diff=11511"/>
		<updated>2026-07-14T15:22:37Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Query utili in Adiuto]]&lt;br /&gt;
*[[Impostare un Reverse Proxy Apache per Adiuto per accedere via http su porta 80]]&lt;br /&gt;
*[[Creare una vista in Adiuto con i campi di una famiglia ridenominati con le Label]]&lt;br /&gt;
*[[Le fasature di import falliscono con un errore di Cannot resolve the collation conflict between &amp;quot;SQL_Latin1_General_CP850_CI_AS&amp;quot; and &amp;quot;Latin1_General_CI_AS&amp;quot; in the equal to operation.]]&lt;br /&gt;
*[[Adiuto non parte e dà errore di License Incompatible]]&lt;br /&gt;
*[[Eliminare i collegati duplicati in Adiuto]]&lt;br /&gt;
*[[Identificare la famiglia in uno script Adiuto]]&lt;br /&gt;
*[[Aggiornare la visibilità di record in Adiuto dopo un cambio nei campi]]&lt;br /&gt;
*[[Il servizio AdiFeed rimane bloccato in Starting]]&lt;br /&gt;
*[[Aggiornamento Adiuto 6.7.2]]&lt;br /&gt;
*[[Adiuto va in crash con errore OutOfMemoryError: GC overhead limit exceeded]]&lt;br /&gt;
*[[Caricare delel fatture XML su portale IFIN]]&lt;br /&gt;
*[[Impossibile visualizzare il file di un documento in Adiuto]]&lt;br /&gt;
*[[Il database di Adiuto su SQL Server Express raggiunge il limite di 10GB]]&lt;br /&gt;
*[[I link di reset password in Adiuto non contengono l&#039;URL corretto se dietro un reverse proxy]]&lt;br /&gt;
*[[Terminare workflow Massivamente in Adiuto]]&lt;br /&gt;
*[[Eliminazione di un utente Adiuto]]&lt;br /&gt;
*[[Adiuto indica come Scartate perchè duplicate delle fatture effettivamente consegnate]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Cambiare_owner_dei_backup_in_Proxmox_Backup_Server&amp;diff=11507</id>
		<title>Cambiare owner dei backup in Proxmox Backup Server</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Cambiare_owner_dei_backup_in_Proxmox_Backup_Server&amp;diff=11507"/>
		<updated>2026-07-02T09:02:37Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se si cambia lo user di accesso al Datastore, occorre cambiare l&amp;#039;owner dei backup esistenti. Questo script cambia l&amp;#039;owner per tutti backup dell vm/.*&amp;lt;pre&amp;gt; #!/bin/bash # Script per cambiare proprietario di TUTTI i gruppi di backup  # ==================== CONFIGURAZIONE ==================== # Inserisci qui i dati del tuo PBS PBS_SERVER=$1 PBS_PORT=&amp;quot;8007&amp;quot;                           # Porta di default DATASTORE=$2  # Il repository nel formato corretto REPOSITORY=&amp;quot;${PBS_SERVER...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si cambia lo user di accesso al Datastore, occorre cambiare l&#039;owner dei backup esistenti. Questo script cambia l&#039;owner per tutti backup dell vm/.*&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Script per cambiare proprietario di TUTTI i gruppi di backup&lt;br /&gt;
&lt;br /&gt;
# ==================== CONFIGURAZIONE ====================&lt;br /&gt;
# Inserisci qui i dati del tuo PBS&lt;br /&gt;
PBS_SERVER=$1&lt;br /&gt;
PBS_PORT=&amp;quot;8007&amp;quot;                           # Porta di default&lt;br /&gt;
DATASTORE=$2&lt;br /&gt;
&lt;br /&gt;
# Il repository nel formato corretto&lt;br /&gt;
REPOSITORY=&amp;quot;${PBS_SERVER}:${PBS_PORT}:${DATASTORE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Il nuovo proprietario (token)&lt;br /&gt;
NEW_OWNER=&amp;quot;cluster@pbs!cluster&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# ==================== ESECUZIONE ====================&lt;br /&gt;
echo &amp;quot;Inizio cambio proprietario per tutti i backup nel datastore: ${DATASTORE}&amp;quot;&lt;br /&gt;
echo &amp;quot;Nuovo proprietario: ${NEW_OWNER}&amp;quot;&lt;br /&gt;
echo &amp;quot;Repository: ${REPOSITORY}&amp;quot;&lt;br /&gt;
echo &amp;quot;----------------------------------------&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Ottiene la lista dei gruppi di backup&lt;br /&gt;
# Il comando &#039;list&#039; mostra le colonne: tipo, gruppo, ecc.&lt;br /&gt;
# Prendiamo la seconda colonna che contiene il nome del gruppo (es. vm/101)&lt;br /&gt;
for group in $(proxmox-backup-client list --repository &amp;quot;${REPOSITORY}&amp;quot; | awk &#039;NR&amp;gt;1 {print $2}&#039; | grep &#039;^vm\/.*&#039; ); do&lt;br /&gt;
    echo &amp;quot;Cambiando proprietario per: $group&amp;quot;&lt;br /&gt;
    proxmox-backup-client change-owner &amp;quot;$group&amp;quot; &amp;quot;$NEW_OWNER&amp;quot; --repository &amp;quot;${REPOSITORY}&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if [ $? -eq 0 ]; then&lt;br /&gt;
        echo &amp;quot;✓ Proprietario cambiato con successo per $group&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;✗ ERRORE durante il cambio proprietario per $group&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;----------------------------------------&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Operazione completata.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Proxmox_Backup_Server&amp;diff=11506</id>
		<title>Proxmox Backup Server</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Proxmox_Backup_Server&amp;diff=11506"/>
		<updated>2026-07-02T09:00:53Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Backup di Host Fisici con PBS]]&lt;br /&gt;
*[[I backup d Proxmox Backup Server bloccano una VM o la rallentano troppo]]&lt;br /&gt;
*[[Ottimizzazione di un filesystem ZFS per Proxmox Backup Server]]&lt;br /&gt;
*[[Scaricare una immagine disco da Proxmox Backup Server e convertirla]]&lt;br /&gt;
*[[I LOG di Proxmox Backup Server occupano troppo spazio]]&lt;br /&gt;
*[[Restore di files da command line di una VM con Proxmox Backup Server]]&lt;br /&gt;
*[[Restore di un nodo cluster Proxmox VE]]&lt;br /&gt;
*[[Proxmox Backup Server non completa il Garbage Collection]]&lt;br /&gt;
*[[Cambiare owner dei backup in Proxmox Backup Server]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Restore_di_files_da_command_line_di_una_VM_con_Proxmox_Backup_Server&amp;diff=11505</id>
		<title>Restore di files da command line di una VM con Proxmox Backup Server</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Restore_di_files_da_command_line_di_una_VM_con_Proxmox_Backup_Server&amp;diff=11505"/>
		<updated>2026-07-01T08:54:02Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Da GUI l&#039;unico modo è scaricare manualmente lo zip e poi caricarlo sulla VM.&lt;br /&gt;
&lt;br /&gt;
Se invece si vuole fare da command line, è possibile sia con il client che montare l&#039;immagine del disco di backup come loop e poi montare l&#039;eventuale LVM con gutestmount (monatarlo direttamente è più complicato)&lt;br /&gt;
&lt;br /&gt;
== Restore con client: ==&lt;br /&gt;
&lt;br /&gt;
* Settare le variabili necessarie:&lt;br /&gt;
&lt;br /&gt;
 source /etc/pbsbackup&lt;br /&gt;
&lt;br /&gt;
* Elencare le sessioni di backup:&lt;br /&gt;
&lt;br /&gt;
 proxmox-backup-client snapshots --repository &#039;myapy@pbs!myuser@pbshost.example.com:MYDATASTORE&#039;&lt;br /&gt;
&lt;br /&gt;
* Fare restore della directory&lt;br /&gt;
&lt;br /&gt;
 proxmox-backup-client restore host/myhost/2026-05-28T20:00:02Z root.pxar   /restore/examplepath   --repository &#039;myapi@pbs!myuser@pbshost.example.com:MYDATASTORE&#039;   --ns MYNAMESPACE   --pattern &#039;folder/path/to/restore/**&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore con mount ==&lt;br /&gt;
* Sul server PBS mappare la sessione di backup come loop0:&lt;br /&gt;
 proxmox-backup-client map vm/101/2025-07-14T19:00:04Z drive-scsi4.img --repository pbs.example.com:MYREPO&lt;br /&gt;
* Verificare:&lt;br /&gt;
&lt;br /&gt;
 lsblk &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS&lt;br /&gt;
loop0             7:0    0   80G  1 loop &lt;br /&gt;
└─docker-docker 252:1    0   70G  0 lvm  &lt;br /&gt;
sda               8:0    0   32G  0 disk &lt;br /&gt;
├─sda1            8:1    0 1007K  0 part &lt;br /&gt;
├─sda2            8:2    0  512M  0 part &lt;br /&gt;
└─sda3            8:3    0 31.5G  0 part &lt;br /&gt;
  └─pbs-root    252:0    0 23.8G  0 lvm  /&lt;br /&gt;
sr0              11:0    1 1024M  0 rom  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Attivare il volume:&lt;br /&gt;
&lt;br /&gt;
 vgchange -ay docker&lt;br /&gt;
&lt;br /&gt;
 1 logical volume(s) in volume group &amp;quot;docker&amp;quot; now active&lt;br /&gt;
&lt;br /&gt;
* Verificare i volumi:&lt;br /&gt;
&lt;br /&gt;
 lvs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  LV     VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert&lt;br /&gt;
  docker docker -wi-a----- 70.00g    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Istallare i tools (si, tanta roba, ma poi si fa autoremove):&lt;br /&gt;
&lt;br /&gt;
 apt install libguestfs-tools&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
* Montare il volume&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /mnt/restore&lt;br /&gt;
&lt;br /&gt;
 guestmount -m /dev/docker/docker -r -a /dev/loop0 /mnt/restore&lt;br /&gt;
&lt;br /&gt;
* Ora dalla VM è possibile fare un rsync:&lt;br /&gt;
&lt;br /&gt;
 cd /path/to/restore&lt;br /&gt;
&lt;br /&gt;
 rsync -av pbs.example.com:/mnt/restore/ ./&lt;br /&gt;
&lt;br /&gt;
* Alla fine sul server PBS, smontare il volume, demapparlo e rimuovere i tools:&lt;br /&gt;
 guestunmount /mnt/restore/&lt;br /&gt;
&lt;br /&gt;
 proxmox-backup-client unmap /dev/loop0&lt;br /&gt;
&lt;br /&gt;
 apt autoremove --purge libguestfs-tools &lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://community.nethserver.org/t/howto-restore-a-single-file-from-proxmox-backup-server-pbs/17302 HowTo restore a single file from Proxmox Backup Server (PBS)? - Howto - NethServer Community]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Creazione_di_un%27interfaccia_virtuale_NAT_%26_Host_per_VirtualBox&amp;diff=11504</id>
		<title>Creazione di un&#039;interfaccia virtuale NAT &amp; Host per VirtualBox</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Creazione_di_un%27interfaccia_virtuale_NAT_%26_Host_per_VirtualBox&amp;diff=11504"/>
		<updated>2026-06-26T14:30:47Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Ubuntu 18.04 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduzione=&lt;br /&gt;
Si vuole creare un&#039;interfaccia che permetta di creare una rete con &lt;br /&gt;
* delle VM che si vedano tra loro&lt;br /&gt;
* delle VM che accedano ad internet&lt;br /&gt;
* della VM accessibili dal PC&lt;br /&gt;
&lt;br /&gt;
In pratica una rete Host Only + Nat&lt;br /&gt;
&lt;br /&gt;
=Installazione pacchetti=&lt;br /&gt;
* Installare i pacchetti necessari:&lt;br /&gt;
 sudo apt-get install uml-utilities&lt;br /&gt;
&lt;br /&gt;
=Configurazione interfacce=&lt;br /&gt;
&lt;br /&gt;
* Configurare l&#039;interfaccia tun254, fisica ed il bridge, che così potrà essere utilizzato anche da KVM:&lt;br /&gt;
&lt;br /&gt;
 sudoedit  /etc/network/interfaces &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# interfaces(5) file used by ifup(8) and ifdown(8)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto tun254&lt;br /&gt;
iface tun254 inet manual&lt;br /&gt;
	pre-up tunctl -t tun254&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o wlan0 -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o eth0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o tap0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o usb0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o ppp0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o wlan0 -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o eth0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o tap0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o usb0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o ppp0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down tunctl -d tun254&lt;br /&gt;
&lt;br /&gt;
auto br0&lt;br /&gt;
   iface br0 inet static&lt;br /&gt;
    address 10.11.12.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports tun254&lt;br /&gt;
    bridge_stp off&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Attivarla&lt;br /&gt;
 sudo invoke-rc.d networking restart&lt;br /&gt;
&lt;br /&gt;
* Verificare che esistano le interfacce&lt;br /&gt;
&lt;br /&gt;
 ifconfig tun254&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tun254    Link encap:Ethernet  HWaddr c6:78:12:8e:19:31  &lt;br /&gt;
          inet6 addr: fe80::c478:12ff:fe8e:1931/64 Scope:Link&lt;br /&gt;
          UP BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:2048 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:500 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ifconfig br0&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
br0       Link encap:Ethernet  HWaddr c6:78:12:8e:19:31  &lt;br /&gt;
          inet addr:10.11.12.254  Bcast:10.11.12.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::c478:12ff:fe8e:1931/64 Scope:Link&lt;br /&gt;
          UP BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1657 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:513 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0 &lt;br /&gt;
          RX bytes:227994 (227.9 KB)  TX bytes:88648 (88.6 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Verificare che il nat in uscita sia attivato:&lt;br /&gt;
 sudo iptables -L -n -v -t nat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sudo iptables -L -n -v -t nat&lt;br /&gt;
Chain PREROUTING (policy ACCEPT 16387 packets, 2414K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
&lt;br /&gt;
Chain INPUT (policy ACCEPT 2318 packets, 353K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
&lt;br /&gt;
Chain OUTPUT (policy ACCEPT 3789 packets, 290K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
&lt;br /&gt;
Chain POSTROUTING (policy ACCEPT 3782 packets, 290K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
   11   664 MASQUERADE  all  --  *      wlan0   10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      eth0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      tap0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      usb0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      ppp0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Server DHCP e DNS=&lt;br /&gt;
&lt;br /&gt;
== Ubuntu 26.04 ==&lt;br /&gt;
SOLO DNS: usare direttamente systemd-resolved:&lt;br /&gt;
 sudoedit /etc/systemd/resolved.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#DNSStubListener=yes&lt;br /&gt;
DNSStubListenerExtra=10.11.12.254&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl restart systemd-resolved&lt;br /&gt;
&lt;br /&gt;
 ss -lunp | grep :53&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNCONN 0      0                                         0.0.0.0:5353       0.0.0.0:*                                       &lt;br /&gt;
UNCONN 0      0                                    10.11.12.254:53         0.0.0.0:*                                       &lt;br /&gt;
UNCONN 0      0                                      127.0.0.54:53         0.0.0.0:*                                       &lt;br /&gt;
UNCONN 0      0                                   127.0.0.53%lo:53         0.0.0.0:*                                       &lt;br /&gt;
UNCONN 0      0                                            [::]:5353          [::]:*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ubuntu 18.04==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;-----&amp;gt;ATTENZIONE ON USARE FORK, cra migliaia di processi socat&amp;lt;---------------------------------&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* In questa versione come DNS è installato systemd-resolvd, che non può bindare un&#039;interfaccia.&lt;br /&gt;
&lt;br /&gt;
* Si usa socat: installarlo:&lt;br /&gt;
 apt-get install socat&lt;br /&gt;
&lt;br /&gt;
* Per fare in modo di usare come dns 10.11.12.254, occorre attivare socat come:&lt;br /&gt;
&lt;br /&gt;
 sudo socat -4 UDP-LISTEN:53,fork,reuseaddr,bind=10.11.12.254 UDP:127.0.0.53:53&lt;br /&gt;
&lt;br /&gt;
* Oppure creare la unit systemctl:&lt;br /&gt;
 vi /etc/systemd/system/socat.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/systemd/system/socat.service&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Socat Service for DNS on tun254 for Virtualbox&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
# Se il bind è su una interfaccia vpn&lt;br /&gt;
# systemctl list-units --no-pager | grep virtual-net&lt;br /&gt;
# BindsTo=sys-devices-virtual-net-ztc35dwhra.device&lt;br /&gt;
# After=sys-devices-virtual-net-ztc35dwhra.device&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/bin/socat -4 UDP-LISTEN:53,fork,reuseaddr,bind=10.11.12.254 UDP:127.0.0.53:53&lt;br /&gt;
ExecStop=/bin/kill -s QUIT $MAINPID&lt;br /&gt;
Restart=on-abort&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable socat&lt;br /&gt;
 systemctl start socat&lt;br /&gt;
===Riferimenti===&lt;br /&gt;
* [https://unix.stackexchange.com/questions/445782/how-to-allow-systemd-resolved-to-listen-to-an-interface-other-than-loopback dns - How to allow systemd-resolved to listen to an interface other than loopback? - Unix &amp;amp; Linux Stack Exchange]&lt;br /&gt;
&lt;br /&gt;
==Ubuntu 15.04==&lt;br /&gt;
* In questa versione, utilizzare l&#039;istanza dnsmaq standard forita da networkmanager&lt;br /&gt;
* Fermare dnsmaq&lt;br /&gt;
 sudo killall dnsmasq&lt;br /&gt;
* Creare il file di configurazione&lt;br /&gt;
 sudoedit /etc/NetworkManager/dnsmasq.d/vboxnat.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#interface=br0&lt;br /&gt;
#log-queries&lt;br /&gt;
&lt;br /&gt;
listen-address=10.11.12.254&lt;br /&gt;
dhcp-range=interface:br0,10.11.12.11,10.11.12.99,5m&lt;br /&gt;
&lt;br /&gt;
# static lease&lt;br /&gt;
dhcp-host=08:00:27:87:1f:1f,10.11.12.100&lt;br /&gt;
&lt;br /&gt;
# dns forward&lt;br /&gt;
local=/vbox.priv/&lt;br /&gt;
address=/prox01.vbox.priv/10.11.12.101&lt;br /&gt;
address=/prox02.vbox.priv/10.11.12.102&lt;br /&gt;
&lt;br /&gt;
#dns reverse&lt;br /&gt;
local=/12.11.10.in-addr.arpa./&lt;br /&gt;
ptr-record=101.12.11.10.in-addr.arpa.,&amp;quot;prox01.vbox.priv&amp;quot;&lt;br /&gt;
ptr-record=102.12.11.10.in-addr.arpa.,&amp;quot;prox02.vbox.priv&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Riavviare Network Manager&lt;br /&gt;
 sudo service network-manager restart&lt;br /&gt;
&lt;br /&gt;
* Collegare un&#039;interfaccia esterna&lt;br /&gt;
&lt;br /&gt;
* Per debuggare, scommentare log-queries e ripetere le due operazioni precedenti&lt;br /&gt;
&lt;br /&gt;
* Verificare che il binding sia corretto:&lt;br /&gt;
 sudo netstat -anp | grep dnsma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      12088/dnsmasq   &lt;br /&gt;
tcp        0      0 10.11.12.254:53         0.0.0.0:*               LISTEN      12088/dnsmasq   &lt;br /&gt;
udp        0      0 127.0.1.1:53            0.0.0.0:*                           12088/dnsmasq   &lt;br /&gt;
udp        0      0 10.11.12.254:53         0.0.0.0:*                           12088/dnsmasq   &lt;br /&gt;
udp        0      0 0.0.0.0:67              0.0.0.0:*                           12088/dnsmasq &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ubuntu precedenti a 15.04==&lt;br /&gt;
&lt;br /&gt;
* Installare e configurare un server DHCP (dhcpd3-server o dnsmasq)&lt;br /&gt;
 sudo apt-get install dnsmaq&lt;br /&gt;
 sudoedit /etc/dnsmasq.con&lt;br /&gt;
&lt;br /&gt;
 dhcp-range=interface:tun254,10.11.12.11,10.11.12.99,5m&lt;br /&gt;
 dhcp-host=08:00:27:87:1f:1f,10.11.12.100&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dnsmasq restart&lt;br /&gt;
&lt;br /&gt;
=Configurazioni delle VM=&lt;br /&gt;
&lt;br /&gt;
* Configurare le VM come &#039;&#039;&#039;Bridged&#039;&#039;&#039; sull&#039;interfaccia &#039;&#039;&#039;tun254&#039;&#039;&#039;. In questo modo si uscirà sempre su internet tra una delle due interfacce nattate.&lt;br /&gt;
&lt;br /&gt;
==Riferimenti==&lt;br /&gt;
*[http://prefetch.net/blog/index.php/2009/12/20/creating-linux-bridging-tap-devices-with-tunctl-and-openvpn/ Creating Linux bridging / tap devices with tunctl and openvpn]&lt;br /&gt;
*[http://www.iceflatline.com/2010/02/how-to-install-and-configure-dnsmasq/ How to Install and Configure dnsmasq | iceflatline]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Creazione_di_un%27interfaccia_virtuale_NAT_%26_Host_per_VirtualBox&amp;diff=11503</id>
		<title>Creazione di un&#039;interfaccia virtuale NAT &amp; Host per VirtualBox</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Creazione_di_un%27interfaccia_virtuale_NAT_%26_Host_per_VirtualBox&amp;diff=11503"/>
		<updated>2026-06-25T16:38:27Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Ubuntu 18.04 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduzione=&lt;br /&gt;
Si vuole creare un&#039;interfaccia che permetta di creare una rete con &lt;br /&gt;
* delle VM che si vedano tra loro&lt;br /&gt;
* delle VM che accedano ad internet&lt;br /&gt;
* della VM accessibili dal PC&lt;br /&gt;
&lt;br /&gt;
In pratica una rete Host Only + Nat&lt;br /&gt;
&lt;br /&gt;
=Installazione pacchetti=&lt;br /&gt;
* Installare i pacchetti necessari:&lt;br /&gt;
 sudo apt-get install uml-utilities&lt;br /&gt;
&lt;br /&gt;
=Configurazione interfacce=&lt;br /&gt;
&lt;br /&gt;
* Configurare l&#039;interfaccia tun254, fisica ed il bridge, che così potrà essere utilizzato anche da KVM:&lt;br /&gt;
&lt;br /&gt;
 sudoedit  /etc/network/interfaces &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# interfaces(5) file used by ifup(8) and ifdown(8)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto tun254&lt;br /&gt;
iface tun254 inet manual&lt;br /&gt;
	pre-up tunctl -t tun254&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o wlan0 -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o eth0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o tap0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o usb0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	pre-up iptables -t nat -A POSTROUTING -o ppp0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o wlan0 -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o eth0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o tap0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o usb0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down iptables -t nat -D POSTROUTING -o ppp0  -s 10.11.12.0/24 -j MASQUERADE&lt;br /&gt;
	post-down tunctl -d tun254&lt;br /&gt;
&lt;br /&gt;
auto br0&lt;br /&gt;
   iface br0 inet static&lt;br /&gt;
    address 10.11.12.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports tun254&lt;br /&gt;
    bridge_stp off&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Attivarla&lt;br /&gt;
 sudo invoke-rc.d networking restart&lt;br /&gt;
&lt;br /&gt;
* Verificare che esistano le interfacce&lt;br /&gt;
&lt;br /&gt;
 ifconfig tun254&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tun254    Link encap:Ethernet  HWaddr c6:78:12:8e:19:31  &lt;br /&gt;
          inet6 addr: fe80::c478:12ff:fe8e:1931/64 Scope:Link&lt;br /&gt;
          UP BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:2048 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:500 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ifconfig br0&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
br0       Link encap:Ethernet  HWaddr c6:78:12:8e:19:31  &lt;br /&gt;
          inet addr:10.11.12.254  Bcast:10.11.12.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::c478:12ff:fe8e:1931/64 Scope:Link&lt;br /&gt;
          UP BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1657 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:513 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0 &lt;br /&gt;
          RX bytes:227994 (227.9 KB)  TX bytes:88648 (88.6 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Verificare che il nat in uscita sia attivato:&lt;br /&gt;
 sudo iptables -L -n -v -t nat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sudo iptables -L -n -v -t nat&lt;br /&gt;
Chain PREROUTING (policy ACCEPT 16387 packets, 2414K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
&lt;br /&gt;
Chain INPUT (policy ACCEPT 2318 packets, 353K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
&lt;br /&gt;
Chain OUTPUT (policy ACCEPT 3789 packets, 290K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
&lt;br /&gt;
Chain POSTROUTING (policy ACCEPT 3782 packets, 290K bytes)&lt;br /&gt;
 pkts bytes target     prot opt in     out     source               destination         &lt;br /&gt;
   11   664 MASQUERADE  all  --  *      wlan0   10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      eth0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      tap0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      usb0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
    0     0 MASQUERADE  all  --  *      ppp0    10.11.12.0/24        0.0.0.0/0           &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Server DHCP e DNS=&lt;br /&gt;
&lt;br /&gt;
==Ubuntu 18.04==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;-----&amp;gt;ATTENZIONE ON USARE FORK&amp;lt;---------------------------------&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* In questa versione come DNS è installato systemd-resolvd, che non può bindare un&#039;interfaccia.&lt;br /&gt;
&lt;br /&gt;
* Si usa socat: installarlo:&lt;br /&gt;
 apt-get install socat&lt;br /&gt;
&lt;br /&gt;
* Per fare in modo di usare come dns 10.11.12.254, occorre attivare socat come:&lt;br /&gt;
&lt;br /&gt;
 sudo socat -4 UDP-LISTEN:53,fork,reuseaddr,bind=10.11.12.254 UDP:127.0.0.53:53&lt;br /&gt;
&lt;br /&gt;
* Oppure creare la unit systemctl:&lt;br /&gt;
 vi /etc/systemd/system/socat.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/systemd/system/socat.service&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Socat Service for DNS on tun254 for Virtualbox&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
# Se il bind è su una interfaccia vpn&lt;br /&gt;
# systemctl list-units --no-pager | grep virtual-net&lt;br /&gt;
# BindsTo=sys-devices-virtual-net-ztc35dwhra.device&lt;br /&gt;
# After=sys-devices-virtual-net-ztc35dwhra.device&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/bin/socat -4 UDP-LISTEN:53,fork,reuseaddr,bind=10.11.12.254 UDP:127.0.0.53:53&lt;br /&gt;
ExecStop=/bin/kill -s QUIT $MAINPID&lt;br /&gt;
Restart=on-abort&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable socat&lt;br /&gt;
 systemctl start socat&lt;br /&gt;
===Riferimenti===&lt;br /&gt;
* [https://unix.stackexchange.com/questions/445782/how-to-allow-systemd-resolved-to-listen-to-an-interface-other-than-loopback dns - How to allow systemd-resolved to listen to an interface other than loopback? - Unix &amp;amp; Linux Stack Exchange]&lt;br /&gt;
&lt;br /&gt;
==Ubuntu 15.04==&lt;br /&gt;
* In questa versione, utilizzare l&#039;istanza dnsmaq standard forita da networkmanager&lt;br /&gt;
* Fermare dnsmaq&lt;br /&gt;
 sudo killall dnsmasq&lt;br /&gt;
* Creare il file di configurazione&lt;br /&gt;
 sudoedit /etc/NetworkManager/dnsmasq.d/vboxnat.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#interface=br0&lt;br /&gt;
#log-queries&lt;br /&gt;
&lt;br /&gt;
listen-address=10.11.12.254&lt;br /&gt;
dhcp-range=interface:br0,10.11.12.11,10.11.12.99,5m&lt;br /&gt;
&lt;br /&gt;
# static lease&lt;br /&gt;
dhcp-host=08:00:27:87:1f:1f,10.11.12.100&lt;br /&gt;
&lt;br /&gt;
# dns forward&lt;br /&gt;
local=/vbox.priv/&lt;br /&gt;
address=/prox01.vbox.priv/10.11.12.101&lt;br /&gt;
address=/prox02.vbox.priv/10.11.12.102&lt;br /&gt;
&lt;br /&gt;
#dns reverse&lt;br /&gt;
local=/12.11.10.in-addr.arpa./&lt;br /&gt;
ptr-record=101.12.11.10.in-addr.arpa.,&amp;quot;prox01.vbox.priv&amp;quot;&lt;br /&gt;
ptr-record=102.12.11.10.in-addr.arpa.,&amp;quot;prox02.vbox.priv&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Riavviare Network Manager&lt;br /&gt;
 sudo service network-manager restart&lt;br /&gt;
&lt;br /&gt;
* Collegare un&#039;interfaccia esterna&lt;br /&gt;
&lt;br /&gt;
* Per debuggare, scommentare log-queries e ripetere le due operazioni precedenti&lt;br /&gt;
&lt;br /&gt;
* Verificare che il binding sia corretto:&lt;br /&gt;
 sudo netstat -anp | grep dnsma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      12088/dnsmasq   &lt;br /&gt;
tcp        0      0 10.11.12.254:53         0.0.0.0:*               LISTEN      12088/dnsmasq   &lt;br /&gt;
udp        0      0 127.0.1.1:53            0.0.0.0:*                           12088/dnsmasq   &lt;br /&gt;
udp        0      0 10.11.12.254:53         0.0.0.0:*                           12088/dnsmasq   &lt;br /&gt;
udp        0      0 0.0.0.0:67              0.0.0.0:*                           12088/dnsmasq &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ubuntu precedenti a 15.04==&lt;br /&gt;
&lt;br /&gt;
* Installare e configurare un server DHCP (dhcpd3-server o dnsmasq)&lt;br /&gt;
 sudo apt-get install dnsmaq&lt;br /&gt;
 sudoedit /etc/dnsmasq.con&lt;br /&gt;
&lt;br /&gt;
 dhcp-range=interface:tun254,10.11.12.11,10.11.12.99,5m&lt;br /&gt;
 dhcp-host=08:00:27:87:1f:1f,10.11.12.100&lt;br /&gt;
&lt;br /&gt;
 sudo invoke-rc.d dnsmasq restart&lt;br /&gt;
&lt;br /&gt;
=Configurazioni delle VM=&lt;br /&gt;
&lt;br /&gt;
* Configurare le VM come &#039;&#039;&#039;Bridged&#039;&#039;&#039; sull&#039;interfaccia &#039;&#039;&#039;tun254&#039;&#039;&#039;. In questo modo si uscirà sempre su internet tra una delle due interfacce nattate.&lt;br /&gt;
&lt;br /&gt;
==Riferimenti==&lt;br /&gt;
*[http://prefetch.net/blog/index.php/2009/12/20/creating-linux-bridging-tap-devices-with-tunctl-and-openvpn/ Creating Linux bridging / tap devices with tunctl and openvpn]&lt;br /&gt;
*[http://www.iceflatline.com/2010/02/how-to-install-and-configure-dnsmasq/ How to Install and Configure dnsmasq | iceflatline]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Cambiare_la_priorit%C3%A0_di_un_trigger_aperto_in_Zabbix&amp;diff=11502</id>
		<title>Cambiare la priorità di un trigger aperto in Zabbix</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Cambiare_la_priorit%C3%A0_di_un_trigger_aperto_in_Zabbix&amp;diff=11502"/>
		<updated>2026-05-29T13:36:03Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si cambia la priorità per un Trigger di un problema aperto, la stessa rimane uguale fino a che non si chiude il problema.&lt;br /&gt;
&lt;br /&gt;
Un modo per aggiornarla è ytramite DB:&lt;br /&gt;
&lt;br /&gt;
* Trovare l&#039;eventid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use zabbix&lt;br /&gt;
&lt;br /&gt;
SELECT p.eventid, h.host, t.description FROM problem p JOIN triggers t ON t.triggerid = p.objectid JOIN functions f ON f.triggerid = t.triggerid JOIN items i ON i.itemid = f.itemid JOIN hosts h ON h.hostid = i.hostid WHERE p.r_eventid IS NULL AND h.host = &#039;myhostname.example.com&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+-----------+--------------------------------+-----------------------------------------------------------------------------+&lt;br /&gt;
| eventid   | host                           | description                                                                 |&lt;br /&gt;
+-----------+--------------------------------+-----------------------------------------------------------------------------+&lt;br /&gt;
| 103815828 | myhostname.example.com | Zabbix Agent is OLD                                                         |&lt;br /&gt;
| 103963978 | myhostname.example.com | MSSQL: Percentage of work tables available from the work table cache is low |&lt;br /&gt;
| 104561497 | myhostname.example.com | MSSQL Job &#039;syspolicy_purge_history&#039;: Job duration is high                   |&lt;br /&gt;
+-----------+--------------------------------+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Aggiornare la prioriti ad Informational (1) usando l&#039;eventid voluto (103963978);:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE problem SET severity = 1 WHERE eventid = 103963978;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Cambiare_la_priorit%C3%A0_di_un_trigger_aperto_in_Zabbix&amp;diff=11501</id>
		<title>Cambiare la priorità di un trigger aperto in Zabbix</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Cambiare_la_priorit%C3%A0_di_un_trigger_aperto_in_Zabbix&amp;diff=11501"/>
		<updated>2026-05-28T10:43:53Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se si cambia la priorità per un Trigger di un problema aperto, la stessa rimane uguale fino a che non si chiude il problema.  Un modo per aggiornarla è ytramite DB:  * Trovare l&amp;#039;eventid: &amp;lt;pre&amp;gt; use zabbix  SELECT p.eventid, h.host, t.description FROM problem p JOIN triggers t ON t.triggerid = p.objectid JOIN functions f ON f.triggerid = t.triggerid JOIN items i ON i.itemid = f.itemid JOIN hosts h ON h.hostid = i.hostid WHERE p.r_eventid IS NULL AND h.host = &amp;#039;myhostname....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si cambia la priorità per un Trigger di un problema aperto, la stessa rimane uguale fino a che non si chiude il problema.&lt;br /&gt;
&lt;br /&gt;
Un modo per aggiornarla è ytramite DB:&lt;br /&gt;
&lt;br /&gt;
* Trovare l&#039;eventid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use zabbix&lt;br /&gt;
&lt;br /&gt;
SELECT p.eventid, h.host, t.description FROM problem p JOIN triggers t ON t.triggerid = p.objectid JOIN functions f ON f.triggerid = t.triggerid JOIN items i ON i.itemid = f.itemid JOIN hosts h ON h.hostid = i.hostid WHERE p.r_eventid IS NULL AND h.host = &#039;myhostname.example.com&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+-----------+--------------------------------+-----------------------------------------------------------------------------+&lt;br /&gt;
| eventid   | host                           | description                                                                 |&lt;br /&gt;
+-----------+--------------------------------+-----------------------------------------------------------------------------+&lt;br /&gt;
| 103815828 | myhostname.example.com | Zabbix Agent is OLD                                                         |&lt;br /&gt;
| 103963978 | myhostname.example.com | MSSQL: Percentage of work tables available from the work table cache is low |&lt;br /&gt;
| 104561497 | myhostname.example.com | MSSQL Job &#039;syspolicy_purge_history&#039;: Job duration is high                   |&lt;br /&gt;
+-----------+--------------------------------+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Aggiornare la prioriti ad Informational (1) usando l&#039;eventid voluto (103963978);:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE problem&lt;br /&gt;
SET severity = 1&lt;br /&gt;
WHERE eventid = 103963978;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Zabbix&amp;diff=11500</id>
		<title>Zabbix</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Zabbix&amp;diff=11500"/>
		<updated>2026-05-28T10:38:05Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Cambiare la priorità di un trigger aperto in Zabbix]]&lt;br /&gt;
*[[Installazione di un agent Zabbix]]&lt;br /&gt;
*[[Installazione di un proxy Zabbix]]&lt;br /&gt;
*[[Monitoraggio MS SQL Server con Zabbix Agent2]]&lt;br /&gt;
*[[Zabbix Agent2 provoca un load altissimo su hardware HP]]&lt;br /&gt;
*[[Testare dei comandi con Zabbix]]&lt;br /&gt;
&lt;br /&gt;
*[[Attivare le notifiche Telegram in Zabbix]]&lt;br /&gt;
*[[Impostare soglie diverse per un valore di un trigger contenuto in un Template Zabbix]]&lt;br /&gt;
*[[Il server Zabbix non riesce più a collegarsi al proxy e da errore Message from proxy.example.com is shorter than expected 123456 bytes. Message ignored]]&lt;br /&gt;
*[[Monitoraggio di mysql con Zabbix]]&lt;br /&gt;
*[[Monitoraggio Aggiornamenti APT con Zabbix]]&lt;br /&gt;
*[[Monitoraggio ZFS in Zabbix]]&lt;br /&gt;
*[[Monitoraggio di BackuPc con Zabbix]]&lt;br /&gt;
*[[Monitoraggio di dischi SMART con Zabbix]]&lt;br /&gt;
*[[Monitoraggio RAID linux md con Zabbix]]&lt;br /&gt;
*[[Upgrade da Zabbix 3.4 a Zabbix 4]]&lt;br /&gt;
*[[Monitoraggio di LVM con Zabbix]]&lt;br /&gt;
*[[Monitoraggio di servizi SSL con Zabbix]]&lt;br /&gt;
*[[Monitoraggio di Ceph con Zabbix]]&lt;br /&gt;
*[[Monitoraggio di Squid con Zabbix]]&lt;br /&gt;
*[[Risolvere il problema Zabbix poller processes more than 75% busy]]&lt;br /&gt;
*[[Monitoraggio di PfSense con Zabbix]]&lt;br /&gt;
*[[Monitoraggio di OpenWrt con Zabbix]]&lt;br /&gt;
*[[Upgrade di Zabbix 4.x a 5.x]]&lt;br /&gt;
*[[Upgrade di Zabbix 4.x a 6.2]]&lt;br /&gt;
*[[Monitoraggio Docker con Zabbix]]&lt;br /&gt;
*[[Installazione di Zabbix con Docker]]&lt;br /&gt;
*[[Monitoraggio di Elasticsearch con Zabbix]]&lt;br /&gt;
*[[Zabbix Proxy crash con erroe zbx mem malloc(): out of memory|Zabboix Proxy crasha con erroe  zbx_mem_malloc(): out of memory]]&lt;br /&gt;
*[[Il monitoraggio di un HP iLO in SNMP restituisce errore con status 3]]&lt;br /&gt;
*[[Monitoraggio di Proxmox Backup Server con Zabbix]]&lt;br /&gt;
*[[Aggiornamento di Zabbix da 6.4 a 7.0 con migrazione a PostgreSQL in Docker]]&lt;br /&gt;
*[[Monitoraggio di un Proxy Zabbix]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Disablitare_la_modifica_del_DNS_in_netbird_client_su_un_exit_node&amp;diff=11499</id>
		<title>Disablitare la modifica del DNS in netbird client su un exit node</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Disablitare_la_modifica_del_DNS_in_netbird_client_su_un_exit_node&amp;diff=11499"/>
		<updated>2026-05-22T13:46:46Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si installa netbird client su una macchina linux per usarla come exit node, modificherà /etc/resolv.conf e non risolverà più i nomi locali.&lt;br /&gt;
&lt;br /&gt;
 vi /var/lib/netbird/default.json &lt;br /&gt;
&lt;br /&gt;
     &amp;quot;DisableDNS&amp;quot;: true,&lt;br /&gt;
&lt;br /&gt;
 systemctl restart netbird.service&lt;br /&gt;
Ripristinare il file resolv.conf originale&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Disablitare_la_modifica_del_DNS_in_netbird_client_su_un_exit_node&amp;diff=11498</id>
		<title>Disablitare la modifica del DNS in netbird client su un exit node</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Disablitare_la_modifica_del_DNS_in_netbird_client_su_un_exit_node&amp;diff=11498"/>
		<updated>2026-05-22T13:40:18Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se si installa netbird client su una macchina linux per usarla come exit node, modificherà /etc/resolv.conf e non risolverà più i nomi locali.   vi /var/lib/netbird/default.json        &amp;quot;DisableDNS&amp;quot;: true,   systemctl restart netbird.service&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si installa netbird client su una macchina linux per usarla come exit node, modificherà /etc/resolv.conf e non risolverà più i nomi locali.&lt;br /&gt;
&lt;br /&gt;
 vi /var/lib/netbird/default.json &lt;br /&gt;
&lt;br /&gt;
     &amp;quot;DisableDNS&amp;quot;: true,&lt;br /&gt;
&lt;br /&gt;
 systemctl restart netbird.service&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Netbird&amp;diff=11497</id>
		<title>Netbird</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Netbird&amp;diff=11497"/>
		<updated>2026-05-22T13:26:24Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;* Disablitare la modifica del DNS in netbird client su un exit node&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Disablitare la modifica del DNS in netbird client su un exit node]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Linux&amp;diff=11496</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Linux&amp;diff=11496"/>
		<updated>2026-05-22T13:25:26Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Pacchetti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Distribuzioni==&lt;br /&gt;
*[[Alpine]]&lt;br /&gt;
*[[Debian]]&lt;br /&gt;
*[[Fedora]]&lt;br /&gt;
*[[Kali]]&lt;br /&gt;
*[[RedHat]]&lt;br /&gt;
*[[Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
==Argomenti==&lt;br /&gt;
*[[Antivirus]]&lt;br /&gt;
*[[Backup]]&lt;br /&gt;
*[[Caselle di posta - Creazione]]&lt;br /&gt;
*[[Comandi Unix]]&lt;br /&gt;
*[[Comunicazione]]&lt;br /&gt;
*[[Clustering - High Availability]]&lt;br /&gt;
*[[Emulatori]]&lt;br /&gt;
*[[Encryption]]&lt;br /&gt;
*[[Hardware]]&lt;br /&gt;
*[[Linux System Administration]]&lt;br /&gt;
*[[Multimedia]]&lt;br /&gt;
*[[Networking]]&lt;br /&gt;
*[[Pxe]]&lt;br /&gt;
*[[Sicurezza]]&lt;br /&gt;
*[[Storage]]&lt;br /&gt;
*[[Virtualizzazione]]&lt;br /&gt;
&lt;br /&gt;
==Pacchetti==&lt;br /&gt;
*[[Amavis]]&lt;br /&gt;
*[[Ansible]]&lt;br /&gt;
*[[Apache Openmeetings]]&lt;br /&gt;
*[[Apache]]&lt;br /&gt;
*[[Archivemail]]&lt;br /&gt;
*[[Bash]]&lt;br /&gt;
*[[Bchunk]]&lt;br /&gt;
*[[Bcvi]]&lt;br /&gt;
*[[Clamav]]&lt;br /&gt;
*[[Courier Imap]]&lt;br /&gt;
*[[Cryptsetup]]&lt;br /&gt;
*[[Cups]]&lt;br /&gt;
*[[Daemon]]&lt;br /&gt;
*[[Dhcp]]&lt;br /&gt;
*[[Dialog]]&lt;br /&gt;
*[[Dovecot]]&lt;br /&gt;
*[[Esmtp]]&lt;br /&gt;
*[[Fail2ban]]&lt;br /&gt;
*[[Fetchmail]]&lt;br /&gt;
*[[Ghostscript]]&lt;br /&gt;
*[[Git]]&lt;br /&gt;
*[[Graylog]]&lt;br /&gt;
*[[Hylafax]]&lt;br /&gt;
*[[Incron]]&lt;br /&gt;
*[[Iptables]]&lt;br /&gt;
*[[Jailkit]]&lt;br /&gt;
*[[Lftp]]&lt;br /&gt;
*[[Lilo]]&lt;br /&gt;
*[[Logrotate]]&lt;br /&gt;
*[[Mutt]]&lt;br /&gt;
*[[Netbird]]&lt;br /&gt;
*[[Netextender]]&lt;br /&gt;
*[[Nginx]]&lt;br /&gt;
*[[Ntop]]&lt;br /&gt;
*[[Ntp]]&lt;br /&gt;
*[[Nut]]&lt;br /&gt;
*[[OpenVpn]]&lt;br /&gt;
*[[Pam]]&lt;br /&gt;
*[[Perl]]&lt;br /&gt;
*[[PhpWiki]]&lt;br /&gt;
*[[Php]]&lt;br /&gt;
*[[Postfix]]&lt;br /&gt;
*[[Ppp]]&lt;br /&gt;
*[[Pptpd]]&lt;br /&gt;
*[[PrivacyIDEA]]&lt;br /&gt;
*[[Proftpd]]&lt;br /&gt;
*[[Puppet]]&lt;br /&gt;
*[[Razor2]]&lt;br /&gt;
*[[Request Tracker]]&lt;br /&gt;
*[[Rsyslog]]&lt;br /&gt;
*[[Samba]]&lt;br /&gt;
*[[Sendmail]]&lt;br /&gt;
*[[Shellinabox]]&lt;br /&gt;
*[[Squid]]&lt;br /&gt;
*[[Squirrelmail]]&lt;br /&gt;
*[[Ssh]]&lt;br /&gt;
*[[Svn]]&lt;br /&gt;
*[[SyncThing]]&lt;br /&gt;
*[[Syslinux]]&lt;br /&gt;
*[[Syslog]]&lt;br /&gt;
*[[Sysrqd]]&lt;br /&gt;
*[[Tcpdump]]&lt;br /&gt;
*[[Transmission]]&lt;br /&gt;
*[[Udev]]&lt;br /&gt;
*[[Vi]]&lt;br /&gt;
*[[Vnc]]&lt;br /&gt;
*[[Vsftpd]]&lt;br /&gt;
*[[Webmin]]&lt;br /&gt;
*[[Winexe]]&lt;br /&gt;
*[[Wireshark]]&lt;br /&gt;
*[[Xorg]]&lt;br /&gt;
*[[imagemagik]]&lt;br /&gt;
*[[initramfs-tools]]&lt;br /&gt;
*[[inotify]]&lt;br /&gt;
*[[jabber]]&lt;br /&gt;
*[[mdadm]]&lt;br /&gt;
*[[mgetty]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Published]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11495</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11495"/>
		<updated>2026-05-19T14:25:33Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Attivazione Office 2019 Pro Plus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
* Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;BE SURE TO REBOOT before proceeding !!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\root\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Consentire_il_cambio_password_al_primo_accesso_RDP&amp;diff=11494</id>
		<title>Consentire il cambio password al primo accesso RDP</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Consentire_il_cambio_password_al_primo_accesso_RDP&amp;diff=11494"/>
		<updated>2026-04-29T08:33:50Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se un utente ha password scaduta o c&amp;#039;è impostato &amp;quot;Change password at first logon&amp;quot;, di default in RDP non lo fa collegare.  Per far questo bisogna impostare questa reg key:&amp;lt;pre&amp;gt; Windows Registry Editor Version 5.00  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] &amp;quot;SecurityLayer&amp;quot;=dword:00000000 &amp;quot;UserAuthentication&amp;quot;=dword:00000000 &amp;lt;/pre&amp;gt;che per UserAuthentication fa la stessa cosa di togliere la spunta dalla   System Properties / A...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se un utente ha password scaduta o c&#039;è impostato &amp;quot;Change password at first logon&amp;quot;, di default in RDP non lo fa collegare.&lt;br /&gt;
&lt;br /&gt;
Per far questo bisogna impostare questa reg key:&amp;lt;pre&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]&lt;br /&gt;
&amp;quot;SecurityLayer&amp;quot;=dword:00000000&lt;br /&gt;
&amp;quot;UserAuthentication&amp;quot;=dword:00000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;che per UserAuthentication fa la stessa cosa di togliere la spunta dalla &lt;br /&gt;
 System Properties / Advanced /Remote / Allow connections only from computer running Remote Desktop with Networ Leven Authentication (recommended)&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://mssec.wordpress.com/2015/12/26/forced-password-change-at-next-logon-and-rdp/ Forced password change at next logon and RDP | Microsoft Security Solutions]&lt;br /&gt;
* [https://www.reddit.com/r/sysadmin/comments/8wawx9/you_must_change_your_password_before_logging_on/ You must change your password before logging on for the first time (RDP) : r/sysadmin]&lt;br /&gt;
&lt;br /&gt;
* [https://fixingitpro.com/2011/07/06/disabling-rdp-network-level-authentication-nla-remotely-via-the-registry/ Disabling RDP Network Level Authentication (NLA) remotely via the registry – Fixing IT]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=RDP&amp;diff=11493</id>
		<title>RDP</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=RDP&amp;diff=11493"/>
		<updated>2026-04-29T08:24:09Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Consentire il cambio password al primo accesso RDP&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Consentire il cambio password al primo accesso RDP]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Windows&amp;diff=11492</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Windows&amp;diff=11492"/>
		<updated>2026-04-29T08:23:17Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Windows]]&lt;br /&gt;
&lt;br /&gt;
*[[Windows Client]]&lt;br /&gt;
*[[Windows Server]]&lt;br /&gt;
*[[Windows Mobile]]&lt;br /&gt;
*[[Batch Files]]&lt;br /&gt;
*[[RDP]]&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
*[[HijackThis]]&lt;br /&gt;
*[[PDFcreator]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
*[[Attivazione di Windows con KMS Client]]&lt;br /&gt;
*[[Errore Microsoft Bus High Definition Driver non trovato]]&lt;br /&gt;
*[[Attivare il Num Lock alla schermata di Logon di Windows]]&lt;br /&gt;
*[[Disattivare l&#039;impostazione delle Preferenze in IE7]]&lt;br /&gt;
*[[Recuperare la password di Administrator di Windows]]&lt;br /&gt;
*[[Customizzare il Logo di Supporto di Windows]]&lt;br /&gt;
*[[Installazione di Apache 2.2 e PHP 5 su Windows]]&lt;br /&gt;
*[[Disablitare un servizio di Windows da Recovery Console]]&lt;br /&gt;
*[[Errore in mscoree.dll]]&lt;br /&gt;
*[[Installare Telnet client in Windows Vista, 2008 e Seven]]&lt;br /&gt;
*[[Creare una coda di stampa con Overlay in Windows]]&lt;br /&gt;
*[[Il Task Scheduler di Windows 2008 o Windows Seven è lento all&#039;apertura]]&lt;br /&gt;
*[[Applicare gli aggiornamenti di Windows Update Offline con WSUSOFFLINE]]&lt;br /&gt;
*[[Conversione da Windows Home a Professional]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Reset_del_blocco_brute_force_per_tentativi_falliti_di_login_in_Nextcloud&amp;diff=11491</id>
		<title>Reset del blocco brute force per tentativi falliti di login in Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Reset_del_blocco_brute_force_per_tentativi_falliti_di_login_in_Nextcloud&amp;diff=11491"/>
		<updated>2026-03-04T07:41:05Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Il comando è &lt;br /&gt;
 sudo -u www-data  php occ security:bruteforce:reset 0.0.0.0&lt;br /&gt;
Da Docker&lt;br /&gt;
 sudo docker compose exec --user www-data -it nextcloud-app php occ security:bruteforce:reset 0.0.0.0&lt;br /&gt;
&#039;&#039;&#039;Se non lo sblocca, specifica l&#039;IP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/nextcloud/all-in-one/discussions/3381 How to clear all bruteforce entries in the database · nextcloud/all-in-one · Discussion #3381]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Aggiornamento_da_Debian_12_Bookworm_a_Debian_13_Trixie&amp;diff=11490</id>
		<title>Aggiornamento da Debian 12 Bookworm a Debian 13 Trixie</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Aggiornamento_da_Debian_12_Bookworm_a_Debian_13_Trixie&amp;diff=11490"/>
		<updated>2026-02-13T20:08:14Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Riavvio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparazione ==&lt;br /&gt;
&lt;br /&gt;
=== Mysql ===&lt;br /&gt;
* Verificare che Mariadb / Mysql funzioni, e fermarlo&lt;br /&gt;
 systemctl status mariadb&lt;br /&gt;
&lt;br /&gt;
 mysql&lt;br /&gt;
&lt;br /&gt;
 systemctl stop mariadb&lt;br /&gt;
&lt;br /&gt;
=== Aggiornamento Bookworm ===&lt;br /&gt;
* Aggiornare agli ultimi pacchetti Booworm&lt;br /&gt;
&lt;br /&gt;
 apt autoremove --purge &amp;amp;&amp;amp; apt update &amp;amp;&amp;amp; apt dist-upgrade  &amp;amp;&amp;amp; apt clean&lt;br /&gt;
&lt;br /&gt;
* Se è presente Zabbix agent o proxy, installare il release file di Zabbix 7 (non c&#039;è Zabbix 6.4):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb&lt;br /&gt;
dpkg -i zabbix-release_latest_7.0+debian13_all.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se è presente Proxmox Backup Client, installare la key e ridefinire la source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -O /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
cd /etc/apt/sources.list.d&lt;br /&gt;
mv pbs-client.list pbs-client.sources&lt;br /&gt;
cat &amp;lt;&amp;lt;EOFile &amp;gt; pbs-client.sources&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: http://download.proxmox.com/debian/pbs-client&lt;br /&gt;
Suites: trixie&lt;br /&gt;
Components: main&lt;br /&gt;
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aggiornamento ==&lt;br /&gt;
* Aggiornare le sources:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/apt&lt;br /&gt;
sed -e &#039;s/bookworm/trixie/g&#039; sources.list -i&lt;br /&gt;
sed -e &#039;s/bookworm/trixie/g&#039; sources.list.d/*.list -i&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Aggiornare i repos:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
&lt;br /&gt;
* Scaricare i pacchetti&lt;br /&gt;
&lt;br /&gt;
 apt dist-upgrade -d&lt;br /&gt;
&lt;br /&gt;
* Aggiornare apt&lt;br /&gt;
&lt;br /&gt;
 apt install apt&lt;br /&gt;
&lt;br /&gt;
* Aggiornare il kernel&lt;br /&gt;
&lt;br /&gt;
 apt install linux-image-amd64&lt;br /&gt;
&lt;br /&gt;
* Aggiornare il resto&lt;br /&gt;
&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
== Nfs ==&lt;br /&gt;
Se si definiscono delle share NFS, attenzione che lasciando il parametro subtree_check i client possono generare un erorre &amp;quot;stale file handlke&amp;quot; e non accedere alal share. Sostituirlo con no_subtree_check:&lt;br /&gt;
 sed -i -e &#039;s/\bsubtree_check\b/no_subtree_check/g&#039; _/etc/exports&lt;br /&gt;
&lt;br /&gt;
 cat /etc/exports&lt;br /&gt;
&lt;br /&gt;
== Sysctl ==&lt;br /&gt;
Da questa versione, non viene letto più sysctl.conf:&amp;lt;pre&amp;gt;&lt;br /&gt;
mv /etc/sysctl.conf.dpkg-bak /etc/sysctl.conf.d/sysctl.conf&lt;br /&gt;
systemctl restart systemd-sysctl.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comportamento /tmp ==&lt;br /&gt;
&lt;br /&gt;
=== La directory dei file temporanei /tmp è ora memorizzata in un tmpfs ===&lt;br /&gt;
A partire da trixie, la directory &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; è archiviata in modo predefinito in memoria usando un file system tmpfs(5). Ciò dovrebbe rendere più veloci le applicazioni che usano file temporanei, ma se ci vengono messi file grandi si può esaurire la memoria.&lt;br /&gt;
&lt;br /&gt;
Per i sistemi aggiornati da bookworm, il nuovo comportamento inizia solo dopo un riavvio. I file lasciati in &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; vengono nascosti dopo che il nuovo  è montato, il che genera avvertimenti nel giornale di sistema o in syslog. Si può accedere a tali file usando bind-mount (vedere mount(1)): eseguire &amp;lt;code&amp;gt;mount --bind / /mnt&amp;lt;/code&amp;gt; rende possibile accedere alla directory sottostante in &amp;lt;code&amp;gt;/mnt/tmp&amp;lt;/code&amp;gt; (eseguire &amp;lt;code&amp;gt;umount /mnt&amp;lt;/code&amp;gt; dopo che sono stati ripuliti i file vecchi).&lt;br /&gt;
&lt;br /&gt;
Il comportamento predefinito è allocare fino al 50% della memoria a &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; (questo è un valore massimo: la memoria viene usato solamente quando vengono effettivamente creati i file in &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt;). Questa dimensione può essere modificata eseguendo &amp;lt;code&amp;gt;systemctl edit tmp.mount&amp;lt;/code&amp;gt; come root e impostando, ad esempio:&lt;br /&gt;
 [Mount]&lt;br /&gt;
 Options=mode=1777,nosuid,nodev,size=2G&lt;br /&gt;
(vedere systemd.mount(5)).&lt;br /&gt;
&lt;br /&gt;
Si può tornare ad avere &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; come directory regolare eseguendo &amp;lt;code&amp;gt;systemctl mask tmp.mount&amp;lt;/code&amp;gt; come root e riavviando.&lt;br /&gt;
&lt;br /&gt;
Le nuove impostazioni predefinite per il file system possono essere scavalcate in &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;, perciò i sistemi che hanno già definito una partizione &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; separata non verranno toccati.&lt;br /&gt;
&lt;br /&gt;
== OpenSSH ==&lt;br /&gt;
&lt;br /&gt;
=== OpenSSH non supporta più le chiavi DSA ===&lt;br /&gt;
Le chiavi Digital Signature Algorithm (DSA), come specificate nel protocollo Secure Shell (SSH), sono intrinsecamente deboli: sono limitate a chiavi private a 160 bit e a SHA-1 digest. L’implementazione di SSH fornita dai pacchetti &#039;&#039;&#039;openssh-client&#039;&#039;&#039; e &#039;&#039;&#039;openssh-server&#039;&#039;&#039; ha il supporto per le chiavi DSA disabilitato a partire da OpenSSH 7.0p1 nel 2015, rilasciato con Debian 9 («stretch»), sebbene potesse ancora essere abilitato usando le opzioni di configurazione &amp;lt;code&amp;gt;HostKeyAlgorithms&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;PubkeyAcceptedAlgorithms&amp;lt;/code&amp;gt;, rispettivamente per le chiavi dell’host e dell’utente.&lt;br /&gt;
&lt;br /&gt;
A questo punto l’unico uso restante di DSA dovrebbe essere quello di connettersi a un qualche dispositivo molto vecchio. Per tutti gli altri usi, gli altri tipi di chiave supportati da OpenSSH (RSA, ECDSA e Ed25519) sono migliori.&lt;br /&gt;
&lt;br /&gt;
A partire da OpenSSH 9.8p1 in trixie, le chiavi DSA non sono più supportate neanche con le opzioni di configurazione descritte sopra. Se si ha un dispositivo a cui ci si può connettere solo usando DSA, allora per farlo si può usare il comando &amp;lt;code&amp;gt;ssh1&amp;lt;/code&amp;gt; fornito dal pacchetto &#039;&#039;&#039;openssh-client-ssh1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Nella remota eventualità che si stia ancora usando chiavi DSA per connettersi ad un server Debian (se non si è sicuri si può controllare aggiungendo l’opzione &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; alla riga di comando di &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt; utilizzata per connettersi a quel server e cercare la riga «Server accepts key:»), si devono generare chiavi sostitutive prima di fare l’aggiornamento. Per esempio, per generare una nuova chiave Ed25519 e abilitare il login ad un server usando quella, eseguire quanto segue nel client, sostituendo ad &amp;lt;code&amp;gt;username@server&amp;lt;/code&amp;gt; i nomi appropriati per utente e host:&lt;br /&gt;
 ssh-keygen -t ed25519&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id username@server&lt;br /&gt;
&lt;br /&gt;
== Cryptsetup ==&lt;br /&gt;
&lt;br /&gt;
=== I file system cifrati necessitano del pacchetto systemd-cryptsetup ===&lt;br /&gt;
Il supporto per il rilevamento e il montaggio automatico dei file system cifrati è stato spostato nel nuovo pacchetto systemd-cryptsetup. Questo nuovo pacchetto è raccomandato da systemd, perciò dovrebbe essere installato automaticamente con l’aggiornamento.&lt;br /&gt;
&lt;br /&gt;
Se si usano file system cifrati, assicurarsi che il pacchetto systemd-cryptsetup sia installato prima di riavviare.&lt;br /&gt;
&lt;br /&gt;
== Mysql /MariaDB ==&lt;br /&gt;
&lt;br /&gt;
=== Gli aggiornamenti della versione principale di MariaDB funzionano in modo affidabile solo dopo uno spegnimento pulito. ===&lt;br /&gt;
MariaDB non supporta il ripristino da errori attraverso versioni maggiori diverse. Per esempio, se un server MariaDB 10.11 ha subito uno spegnimento improvviso a causa di una interruzione di alimentazione o di un problema software, il database deve essere riavviato con gli stessi binari MariaDB 10.11 in modo che possa fare il ripristino dagli errori con successo e possa riconciliare i file dei dati e i file di log per portare avanti o annullare le transazioni che sono state interrotte.&lt;br /&gt;
&lt;br /&gt;
Se si cerca di fare il ripristino da un crash con MariaDB 11.8 usando la directory dei dati da un’istanza di MariaDB 10.11 andata in cash, il nuovo server MariaDB si rifiuterà di avviarsi.&lt;br /&gt;
&lt;br /&gt;
Per assicurarsi che un server MariaDB venga spento in maniera pulita prima di fare un aggiornamento della versione principale, fermare il servizio con&lt;br /&gt;
 service mariadb stop&lt;br /&gt;
e in seguito controllare i log del server cercando &amp;lt;code&amp;gt;Shutdown complete&amp;lt;/code&amp;gt; per confermare che tutti i dati e i buffer siano stati svuotati su disco con pieno successo.&lt;br /&gt;
&lt;br /&gt;
Se non è stato spento in modo pulito, riavviarlo per attivare il recupero dai crash, poi fermarlo di nuovo e controllare che il secondo spegnimento sia stato pulito.&lt;br /&gt;
&lt;br /&gt;
Per informazioni aggiunti su come fare backup e altre informazioni correlate per gli amministratori di sistema, vedere /usr/share/doc/mariadb-server/README.Debian.gz.&lt;br /&gt;
&lt;br /&gt;
== Dovecot ==&lt;br /&gt;
La suite per server di posta &#039;&#039;&#039;dovecot&#039;&#039;&#039; in trixie usa un formato di configurazione che è incompatibile con le versioni precedenti. Dettagli sulle modifiche alla configurazione sono disponibili su docs.dovecot.org.&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
&lt;br /&gt;
* La funzionalità Active Directory Domain Controller (AD-DC) è stata scorporata da &#039;&#039;&#039;samba&#039;&#039;&#039;. Se si usa tale funzionalità è necessario installare il pacchetto &#039;&#039;&#039;samba-ad-dc&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Il pacchetto &#039;&#039;&#039;samba-vfs-modules&#039;&#039;&#039; è stato riorganizzato. La maggior parte dei moduli VFS è ora inclusa nel pacchetto &#039;&#039;&#039;samba&#039;&#039;&#039;. Tuttavia i moduli per &#039;&#039;ceph&#039;&#039; e &#039;&#039;glusterfs&#039;&#039; sono stati separati in &#039;&#039;&#039;samba-vfs-ceph&#039;&#039;&#039; e &#039;&#039;&#039;samba-vfs-glusterfs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Request Tracker ==&lt;br /&gt;
Il pacchetto &amp;lt;strong&amp;gt;request-tracker4&amp;lt;/strong&amp;gt; è stato rimosso da trixie. È sostituito da &amp;lt;strong&amp;gt;request-tracker5&amp;lt;/strong&amp;gt; che include istruzioni su come migrare i propri dati: si può mantenere installato il pacchetto &amp;lt;strong&amp;gt;request-tracker4&amp;lt;/strong&amp;gt; ora obsoleto da bookworm durante la migrazione.&lt;br /&gt;
&lt;br /&gt;
== Deborphan ==&lt;br /&gt;
l pacchetto &amp;lt;strong&amp;gt;deborphan&amp;lt;/strong&amp;gt; è stato rimosso da trixie. Per rimuovere i pacchetti non necessari si dovrebbe utilizzare apt autoremove, dopo apt-mark minimize-manual. Anche &amp;lt;strong&amp;gt;debfoster&amp;lt;/strong&amp;gt; può essere uno strumento utile.&lt;br /&gt;
&lt;br /&gt;
== Riavvio ==&lt;br /&gt;
* Pulire la cache:&lt;br /&gt;
 apt-get clean&lt;br /&gt;
* Riavviare&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
* Rimuovere i pacchetti obsoleti;&lt;br /&gt;
&lt;br /&gt;
 apt autoremove --purge linux-image-5.1.\*&lt;br /&gt;
&lt;br /&gt;
* Controllare se ci sono pacchetti obsoleti, e se necessario, rimuoverli;&lt;br /&gt;
&lt;br /&gt;
 dpkg -l | grep deb12&lt;br /&gt;
&lt;br /&gt;
=== Optional: Modernize apt Repository Sources ===&lt;br /&gt;
You can migrate existing repository sources to the recommended deb822 style format, by running:&lt;br /&gt;
 apt modernize-sources&lt;br /&gt;
By answering the following prompt with &amp;quot;n&amp;quot; you can check the changes the command would make before applying them. To apply them simply run the command again and respond to the prompt with &amp;quot;Y&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The command will also keep the old &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files around by appending &amp;lt;code&amp;gt;.bak&amp;lt;/code&amp;gt; to them. So you will have the new &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files and the old repository configurations in the &amp;lt;code&amp;gt;.list.bak&amp;lt;/code&amp;gt; files. You can remove the leftover backup files once you verified that everything works smoothly with the new format.&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Debian_12_Bookworm&amp;diff=11489</id>
		<title>Debian 12 Bookworm</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Debian_12_Bookworm&amp;diff=11489"/>
		<updated>2026-02-13T14:45:53Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Upgade da Debian 11 Bulseye a Debian 12 Bookworm|Upgade da Debian 11 Bullseye a Debian 12 Bookworm]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Upgade_da_Debian_11_Buster_a_Debian_12_Bookworm&amp;diff=11488</id>
		<title>Upgade da Debian 11 Buster a Debian 12 Bookworm</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Upgade_da_Debian_11_Buster_a_Debian_12_Bookworm&amp;diff=11488"/>
		<updated>2026-02-13T14:44:51Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Gabriele.vivinetto moved page Upgade da Debian 11 Buster a Debian 12 Bookworm to Upgade da Debian 11 Bulseye a Debian 12 Bookworm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Upgade da Debian 11 Bulseye a Debian 12 Bookworm]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Upgade_da_Debian_11_Bulseye_a_Debian_12_Bookworm&amp;diff=11487</id>
		<title>Upgade da Debian 11 Bulseye a Debian 12 Bookworm</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Upgade_da_Debian_11_Bulseye_a_Debian_12_Bookworm&amp;diff=11487"/>
		<updated>2026-02-13T14:44:51Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Gabriele.vivinetto moved page Upgade da Debian 11 Buster a Debian 12 Bookworm to Upgade da Debian 11 Bulseye a Debian 12 Bookworm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; sudo sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s/non-free/non-free non-free-firmware/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*&lt;br /&gt;
&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt dist-upgrade -d&lt;br /&gt;
&lt;br /&gt;
 apt install apt&lt;br /&gt;
&lt;br /&gt;
 apt install linux-image-amd64&lt;br /&gt;
&lt;br /&gt;
 apt dist-upgrade&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Gestione_di_un_Repository_APT_multi_distribuzione_con_reprepro&amp;diff=11486</id>
		<title>Gestione di un Repository APT multi distribuzione con reprepro</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Gestione_di_un_Repository_APT_multi_distribuzione_con_reprepro&amp;diff=11486"/>
		<updated>2026-02-03T14:17:56Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=Aggiunta i pacchetti=&lt;br /&gt;
* Compilare i pacchetti e poi importarli con:&lt;br /&gt;
&lt;br /&gt;
 reprepro includedeb wheezy path/to/telegram-cli_1.0.6-1_amd64.deb&lt;br /&gt;
&lt;br /&gt;
* Se si vogliono aggiungere due pacchetti della stessa applicazione per due distribuzioni diverse (perchè hanno dipendenze diverse), questi pacchetti devono avere versione e nome diverso: editare il file debian/changelog per includere -nomedistribuzione dopo la versione.&lt;br /&gt;
&lt;br /&gt;
=Aggiunta di un&#039;architettura=&lt;br /&gt;
Se si vuole aggiungere un&#039;architettura dopo, editare il file aggiungendo ad esempio armhf:&lt;br /&gt;
 vi conf/distributions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# RVM Debian Stretch packages&lt;br /&gt;
Origin: RVM&lt;br /&gt;
Label: rvm&lt;br /&gt;
Suite: stretch&lt;br /&gt;
Codename: stretch&lt;br /&gt;
Architectures: i386 amd64 armhf source&lt;br /&gt;
Components: main&lt;br /&gt;
Description: RVM Debian repository&lt;br /&gt;
Contents: .gz .bz2&lt;br /&gt;
Tracking: keep&lt;br /&gt;
SignWith: yes&lt;br /&gt;
Log: packages.stretch.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Esportare gli indici e poi migrare tutti i pacchetti di architettura all da stretch:&lt;br /&gt;
 reprepro export&lt;br /&gt;
 reprepro flood &#039;stretch&#039; &#039;armhf&#039;&lt;br /&gt;
&lt;br /&gt;
== Aggiunta di una distribuzione ==&lt;br /&gt;
 vi conf/distributions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# RVM Debian Trixie packages&lt;br /&gt;
Origin: RVM&lt;br /&gt;
Label: rvm&lt;br /&gt;
Suite: trixie&lt;br /&gt;
Codename: trixie&lt;br /&gt;
Architectures: i386 amd64 armhf source&lt;br /&gt;
Components: main&lt;br /&gt;
Description: RVM Debian repository&lt;br /&gt;
Contents: .gz .bz2&lt;br /&gt;
Tracking: keep&lt;br /&gt;
SignWith: yes&lt;br /&gt;
Log: packages.trixie.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Importare un pacchetto&lt;br /&gt;
&lt;br /&gt;
== Aggiornamento chiave GPG ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export GNUPGHOME=/usr/local/apache2/htdocs/gpg&lt;br /&gt;
gpg --full-generate-key&lt;br /&gt;
&lt;br /&gt;
gpg --import gpg/rvm_debian_package.private.asc&lt;br /&gt;
&lt;br /&gt;
gpg --import gpg/rvm_debian_package.public.asc&lt;br /&gt;
&lt;br /&gt;
gpg --list-secret-keys&lt;br /&gt;
&lt;br /&gt;
sec   rsa2048 2026-02-03 [SC]&lt;br /&gt;
      9220A90503F14F140A78D2E157EE0CD2381115F3&lt;br /&gt;
uid           [ unknown] RVM Debian Key (For Debian Package Siging) &amp;lt;admin@rvmgroup.it&amp;gt;&lt;br /&gt;
ssb   rsa2048 2026-02-03 [E]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
pub   rsa2048 2026-02-03 [SC]&lt;br /&gt;
      9220A90503F14F140A78D2E157EE0CD2381115F3&lt;br /&gt;
uid           [ unknown] RVM Debian Key (For Debian Package Siging) &amp;lt;admin@rvmgroup.it&amp;gt;&lt;br /&gt;
sub   rsa2048 2026-02-03 [E]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gpg --edit-key 9220A90503F14F140A78D2E157EE0CD2381115F3 trust&lt;br /&gt;
&lt;br /&gt;
Your decision? 5&lt;br /&gt;
Do you really want to set this key to ultimate trust? (y/N) y&lt;br /&gt;
&lt;br /&gt;
reprepro  -V export&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
*[https://wiki.debian.org/SettingUpSignedAptRepositoryWithReprepro#Generating_GnuPG_keys SettingUpSignedAptRepositoryWithReprepro - Debian Wiki]&lt;br /&gt;
*[https://vincent.bernat.im/en/blog/2014-local-apt-repositories.html#initial-setup Local corporate APT repositories | Vincent Bernat]&lt;br /&gt;
*[http://stackoverflow.com/questions/15243613/reprepro-adding-same-deb-package debian - Reprepro adding same deb package - Stack Overflow]&lt;br /&gt;
*[http://www.xenuser.org/linux/reprepro-how-to-add-the-same-package-for-multiple-distributions/ reprepro: How to add the same package for multiple distributions | Ascii for Breakfast]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser --system --disabled-password --disabled-login \&lt;br /&gt;
         --home /srv/packages \&lt;br /&gt;
         --group reprepro&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install reprepro&lt;br /&gt;
&lt;br /&gt;
sudo -u reprepro mkdir conf gpg logs www&lt;br /&gt;
&lt;br /&gt;
    1  cd /srv/packages/&lt;br /&gt;
    2  GNUPGHOME=gpg gpg --gen-key&lt;br /&gt;
    3  ls&lt;br /&gt;
    4  vi conf/distributions&lt;br /&gt;
    5  vi conf/distributions&lt;br /&gt;
    6  ls&lt;br /&gt;
    7  mkdir incoming&lt;br /&gt;
    8  ls&lt;br /&gt;
    9  vi conf/distributions &lt;br /&gt;
   10  ls incoming/&lt;br /&gt;
   11  cp /tmp/telegram-cli_1.0.6-1_amd64.deb incoming/&lt;br /&gt;
   12  reprepro includedeb wheezy incoming/telegram-cli_1.0.6-1_amd64.deb &lt;br /&gt;
   13  ls&lt;br /&gt;
   14  ifco&lt;br /&gt;
   15  ifconfig&lt;br /&gt;
   16  ip addr show&lt;br /&gt;
   17  cp /tmp/telegram-cli_1.0.6-1_amd64.deb incoming/&lt;br /&gt;
   18  reprepro includedeb jessie incoming/telegram-cli_1.0.6-1_amd64.deb &lt;br /&gt;
   19  cp /tmp/telegram-cli_1.0.6-1-jessie_amd64.deb incoming/&lt;br /&gt;
   20  reprepro includedeb jessie incoming/telegram-cli_1.0.6-1-jessie_amd64.deb &lt;br /&gt;
   21  ls&lt;br /&gt;
   22  cd www/&lt;br /&gt;
   23  pwd&lt;br /&gt;
   24  ls&lt;br /&gt;
   25  vi test.txt&lt;br /&gt;
   26  ls&lt;br /&gt;
   27  cd ..&lt;br /&gt;
   28  ls&lt;br /&gt;
   29  ls -laR www/&lt;br /&gt;
   30  ls&lt;br /&gt;
   31  cd gpg/&lt;br /&gt;
   32  ls&lt;br /&gt;
   33  vi mykey.asc&lt;br /&gt;
   34  gpg --import mykey.asc &lt;br /&gt;
   35  rm -rf /srv/packages/.gnupg&lt;br /&gt;
   36  history &lt;br /&gt;
   37  cd &lt;br /&gt;
   38  GNUPGHOME=gpg gpg --import mykey.asc &lt;br /&gt;
   39  ls&lt;br /&gt;
   40  GNUPGHOME=gpg gpg --import gpg/mykey.asc &lt;br /&gt;
   41  GNUPGHOME=gpg gpg --list-secret-keys&lt;br /&gt;
   42  vi gpg/mykey.asc &lt;br /&gt;
   43  GNUPGHOME=gpg gpg --import gpg/mykey.asc &lt;br /&gt;
   44  GNUPGHOME=gpg gpg --list-secret-keys&lt;br /&gt;
   45  GNUPGHOME=gpg gpg --delete-secret-keys 1024D/1C9CF0A7 2048g/E4E9035C &lt;br /&gt;
   46  GNUPGHOME=gpg gpg --delete-secret-keys 1C9CF0A7 E4E9035C &lt;br /&gt;
   47  GNUPGHOME=gpg gpg --list-secret-keys&lt;br /&gt;
   48  GNUPGHOME=gpg gpg --delete-secret-keys F6D289F6&lt;br /&gt;
   49  GNUPGHOME=gpg gpg --list-secret-keys&lt;br /&gt;
   50  GNUPGHOME=gpg gpg --list-keys&lt;br /&gt;
   51  GNUPGHOME=gpg gpg --delete-keys F6D289F6 1C9CF0A7&lt;br /&gt;
   52  GNUPGHOME=gpg gpg --list-keys&lt;br /&gt;
   53  GNUPGHOME=gpg gpg --export 61EAB64A --armor&lt;br /&gt;
   54  GNUPGHOME=gpg gpg --export 61EAB64A --armour&lt;br /&gt;
   55  GNUPGHOME=gpg gpg --armour  --export 61EAB64A &lt;br /&gt;
   56  GNUPGHOME=gpg gpg --armour  --export 61EAB64A &amp;gt; debian.rvmgroup.it.key.asc&lt;br /&gt;
   57  ls&lt;br /&gt;
   58  ls -al&lt;br /&gt;
   59  sudo chmod o- gpg&lt;br /&gt;
   60   chmod o- gpg&lt;br /&gt;
   61  GNUPGHOME=gpg gpg --armour  --export 61EAB64A &lt;br /&gt;
   62  ls&lt;br /&gt;
   63  chmod 700 gpg&lt;br /&gt;
   64  GNUPGHOME=gpg gpg --armour  --export 61EAB64A | xclip&lt;br /&gt;
   65  GNUPGHOME=gpg gpg --armour  --export 61EAB64A &lt;br /&gt;
   66  ls&lt;br /&gt;
   67  apt-key add &amp;lt; debian.rvmgroup.it.key.asc &lt;br /&gt;
   68  cat debian.rvmgroup.it.key.asc &lt;br /&gt;
   69  mv debian.rvmgroup.it.key.asc  www/&lt;br /&gt;
   70  ls&lt;br /&gt;
   71  ls logs/packages.jessie.log &lt;br /&gt;
   72  less logs/packages.jessie.log &lt;br /&gt;
   73  ls&lt;br /&gt;
   74  history +&lt;br /&gt;
   75  history &lt;br /&gt;
re&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Creare_un_nuovo_utente_sa_in_SQL_Server_senza_conoscere_le_credenziali&amp;diff=11485</id>
		<title>Creare un nuovo utente sa in SQL Server senza conoscere le credenziali</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Creare_un_nuovo_utente_sa_in_SQL_Server_senza_conoscere_le_credenziali&amp;diff=11485"/>
		<updated>2026-01-29T08:47:57Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In SQL Server Configuration Manager, selezionare il servizio SQL Server interessato, ad esempio:&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL Server Configuration Manager (Local)&lt;br /&gt;
  SQL Server Services&lt;br /&gt;
&lt;br /&gt;
    SQL Server (MSSSQLSERVER)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Tasto destro sul nome dell’istanza, Proprietà e selezionare il tab Startup Parameters. Inserire il parametro &lt;br /&gt;
&lt;br /&gt;
 -mSQLCMD&lt;br /&gt;
&lt;br /&gt;
* cliccare su Add per aggiungere il parametro. Successivamente cliccare su Apply. &lt;br /&gt;
&lt;br /&gt;
* Riavviare il servizo dell’istanza SQL Server per poter rendere operativo lo stato di “single user mode”.&lt;br /&gt;
* Creare il nuovo login&lt;br /&gt;
&lt;br /&gt;
 Sqlcmd -Slocalhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE LOGIN NewSA WITH PASSWORD = &#039;Password1234&#039;;&lt;br /&gt;
&lt;br /&gt;
ALTER SERVER ROLE sysadmin ADD MEMBER NewSA&lt;br /&gt;
&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Togliere il parametro -mSQLCMD che avevamo aggiunto tramite SQL Server Configuration Manager sulla sezione Startup Parameters. &lt;br /&gt;
* Riavviamo quindi l’istanza.&lt;br /&gt;
* Proviamo la connessione tramite SSMS con la nuova utenza creata CASE SENSITIVE&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* https://www.datamaze.it/blog/il-blog-di-datamaze-5/come-recuperare-l-utenza-sa-in-sql-server-151&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Creare_un_nuovo_utente_sa_in_SQL_Server_senza_conoscere_le_credenziali&amp;diff=11484</id>
		<title>Creare un nuovo utente sa in SQL Server senza conoscere le credenziali</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Creare_un_nuovo_utente_sa_in_SQL_Server_senza_conoscere_le_credenziali&amp;diff=11484"/>
		<updated>2026-01-29T08:45:48Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;In SQL Server Configuration Manager, selezionare il servizio SQL Server interessato.  * Tasto destro sul nome dell’istanza, Proprietà e selezionare il tab Startup Parameters. Inserire il parametro    -mSQLCMD  * cliccare su Add per aggiungere il parametro. Successivamente cliccare su Apply.   * Riavviare il servizo dell’istanza SQL Server per poter rendere operativo lo stato di “single user mode”. * Creare il nuovo login   Sqlcmd -Slocalhost  &amp;lt;pre&amp;gt; CREATE LOGIN...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In SQL Server Configuration Manager, selezionare il servizio SQL Server interessato.&lt;br /&gt;
&lt;br /&gt;
* Tasto destro sul nome dell’istanza, Proprietà e selezionare il tab Startup Parameters. Inserire il parametro &lt;br /&gt;
&lt;br /&gt;
 -mSQLCMD&lt;br /&gt;
&lt;br /&gt;
* cliccare su Add per aggiungere il parametro. Successivamente cliccare su Apply. &lt;br /&gt;
&lt;br /&gt;
* Riavviare il servizo dell’istanza SQL Server per poter rendere operativo lo stato di “single user mode”.&lt;br /&gt;
* Creare il nuovo login&lt;br /&gt;
&lt;br /&gt;
 Sqlcmd -Slocalhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE LOGIN NewSA WITH PASSWORD = &#039;Password1234&#039;;&lt;br /&gt;
&lt;br /&gt;
ALTER SERVER ROLE sysadmin ADD MEMBER NewSA&lt;br /&gt;
&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
EXIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Togliere il parametro -mSQLCMD che avevamo aggiunto tramite SQL Server Configuration Manager sulla sezione Startup Parameters. &lt;br /&gt;
* Riavviamo quindi l’istanza.&lt;br /&gt;
* Proviamo la connessione tramite SSMS con la nuova utenza creata CASE SENSITIVE&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* https://www.datamaze.it/blog/il-blog-di-datamaze-5/come-recuperare-l-utenza-sa-in-sql-server-151&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=SQLServer&amp;diff=11483</id>
		<title>SQLServer</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=SQLServer&amp;diff=11483"/>
		<updated>2026-01-29T08:41:09Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Aggiornamento di SQL Server]]&lt;br /&gt;
* [[Creare un nuovo utente sa in SQL Server senza conoscere le credenziali]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Upgade_da_Debian_11_Bulseye_a_Debian_12_Bookworm&amp;diff=11482</id>
		<title>Upgade da Debian 11 Bulseye a Debian 12 Bookworm</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Upgade_da_Debian_11_Bulseye_a_Debian_12_Bookworm&amp;diff=11482"/>
		<updated>2026-01-26T17:11:03Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot; sudo sed -i &amp;#039;s/bullseye/bookworm/g&amp;#039; /etc/apt/sources.list   sudo sed -i &amp;#039;s/non-free/non-free non-free-firmware/g&amp;#039; /etc/apt/sources.list   sudo sed -i &amp;#039;s/bullseye/bookworm/g&amp;#039; /etc/apt/sources.list.d/*   apt update &amp;amp;&amp;amp; apt dist-upgrade -d   apt install apt   apt install linux-image-amd64   apt dist-upgrade&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; sudo sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s/non-free/non-free non-free-firmware/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*&lt;br /&gt;
&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt dist-upgrade -d&lt;br /&gt;
&lt;br /&gt;
 apt install apt&lt;br /&gt;
&lt;br /&gt;
 apt install linux-image-amd64&lt;br /&gt;
&lt;br /&gt;
 apt dist-upgrade&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Debian_12_Bookworm&amp;diff=11481</id>
		<title>Debian 12 Bookworm</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Debian_12_Bookworm&amp;diff=11481"/>
		<updated>2026-01-26T17:06:52Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Upgade da Debian 11 Buster a Debian 12 Bookworm&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Upgade da Debian 11 Buster a Debian 12 Bookworm]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Debian&amp;diff=11480</id>
		<title>Debian</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Debian&amp;diff=11480"/>
		<updated>2026-01-26T17:06:19Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Distribuzioni==&lt;br /&gt;
*[[Sarge]]&lt;br /&gt;
*[[Etch]]&lt;br /&gt;
*[[Lenny]]&lt;br /&gt;
*[[Squeeze]]&lt;br /&gt;
*[[Wheezy]]&lt;br /&gt;
*[[Jessie]]&lt;br /&gt;
*[[Stretch]]&lt;br /&gt;
*[[Buster]]&lt;br /&gt;
*[[Bullseye]]&lt;br /&gt;
*[[Debian 12 Bookworm]]&lt;br /&gt;
*[[Trixie]]&lt;br /&gt;
&lt;br /&gt;
==Argomenti Generici==&lt;br /&gt;
&lt;br /&gt;
*[[Acpi]]&lt;br /&gt;
*[[Apt]]&lt;br /&gt;
*[[Cambiare il font della console in Debian]]&lt;br /&gt;
*[[Cambiare il layout di tastiera di default in Debian]]&lt;br /&gt;
*[[Cambiare l&#039;editor di sistema di default]]&lt;br /&gt;
*[[Cambiare la Timezone di default in Debian]]&lt;br /&gt;
*[[Cambiare la lingua di default in Debian]]&lt;br /&gt;
*[[Clonare macchine Windows in rete con Partimage]]&lt;br /&gt;
*[[Configurazione di un UPS]]&lt;br /&gt;
*[[Creare un LiveCD Debian]]&lt;br /&gt;
*[[Creazione di un mirror PUSH]]&lt;br /&gt;
*[[Fai]]&lt;br /&gt;
*[[Grub]]&lt;br /&gt;
*[[Impostazione corretta della lingua in Debian]]&lt;br /&gt;
*[[Installazione di Debian da periferica USB]]&lt;br /&gt;
*[[Installazione di Debian da remoto via rete]]&lt;br /&gt;
*[[Installazione di Debian su Hard Disk superiori a 3Tb]]&lt;br /&gt;
*[[Installazione di Debian via PXE da server TFTP]]&lt;br /&gt;
*[[Installazione di Debian via SSH]]&lt;br /&gt;
*[[Installazione software di supporto HP Proliant per Debian]]&lt;br /&gt;
*[[Java]]&lt;br /&gt;
*[[Logging degli initscripts]]&lt;br /&gt;
*[[Migrazione di Debian da 32 a 64 bit]]&lt;br /&gt;
*[[Moduli]]&lt;br /&gt;
*[[Networking]]&lt;br /&gt;
*[[Utilizzare la RAM superiore ai 4Gb in Debian]]&lt;br /&gt;
*[[Resettare la password di root in Debian]]&lt;br /&gt;
*[[sysv-rc]]&lt;br /&gt;
*[[Visualizzare l&#039;indirizzo IP di una macchina sulla schermata di login tramite /etc/issue]]&lt;br /&gt;
*[[Effettuare il dist-upgrade di debian con poco spazio]]&lt;br /&gt;
*[[UEFI]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Configurazione_di_DMARC&amp;diff=11479</id>
		<title>Configurazione di DMARC</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Configurazione_di_DMARC&amp;diff=11479"/>
		<updated>2026-01-24T17:29:43Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* DMARC is a line of code that goes into your DNS TXT record&lt;br /&gt;
* Before DMARC: setup SPF and DKIM&lt;br /&gt;
&lt;br /&gt;
* Create the email account that will receive the xml rejected reports&lt;br /&gt;
&lt;br /&gt;
 dmarc-reports@example.com&lt;br /&gt;
&lt;br /&gt;
* Create the TXT Record&lt;br /&gt;
&lt;br /&gt;
 Name: _dmarc.example.com&lt;br /&gt;
&lt;br /&gt;
 Value: v=DMARC1; p=quarantine; rua=&amp;lt;nowiki&amp;gt;mailto:dmarc-reports@example.com&amp;lt;/nowiki&amp;gt;; ruf=&amp;lt;nowiki&amp;gt;mailto:dmarc-reports@example.com&amp;lt;/nowiki&amp;gt;; fo=1;&lt;br /&gt;
&lt;br /&gt;
* Verificarlo;&lt;br /&gt;
&lt;br /&gt;
 host -t txt _dmarc.example.com&lt;br /&gt;
&lt;br /&gt;
* In seguito aggiornare il record a:&lt;br /&gt;
&lt;br /&gt;
 v=DMARC1; p=reject; rua=&amp;lt;nowiki&amp;gt;mailto:dmarc-reports@example.com&amp;lt;/nowiki&amp;gt;; ruf=&amp;lt;nowiki&amp;gt;mailto:dmarc-reports@example.com&amp;lt;/nowiki&amp;gt;; fo=1;&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://first2host.co.uk/blog/configure-spf-dkim-dmarc-on-second-postfixadmin-server/ Configure SPF, DKIM &amp;amp; DMARC on Second PostFixAdmin Server - First2Host]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Aggiornamento_di_record_DNS_in_Technitium_DNS&amp;diff=11478</id>
		<title>Aggiornamento di record DNS in Technitium DNS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Aggiornamento_di_record_DNS_in_Technitium_DNS&amp;diff=11478"/>
		<updated>2026-01-23T14:56:18Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Con lo script:&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# 1. Controllo che la variabile TOKEN sia definita e non vuota&lt;br /&gt;
if [ -z &amp;quot;$TOKEN&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;ERRORE: La variabile d&#039;ambiente \$TOKEN non è definita.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Esegui: export TOKEN=&#039;tuo_token_qui&#039; prima di lanciare lo script.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Controllo parametri&lt;br /&gt;
if [ &amp;quot;$#&amp;quot; -ne 3 ]; then&lt;br /&gt;
    echo &amp;quot;Utilizzo: $0 &amp;lt;fqdn&amp;gt; &amp;lt;vecchio_ip&amp;gt; &amp;lt;nuovo_ip&amp;gt;&amp;quot;&lt;br /&gt;
    echo &amp;quot;Esempio: $0 test.example.com 1.2.3.4 5.6.7.8&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
FQDN=$1&lt;br /&gt;
OLD_IP=$2&lt;br /&gt;
NEW_IP=$3&lt;br /&gt;
&lt;br /&gt;
# Estrazione del dominio (ultime due parti: es. studio-mauri.it)&lt;br /&gt;
DOMAIN=$(echo &amp;quot;$FQDN&amp;quot; | awk -F. &#039;{print $(NF-1)&amp;quot;.&amp;quot;$NF}&#039;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;--- Esecuzione Update Technitium ---&amp;quot;&lt;br /&gt;
echo &amp;quot;Zona:    $DOMAIN&amp;quot;&lt;br /&gt;
echo &amp;quot;Record:  $FQDN&amp;quot;&lt;br /&gt;
echo &amp;quot;IP:      $OLD_IP -&amp;gt; $NEW_IP&amp;quot;&lt;br /&gt;
echo &amp;quot;------------------------------------&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -ks  \&lt;br /&gt;
&amp;quot;https://dns1.rvmgroup.it/api/zones/records/update\&lt;br /&gt;
?token=$TOKEN\&lt;br /&gt;
&amp;amp;domain=$FQDN\&lt;br /&gt;
&amp;amp;zone=$DOMAIN\&lt;br /&gt;
&amp;amp;type=A\&lt;br /&gt;
&amp;amp;value=$OLD_IP\&lt;br /&gt;
&amp;amp;newValue=$NEW_IP&amp;quot; | jq&lt;br /&gt;
&amp;lt;/pre&amp;gt;Si possono aggiornare record DNS indicando esattamente l vecchio valore ed il nuovo, ad esempio: se si vuole cambiare&lt;br /&gt;
&lt;br /&gt;
mx1.example.com da 1.2.3.4 a 5.6.7.8&lt;br /&gt;
 export TOKEN=&amp;quot;7dd309b596ece532a586f963f7e1e9ae9854fa3791ea2c02c3c82a6ef30f763c&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -ks  \&lt;br /&gt;
&amp;quot;https://dns1.rvmgroup.it/api/zones/records/update\&lt;br /&gt;
?token=$TOKEN\&lt;br /&gt;
&amp;amp;domain=mx2.example.com\&lt;br /&gt;
&amp;amp;zone=example.com\&lt;br /&gt;
&amp;amp;type=A\&lt;br /&gt;
&amp;amp;value=1.2.3.4\&lt;br /&gt;
&amp;amp;newValue=5.6.7.8&amp;quot; | jq&amp;lt;/pre&amp;gt;Se il valore vecchio non coincide, fallisce.&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Aggiornamento_di_record_DNS_in_Technitium_DNS&amp;diff=11477</id>
		<title>Aggiornamento di record DNS in Technitium DNS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Aggiornamento_di_record_DNS_in_Technitium_DNS&amp;diff=11477"/>
		<updated>2026-01-23T13:47:27Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Si possono aggiornare record DNS indicando esattamente l vecchio valore ed il nuovo, ad esempio: se si vuole cambiare  mx1.example.com da 1.2.3.4 a 5.6.7.8  export TOKEN=&amp;quot;7dd309b596ece532a586f963f7e1e9ae9854fa3791ea2c02c3c82a6ef30f763c  &amp;lt;pre&amp;gt;curl -ks  \ &amp;quot;https://dns1.rvmgroup.it/api/zones/records/update\ ?token=$TOKEN\ &amp;amp;domain=mx2.example.com\ &amp;amp;zone=example.com\ &amp;amp;type=A\ &amp;amp;value=1.2.3.4\ &amp;amp;newValue=5.6.7.8&amp;quot; | jq&amp;lt;/pre&amp;gt;Se il valore vecchio non coincide, fallisce.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si possono aggiornare record DNS indicando esattamente l vecchio valore ed il nuovo, ad esempio: se si vuole cambiare&lt;br /&gt;
&lt;br /&gt;
mx1.example.com da 1.2.3.4 a 5.6.7.8&lt;br /&gt;
 export TOKEN=&amp;quot;7dd309b596ece532a586f963f7e1e9ae9854fa3791ea2c02c3c82a6ef30f763c&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -ks  \&lt;br /&gt;
&amp;quot;https://dns1.rvmgroup.it/api/zones/records/update\&lt;br /&gt;
?token=$TOKEN\&lt;br /&gt;
&amp;amp;domain=mx2.example.com\&lt;br /&gt;
&amp;amp;zone=example.com\&lt;br /&gt;
&amp;amp;type=A\&lt;br /&gt;
&amp;amp;value=1.2.3.4\&lt;br /&gt;
&amp;amp;newValue=5.6.7.8&amp;quot; | jq&amp;lt;/pre&amp;gt;Se il valore vecchio non coincide, fallisce.&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Technitium_DNS&amp;diff=11476</id>
		<title>Technitium DNS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Technitium_DNS&amp;diff=11476"/>
		<updated>2026-01-23T13:44:06Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Importazione di zone DNS in Technitium DNS]]&lt;br /&gt;
* [[Aggiornamento di record DNS in Technitium DNS]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Configurazione_HP_ILO_da_command_line_Linux&amp;diff=11475</id>
		<title>Configurazione HP ILO da command line Linux</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Configurazione_HP_ILO_da_command_line_Linux&amp;diff=11475"/>
		<updated>2026-01-20T18:45:23Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Articolo Originale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Installare IPMI  Tools:&lt;br /&gt;
&lt;br /&gt;
 apt install openipmi ipmitool &lt;br /&gt;
&lt;br /&gt;
* Su debian Bookworm, scaricare un file mancante, altrimenti si ottiene l&#039;errore &amp;quot;IANA PEN registry open failed: No such file or directory&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 wget -O /usr/share/misc/enterprise-numbers.txt &amp;lt;nowiki&amp;gt;https://jff.email/cgit/ipmitool.git/plain/debian/enterprise-numbers.txt?h=debian/1.8.19-5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Stampare la configurazione:&lt;br /&gt;
&lt;br /&gt;
 ipmitool lan print&lt;br /&gt;
&lt;br /&gt;
* Impostare i parametri:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ipmitool lan set 1 ipsrc static&lt;br /&gt;
ipmitool lan set 1 ipaddr 192.168.6.192&lt;br /&gt;
ipmitool lan set 1 netmask 255.255.255.0&lt;br /&gt;
ipmitool lan set 1 defgw ipaddr 192.168.6.254&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se necessario, resettare l&#039;ILO:&lt;br /&gt;
&lt;br /&gt;
 ipmitool mc reset cold&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://dev-random.net/configuring-hp-ilo-through-linux-automatically/ Configuring HP iLO through Linux automatically - /dev/random]&lt;br /&gt;
* [https://forum.proxmox.com/threads/ipmi-tool-error-after-v8-upgrade.129334/ [SOLVED] - IPMI Tool error after v8 upgrade | Proxmox Support Forum]&lt;br /&gt;
&lt;br /&gt;
== Articolo Originale ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuring HP iLO through Linux automatically&lt;br /&gt;
&lt;br /&gt;
1 Reply&lt;br /&gt;
&lt;br /&gt;
We only use HP servers and we get more and more every week. Someone has to keep track of all those servers and be able to configure them using iLO in case of a disaster&lt;br /&gt;
 Installation almost runs automatically, except for iLO configuration.&lt;br /&gt;
&lt;br /&gt;
 I have to first find the iLO ip, then login to the web interface, create users, set static IP and what not. It takes time, a lot of it.&lt;br /&gt;
&lt;br /&gt;
 If only there was some way to automate it without having to use HP’s software.. but wait, THERE IS!&lt;br /&gt;
I already posted how to scan for all HP ILO devices in your subnet, but the basics in the following post on how to configure iLO from your guest Linux OS might make everything a little easier for the sysadmins out there&lt;br /&gt;
&lt;br /&gt;
How to configure HP iLO in Linux&lt;br /&gt;
&lt;br /&gt;
First I will show you the useful commands and an example output for each, and then how to automate the configuration of your HP iLO interface using bash scripting&lt;br /&gt;
 The script for configuring iLO automatically will be included at the end of this post&lt;br /&gt;
Needed packages:&lt;br /&gt;
&lt;br /&gt;
OpenIPMI OpenIPMI-libs OpenIPMI-tools&lt;br /&gt;
&lt;br /&gt;
These packages can be installed through your favorite package manager, below you’ll see the defaults in Debian and CentOS/RHEL&lt;br /&gt;
&lt;br /&gt;
Debian:&lt;br /&gt;
&lt;br /&gt;
apt-get install OpenIPMI OpenIPMI-libs OpenIPMI-tools&lt;br /&gt;
&lt;br /&gt;
CentOS/RHEL:&lt;br /&gt;
&lt;br /&gt;
yum install OpenIPMI OpenIPMI-libs OpenIPMI-tools&lt;br /&gt;
&lt;br /&gt;
Once you got those installed, you can move on and configure or fetch info from iLO through the guest Linux&lt;br /&gt;
&lt;br /&gt;
Get the serial number of the server&lt;br /&gt;
&lt;br /&gt;
Getting the serialnumber might be useful, in case you need to log it to a inventory database, or just need the serial number for a warranty call. This is an easy and quick way to find it, without even logging into iLO.&lt;br /&gt;
&lt;br /&gt;
ipmitool fru | grep Serial&lt;br /&gt;
&lt;br /&gt;
Sample output:&lt;br /&gt;
 Chassis Serial        : CZAAAAAAAA&lt;br /&gt;
 Board Serial          : CZAAAAAAAA&lt;br /&gt;
 Product Serial        : CAAAAAAAAA&lt;br /&gt;
 Serial Number         : 0BBBBBB&lt;br /&gt;
Get network settings configured on the HP iLO port&lt;br /&gt;
&lt;br /&gt;
Maybe you just want to find the DHCP address of the HP iLO controller? you can do this easily, without having to scan the entire network.&lt;br /&gt;
&lt;br /&gt;
ipmitool lan print&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
Set in Progress         : Set Complete Auth Type Support       : IP Address Source       : DHCP Address IP Address              : 123.123.123.123 Subnet Mask             : 255.255.255.0 MAC Address             : de:ad:be:ef:ca:fe BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled Default Gateway IP      : 123.123.123.1 802.1q VLAN ID          : Disabled 802.1q VLAN Priority    : 0 Cipher Suite Priv Max   : Not Available&lt;br /&gt;
&lt;br /&gt;
Restart iLO interface&lt;br /&gt;
&lt;br /&gt;
If you have any problems connecting to the HP ILO controller, you might need to restart it. But you don’t want to restart the entire server because your have to unplug the power to restart iLO. Nobody wants that on a production server! You can initialize a restart of ILO only by running the below command. This way your server stays online, while doing it. It has saved my butt a couple of times.&lt;br /&gt;
 Remember these two commands will not reboot the OS running on the server, only iLO&lt;br /&gt;
For a cold reset (forcefully, in case iLO is not responding in any way including echo requests/ping) use the following:&lt;br /&gt;
&lt;br /&gt;
ipmitool mc reset cold&lt;br /&gt;
&lt;br /&gt;
For a warm reset (in case iLO IS responding) use the following:&lt;br /&gt;
&lt;br /&gt;
ipmitool mc reset warm&lt;br /&gt;
&lt;br /&gt;
Configure network to static ip on the HP iLO port&lt;br /&gt;
&lt;br /&gt;
Without logging into the web interface, you can still set a static IP address to the HP iLO interface using the below commands. Replace the IP, subnet mask and default gateway with what you need it to be.&lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool lan set 1 ipsrc static &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool lan set 1 ipaddr 192.168.1.211 &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool lan set 1 netmask 255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool lan set 1 defgw ipaddr 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Configuring users&lt;br /&gt;
&lt;br /&gt;
Configuring users might also come in handy. By default there is only the “Administrator” user with a password located on a sticker or elsewhere physically on the server.&lt;br /&gt;
&lt;br /&gt;
Create a user with admin rights.&lt;br /&gt;
&lt;br /&gt;
To create a user with same rights as the “Administrator” user, use the following. This user will be able to do everything in iLO.&lt;br /&gt;
 Replace “admin” with the username you want.&lt;br /&gt;
&lt;br /&gt;
 In case your create multiple users, you have to increment the number “2” with +1 every time. so the second user you create will have ID 3, and the third, ID 4.&lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool user set name 2 admin &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool user set password 2 Password for user 2: Password for user 2: &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4 &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool user enable 2&lt;br /&gt;
&lt;br /&gt;
Create user with user monitoring rights&lt;br /&gt;
&lt;br /&gt;
If a user should only be used for querying sensor data, for example a user for Nagios, Zabbix or other monitoring software, a custom privilege level can be setup for that. This user can not do any changes to the server through iLO. A user named “monitor” will be created for this in the following example:&lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool user set name 3 monitor &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool user set password 3 Password for user 3: Password for user 3: &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool channel setaccess 1 3 link=on ipmi=on callin=on privilege=2 &lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool user enable 3&lt;br /&gt;
&lt;br /&gt;
The importance of the various privilege numbers will be displayed when ipmitool channel is called without any additional parameters:&lt;br /&gt;
&lt;br /&gt;
[root@server ~]# ipmitool channel Channel Commands: authcap   &amp;lt;channel number&amp;gt; &amp;lt;max privilege&amp;gt;&lt;br /&gt;
                  getaccess &amp;lt;channel number&amp;gt; [user id]&lt;br /&gt;
                  setaccess &amp;lt;channel number&amp;gt; &amp;lt;user id&amp;gt; [callin=on|off] [ipmi=on|off] [link=on|off] [privilege=level]&lt;br /&gt;
                  info      [channel number]&lt;br /&gt;
                  getciphers &amp;lt;ipmi | sol&amp;gt; [channel]&lt;br /&gt;
Possible privilege levels are:&lt;br /&gt;
   1   Callback level&lt;br /&gt;
   2   User level&lt;br /&gt;
   3   Operator level&lt;br /&gt;
   4   Administrator level&lt;br /&gt;
   5   OEM Proprietary level&lt;br /&gt;
  15   No access&lt;br /&gt;
[root@server ~]#&lt;br /&gt;
&lt;br /&gt;
Automatically configure HP iLO using bash&lt;br /&gt;
&lt;br /&gt;
Now you know how to use the commands to configure the basic stuff in your iLO controller manually. But what about doing this automatically when you have new servers coming in every other day that needs to be configured? We can do that using bash scripts.&lt;br /&gt;
&lt;br /&gt;
Below is a script that will set the specified ip address, subnetmask, default gateway and create users if you want to.&lt;br /&gt;
 Easy to just run after you installed your OS and even automating using puppet or other deployment tools&lt;br /&gt;
&lt;br /&gt;
# !/bin/bash&lt;br /&gt;
# Script written by dev-random.net&lt;br /&gt;
# Purpose is to automate HP iLO configuration&lt;br /&gt;
# Feel free to use this script however you like, as long as you leave these top comments&lt;br /&gt;
&lt;br /&gt;
printhelp() {	echo	echo &amp;quot;-i &amp;lt;static ip to set&amp;gt; example: 192.168.1.10&amp;quot;	echo &amp;quot;-s &amp;lt;static subnet mask to set&amp;gt; example: 255.255.255.0, required if -i is set&amp;quot;	echo &amp;quot;-g &amp;lt;static gatewat to set&amp;gt; example: 192.168.1.1, required if -i is set&amp;quot;	echo &amp;quot;-a &amp;lt;username for new admin user&amp;gt; example: admin, dont use if no user should be created&amp;quot;	echo &amp;quot;-p &amp;lt;password for admin user&amp;gt;, required if -a is set, enclose in \&amp;quot;\&amp;quot; if password contains spaces&amp;quot;	echo &amp;quot;-m &amp;lt;username for read-only user&amp;gt;, example: monitor&amp;quot;	echo &amp;quot;-o &amp;lt;password for read-only user&amp;gt;, required if -m is set, enclose in \&amp;quot;\&amp;quot; if password contains spaces&amp;quot;	echo &amp;quot;-y add this to the command to actually do the changes, else the script will just output what you typed in the parameters&amp;quot;	echo	exit 1 }&lt;br /&gt;
&lt;br /&gt;
# Print help if no parameters where set&lt;br /&gt;
&lt;br /&gt;
if (($# == 0)); then	printhelp fi&lt;br /&gt;
&lt;br /&gt;
# Get parameters&lt;br /&gt;
&lt;br /&gt;
while getopts &amp;quot;i:s:g:a:p:m:o:hy&amp;quot; opt; do	case $opt in		i) # IP to set			IP=&amp;quot;$OPTARG&amp;quot;		;;		s) # Subnetmask to set			SUBNETMASK=&amp;quot;$OPTARG&amp;quot;		;;		g) # Gatway to set			GATEWAY=&amp;quot;$OPTARG&amp;quot;		;;		a) # New admin username			ADMINUSERNAME=&amp;quot;$OPTARG&amp;quot;		;;		p) # New admin password			ADMINPASSWORD=&amp;quot;$OPTARG&amp;quot;		;;		m) # New read-only users username			USERNAME=&amp;quot;$OPTARG&amp;quot;		;;		o) # New read-only users password			PASSWORD=&amp;quot;$OPTARG&amp;quot;		;;		h) # Print help			printhelp		;;		y) # Just do it, no need to press any key to continue			DOIT=1		;;		\?) # Default if option is not known			printhelp		;;		 # Error if parameter was triggered without value			echo &amp;quot;Option -$opt requires an argument&amp;quot;			printhelp		;;	esac done echo # Print empty line&lt;br /&gt;
&lt;br /&gt;
# Check if we have the needed required software installed&lt;br /&gt;
# required packages: OpenIPMI OpenIPMI-libs OpenIPMI-tools&lt;br /&gt;
&lt;br /&gt;
if [ `which ipmitool &amp;amp;&amp;gt;/dev/null ; echo $?` -ne 0 ] ; then	echo &amp;quot;ipmitool not available, please install requirements:&amp;quot;	echo &amp;quot;required packages: OpenIPMI OpenIPMI-libs OpenIPMI-tools&amp;quot;	echo &amp;quot;See https://dev-random.net/configuring-and-controlling-hp-ilo-through-linux for details&amp;quot;	exit 2 fi&lt;br /&gt;
&lt;br /&gt;
# print serial number, just because we can and then you dont have to do it manually in case you need it&lt;br /&gt;
&lt;br /&gt;
ipmitool fru | grep Serial echo #print empty line&lt;br /&gt;
&lt;br /&gt;
# Check if IP has to be set&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;$IP&amp;quot;]] &amp;amp;&amp;amp; [[ &amp;quot;$SUBNETMASK&amp;quot;]] &amp;amp;&amp;amp; [[ &amp;quot;$GATEWAY&amp;quot;]] ; then	echo &amp;quot;IP: $IP&amp;quot;	echo &amp;quot;Subnetmask: $SUBNETMASK&amp;quot;	echo &amp;quot;Gateway: $GATEWAY&amp;quot;	if [[ $DOIT]] ; then		echo &amp;quot;Setting ip&amp;quot;		ipmitool lan set 1 ipsrc static		ipmitool lan set 1 ipaddr $IP		ipmitool lan set 1 netmask $SUBNETMASK		ipmitool lan set 1 defgw ipaddr $GATEWAY		echo # print empty line	fi fi&lt;br /&gt;
&lt;br /&gt;
# Check if admin user has to be created&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;$ADMINUSERNAME&amp;quot;]] &amp;amp;&amp;amp; [[ &amp;quot;$ADMINPASSWORD&amp;quot;]] ; then	echo &amp;quot;Admin username: $ADMINUSERNAME&amp;quot;	echo &amp;quot;Admin password: $ADMINPASSWORD&amp;quot;	if [[ $DOIT]] ; then		echo &amp;quot;Creating admin user&amp;quot;		ipmitool user set name 2 $ADMINUSERNAME		ipmitool user set password 2 $ADMINPASSWORD		ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4		ipmitool user enable 2		echo # print empty line	fi fi&lt;br /&gt;
&lt;br /&gt;
# Check if read-only user has to be created&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;$USERNAME&amp;quot;]] &amp;amp;&amp;amp; [[ &amp;quot;$PASSWORD&amp;quot;]] ; then	echo &amp;quot;Read-only username: $USERNAME&amp;quot;	echo &amp;quot;Read-only user password: $PASSWORD&amp;quot;	if [[ $DOIT]] ; then		echo &amp;quot;Creating read-only user&amp;quot;		ipmitool user set name 3 $USERNAME		ipmitool user set password 3 $PASSWORD		ipmitool channel setaccess 1 3 link=on ipmi=on callin=on privilege=2		ipmitool user enable 3		echo # print empty line	fi fi&lt;br /&gt;
&lt;br /&gt;
# If -y was set&lt;br /&gt;
&lt;br /&gt;
if [[ $DOIT]] ; then	# Warm restart iLO	echo &amp;quot;Restarting iLO, it will be accessible in a couple of minutes using the new IP address (if changed).&amp;quot;	ipmitool mc reset warm else # If -y was not set, then ask for it to do the changes	echo # print empty line	echo &amp;quot;add -y to the command to make the changes, this run only showed you the settings you entered so you can make sure they are correct&amp;quot; fi echo # print empty line exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Correggere_l%27errore_the_listen_..._http2_directive_is_deprecated,_use_the_http2_directive_instead_in_nginx_proxy_manager&amp;diff=11474</id>
		<title>Correggere l&#039;errore the listen ... http2 directive is deprecated, use the http2 directive instead in nginx proxy manager</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Correggere_l%27errore_the_listen_..._http2_directive_is_deprecated,_use_the_http2_directive_instead_in_nginx_proxy_manager&amp;diff=11474"/>
		<updated>2026-01-19T18:18:23Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se all&#039;avvio si vede nei log:&lt;br /&gt;
 nginx-app  | nginx: [warn] the &amp;quot;listen ... http2&amp;quot; directive is deprecated, use the &amp;quot;http2&amp;quot; directive instead in /data/nginx/proxy_host/12.conf:19&lt;br /&gt;
eseguire:&amp;lt;pre&amp;gt;docker compose exec nginx.crodocker01.croalliance.priv-app \&lt;br /&gt;
  /bin/bash -c &amp;quot;&lt;br /&gt;
  cd /data/nginx/proxy_host &amp;amp;&amp;amp;&lt;br /&gt;
  sed -i &#039;s/listen 443 ssl http2;/listen 443 ssl;\nhttp2 on;/g&#039; *.conf &amp;amp;&amp;amp;&lt;br /&gt;
  sed -i &#039;/^listen \[::\]:443 ssl http2;/s/ http2//&#039; *.conf &amp;quot; \&lt;br /&gt;
  | tee -a update.log&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
docker compose exec nginx.crodocker01.croalliance.priv-app \&lt;br /&gt;
  /bin/bash -c &amp;quot;&lt;br /&gt;
  cd /data/nginx/redirection_host &amp;amp;&amp;amp;&lt;br /&gt;
  sed -i &#039;s/listen 443 ssl http2;/listen 443 ssl;\nhttp2 on;/g&#039; *.conf &amp;amp;&amp;amp;&lt;br /&gt;
  sed -i &#039;/^listen \[::\]:443 ssl http2;/s/ http2//&#039; *.conf &amp;quot; \&lt;br /&gt;
  | tee -a update.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;In pratica cambia:&amp;lt;pre&amp;gt;&lt;br /&gt;
listen 80;&lt;br /&gt;
listen [::]:80;&lt;br /&gt;
&lt;br /&gt;
listen 443 ssl http2;&lt;br /&gt;
listen [::]:443 ssl http2;&lt;br /&gt;
&amp;lt;/pre&amp;gt;in:&amp;lt;pre&amp;gt;&lt;br /&gt;
listen 80;&lt;br /&gt;
listen [::]:80;&lt;br /&gt;
&lt;br /&gt;
listen 443 ssl;&lt;br /&gt;
http2 on;&lt;br /&gt;
listen [::]:443 ssl;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/NginxProxyManager/nginx-proxy-manager/issues/4060 use the &amp;quot;http2&amp;quot; directive instead warning · Issue #4060 · NginxProxyManager/nginx-proxy-manager]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Guacamole&amp;diff=11473</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Guacamole&amp;diff=11473"/>
		<updated>2026-01-19T17:30:59Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Installazione di Guacamole con Docker]]&lt;br /&gt;
*[[Resettare la password di un utente Guacamole]]&lt;br /&gt;
*[[Resettare la chiave TOTP in Guacamole]]&lt;br /&gt;
*[[Branding della login page di Guacamole]]&lt;br /&gt;
&lt;br /&gt;
 docker logs guacamole-guacd&lt;br /&gt;
&lt;br /&gt;
* Per aprire menu azioni&lt;br /&gt;
 CTRL-ALT-SHIFT&lt;br /&gt;
&lt;br /&gt;
* Se non si collega a RDP:&lt;br /&gt;
 [x] ignore certificate&lt;br /&gt;
* Se non si collega a SSH&lt;br /&gt;
 adding “HostKeyAlgorithms +ssh-rsa” to the end of /etc/ssh/sshd_config on the Ubuntu machine and restart sshd. &lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.linode.com/docs/guides/installing-apache-guacamole-on-ubuntu-and-debian/ How to Install Apache Guacamole on Ubuntu and Debian | Linode]&lt;br /&gt;
*[https://www.linode.com/docs/guides/installing-apache-guacamole-through-docker/ How to Install Apache Guacamole through Docker | Linode]&lt;br /&gt;
*[https://guacamole.apache.org/doc/gug/totp-auth.html TOTP two-factor authentication — Apache Guacamole Manual v1.4.0]&lt;br /&gt;
*[https://rdr-it.com/tips/guacamole-reverse-proxy-apache-exemple/ Guacamole : Reverse proxy Apache – Exemple - RDR-IT]&lt;br /&gt;
*[https://frigi.ch/en/2021/07/install-guacamole-on-docker-with-traefik-and-2fa/ Install Guacamole on Docker with Traefik and 2FA | My boring Blog]&lt;br /&gt;
*[https://www.reddit.com/r/qnap/comments/muahjo/part_2_how_to_install_guacamole_in_docker_with/ (10) Part 2: How To install Guacamole in Docker with 2FA using MariaDB and Apache Reverse Proxy : qnap]&lt;br /&gt;
*[https://guacamole.apache.org/doc/gug/guacamole-docker.html#the-guacamole-docker-image Installing Guacamole with Docker — Apache Guacamole Manual v1.4.0]&lt;br /&gt;
*[https://guacamole.apache.org/doc/gug/using-guacamole.html#file-transfer Using Guacamole — Apache Guacamole Manual v1.4.0]&lt;br /&gt;
*[https://stackoverflow.com/questions/68458381/guacamole-rdp-wont-connect Guacamole RDP won&#039;t connect - Stack Overflow]&lt;br /&gt;
*[https://www.howtoforge.com/how-to-install-apache-guacamole-on-debian-11/ How to Install Apache Guacamole on Debian 11]&lt;br /&gt;
*[https://andymelton.net/2021/11/30/setup-an-apache-guacamole-server-on-debian-11-bulls-eye/ Setup an Apache Guacamole Server on Debian 11 “Bulls Eye” | AndyMelton.net]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Resettare_la_chiave_TOTP_in_Guacamole&amp;diff=11472</id>
		<title>Resettare la chiave TOTP in Guacamole</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Resettare_la_chiave_TOTP_in_Guacamole&amp;diff=11472"/>
		<updated>2026-01-19T17:27:31Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Manualmente */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Con Script ==&lt;br /&gt;
* C&#039;è uno script: [https://iriarte.it/index.php/2021/11/02/resetting-guacamole-otp-for-an-user/ Resetting Guacamole OTP for an user | Doing the blog thing]&lt;br /&gt;
&lt;br /&gt;
== Manualmente ==&lt;br /&gt;
* Lanciare Mysql nel container docker del DB:&lt;br /&gt;
&lt;br /&gt;
 docker compose exec remote.metrica.it-db  bash -c &#039;mariadb -u$MARIADB_USER -p$MARIADB_PASSWORD guacamole_db&#039;&lt;br /&gt;
* Identificare l&#039;ID dello username da modificare:&lt;br /&gt;
&lt;br /&gt;
 SELECT user_id FROM guacamole_user INNER JOIN guacamole_entity ON guacamole_entity.entity_id = guacamole_user.entity_id WHERE guacamole_entity.name = &#039;guacadmin&#039;;&lt;br /&gt;
&lt;br /&gt;
 +---------+| user_id |+---------+|       1 |+---------+&lt;br /&gt;
* Identificato l&#039;ID, resettare il flag guac-totp-key-confirmed per quello user_id&lt;br /&gt;
&lt;br /&gt;
 UPDATE guacamole_user_attribute SET attribute_value=&#039;false&#039; WHERE attribute_name = &#039;guac-totp-key-confirmed&#039; and user_id = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://forum.cloudron.io/topic/5051/resetting-2fa-for-guacamole?_=1727711714510 Resetting 2FA for Guacamole | Cloudron Forum]&lt;br /&gt;
&lt;br /&gt;
* [https://www.mogilowski.net/2020/05/06/two-factor-authentication-with-guacamole-1-1-0-part-4/ Two-factor authentication with Guacamole 1.1.0 (Part 4) – Sebastian Mogilowski&#039;s Blog]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11471</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11471"/>
		<updated>2026-01-16T11:28:51Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Attivazione Windows Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
* Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;BE SURE TO REBOOT before proceeding !!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11470</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11470"/>
		<updated>2026-01-16T11:28:13Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Installazione da ISO Retail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
* Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;BE SURE TO REBOOT before proceeding !!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11469</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11469"/>
		<updated>2026-01-16T11:10:30Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Installazione da ISO Retail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
* Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;BE SURE TO REBBOT before proceding !!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11468</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11468"/>
		<updated>2026-01-16T11:03:31Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Installazione da ISO Evaluation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
* Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11467</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11467"/>
		<updated>2026-01-16T11:01:46Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Installazione da ISO Evaluation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
&lt;br /&gt;
*    Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
 DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11466</id>
		<title>Attivazione di prodotti Microsoft con KMS</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivazione_di_prodotti_Microsoft_con_KMS&amp;diff=11466"/>
		<updated>2026-01-16T11:01:11Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Product Key Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installazione server KMS con docker=&lt;br /&gt;
&lt;br /&gt;
* https://wind4.github.io/vlmcsd/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;EOFile&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: vlmcsd&lt;br /&gt;
    image: mikolatero/vlmcsd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &#039;1688:1688&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
= Attivazione WIN 10/11 PRO, WIN2K8R2 STD, WIN7 PRO=&lt;br /&gt;
&lt;br /&gt;
* Comandi comuni&lt;br /&gt;
&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
* Windows 10-11&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;br /&gt;
&lt;br /&gt;
* Windows 2008R2 Standard&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk YC6KT-GKW9T-YTKYR-T4X34-R7VHC&lt;br /&gt;
&lt;br /&gt;
* Windows Seven Pro&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4&lt;br /&gt;
&lt;br /&gt;
* Proseguire&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/get-started/kms-client-activation-keys.md&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Key Management Services (KMS) client activation and product keys for Windows Server and Windows | Microsoft Learn]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Windows Server=&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Evaluation ===&lt;br /&gt;
&lt;br /&gt;
* We need to use DISM to change the product version/edition&lt;br /&gt;
&lt;br /&gt;
* Open an elevated command prompt&lt;br /&gt;
&lt;br /&gt;
*    Get a list of available version upgrade paths by typing:&lt;br /&gt;
&lt;br /&gt;
     DISM.exe /Online /Get-TargetEditions&lt;br /&gt;
&lt;br /&gt;
*    Then upgrade to the listed edition by typing:&lt;br /&gt;
&lt;br /&gt;
     DISM /Online /Set-Edition:&amp;lt;TargetEdition&amp;gt; /ProductKey:&amp;lt;Product Key from Below Table&amp;gt; /AcceptEula&lt;br /&gt;
&lt;br /&gt;
=== Installazione da ISO Retail ===&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo  slmgr.vbs -upk&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ipk &amp;lt;Product Key from Below Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys Product Key Table] ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LICENZA                                                 CD-KEY&lt;br /&gt;
Windows Server 2025 Standard                            TVRH6-WHNXV-R9WG3-9XRFY-MY832&lt;br /&gt;
Windows Server 2025 Datacenter                          D764K-2NDRG-47T6Q-P8T8W-YP6DF&lt;br /&gt;
Windows Server 2025 Datacenter Azure Edition            XGN3F-F394H-FD2MY-PP6FD-8MCRC&lt;br /&gt;
Windows Server 2022 Standard                            VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;br /&gt;
Windows Server 2022 Datacenter                          WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;
Windows Server 2022 Datacenter Azure Edition            NTBV8-9K7Q8-V27C6-M2BTV-KHMXV&lt;br /&gt;
Windows Server 2019 Standard (SAC v1809)                N2KJX-J94YW-TQVFB-DG9YT-724CC&lt;br /&gt;
Windows Server 2019 Standard                            N69G4-B89J2-4G8F4-WWYCC-J464C&lt;br /&gt;
Windows Server 2019 Essentials                          WVDHN-86M7X-466P6-VHXV7-YY726&lt;br /&gt;
Windows Server 2019 Datacenter                          WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;br /&gt;
Windows Server 2019 Datacenter (SAC v1809)              6NMRW-2C8FM-D24W7-TQWMY-CWH2D&lt;br /&gt;
Windows Server 2019 Azure Core                          FDNH6-VW9RW-BXPJ7-4XTYG-239TB&lt;br /&gt;
Windows Server 2019 ARM64                               GRFBW-QNDC4-6QBHG-CCK3B-2PR88&lt;br /&gt;
Windows Server 2016 Standard                            WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;
Windows Server 2016 Standard (SAC v1803)                PTXN8-JFHJM-4WC78-MPCBR-9W4KR&lt;br /&gt;
Windows Server 2016 Standard (SAC v1709)                DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4&lt;br /&gt;
Windows Server 2016 Essentials                          JCKRF-N37P4-C2D82-9YXRT-4M63B&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1803)              2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG&lt;br /&gt;
Windows Server 2016 Datacenter (SAC v1709)              6Y6KB-N82V8-D8CQV-23MJW-BWTG6&lt;br /&gt;
Windows Server 2016 Datacenter                          CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;
Windows Server 2016 Cloud Storage                       QN4C6-GBJD2-FB422-GHWJK-GJG2R&lt;br /&gt;
Windows Server 2016 Azure Core                          VP34G-4NPPG-79JTQ-864T4-R3MQX&lt;br /&gt;
Windows Server 2016 ARM64                               K9FYF-G6NCK-73M32-XMVPY-F9DRR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parte comune ===&lt;br /&gt;
*Proseguire&lt;br /&gt;
 cd %SYSTEMROOT%\System32&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -skms kms.example.com&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -ato&lt;br /&gt;
&lt;br /&gt;
 cscript.exe //NoLogo slmgr.vbs -dlv&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If an error occurred while activating Windows Server:&lt;br /&gt;
 Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run &#039;slui.exe 0x2a 0xC004F069&#039; to display the error text.&lt;br /&gt;
&lt;br /&gt;
The reason is that I have an evaluation version of Windows Server 2022 installed. First, you need to convert it to a Standard version according to this article:&lt;br /&gt;
&lt;br /&gt;
 dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula&lt;br /&gt;
&lt;br /&gt;
Then I can activate my Windows instance on the KMS host.&lt;br /&gt;
&lt;br /&gt;
=== Riferimenti ===&lt;br /&gt;
* [https://www.aidenwebb.com/posts/how-to-fix-server-2019-activation-error-run-slui.exe-0x2a-0xc004f069/ How to Fix Server 2019 Activation Error: Run “slui.exe 0x2a 0xC004F069” | Aiden Arnkels-Webb]&lt;br /&gt;
&lt;br /&gt;
=Attivazione Office 2019 Pro Plus =&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Wind4/vlmcsd/issues/20&lt;br /&gt;
&lt;br /&gt;
I have one that works for office 2019. But I do NOT know why it works.&lt;br /&gt;
 cscript &amp;quot;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;quot; /dstatus&lt;br /&gt;
with the following output&lt;br /&gt;
&lt;br /&gt;
    LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition&lt;br /&gt;
    LICENSE DESCRIPTION: Office 19, VOLUME_KMSCLIENT channel&lt;br /&gt;
    BETA EXPIRATION: 1601-01-01&lt;br /&gt;
    LICENSE STATUS: ---LICENSED---&lt;br /&gt;
    ERROR CODE: 0x4004F040 (for information purposes only as the status is licensed)&lt;br /&gt;
    ERROR DESCRIPTION: The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights.&lt;br /&gt;
    REMAINING GRACE: 179 days (259199 minute(s) before expiring)&lt;br /&gt;
&lt;br /&gt;
* install volume licensing SKUs for office 2019&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
:ADMIN&lt;br /&gt;
openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;
echo CreateObject^(&amp;quot;Shell.Application&amp;quot;^).ShellExecute &amp;quot;%~s0&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;runas&amp;quot;, 1 &amp;gt;&amp;gt; &amp;quot;%temp%\getadmin.vbs&amp;quot;&lt;br /&gt;
&amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;
goto:eof&lt;br /&gt;
)&lt;br /&gt;
del /f /q &amp;quot;%temp%\getadmin.vbs&amp;quot; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
for /f &amp;quot;tokens=6 delims=[]. &amp;quot; %%G in (&#039;ver&#039;) do set win=%%G&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;%~dp0&amp;quot;&lt;br /&gt;
Title Office 2019 Retail to Volume License Converter&lt;br /&gt;
&lt;br /&gt;
rem	SET OfficePath=%ProgramFiles%\Microsoft Office&lt;br /&gt;
SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; SET OfficePath=%ProgramFiles(x86)%\Microsoft Office&lt;br /&gt;
if not exist &amp;quot;%OfficePath%\root\Licenses16&amp;quot; (&lt;br /&gt;
	echo Could not find the license files for Office 2019!&lt;br /&gt;
	pause&lt;br /&gt;
	goto :eof&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
echo Press Enter to start VL-Conversion...&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
echo.&lt;br /&gt;
cd /D &amp;quot;%SystemRoot%\System32&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if %win% GEQ 9200 (&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript slmgr.vbs /ilc &amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
 if %win% LSS 9200 (&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ppd.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul.xrm-ms&amp;quot;&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\ProPlus2019VL_KMS_Client_AE-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;
	cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inslic:&amp;quot;%OfficePath%\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript &amp;quot;%OfficePath%\Office16\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Retail to Volume License conversion finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Turn off KMS Client Online AVS Valdation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]&lt;br /&gt;
 &amp;quot;NoGenTicket&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Activate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd &amp;quot;\Program Files\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cd &amp;quot;\Program Files (x86)\Microsoft Office\Office16&amp;quot;&lt;br /&gt;
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP&lt;br /&gt;
cscript ospp.vbs /sethst:kms.example.com&lt;br /&gt;
cscript ospp.vbs /act&lt;br /&gt;
cscript ospp.vbs /dstatusall&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Office 2021 ProPlus Retail =&lt;br /&gt;
&lt;br /&gt;
* Assicurarsi di aver installato la 2021 ProPlus (non professional) Retail&lt;br /&gt;
&lt;br /&gt;
* Usare lo script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
echo Change kms.example.com to KMS Server IP or Host &lt;br /&gt;
pause&lt;br /&gt;
REM Change ProgramFiles to ProgramFiles(x86) If install x86 version . Default are x64 &lt;br /&gt;
&lt;br /&gt;
Title Converter Office 2021 Retail to Volume And Activate Through KMS Server&lt;br /&gt;
&lt;br /&gt;
set LICPATH=%ProgramFiles%\Microsoft Office\root\Licenses16&lt;br /&gt;
set LICPATH1=%ProgramFiles%\Microsoft Office\Office16&lt;br /&gt;
&lt;br /&gt;
cd C:\Windows\System32&lt;br /&gt;
&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-bridge-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-root-bridge-test.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-stil.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\client-issuance-ul-oob.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ilc &amp;quot;%LICPATH%\pkeyconfig-office.xrm-ms&amp;quot;&lt;br /&gt;
cscript slmgr.vbs /ipk FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH &lt;br /&gt;
&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /sethst:kms.example.com&lt;br /&gt;
cscript &amp;quot;%LICPATH1%\ospp.vbs&amp;quot; /act&lt;br /&gt;
&lt;br /&gt;
echo.&lt;br /&gt;
echo Finished.&lt;br /&gt;
echo.&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
&lt;br /&gt;
*[https://www.ilsoftware.it/articoli.asp?tag=KMS-cos-e-e-come-funziona-l-attivazione-di-Windows-in-rete-locale_23680 KMS, cos&#039;è e come funziona l&#039;attivazione di Windows in rete locale - IlSoftware.it]&lt;br /&gt;
*[https://github.com/Py-KMS-Organization/py-kms Py-KMS-Organization/py-kms: KMS Server Emulator written in Python]&lt;br /&gt;
*[https://github.com/FuryGreenwood/FuryKMS FuryGreenwood/FuryKMS: Microsoft Windows and Office KMS Activator]&lt;br /&gt;
*[https://github.com/massgravel/Microsoft-Activation-Scripts massgravel/Microsoft-Activation-Scripts: A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS activation methods with a focus on open-source code, fewer antivirus detection and user-friendliness.]&lt;br /&gt;
*[https://massgrave.dev/ index]&lt;br /&gt;
*[https://theitbros.com/activate-windows-with-kms-server/ How to Activate Windows with your KMS Server - KMS License Key List]&lt;br /&gt;
*[http://blog.51sec.org/2020/05/create-kms-docker-and-use-kms-to.html#point3 Activate Windows/Office (Run KMS Docker / Install KMS) - Cybersecurity Memo]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Proxmox_Backup_Server_non_completa_il_Garbage_Collection&amp;diff=11465</id>
		<title>Proxmox Backup Server non completa il Garbage Collection</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Proxmox_Backup_Server_non_completa_il_Garbage_Collection&amp;diff=11465"/>
		<updated>2026-01-15T16:48:54Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se quando si lancia un GC, non si recupera spazio e nella riga del GC Job rimangono dei dati come  Pending Data  Significa che ci sono dei chunk più vecchi di 25 ore, che di default non pulisce.  Per forzarlo, impostare in   Options / Tuning Options / GC Access-Time cutoff: 1  Rieseguire il GC  == Riferimenti ==  * [https://forum.proxmox.com/threads/force-delete-of-pending-removals.112316/page-4#post-782781 SOLVED - Force delete of &amp;quot;Pending removals&amp;quot; | Page 4 | Proxmox...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se quando si lancia un GC, non si recupera spazio e nella riga del GC Job rimangono dei dati come&lt;br /&gt;
&lt;br /&gt;
Pending Data&lt;br /&gt;
&lt;br /&gt;
Significa che ci sono dei chunk più vecchi di 25 ore, che di default non pulisce.&lt;br /&gt;
&lt;br /&gt;
Per forzarlo, impostare in &lt;br /&gt;
&lt;br /&gt;
Options / Tuning Options / GC Access-Time cutoff: 1&lt;br /&gt;
&lt;br /&gt;
Rieseguire il GC&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://forum.proxmox.com/threads/force-delete-of-pending-removals.112316/page-4#post-782781 SOLVED - Force delete of &amp;quot;Pending removals&amp;quot; | Page 4 | Proxmox Support Forum]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Proxmox_Backup_Server&amp;diff=11464</id>
		<title>Proxmox Backup Server</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Proxmox_Backup_Server&amp;diff=11464"/>
		<updated>2026-01-15T16:45:13Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Backup di Host Fisici con PBS]]&lt;br /&gt;
*[[I backup d Proxmox Backup Server bloccano una VM o la rallentano troppo]]&lt;br /&gt;
*[[Ottimizzazione di un filesystem ZFS per Proxmox Backup Server]]&lt;br /&gt;
*[[Scaricare una immagine disco da Proxmox Backup Server e convertirla]]&lt;br /&gt;
*[[I LOG di Proxmox Backup Server occupano troppo spazio]]&lt;br /&gt;
*[[Restore di files da command line di una VM con Proxmox Backup Server]]&lt;br /&gt;
*[[Restore di un nodo cluster Proxmox VE]]&lt;br /&gt;
*[[Proxmox Backup Server non completa il Garbage Collection]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Correggere_l%27errore_the_listen_..._http2_directive_is_deprecated,_use_the_http2_directive_instead_in_nginx_proxy_manager&amp;diff=11463</id>
		<title>Correggere l&#039;errore the listen ... http2 directive is deprecated, use the http2 directive instead in nginx proxy manager</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Correggere_l%27errore_the_listen_..._http2_directive_is_deprecated,_use_the_http2_directive_instead_in_nginx_proxy_manager&amp;diff=11463"/>
		<updated>2026-01-12T11:52:04Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se all&amp;#039;avvio si vede nei log:  nginx-app  | nginx: [warn] the &amp;quot;listen ... http2&amp;quot; directive is deprecated, use the &amp;quot;http2&amp;quot; directive instead in /data/nginx/proxy_host/12.conf:19 eseguire:&amp;lt;pre&amp;gt; docker compose exec nginx.crodocker01.croalliance.priv-app \   /bin/bash -c &amp;quot;   cd /data/nginx/proxy_host &amp;amp;&amp;amp;   sed -i &amp;#039;s/listen 443 ssl http2;/listen 443 ssl;\nhttp2 on;/g&amp;#039; *.conf &amp;amp;&amp;amp;   sed -i &amp;#039;/^listen \[::\]:443 ssl http2;/s/ http2//&amp;#039; *.conf &amp;quot; \   | tee -a update.log &amp;lt;/pre&amp;gt;In prat...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se all&#039;avvio si vede nei log:&lt;br /&gt;
 nginx-app  | nginx: [warn] the &amp;quot;listen ... http2&amp;quot; directive is deprecated, use the &amp;quot;http2&amp;quot; directive instead in /data/nginx/proxy_host/12.conf:19&lt;br /&gt;
eseguire:&amp;lt;pre&amp;gt;&lt;br /&gt;
docker compose exec nginx.crodocker01.croalliance.priv-app \&lt;br /&gt;
  /bin/bash -c &amp;quot;&lt;br /&gt;
  cd /data/nginx/proxy_host &amp;amp;&amp;amp;&lt;br /&gt;
  sed -i &#039;s/listen 443 ssl http2;/listen 443 ssl;\nhttp2 on;/g&#039; *.conf &amp;amp;&amp;amp;&lt;br /&gt;
  sed -i &#039;/^listen \[::\]:443 ssl http2;/s/ http2//&#039; *.conf &amp;quot; \&lt;br /&gt;
  | tee -a update.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;In pratica cambia:&amp;lt;pre&amp;gt;&lt;br /&gt;
listen 80;&lt;br /&gt;
listen [::]:80;&lt;br /&gt;
&lt;br /&gt;
listen 443 ssl http2;&lt;br /&gt;
listen [::]:443 ssl http2;&lt;br /&gt;
&amp;lt;/pre&amp;gt;in:&amp;lt;pre&amp;gt;&lt;br /&gt;
listen 80;&lt;br /&gt;
listen [::]:80;&lt;br /&gt;
&lt;br /&gt;
listen 443 ssl;&lt;br /&gt;
http2 on;&lt;br /&gt;
listen [::]:443 ssl;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/NginxProxyManager/nginx-proxy-manager/issues/4060 use the &amp;quot;http2&amp;quot; directive instead warning · Issue #4060 · NginxProxyManager/nginx-proxy-manager]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
</feed>