Windows: come listare le hotfix installate sul computer tramite WMI

Listare le hotfix, le patch o i service pack installati su un sistema Windows è estremamente facile grazie alle WMI.

Da riga di comando è sufficiente lanciare:
wmic qfe list
aggiungendo brief (per una lista in formato breve) o full (per la lista con tutte le informazioni sulle hotfix) in caso siano necessarie più o meno dettagli.

Per scrivere la lista su un file di testo:
wmic qfe list /format:texttablewsys > hotfix.txt

Per scrivere la lista dettagliata di tutte le hotfix su un file HTML:
wmic qfe list full /format:htable > hotfix.html

Per ottenere la lista da un sistema remoto:
wmic /node:computer qfe list

 

VMware Workstation su Linux host: come ricompilare i moduli da riga di comando

Primo post del 2016!

Perdonate la lunga assenza, ma sono stato lontano dal blog causa lavoro | mancanza di ispirazione a scrivere | vita privata.
Riprendo, spero in maniera più assidua, con un piccolo appunto: come ricompilare, su VMware Workstation in un host Linux, i moduli (vmnet, vmbridge, vmmon) VMware da riga di comando, cosa utile quando viene aggiornato il kernel.

Collegandosi come root è sufficiente lanciare:

[email protected]:/home/albertoscotti# vmware-modconfig --install-all --console

Al termine della breve compilazione, se tutto è andato a buon fine, i servizi di VMware verranno avviati senza errori.

 

Ubuntu 15.10 e VMware Workstation 12: risolvere il problema del mancato avvio del programma

Su Ubuntu 15.10 ho riscontrato un curioso bug di VMware Workstation 12: nonostante l’installazione avvenga correttamente, semplicemente non si avvia 😀

Il problema è causato dal fatto che in Ubuntu 15.10 non sono referenziate in path alcune librerie necessarie a VMware.
Per risolvere il problema è sufficiente:

  1. editare il file /usr/bin/vmware (richiesto diritti di root)
  2. creare una nuova linea dopo la linea 17 (dopo export PRODUCT_NAME="VMware Workstation")
  3. aggiungere: export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH
  4. salvare

VMware finalmente si avvierà correttamente.

 

Windows10: come attivare l’account utente “Administrator” da riga di comando

In Windows10, così come nei precedenti Windows7, 8 e 8.1, l’account utente “Administrator” di default è disabilitato e nascosto, per cui non è possibile utilizzarlo per eseguire login (interattivo o meno).

Per attivare l’account è sufficiente aprire una console a riga di comando con diritti amministrativi e digitare:

net user administrator /active:yes

Per disattivare l’account “Administrator”, qualora non doveste più averne bisogno, dovrete digitare:

net user administrator /active:no

Attenzione! L’utente “Administrator” attivato in questa modalità non ha nessuna password, e qualche malintenzionato potrebbe accedere in maniera non autorizzata al vostro computer!
Per assegnare una password all’utente “Administrator”, nella solita console a riga di comando con diritti amministrativi dovrete digitare:

net user administrator nuova_password

Windows: come usare Windows Installer (MSI) in modalità provvisoria

Una delle (tante) cose che non ho mai capito di Windows è per quale motivo non sia possibile far funzionare Windows Installer in modalità provvisoria.
Infatti, se proviamo ad installare, o disinstallare, un programma MSI in SafeMode riceveremo l’errore 1084 “Impossibile avviare Windows installer su computer locale: questo servizio non pu essere avviato in modalità provvisoria”.
Ma perché?! Boh!

Per essere in grado di usare Windows Installer anche in modalità provvisoria, dobbiamo intervenire sul registro di Windows:

  1. aprire Regedit
  2. andare in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\
  3. creare la chiave MSIServer tipo REG_SZ
  4. inserire Server come valore della chiave di registry

A questo punto, riavviando in modalità provvisoria, sarete in grado di usare Windows Installer senza problemi.

Oppure, se siete già in modalità provvisoria, potete eseguire direttamente da riga di comando:

  1. REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\MSIServer" /VE /T REG_SZ /F /D "Service"
  2. net start msiserver

per aggiungere la chiave di registry ed avviare il servizio Windows Installer senza dover riavviare.

 

Windows 8.1: come risolvere l’errore 0x80070002 durante l’installazione del November 2014 Update Rollup Package (KB3000850)

Mi è capitato di vedere alcuni Windows 8.1 sui quali fallisce l’installazione del November 2014 Update Rollup Package (KB3000850), anche tramite Windows Update, riportando il codice di errore 0x80070002 ahimè non troppo esplicativo.

Solo una attenta analisi del file di log di installazione della patch,  C:\Windows\Logs\CBS\CBS.log che nel mio caso era circa 80 MB, svela l’origine del problema: manca la directory “Accessibility” nell menu-schermata Start.
Lo stesso problema si presenta anche se manca la directory “Tablet PC” oppure “System Tools“.

Per evitare il problema, dunque, verificate che esistano le seguenti directory:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessibility
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Tablet PC
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools

Se non esistono, ricreatele, riavviate il computer e lanciate nuovamente l’installazione di KB3000850.

 

Windows: come risolvere l’errore “RPC server is unavailable” per il servizio Windows Time

Mi è capitato, su di un Windows7, di non riuscire più a sincronizzare l’ora via NTP, ricevendo costantemente l’errore “RPC server is unavailable” (“Il servizio RPC non è disponibile” in italiano) sul servizio “Windows Time”.

Non ho ancora capito da cosa sia causato questo problema, tuttavia per risolverlo è sufficiente lanciare, con diritti amministrativi, in una console:

w32tm /unregister (per rimuovere il servizio malfunzionante)

seguito da

w32tm /register (per ricreare nuovamente il servizio)

Problema risolto!

 

Linux: come individuare la frequenza del kernel timer degli interrupt

Per individuare nel kernel in esecuzione la frequenza del timer degli interrupt va usato il comando:

[email protected]:~$ grep HZ /boot/config-`uname -r`
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_RCU_FAST_NO_HZ=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_MACHZ_WDT=m

I valori che ci interessano sono quelli di CONFIG_HZ= e CONFIG_HZ_valore=, che nel mio caso sono settati a 1000.
Qualora sia presente la voce CONFIG_NO_HZ allora siamo in presenza di un kernel tickless dove la generazione degli interrupt avviene on-demand e non ad intervalli predefiniti di tempo.
Nel mio caso, essendo definito anche il valore CONFIG_NO_HZ_IDLE, ho un kernel in cui la generazione degli interrupt è mista: on-demand se il processore è idle e ogni 1000Hz se il processore è sotto carico.