<?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-05-06T00:20:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<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>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Nginx&amp;diff=11462</id>
		<title>Nginx</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Nginx&amp;diff=11462"/>
		<updated>2026-01-12T11:40:03Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Redirezionare un subfolder con Nginx Proxy Manager]]&lt;br /&gt;
*[[Impostare una pagina di manutezione in caso un servizio non sia disponibile in Nginx Proxy Manager|Impostare una pagina di manutenzione in caso un servizio non sia disponibile in Nginx Proxy Manager]]&lt;br /&gt;
*[[Debug di connessioni reverse proxy per vedere gli header di una connessione]]&lt;br /&gt;
*[[Consentire l&#039;accesso solo da alcuni indirizzi IP e mostrare una pagina di cortesia agli altri con Nginx Proxy Manager]]&lt;br /&gt;
*[[Evitare l&#039;errore 504 Gateway Time-out openresty  in Nginx Proxy Manager]]&lt;br /&gt;
*[[Correggere l&#039;errore the listen ... http2 directive is deprecated, use the http2 directive instead in nginx proxy manager]]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Elencare_tutti_i_nomi_di_un_dominio_DNS_in_samba&amp;diff=11461</id>
		<title>Elencare tutti i nomi di un dominio DNS in samba</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Elencare_tutti_i_nomi_di_un_dominio_DNS_in_samba&amp;diff=11461"/>
		<updated>2025-12-20T18:44:25Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Se si vuol fare una specie di zone dump del snd:  samba-tool dns query localhost chezmoi.priv @ ALL -U administrator  == Riferimenti ==  * [https://lists.samba.org/archive/samba/2013-April/172591.html Print all dns records of the samba4 internal DNS server]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si vuol fare una specie di zone dump del snd:&lt;br /&gt;
 samba-tool dns query localhost chezmoi.priv @ ALL -U administrator&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://lists.samba.org/archive/samba/2013-April/172591.html Print all dns records of the samba4 internal DNS server]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Samba&amp;diff=11460</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Samba&amp;diff=11460"/>
		<updated>2025-12-20T18:43:07Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Articoli==&lt;br /&gt;
*[[Installazione di Samba 4.5 AD in Debian]]&lt;br /&gt;
*[[Aggiornamento di un Domain Controller Samba]]&lt;br /&gt;
*[[Aggiungere un Domain Controller in Samba]]&lt;br /&gt;
*[[Gestione DNS con sambatool]]&lt;br /&gt;
*[[Gestione di account Linux su AD con SSSD]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Script per impostare le permission delle share utenti in samba]]&lt;br /&gt;
*[[Problemi di accesso a folder Samba con files importati da sistemi diversi]]&lt;br /&gt;
*[[Impossibile accedere alle Share Samba come Administrator Errore 80004005]]&lt;br /&gt;
*[[Aggiungere un Domain Member Server Samba]]&lt;br /&gt;
*[[Installazione di un Domain Member Server Samba]]&lt;br /&gt;
*[[Windows 10 e Windows 11 non riescono a loggarsi o non si riesce a fare il join in un dominio Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Aggiungere utenti di un dominio trustato a dei gruppi]]&lt;br /&gt;
*[[Attivare il logging di accesso ai files di Samba]]&lt;br /&gt;
*[[Browsing di due domini in due subnet separate]]&lt;br /&gt;
*[[Configurare una share Samba con accesso Guest]]&lt;br /&gt;
*[[Errore &amp;quot;SMB signing is mandatory and we have disabled it&amp;quot; quando si tenta di montare una condivisione W2k3]]&lt;br /&gt;
*[[Gestione dei Profili in Samba]]&lt;br /&gt;
*[[Impossibile accedere ad una share samba dopo un upgrade]]&lt;br /&gt;
*[[Impossibile copiare un file superiore ai 2Gb su una condivisione Samba]]&lt;br /&gt;
*[[Impossibile leggere un link in una condivisione Samba]]&lt;br /&gt;
*[[Impossibile trovare il controller di dominio]]&lt;br /&gt;
*[[Installazione Primary Domain Controller]]&lt;br /&gt;
*[[Installazione di Samba 4 AD in Debian]]&lt;br /&gt;
*[[Migrazione da Windows NT4 a Samba 3x]]&lt;br /&gt;
*[[Montare una share windows per gestire i caratteri accentati]]&lt;br /&gt;
*[[Plugin di scansione antivirus per Samba]]&lt;br /&gt;
*[[Rendere una macchina Samba Domain Member di un Dominio Windows 2000]]&lt;br /&gt;
*[[Trust di due domini Samba]]&lt;br /&gt;
*[[Upgrade da Samba3 tdbsam a Samba4 AD]]&lt;br /&gt;
*[[Winbind utilizza il 100% di CPU]]&lt;br /&gt;
*[[Windows Seven non riesce a fare il Join di un dominio Samba]]&lt;br /&gt;
*[[Cambiare il backend DNS in Samba]]&lt;br /&gt;
*[[Impossibile collegarsi ad una share Samba di un Member Server]]&lt;br /&gt;
*[[Elencare tutti i nomi di un dominio DNS in samba]]&lt;br /&gt;
&lt;br /&gt;
==Gestione Account==&lt;br /&gt;
*[[Gestione Scadenze Password]]&lt;br /&gt;
*[[Sblocco account di administrator Locked Out]]&lt;br /&gt;
*[[Gestione account Samba da command line]]&lt;br /&gt;
*[[Impossibile deselezionare &amp;quot;User Must Change Password at Next Logon&amp;quot; in User Manager]]&lt;br /&gt;
*[[Creazione dell&#039;utente Administrator in Samba]]&lt;br /&gt;
&lt;br /&gt;
==Printing==&lt;br /&gt;
*[[Configurazione di un server di stampa Samba 4 AD con CUPS]]&lt;br /&gt;
*[[Impossibile stampare via Samba su code CUPS dopo upgrade da squeeze a wheezy]]&lt;br /&gt;
*[[Impossibile visualizzare le stampanti Samba con in Debian Lenny]]&lt;br /&gt;
*[[Problemi di installazione dei driver stampanti su Samba]]&lt;br /&gt;
*[[Samba non carica le stampanti Cups al riavvio del server]]&lt;br /&gt;
&lt;br /&gt;
==Gestione Client==&lt;br /&gt;
*[[Copiare dei files da Linux su più macchine Windows con smbclient]]&lt;br /&gt;
&lt;br /&gt;
==Todo==&lt;br /&gt;
*[http://www.cisco.com/en/US/docs/app_ntwk_services/waas/waas/print_utility/troubleshooting/guide/PrntUtil.html#wp39254 Using the Print Utilities to Troubleshoot and Fix Samba Driver Installation Problems  (Cisco Wide Area Application Services (WAAS) Software) - Cisco Systems]&lt;br /&gt;
*[http://www.novell.com/communities/node/1905/how-configure-automatic-printer-driver-download-integrating-cups-and-samba How to Configure Automatic Printer Driver Download by Integrating CUPS and SAMBA | Novell User Communities]&lt;br /&gt;
*[http://wiki.samba.org/index.php/Implementing_System_Policies_with_Samba Implementing System Policies with Samba - SambaWiki]&lt;br /&gt;
*[http://www.linuxtopia.org/online_books/network_administration_guides/samba_reference_guide/18_passdb_15.html Samba Administration Guide - Domain Account Policy Managment]&lt;br /&gt;
*[http://www.richardsharpe.com/samba-stuff.html Samba Stuff]&lt;br /&gt;
&lt;br /&gt;
==LDAP==&lt;br /&gt;
*[http://techminded.net/blog/install-samba-pdc--ldap-on-debian-squeeze.html Install Samba PDC + LDAP on Debian Squeeze]&lt;br /&gt;
*[http://linsec.ca/usermgmt/openldap.php#Notes_on_Other_Software linsec.ca - Using OpenLDAP for User Authentication]&lt;br /&gt;
*[http://wiki.samba.org/index.php/Replicated_Failover_Domain_Controller_and_file_server_using_LDAP Replicated Failover Domain Controller and file server using LDAP - SambaWiki]&lt;br /&gt;
*[http://edin.no-ip.com/content/ldap-samba-pdc-pamnss-debian-lenny-howto LDAP + Samba PDC + PAM/NSS on Debian Lenny HOWTO | edin.no-ip.com]&lt;br /&gt;
*[http://www.debian-news.net/2006/09/25/howto-configure-ubuntu-for-active-directory-authentication-2/ HOWTO: Configure Ubuntu for Active Directory Authentication | Debian-News.net - Your one stop for news about Debian]&lt;br /&gt;
*[http://www.debuntu.org/ldap-server-and-linux-ldap-clients How-To set up a LDAP server and its clients | Debian/Ubuntu Tips &amp;amp; Tricks]&lt;br /&gt;
*[http://stefano.dscnet.org/howto/samba-pdc-ldap-kerberos/node2.html Samba PDC con LDAP e Kerberos]&lt;br /&gt;
*[http://www.padl.com/OSS/MigrationTools.html PADL http://www.padl.com/OSS/MigrationTools.htmlMigrationtools]&lt;br /&gt;
*[http://www.howtoforge.com/openldap-samba-domain-controller-ubuntu7.10 OpenLDAP + Samba Domain Controller On Ubuntu 7.10 | HowtoForge - Linux Howtos and Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Tools di gestione==&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?FamilyId=C0011AB8-3178-4701-A791-EAFBA0F42DE2&amp;amp;displaylang=en Download details: User Manager for Domains (UsrMgr.exe) from Windows 2003 Resource Kit]&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?FamilyId=66B4A40C-04F9-41FC-8BC2-5047C7117D1C&amp;amp;displaylang=en Download details: Server Manager (SrvMgr.exe) from Windows 2003 Resource Kit]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Samba&amp;diff=11459</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Samba&amp;diff=11459"/>
		<updated>2025-12-20T18:42:49Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Articoli==&lt;br /&gt;
*[[Installazione di Samba 4.5 AD in Debian]]&lt;br /&gt;
*[[Aggiornamento di un Domain Controller Samba]]&lt;br /&gt;
*[[Aggiungere un Domain Controller in Samba]]&lt;br /&gt;
*[[Gestione DNS con sambatool]]&lt;br /&gt;
*[[Gestione di account Linux su AD con SSSD]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Script per impostare le permission delle share utenti in samba]]&lt;br /&gt;
*[[Problemi di accesso a folder Samba con files importati da sistemi diversi]]&lt;br /&gt;
*[[Impossibile accedere alle Share Samba come Administrator Errore 80004005]]&lt;br /&gt;
*[[Aggiungere un Domain Member Server Samba]]&lt;br /&gt;
*[[Installazione di un Domain Member Server Samba]]&lt;br /&gt;
*[[Windows 10 e Windows 11 non riescono a loggarsi o non si riesce a fare il join in un dominio Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Aggiungere utenti di un dominio trustato a dei gruppi]]&lt;br /&gt;
*[[Attivare il logging di accesso ai files di Samba]]&lt;br /&gt;
*[[Browsing di due domini in due subnet separate]]&lt;br /&gt;
*[[Configurare una share Samba con accesso Guest]]&lt;br /&gt;
*[[Errore &amp;quot;SMB signing is mandatory and we have disabled it&amp;quot; quando si tenta di montare una condivisione W2k3]]&lt;br /&gt;
*[[Gestione dei Profili in Samba]]&lt;br /&gt;
*[[Impossibile accedere ad una share samba dopo un upgrade]]&lt;br /&gt;
*[[Impossibile copiare un file superiore ai 2Gb su una condivisione Samba]]&lt;br /&gt;
*[[Impossibile leggere un link in una condivisione Samba]]&lt;br /&gt;
*[[Impossibile trovare il controller di dominio]]&lt;br /&gt;
*[[Installazione Primary Domain Controller]]&lt;br /&gt;
*[[Installazione di Samba 4 AD in Debian]]&lt;br /&gt;
*[[Migrazione da Windows NT4 a Samba 3x]]&lt;br /&gt;
*[[Montare una share windows per gestire i caratteri accentati]]&lt;br /&gt;
*[[Plugin di scansione antivirus per Samba]]&lt;br /&gt;
*[[Rendere una macchina Samba Domain Member di un Dominio Windows 2000]]&lt;br /&gt;
*[[Trust di due domini Samba]]&lt;br /&gt;
*[[Upgrade da Samba3 tdbsam a Samba4 AD]]&lt;br /&gt;
*[[Winbind utilizza il 100% di CPU]]&lt;br /&gt;
*[[Windows Seven non riesce a fare il Join di un dominio Samba]]&lt;br /&gt;
*[[Cambiare il backend DNS in Samba]]&lt;br /&gt;
*[[Impossibile collegarsi ad una share Samba di un Member Server]]&lt;br /&gt;
*[[elencare tutti i nomi di un dominio DNS in samba]]&lt;br /&gt;
&lt;br /&gt;
==Gestione Account==&lt;br /&gt;
*[[Gestione Scadenze Password]]&lt;br /&gt;
*[[Sblocco account di administrator Locked Out]]&lt;br /&gt;
*[[Gestione account Samba da command line]]&lt;br /&gt;
*[[Impossibile deselezionare &amp;quot;User Must Change Password at Next Logon&amp;quot; in User Manager]]&lt;br /&gt;
*[[Creazione dell&#039;utente Administrator in Samba]]&lt;br /&gt;
&lt;br /&gt;
==Printing==&lt;br /&gt;
*[[Configurazione di un server di stampa Samba 4 AD con CUPS]]&lt;br /&gt;
*[[Impossibile stampare via Samba su code CUPS dopo upgrade da squeeze a wheezy]]&lt;br /&gt;
*[[Impossibile visualizzare le stampanti Samba con in Debian Lenny]]&lt;br /&gt;
*[[Problemi di installazione dei driver stampanti su Samba]]&lt;br /&gt;
*[[Samba non carica le stampanti Cups al riavvio del server]]&lt;br /&gt;
&lt;br /&gt;
==Gestione Client==&lt;br /&gt;
*[[Copiare dei files da Linux su più macchine Windows con smbclient]]&lt;br /&gt;
&lt;br /&gt;
==Todo==&lt;br /&gt;
*[http://www.cisco.com/en/US/docs/app_ntwk_services/waas/waas/print_utility/troubleshooting/guide/PrntUtil.html#wp39254 Using the Print Utilities to Troubleshoot and Fix Samba Driver Installation Problems  (Cisco Wide Area Application Services (WAAS) Software) - Cisco Systems]&lt;br /&gt;
*[http://www.novell.com/communities/node/1905/how-configure-automatic-printer-driver-download-integrating-cups-and-samba How to Configure Automatic Printer Driver Download by Integrating CUPS and SAMBA | Novell User Communities]&lt;br /&gt;
*[http://wiki.samba.org/index.php/Implementing_System_Policies_with_Samba Implementing System Policies with Samba - SambaWiki]&lt;br /&gt;
*[http://www.linuxtopia.org/online_books/network_administration_guides/samba_reference_guide/18_passdb_15.html Samba Administration Guide - Domain Account Policy Managment]&lt;br /&gt;
*[http://www.richardsharpe.com/samba-stuff.html Samba Stuff]&lt;br /&gt;
&lt;br /&gt;
==LDAP==&lt;br /&gt;
*[http://techminded.net/blog/install-samba-pdc--ldap-on-debian-squeeze.html Install Samba PDC + LDAP on Debian Squeeze]&lt;br /&gt;
*[http://linsec.ca/usermgmt/openldap.php#Notes_on_Other_Software linsec.ca - Using OpenLDAP for User Authentication]&lt;br /&gt;
*[http://wiki.samba.org/index.php/Replicated_Failover_Domain_Controller_and_file_server_using_LDAP Replicated Failover Domain Controller and file server using LDAP - SambaWiki]&lt;br /&gt;
*[http://edin.no-ip.com/content/ldap-samba-pdc-pamnss-debian-lenny-howto LDAP + Samba PDC + PAM/NSS on Debian Lenny HOWTO | edin.no-ip.com]&lt;br /&gt;
*[http://www.debian-news.net/2006/09/25/howto-configure-ubuntu-for-active-directory-authentication-2/ HOWTO: Configure Ubuntu for Active Directory Authentication | Debian-News.net - Your one stop for news about Debian]&lt;br /&gt;
*[http://www.debuntu.org/ldap-server-and-linux-ldap-clients How-To set up a LDAP server and its clients | Debian/Ubuntu Tips &amp;amp; Tricks]&lt;br /&gt;
*[http://stefano.dscnet.org/howto/samba-pdc-ldap-kerberos/node2.html Samba PDC con LDAP e Kerberos]&lt;br /&gt;
*[http://www.padl.com/OSS/MigrationTools.html PADL http://www.padl.com/OSS/MigrationTools.htmlMigrationtools]&lt;br /&gt;
*[http://www.howtoforge.com/openldap-samba-domain-controller-ubuntu7.10 OpenLDAP + Samba Domain Controller On Ubuntu 7.10 | HowtoForge - Linux Howtos and Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Tools di gestione==&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?FamilyId=C0011AB8-3178-4701-A791-EAFBA0F42DE2&amp;amp;displaylang=en Download details: User Manager for Domains (UsrMgr.exe) from Windows 2003 Resource Kit]&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?FamilyId=66B4A40C-04F9-41FC-8BC2-5047C7117D1C&amp;amp;displaylang=en Download details: Server Manager (SrvMgr.exe) from Windows 2003 Resource Kit]&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=11458</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=11458"/>
		<updated>2025-12-16T19:25:22Z</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-6.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=Aggiornamento_da_Debian_12_Bookworm_a_Debian_13_Trixie&amp;diff=11457</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=11457"/>
		<updated>2025-12-16T19:24:56Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: /* Nfs */&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-6.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=Aggiornamento_da_Debian_12_Bookworm_a_Debian_13_Trixie&amp;diff=11456</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=11456"/>
		<updated>2025-12-16T19:12:01Z</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/gw&#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-6.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=Inviare_i_log_da_Pfsense_a_Graylog&amp;diff=11455</id>
		<title>Inviare i log da Pfsense a Graylog</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Inviare_i_log_da_Pfsense_a_Graylog&amp;diff=11455"/>
		<updated>2025-12-16T19:01:59Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;== Pfsense: ==  * Status &amp;gt; System Logs &amp;gt; Settings  * General Logging Options &amp;gt; Log Message Format: Syslog [https://datatracker.ietf.org/doc/html/rfc5424 RFC 5424] * Remote Logging Options &amp;gt; Enable Remote Logging [x] * Remote Log Server 192.168.10.105:1514 * Everything [x]  == Graylog ==  * System &amp;gt; Inputs * Launch new Input &amp;gt; Syslog UDP &amp;gt; Port 1514  == Riferimenti ==  * [https://docs.netgate.com/pfsense/en/latest/monitoring/logs/remote.html Remote Logging with Syslog | p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pfsense: ==&lt;br /&gt;
&lt;br /&gt;
* Status &amp;gt; System Logs &amp;gt; Settings &lt;br /&gt;
* General Logging Options &amp;gt; Log Message Format: Syslog [https://datatracker.ietf.org/doc/html/rfc5424 RFC 5424]&lt;br /&gt;
* Remote Logging Options &amp;gt; Enable Remote Logging [x]&lt;br /&gt;
* Remote Log Server 192.168.10.105:1514&lt;br /&gt;
* Everything [x]&lt;br /&gt;
&lt;br /&gt;
== Graylog ==&lt;br /&gt;
&lt;br /&gt;
* System &amp;gt; Inputs&lt;br /&gt;
* Launch new Input &amp;gt; Syslog UDP &amp;gt; Port 1514&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.netgate.com/pfsense/en/latest/monitoring/logs/remote.html Remote Logging with Syslog | pfSense Documentation]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Pfsense&amp;diff=11454</id>
		<title>Pfsense</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Pfsense&amp;diff=11454"/>
		<updated>2025-12-16T18:55:08Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Installare pfSense come Virtual Machine Proxmox]]&lt;br /&gt;
*[[Abilitare FTP client con pfSense]]&lt;br /&gt;
*[[Impostare limiti per traffico su specifiche porte in pfSense]]&lt;br /&gt;
*[[Utilizzare un certificato SSL Letsencrypt per la GUI di pfSense]]&lt;br /&gt;
*[[Configurare una VPN site to site tra pfSense ed una macchina Linux con OpenVPN]]&lt;br /&gt;
*[[Netgate SG-1100 non parte e rimane con il led che lampeggia]]&lt;br /&gt;
*[[Reverse proxy NGINX con OPNsense]]&lt;br /&gt;
*[[Aggiornamento di release di OPNsense]]&lt;br /&gt;
*[[Configurare una VPN IPSEC tra pfSense e Watchguard]]&lt;br /&gt;
*[[Utilizzare un certificato letsencrypt per PFSense usando la challegne DNS nsupdate con Bind]]&lt;br /&gt;
*[[Riavviare un servizio PFSense da shell]]&lt;br /&gt;
*[[PFsense non si aggiorna Errore pkg-static: An error occured while fetching package pkg-static:|pFsense non si aggiorna Errore pkg-static: An error occured while fetching package pkg-static]]&lt;br /&gt;
*[[Disabilitare il firewall di pfSense  e verificare la porta della web gui da command line]]&lt;br /&gt;
*[[Consentire l&#039;accesso alla Gui di Pfsense in caso di certificato SSL scaduto e HSTS attivo]]&lt;br /&gt;
*[[Abilitazione del login 2FA in Pfsense]]&lt;br /&gt;
*[[Blocco dell&#039;accesso a siti tramite pfBlockerNG]]&lt;br /&gt;
*[[Dopo l&#039;aggiornamento a Pfsense 2.8 Squid non parte più]]&lt;br /&gt;
*[[Inviare i log da Pfsense a Graylog]]&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=11453</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=11453"/>
		<updated>2025-12-16T13:33:24Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &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/gw&#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;
* 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-6.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=In_Docker_non_funziona_l%27healthcheck_di_MariaDB&amp;diff=11452</id>
		<title>In Docker non funziona l&#039;healthcheck di MariaDB</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=In_Docker_non_funziona_l%27healthcheck_di_MariaDB&amp;diff=11452"/>
		<updated>2025-12-09T12:45:45Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se l&#039;healthcheck non funziona e se si prova da shell del container, e à errore:&amp;lt;pre&amp;gt;&lt;br /&gt;
healthcheck.sh --connect --innodb_initialized&lt;br /&gt;
&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)&lt;br /&gt;
&amp;lt;/pre&amp;gt;Il problema è che il database è stato creato con una vecchia versione di mysql o mariadb, e non ha la configurazione corretta per eseguire il check.&lt;br /&gt;
&lt;br /&gt;
In particolare, manca l&#039;utente mariadb healthcheck ed il file di configurazione ..my-healthcheck.cnf da cui lo script legge i datio di autenticazione.&lt;br /&gt;
&lt;br /&gt;
* Creare gli user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mariadb -u root -p$MARIADB_ROOT_PASSWORD&lt;br /&gt;
&lt;br /&gt;
CREATE USER healthcheck@&#039;127.0.0.1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
CREATE USER healthcheck@&#039;::1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
CREATE USER healthcheck@localhost IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
&lt;br /&gt;
QUIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Creare il config file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /var/lib/mysql/.my-healthcheck.cnf &amp;lt;&amp;lt;EOFile&lt;br /&gt;
[mariadb-client]&lt;br /&gt;
port=3306&lt;br /&gt;
socket=/run/mysqld/mysqld.sock&lt;br /&gt;
user=healthcheck&lt;br /&gt;
password=healthCheckConnectPassEscaped&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ora funziona:&lt;br /&gt;
 healthcheck.sh --connect --innodb_initialized&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://stackoverflow.com/questions/76249051/mariadb-docker-access-denied-error-with-healthcheck-script-when-root-password-is MariaDB docker access denied error with healthcheck script when root password is set, even with MARIADB_MYSQL_LOCALHOST_USER? - Stack Overflow]&lt;br /&gt;
* [https://github.com/MariaDB/mariadb-docker/issues/512#issuecomment-1611018543 latest tag 1:11.0.2+maria~ubu2204 - mysql command is gone · Issue #512 · MariaDB/mariadb-docker]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Impossibile_connettersi_ad_un_server_SSH_obsoleto&amp;diff=11451</id>
		<title>Impossibile connettersi ad un server SSH obsoleto</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Impossibile_connettersi_ad_un_server_SSH_obsoleto&amp;diff=11451"/>
		<updated>2025-12-05T11:33:55Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se si tenta di connettersi ad un server SSH obsoleto e si ottiene un errore del tipo:&lt;br /&gt;
 Unable to negotiate with 192.168.0.100 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss&lt;br /&gt;
bisogna forzare l&#039;uso di chiavi obsolete.&lt;br /&gt;
&lt;br /&gt;
Da command line, aggiungere le opzioni:&lt;br /&gt;
 -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa&lt;br /&gt;
Se si usa rsync, aggiungere:&lt;br /&gt;
 -e &amp;quot;ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa&amp;quot;&lt;br /&gt;
Se si vuole impostare per tutti i client:&lt;br /&gt;
 vi ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
 HostKeyAlgorithms       +ssh-rsa&lt;br /&gt;
 PubkeyAcceptedKeyTypes  +ssh-rsa&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Installazione_di_Guacamole_con_Docker&amp;diff=11450</id>
		<title>Installazione di Guacamole con Docker</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Installazione_di_Guacamole_con_Docker&amp;diff=11450"/>
		<updated>2025-11-21T11:31:03Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* La documentazione docker è qui https://github.com/apache/guacamole-manual/blob/main/src/guacamole-docker.md&lt;br /&gt;
&lt;br /&gt;
== Con repository GIT ==&lt;br /&gt;
&lt;br /&gt;
* Leggere &lt;br /&gt;
&lt;br /&gt;
 Readme.md&lt;br /&gt;
&lt;br /&gt;
* Customizzare &lt;br /&gt;
&lt;br /&gt;
 .env&lt;br /&gt;
&lt;br /&gt;
* Lanciare&lt;br /&gt;
&lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
== Con DB MySQL / MariaDB ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt;&#039;EOFile&#039;&lt;br /&gt;
services:&lt;br /&gt;
&lt;br /&gt;
  guacamole-frontend:&lt;br /&gt;
    image: guacamole/guacamole:latest&lt;br /&gt;
    container_name: guacamole-frontend&lt;br /&gt;
    depends_on:&lt;br /&gt;
     - guacamole-guacd&lt;br /&gt;
     - guacamole-db&lt;br /&gt;
    environment:&lt;br /&gt;
      - GUACD_HOSTNAME=guacamole-guacd&lt;br /&gt;
      - MYSQL_HOSTNAME=guacamole-db&lt;br /&gt;
      - MYSQL_DATABASE=guacamole_db&lt;br /&gt;
      - MYSQL_USER=guacamole_user&lt;br /&gt;
      - MYSQL_PASSWORD=guacamole_pass&lt;br /&gt;
      - WEBAPP_CONTEXT=ROOT&lt;br /&gt;
      - UID=1001&lt;br /&gt;
      - GID=1001&lt;br /&gt;
      # Put additional extension here directly in extensions/&lt;br /&gt;
      # for example, for Branding the login screen:&lt;br /&gt;
      # https://github.com/Zer0CoolX/guacamole-customize-loginscreen-extension&lt;br /&gt;
      # Download, edit files on the jar/zip file and upload&lt;br /&gt;
      - GUACAMOLE_HOME=/guacamole_home&lt;br /&gt;
      # mkdir guacamole_home/; chown 1001:1001 guacamole_home/&lt;br /&gt;
      # These extensions are builtin in the image, and activated by this var&lt;br /&gt;
      #- EXTENSIONS=&amp;quot;auth-ldap,auth-totp,history-recording-storage&amp;quot;&lt;br /&gt;
      # To allow remote ip logging for session behind reverse proxy&lt;br /&gt;
      - REMOTE_IP_VALVE_ENABLED=true&lt;br /&gt;
    volumes:&lt;br /&gt;
     - ./drive:/drive:rw&lt;br /&gt;
     - ./guacamole_home:/guacamole_home&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8080:8080/tcp&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
  guacamole-guacd:&lt;br /&gt;
    image: guacamole/guacd:latest&lt;br /&gt;
    container_name: guacamole-guacd&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    volumes:&lt;br /&gt;
     - ./drive:/drive:rw&lt;br /&gt;
     - ./record:/record:rw&lt;br /&gt;
&lt;br /&gt;
  guacamole-db:&lt;br /&gt;
    image: mariadb:11.2-jammy&lt;br /&gt;
    container_name: guacamole-db&lt;br /&gt;
    environment:&lt;br /&gt;
     - MYSQL_ROOT_PASSWORD=root&lt;br /&gt;
     - MYSQL_DATABASE=guacamole_db&lt;br /&gt;
     - MYSQL_USER=guacamole_user&lt;br /&gt;
     - MYSQL_PASSWORD=guacamole_pass&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    volumes:&lt;br /&gt;
     - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d:ro&lt;br /&gt;
     - ./mysql:/var/lib/mysql&lt;br /&gt;
     #- ./mysql-init.sql:/tmp/mysql-init.sql&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Con DB Postgresql ==&lt;br /&gt;
* Creare docker-compose.yml&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.9&#039;&lt;br /&gt;
&lt;br /&gt;
# services&lt;br /&gt;
services:&lt;br /&gt;
  # guacd&lt;br /&gt;
  guacd:&lt;br /&gt;
    container_name: guacamole_backend&lt;br /&gt;
    image: guacamole/guacd:latest&lt;br /&gt;
    restart: always&lt;br /&gt;
    volumes:&lt;br /&gt;
    - ./drive:/drive:rw&lt;br /&gt;
    - ./record:/record:rw&lt;br /&gt;
&lt;br /&gt;
  # postgres&lt;br /&gt;
  postgres:&lt;br /&gt;
    container_name: guacamole_database&lt;br /&gt;
    environment:&lt;br /&gt;
      PGDATA: /var/lib/postgresql/data/guacamole&lt;br /&gt;
      POSTGRES_DB: guacamole_db&lt;br /&gt;
      POSTGRES_PASSWORD: &#039;${POSTGRES_PASSWORD}&#039;&lt;br /&gt;
      POSTGRES_USER: &#039;${POSTGRES_USER}&#039;&lt;br /&gt;
    image: postgres:13.4&lt;br /&gt;
    restart: always&lt;br /&gt;
    volumes:&lt;br /&gt;
    - ./init:/docker-entrypoint-initdb.d:ro&lt;br /&gt;
    - ./data:/var/lib/postgresql/data:rw&lt;br /&gt;
    &lt;br /&gt;
  # guacamole&lt;br /&gt;
  guacamole:&lt;br /&gt;
    container_name: guacamole_frontend&lt;br /&gt;
    depends_on:&lt;br /&gt;
    - guacd&lt;br /&gt;
    - postgres&lt;br /&gt;
    environment:&lt;br /&gt;
      GUACD_HOSTNAME: guacd&lt;br /&gt;
      POSTGRES_DATABASE: guacamole_db&lt;br /&gt;
      POSTGRES_HOSTNAME: postgres&lt;br /&gt;
      POSTGRES_PASSWORD: &#039;${POSTGRES_PASSWORD}&#039;&lt;br /&gt;
      POSTGRES_USER: &#039;${POSTGRES_USER}&#039;&lt;br /&gt;
      POSTGRESQL_AUTO_CREATE_ACCOUNTS: true&lt;br /&gt;
      WEBAPP_CONTEXT=ROOT # to access as /&lt;br /&gt;
      WEBAPP_CONTEXT=remote # to access as /remote&lt;br /&gt;
&lt;br /&gt;
    image: guacamole/guacamole:latest&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8888:8080/tcp&lt;br /&gt;
    links:&lt;br /&gt;
    - guacd&lt;br /&gt;
    restart: always&lt;br /&gt;
    volumes:&lt;br /&gt;
    - ./drive:/drive:rw&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Creare il file contente a password di postgres:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; .env &amp;lt;&amp;lt;EOFile&lt;br /&gt;
POSTGRES_PASSWORD=&#039;PleasePutAStrongPasswordHere&#039;&lt;br /&gt;
POSTGRES_USER=&#039;guacamole_user&#039;&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Creare il file di inizializzazione del DB&lt;br /&gt;
&lt;br /&gt;
 mkdir init&lt;br /&gt;
 docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres &amp;gt; init/initdb.sql&lt;br /&gt;
&lt;br /&gt;
* Lanciare&lt;br /&gt;
 docker compose up&lt;br /&gt;
&lt;br /&gt;
* Loggarsi su http://myhostname:8888/guacamole con&lt;br /&gt;
 guacadmin&lt;br /&gt;
 guacadmin&lt;br /&gt;
&lt;br /&gt;
* Per cambiare la password, andare su Opzioni/Preferenze&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;br /&gt;
*[https://theko2fi.medium.com/apache-guacamole-manual-installation-with-docker-compose-222cef1894e3 Apache Guacamole: manual installation with docker-compose | by Kenneth KOFFI | Feb, 2023 | Medium]&lt;br /&gt;
*[https://dae.me/blog/2572/apache-guacamole-how-to-change-the-default-url-path-guacamole-to-something-else/ Apache Guacamole: how to change the default URL path (/guacamole) to something else | Dae’s blog]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Branding_della_login_page_di_Guacamole&amp;diff=11449</id>
		<title>Branding della login page di Guacamole</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Branding_della_login_page_di_Guacamole&amp;diff=11449"/>
		<updated>2025-11-21T11:29:35Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Da repository GIT ==&lt;br /&gt;
Seguire le istruzioni lanciando &lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
== Impostazione in docker-compose.yml ==&lt;br /&gt;
&lt;br /&gt;
* Aggiungere nel service guacamole-frontend:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    environment:&lt;br /&gt;
      # ....&lt;br /&gt;
      - TOTP_ISSUER=Acme Corp&lt;br /&gt;
      - UID=1001&lt;br /&gt;
      - GID=1001&lt;br /&gt;
      # Put additional extension here directly in extensions/&lt;br /&gt;
      # for example, for Branding the login screen:&lt;br /&gt;
      # https://github.com/Zer0CoolX/guacamole-customize-loginscreen-extension&lt;br /&gt;
      # Download, edit files on the jar/zip file and upload&lt;br /&gt;
      # mkdir guacamole_home/; chown 1001:1001 guacamole_home/&lt;br /&gt;
      - GUACAMOLE_HOME=/guacamole_home&lt;br /&gt;
    volumes:&lt;br /&gt;
      # ...&lt;br /&gt;
      - ./guacamole_home:/guacamole_home&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Creare la directory, copiare il file e settare le permission:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p guacamole_home/extensions&lt;br /&gt;
cd guacamole_home/extensions&lt;br /&gt;
wget https://raw.githubusercontent.com/Zer0CoolX/guacamole-customize-loginscreen-extension/refs/heads/master/branding.jar&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R 1001:1001 guacamole_home/;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Riavviare il container e vedere se prende la personalizzazione (TITLE HERE)&lt;br /&gt;
&lt;br /&gt;
== Customizzazione ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://raw.githubusercontent.com/Zer0CoolX/guacamole-customize-loginscreen-extension/refs/heads/master/branding.jar&lt;br /&gt;
mkdir branding&lt;br /&gt;
cd branding&lt;br /&gt;
unzip ../branding.jar &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Cambiare il titolo:&lt;br /&gt;
&lt;br /&gt;
 vi translations/en.json&lt;br /&gt;
&lt;br /&gt;
* Sostituire il logo con quello corretto di &#039;&#039;&#039;&amp;lt;u&amp;gt;dimensione 500x200 pixel&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 images/logo-placeholder.png&lt;br /&gt;
&lt;br /&gt;
* creare il nuovo file -jar&lt;br /&gt;
&lt;br /&gt;
 zip -rv branding.jar *&lt;br /&gt;
&lt;br /&gt;
* Caricarlo in &lt;br /&gt;
&lt;br /&gt;
 guacamole_home/extensions&lt;br /&gt;
&lt;br /&gt;
* Riavviare il container&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Zer0CoolX/guacamole-customize-loginscreen-extension/tree/master Zer0CoolX/guacamole-customize-loginscreen-extension: An Apache Guacamole extension to use as a template for customizing or branding the login page.]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Attivare_phpinfo_in_Nextcloud&amp;diff=11448</id>
		<title>Attivare phpinfo in Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Attivare_phpinfo_in_Nextcloud&amp;diff=11448"/>
		<updated>2025-11-07T14:51:10Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: Created page with &amp;quot;Da NC 28 è possibile attivare una pagina phpinfo ad accesso autenticato raggiungibile da Administration Settings / System lanciando:  ./occ config:app:set --value=yes serverinfo phpinfo  == Riferimenti ==  * [https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#php-version-and-information General troubleshooting — Nextcloud latest Administration Manual latest documentation]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Da NC 28 è possibile attivare una pagina phpinfo ad accesso autenticato raggiungibile da Administration Settings / System lanciando:&lt;br /&gt;
 ./occ config:app:set --value=yes serverinfo phpinfo&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#php-version-and-information General troubleshooting — Nextcloud latest Administration Manual latest documentation]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Nextcloud&amp;diff=11447</id>
		<title>Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Nextcloud&amp;diff=11447"/>
		<updated>2025-11-07T14:48:47Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Sincronizzazione Calendario e Contatti tra Thunderbird e Nextcloud]]&lt;br /&gt;
*[[Nextcloud con immagine Docker]]&lt;br /&gt;
*[[Reset del blocco brute force per tentativi falliti di login in Nextcloud]]&lt;br /&gt;
*[[Migrazione da Owncloud a Nextcloud]]&lt;br /&gt;
*[[Disinstallare e reinstallare completamente un&#039;applicazione in Nextcloud]]&lt;br /&gt;
*[[Convertire il DB di Nextcloud da Mysql a PostgeSQL]]&lt;br /&gt;
*[[Attivare phpinfo in Nextcloud]]&lt;br /&gt;
&lt;br /&gt;
= Abilitare login imap=&lt;br /&gt;
 cd /var/www/nextcloud&lt;br /&gt;
 sudo -u www-data /usr/bin/php occ app:install user_external &lt;br /&gt;
Nel caso non sia compatibile con la versione attuale, verificare sul github e forzare l&#039;installazione con &lt;br /&gt;
 occ app:install user_external --force&lt;br /&gt;
&lt;br /&gt;
* Configurare&lt;br /&gt;
&lt;br /&gt;
 vi config/config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &#039;user_backends&#039; =&amp;gt;&lt;br /&gt;
  array (&lt;br /&gt;
    0 =&amp;gt;&lt;br /&gt;
    array (&lt;br /&gt;
      &#039;class&#039; =&amp;gt; &#039;\\OCA\\UserExternal\\IMAP&#039;,&lt;br /&gt;
      &#039;arguments&#039; =&amp;gt;&lt;br /&gt;
      array (&lt;br /&gt;
        0 =&amp;gt; &#039;assistenza.rvmgroup.it&#039;,&lt;br /&gt;
        1 =&amp;gt; 993,&lt;br /&gt;
        2 =&amp;gt; &#039;ssl&#039;,&lt;br /&gt;
        3 =&amp;gt; &#039;&#039;,&lt;br /&gt;
        4 =&amp;gt; false,&lt;br /&gt;
        5 =&amp;gt; false,&lt;br /&gt;
      ),&lt;br /&gt;
    ),&lt;br /&gt;
  ),&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Abilitare cache minimale=&lt;br /&gt;
 vi config/config.php&lt;br /&gt;
&lt;br /&gt;
 &#039;memcache.local&#039; =&amp;gt; &#039;\OC\Memcache\APCu&#039;,&lt;br /&gt;
&lt;br /&gt;
= Abilitare well-known caldav e carddav =&lt;br /&gt;
Se si installa in /nextcloud, occorre impostare questo&lt;br /&gt;
&lt;br /&gt;
 Your web server is not properly set up to resolve “/.well-known/caldav”. Further information can be found in the documentation 27.&lt;br /&gt;
&lt;br /&gt;
Edit File:&lt;br /&gt;
 vi /etc/apache2/sites-enabled/default-ssl.conf&lt;br /&gt;
&lt;br /&gt;
Add lines between &amp;lt;/VirtualHost&amp;gt; and &amp;lt;/IfModule&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Directory /var/www/nextcloud&amp;gt;&lt;br /&gt;
     AllowOverride All&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav&lt;br /&gt;
 Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 vi config/config.php&lt;br /&gt;
&lt;br /&gt;
  &#039;overwrite.cli.url&#039; =&amp;gt; &#039;https://server.example.com/nextcloud&#039;,&lt;br /&gt;
  &#039;htaccess.RewriteBase&#039; =&amp;gt; &#039;/nextcloud&#039;,&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php occ maintenance:update:htaccess&lt;br /&gt;
&lt;br /&gt;
=Impostazione PHP Memory limit=&lt;br /&gt;
* Questa modifica va fatta ad ogni upgrade:&lt;br /&gt;
&lt;br /&gt;
 vi .htaccess&lt;br /&gt;
&lt;br /&gt;
 php_value post_max_size 512M&lt;br /&gt;
 php_value memory_limit 512M&lt;br /&gt;
&lt;br /&gt;
=Impostazione HSTS header=&lt;br /&gt;
* Questa modifica va fatta ad ogni upgrade:&lt;br /&gt;
&lt;br /&gt;
 vi .htaccess&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
   Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Impostazione cron job=&lt;br /&gt;
&lt;br /&gt;
 vi /etc/cron.d/nextcloud&lt;br /&gt;
&lt;br /&gt;
 */15  *  *  *  * www-data       cd /var/www/nextcloud/ &amp;amp;&amp;amp; /usr/bin/php --define apc.enable_cli=1 -f /var/www/nextcloud/cron.php&lt;br /&gt;
&lt;br /&gt;
=Esecuzione occ=&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/nextcloud/ &amp;amp;&amp;amp; sudo -u www-data php --define apc.enable_cli=1 occ command:to:execute&lt;br /&gt;
&lt;br /&gt;
= Upgrade =&lt;br /&gt;
&lt;br /&gt;
 cd  /var/www/nextcloud/ &amp;amp;&amp;amp; sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/updater/updater.phar&lt;br /&gt;
&lt;br /&gt;
 cd  /var/www/nextcloud/ &amp;amp;&amp;amp; sudo -u www-data php --define apc.enable_cli=1 occ upgrade&lt;br /&gt;
&lt;br /&gt;
=Ottenere l&#039;ultima versione di nextcloud con uo script=&lt;br /&gt;
 wget -q -O - https://download.nextcloud.com/server/releases/ | grep -v latest | grep &#039;.zip&amp;lt;&#039;| cut -f 7 --delimiter=&#039;&amp;gt;&#039;| cut -f 1 --delimiter=&#039;&amp;lt;&#039; | cut -f 2 --delimiter=&#039;-&#039; | sed -e &#039;s/.zip//&#039; | sort -n | tail -n1&lt;br /&gt;
&lt;br /&gt;
 22.1.1&lt;br /&gt;
&lt;br /&gt;
=Riferimenti=&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=In_Docker_non_funziona_l%27healthcheck_di_MariaDB&amp;diff=11446</id>
		<title>In Docker non funziona l&#039;healthcheck di MariaDB</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=In_Docker_non_funziona_l%27healthcheck_di_MariaDB&amp;diff=11446"/>
		<updated>2025-11-03T12:32:52Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se l&#039;healthcheck non funziona e se si prova da shell del container, e à errore:&amp;lt;pre&amp;gt;&lt;br /&gt;
healthcheck.sh --connect --innodb_initialized&lt;br /&gt;
&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)&lt;br /&gt;
&amp;lt;/pre&amp;gt;Il problema è che il database è stato creato con una vecchia versione di mysql o mariadb, e non ha la configurazione corretta per eseguire il check.&lt;br /&gt;
&lt;br /&gt;
In particolare, manca l&#039;utente mariadb healthcheck ed il file di configurazione ..my-healthcheck.cnf da cui lo script legge i datio di autenticazione.&lt;br /&gt;
&lt;br /&gt;
* Creare gli user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mariadb -u root -p$MARIADB_ROOT_PASSWORD&lt;br /&gt;
&lt;br /&gt;
CREATE USER healthcheck@&#039;127.0.0.1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
CREATE USER healthcheck@&#039;::1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
CREATE USER healthcheck@localhost IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
&lt;br /&gt;
QUIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Creare il config file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /var/lib/mysql/.my-healthcheck.cnf &amp;lt;&amp;lt;EOFile&lt;br /&gt;
[mariadb-client]&lt;br /&gt;
port=3306&lt;br /&gt;
socket=/run/mysqld/mysqld.sock&lt;br /&gt;
user=healthcheck&lt;br /&gt;
password=healthCheckConnectPassEscaped&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ora funziona:&lt;br /&gt;
&lt;br /&gt;
healthcheck.sh --connect --innodb_initialized&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://stackoverflow.com/questions/76249051/mariadb-docker-access-denied-error-with-healthcheck-script-when-root-password-is MariaDB docker access denied error with healthcheck script when root password is set, even with MARIADB_MYSQL_LOCALHOST_USER? - Stack Overflow]&lt;br /&gt;
* [https://github.com/MariaDB/mariadb-docker/issues/512#issuecomment-1611018543 latest tag 1:11.0.2+maria~ubu2204 - mysql command is gone · Issue #512 · MariaDB/mariadb-docker]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=In_Docker_non_funziona_l%27healthcheck_di_MariaDB&amp;diff=11445</id>
		<title>In Docker non funziona l&#039;healthcheck di MariaDB</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=In_Docker_non_funziona_l%27healthcheck_di_MariaDB&amp;diff=11445"/>
		<updated>2025-11-03T12:29:00Z</updated>

		<summary type="html">&lt;p&gt;Gabriele.vivinetto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se l&#039;healthcheck non funziona e se si prova da shell del container, e à errore:&amp;lt;pre&amp;gt;&lt;br /&gt;
healthcheck.sh --connect --innodb_initialized&lt;br /&gt;
&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)&lt;br /&gt;
&amp;lt;/pre&amp;gt;Il problema è che il database è stato creato con una vecchia versione di mysql o mariadb, e non ha la configurazione corretta per eseguire il check.&lt;br /&gt;
&lt;br /&gt;
In particolare, manca l&#039;utente mariadb healthcheck ed il file di configurazione ..my-healthcheck.cnf da cui lo script legge i datio di autenticazione.&lt;br /&gt;
&lt;br /&gt;
* Creare gli user:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mariadb -u root -p$MARIADB_ROOT_PASSWORD&lt;br /&gt;
&lt;br /&gt;
CREATE USER healthcheck@&#039;127.0.0.1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
CREATE USER healthcheck@&#039;::1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
CREATE USER healthcheck@&#039;127.0.0.1&#039; IDENTIFIED BY &#039;healthCheckConnectPassEscaped&#039;;&lt;br /&gt;
&lt;br /&gt;
QUIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Creare il config file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /var/lib/mysql/.my-healthcheck.cnf &amp;lt;&amp;lt;EOFile&lt;br /&gt;
[mariadb-client]&lt;br /&gt;
port=3306&lt;br /&gt;
socket=/run/mysqld/mysqld.sock&lt;br /&gt;
user=healthcheck&lt;br /&gt;
password=healthCheckConnectPassEscaped&lt;br /&gt;
EOFile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ora funziona:&lt;br /&gt;
&lt;br /&gt;
healthcheck.sh --connect --innodb_initialized&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
* [https://stackoverflow.com/questions/76249051/mariadb-docker-access-denied-error-with-healthcheck-script-when-root-password-is MariaDB docker access denied error with healthcheck script when root password is set, even with MARIADB_MYSQL_LOCALHOST_USER? - Stack Overflow]&lt;br /&gt;
* [https://github.com/MariaDB/mariadb-docker/issues/512#issuecomment-1611018543 latest tag 1:11.0.2+maria~ubu2204 - mysql command is gone · Issue #512 · MariaDB/mariadb-docker]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
</feed>