martedì 23 ottobre 2012

Inerente a qualcosa o inerente qualcosa?

Come di consueto, un rimando al sito dell'Accademia della Crusca. Questa volta chiariamo l'uso dei vocaboli  inerente, attinente, afferente

Inerente a qc. o inerente qc.?

sabato 26 maggio 2012

Abilitare il login automatico a Windows

Nelle implementazioni di Windows di tipo kiosk, o non gestite, può capitare di dover impostare il computer in modo che si avvi automaticamente e mostri a video dei dati. In questo caso bisogna bypassare il meccanismo di protezione che chiede di autenticarsi con nome utente e password e consentire il login automatico al sistema senza intervento dell’utente.
Tale impostazione corrisponde, nel registro di Windows, alla voce AutoAdminLogon. Per consentire il login automatico è possibile procedere in diversi modi: il più semplice è quello che si presenta di default alla prima installazione del sistema operativo: abbiamo un solo utente definito nel sistema, la cui password risulta vuota. In questo caso Windows non chiede di specificare con quale utente effettuare l’accesso, in quanto lo individua automaticamente, essendo l’unico, e provvede ad aprire il profilo di questo utente.
La seconda alternativa consiste nella modifica manuale di alcuni valori all’interno del registro di sistema. Avviamo regedit ed andiamo nella chiave
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows NT\Winlogon
Se non sono presenti, all’interno di questa chiave vanno create le seguenti voci con i relativi valori:
AutoAdminLogon di tipo REG_SZ (Stringa): se impostata ad 1 abilita il login automatico, a 0 disattiva la funzionalità
DefaultUserName di tipo REG_SZ: assegnare a questa voce lo stesso nome dell’utente che deve effettuare il login.
DefaultPassword di tipo REG_SZ: è la password IN CHIARO dell’utente specificato in precedenza.
DefaultDomainName di tipo REG_SZ: nel caso la macchina appartenga ad un dominio, questo va inserito in questa voce, altrimenti inserire il nome dell’host locale.
In questo modo tuttavia, rendiamo visibile la password a chiunque abbia accesso al registro di sistema. Non che questo comporti rischi particolari di sicurezza in tale contesto, in quanto essendo già il sistema non protetto in fase di login, si intende che vogliamo rendere disponibili le informazioni visualizzate a chiunque. Eventuali rischi potrebbero essere legati all’accesso alle risorse di rete qualora la macchina appartenga ad un dominio, in quanto l’utente potrebbe avere permessi elevati su altre postazioni. Dovrà essere nostra cura comunque, impedire l’accesso al registro di sistema da parte dell’utente ed eventualmente restringere l’accesso alle altre impostazioni avanzate, per impedire modifiche non desiderate ed aumentare la protezione. Tuttavia, se volessimo evitare di mostrare la password in chiaro nel registro, magari perché è la stessa che utilizziamo abitualmente per proteggere i nostri sistemi, possiamo operare in un altro modo, anche più immediato del precedente.
Apriamo il menu ‘Esegui’ e digitiamo Control UserPasswords2. Viene visualizzata la finestra seguente, in cui vengono mostrati gli utenti definiti nel sistema ed il gruppo di appartenenza (questa procedura funziona sia sotto Windows XP che Windows 7)
image
Per attivare il login automatico al sistema è sufficiente rimuovere il segno di spunta in alto nella voce ‘Per utilizzare questo computer è necessario che l’utente immetta il nome e la password’. Premendo su OK, si presenta una nuova finestra in cui viene chiesto di specificare l’utente che di default accederà al sistema e la relativa password
image
Una volta specificate le credenziali di accesso automatico, riavviamo il sistema e verifichiamo che l’utente scelto venga caricato in automatico. A questo punto apriamo l’editor di registro di sistema, e posizioniamoci nella chiave
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows NT\Winlogon
Vediamo che le voci AutoAdminLogon e DefaultUserName, sono state correttamente impostate. Tuttavia non compare la voce DefaultPassword come nel secondo caso, ossia ciò che volevamo per ‘proteggere la nostra privacy’.
Nota: control userpasswords2 è una scorciatoia che consente, come abbiamo visto, di aprire la schermata avanzata di gestione del login vista in precedenza. Il ‘2’ alla fine del comando ci induce a pensare che esista anche la voce UserPasswords, ed infatti è così. Se inseriamo il comando, Windows mostra una finestra alternativa per la gestione degli utenti, quella in modalità guidata
image

mercoledì 25 aprile 2012

Modificare il percorso predefinito dei profili utente di Windows

Potremmo avere l'esigenza di modificare il percorso predefinito in cui Windows (XP / Vista / 7 e così via) memorizza i file e le impostazioni dei profili utente: se ad esempio il nostro sistema dispone di più unità di memorizzazione, potremmo decidere di riservarne una solo per il sistema operativo e i programmi, mentre le altre per i dati. Come sappiamo però, i dati delle applicazioni, quindi i preferiti del browser, i messaggi e contatti di posta elettronica, le impostazioni stesse delle applicazioni, e tutto quanto viene lasciato sul desktop, vengono memorizzati sotto il percorso del proprio profilo utente, che di base risiede nella stessa partizione destinata al sistema operativo. Per spostare questo percorso in una posizione diversa, anche su un volume diverso, possiamo consultare la semplice procedura che ci fornisce Microsoft a questo link: KB322014

Seguendo alla lettera la procedura nella KB di Microsoft, tuttavia, ed accedendo di nuovo al sistema con il proprio account, o con un nuovo account utente creato ad-hoc per testare questa procedura, notiamo che Windows impiega parecchio tempo per caricare l'ambiente di lavoro. Un messaggio infine ci avverte che si sono verificati errori nel caricamento del profilo e che pertanto ne è stato utilizzato uno temporaneo che consente funzionalità limitate (è un profilo a sola lettura e qualsiasi modifica apportata si perde effettuando il logout).

Questo accade perché manca un passaggio fondamentale: prima di attuare la procedura descritta nell'articolo di Microsoft, occorre copiare le cartelle 'Default User' (nascosta) e ‘All Users’ dal vecchio al nuovo percorso dei profili utente.

La cartella ‘Default User’ contiene le impostazioni di base per i nuovi utenti che non hanno ancora fatto login nel sistema, per i quali dunque non esiste ancora una cartella personale contenente file e impostazioni: ciò significa che se ad esempio abbiamo creato un nuovo utente, ma non abbiamo mai fatto l'accesso al sistema con esso, Windows la prima volta deve creare il percorso principale del profilo e tutta struttura della directory relativa ad esso. Per fare questo prende le impostazioni di base dalla cartella nascosta denominata 'Default User'. Questa deve risiedere nello stesso percorso dei profili utente, altrimenti il sistema non trova le informazioni di base per creare il nuovo profilo, riportando il messaggio sopra citato.
La cartella ‘All Users’ non è strettamente necessaria per consentire il login al sistema da parte degli utenti, tuttavia contiene alcuni file e impostazioni che completano le funzionalità dei profili: ad esempio, se il sistema non riesce ad individuare questa cartella, non saranno disponibili le icone associate agli utenti di sistema; al loro posto verrà invece visualizzato un quadrato bianco con una X rossa al centro. Le icone relative ai profili utente, di default, sono situate in “%AllUsersProfile%\Dati applicazioni\Microsoft\User Account Pictures”.

Se proviamo a copiare le suddette cartelle in un nuovo percorso però, l'operazione ad un certo punto si arresta e Windows risponde che alcuni non possono essere copiati in quanto bloccati ad uso esclusivo. Per ovviare a questo è necessario riavviare il sistema in modalità provvisoria, effettuare il login con un account già utilizzato in precedenza (ossia non uno di quelli nuovi che abbiamo definito, ma non ancora utilizzato; è possibile utilizzare anche l'account administrator), ed effettuare la copia. Al termine riavviare il sistema in modalità normale.
Eseguiti tutti i passaggi correttamente, possiamo continuare a testare la funzionalità creando nuovi utenti ed effettuando il login al sistema con essi; vedremo che verranno create nuove cartelle per i profili nel nuovo percorso che abbiamo scelto. Questo risulta particolarmente utile nel caso il sistema debba essere formattato e ripristinato in quanto i dati utente saranno fisicamente divisi dalla partizione del sistema operativo, consentendo un backup ed un ripristino più semplici.

Per quanto riguarda i profili utente già esistenti: il loro contenuto rimane nel vecchio percorso e non viene re-diretto automaticamente al nuovo come si potrebbe pensare. Se apriamo l’editor di registro, e ci spostiamo nella chiave vista in precedenza, al suo interno troviamo altre sotto-chiavi, una per ciascun utente che ha effettuato almeno un login nel sistema. Ciascuna di esse è denominata in base al SID dell’utente a cui si riferisce. Spostandoci su ciascuna di esse, vediamo che, al loro interno, la stringa ‘ProfileImagePath’ punta ancora al vecchio percorso.
A questo punto possiamo spostare tutti i file di questi utenti manualmente nel nuovo percorso, creando un account temporaneo con privilegi di amministratore della macchina col quale effettuare il login e quindi modificare nel registro il puntamento alle cartelle nella stringa ‘ProfileImagePath’.
Si suggerisce comunque di adottare un metodo diverso, ossia lasciare che Windows crei i profili nel nuovo percorso ed in seguito copiare sopra di essi le vecchie cartelle. In questo modo si evita di omettere eventuali valori di registro necessari al corretto funzionamento dell’ambiente operativo per quegli utenti. Per fare questo seguiamo i passaggi indicati di seguito:
1. Creare un account di appoggio con privilegi di amministratore, riavviare il sistema per liberare eventuali file rimasti in uso ed effettuare il login con questo.
2. Fare un backup dei profili utente già esistenti.
3. Fare l’elenco di tutti gli utenti i cui profili non sono migrati al nuovo percorso, con le relative impostazioni
4. Cancellare gli utenti senza eliminare i dati del profilo.
5. Creare nuovamente gli utenti nel sistema assegnando i relativi privilegi.
6. Fare login al sistema, con ciascuno di questi account e lasciare che Windows crei il nuovo profilo nel percorso predefinito (il nuovo percorso) e le relative impostazioni nel registro. Terminata la creazione del profilo, effettuare il logout e passare all’account successivo
7. Una volta eseguita la procedura per tutti, riavviare di nuovo il sistema per liberare eventuali file in uso, ed accedere a Windows con l’utente amministratore creato al punto 1.
8. Spostare i vecchi profili utente dal vecchio al nuovo percorso, sovrascrivendo quelli creati da Windows.
9. Effettuare nuovamente il login con ciascuno degli account per verificare che tutto il contenuto venga correttamente caricato e che siano disponibili dati ed impostazioni precedentemente salvati. Possiamo verificare la correttezza di tutti i percorsi assegnati aprendo il prompt dei comandi e digitando SET. Questo consente di visualizzare tutte le variabili di sistema, compresi quindi i percorsi predefiniti per gli utenti.
10. Al termine è possibile rimuovere account e relativi dati dell’utente amministratore creato al punto 1.
Non è escluso comunque che eventuali software debbano essere reinstallati, in quanto non più funzionanti correttamente. E’ il caso di Google Chrome e lo si vede già dal fatto che l’icona relativa al programma non è più disponibile.
Per completare, possiamo eliminare la vecchia cartella“%SystemDrive%\Documents and Settings”.

giovedì 8 marzo 2012

Eseguire il boot da dispositivo USB in una macchina virtuale Virtualbox su host Windows


Come sappiamo Virtualbox include la possibilità di mappare, all'interno delle macchine virtuali, i dispositivi periferici collegati al sistema, come ad esempio i device USB. Possiamo quindi portare sulle macchine virtuali eventuali dischi esterni USB collegati al sistema ospite, senza la necessità di abilitare la funzione cartelle condivise o porre il sistema guest in rete con l'host e trasferire contenuti via ethernet.
Questa caratteristica tuttavia presenta un limite nei casi in cui abbiamo la necessità di collegare un dispositivo USB abilitato al boot. Il montaggio effettivo del dispositivo, all'interno del sistema guest, avviene solo nel momento in cui la macchina virtuale abbia completato la fase di boot ed il controllo sia trasferito al sistema operativo.
Abbiamo ad esempio creato un dispositivo USB bootable che contenga del software di diagnostica. Oppure abbiamo salvato un'immagine di un host fisico e vogliamo testarne il ripristino 'from scratch' in ambiente virutale. Per farlo abbiamo la necessità che il contenuto del dispositivo USB venga letto prima che un eventuale sistema operativo guest sia caricato. Per fare questo viene in aiuto l'interfaccia a riga di comando integrata in VirtualBox ed in particolare l'utility VBoxManage.exe < /p>
Questo metodo prevede 3 passaggi distinti:
1. Collegamento del dispositivo USB all'host fisico, riconoscimento ed installazione dei driver da parte del sistema operativo
2. Creazione del puntamento al dispositivo
3. Collegamento del file di puntamento a Virtualbox.
La prima fase non necessita di spiegazioni. L'unico inconveniente che possiamo incontrare è l'eventuale richiesta di driver da parte del sistema operativo per dispositivi non correttamente riconosciuti (ad esempio periferiche USB 3.0 su sistemi Windows XP o pendrive particolari). In tal caso è opportuno disporre del software fornito a corredo dal produttore.

Nella seconda fase si concentra in pratica il lavoro da svolgere: lo scopo è quello di creare un disco fisso virtuale che non contenga effettivamente dati, ma solo un puntamento al dispositivo hardware collegato al sistema host. Nelle recenti versioni VirtualBox ha aggiunto il supporto ad altri formati di dischi virtuali, oltre a quello VDI nativo; sono quindi supportati i file con estensione VHD di Microsoft, i VMDK di VMware e il formato HDD di Parallels. Al nostro scopo andremo a creare un file disco virtuale in formato VMDK.

Una volta installato il pendrive nel nostro sistema host, abbiamo la necessità di conoscere il puntamento fisico assegnato dal sistema operativo. Essendo in ambiente Windows possiamo utilizzare un comodo comando in PowerShell che ci restituisca questa informazione:

Get-WmiObject -Class Win32_diskdrive

L'output restituito potrebbe essere simile al seguente:

Partitions : 3
DeviceID : \\.\PHYSICALDRIVE0
Model : ST9120823ASG ATA Device
Size : 120031511040
Caption : ST9120823ASG ATA Device

Partitions : 1
DeviceID : \\.\PHYSICALDRIVE1
Model : SMI USB DISK USB Device
Size : 2023418880
Caption : SMI USB DISK USB Device

In questo caso vengono visualizzati due dispositivi distinti corrispondenti rispettivamente al disco fisico di sistema ed al pendrive inserito nello slot USB. E' facile distinguere i dispositivi oltre che dal nome dalla dimensione del supporto. L'informazione che ci interessa memorizzare è quella relativa al campo DeviceID. Ad esempio, per il nostro dispositivo esterno il DeviceID corrisponde a \\.\PHYSICALDRIVE1.

Ora dobbiamo creare il disco virtuale che punti a questo device. Sempre all'interno della console di PowerShell (o anche dal prompt classico dei comandi), dobbiamo digitare il seguente comando:

%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe internalcommands createrawvmdk -filename \image_name.vmdk -rawdisk \\.\PhysicalDrive1

Viene creato un file di testo con estensione .vmdk nel percorso specificato. Aprendo il file con un qualsiasi editor di testo, ci accorgiamo immediatamente che esso non contiene i dati estratti dal pendrive usb come ci si aspetterebbe.

Ecco come si presenta il contenuto del file

# Disk DescriptorFile
version=1
CID=23e97fbf
parentCID=ffffffff
createType="fullDevice"

# Extent description
RW 3956736 FLAT "\\.\PHYSICALDRIVE1" 0

# The disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.adapterType="ide"
ddb.geometry.cylinders="3925"
ddb.geometry.heads="16"
ddb.geometry.sectors="63"
ddb.uuid.image="0891a957-bf2a-4b0d-adfa-853e06c6e970"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"

Il file svolge solo il ruolo di puntatore, ma i dati sul pendrive non vengono copiati, il che può risultare molto vantaggioso nel caso lo stesso contenga una grossa mole di informazioni, evitando tempi inutili di copia nel sistema host.
A questo punto, supposto che disponiamo già di una macchina virtuale di test, altrimenti la creiamo, non ci resta che collegare il file .vmdk appena creato alla stessa, tramite il menu impostazioni; l'operazione è quella classica di aggiunta di un nuovo disco ad una macchina virtuale effettuata tramite l'interfaccia grafica di VirtualBox.
Con il pendrive sempre collegato all'host, avviamo la macchina virtuale e, prontamente, spostiamo il focus all'interno della finestra di esecuzione della stessa, quindi premiamo F12 per selezionare il dispositivo di boot.


A questo punto compare il menu per la scelta del dispositivo di avvio. Selezionare il device esterno e proseguire con il boot. Nel nostro caso abbiamo creato un'immagine contenente Paragon Backup & Recovery 2012 Free.
Come ulteriore prova che il nostro disco virtuale non contiene dati, proviamo a rimuovere il pendrive dal sistema ospite prima di avviare la macchina virtuale; VirtualBox presenterà un errore come questo, ad indicare che un dispositivo, di cui abbiamo specificato la locazione, non è presente:



Ricolleghiamo il pendrive sulla stessa porta USB di prima (pena la reinstallazione del dispositivo e la probabile assegnazione di un percorso fisico diverso).
Ad un primo avvio la macchina potrebbe bloccarsi e visualizzare messaggi come questo:



Niente paura, non si tratta di eventuali errori legati all'incompatibilità del device, quanto alle impostazioni della macchina virtuale non adeguate al sistema che vogliamo avviare. Nel caso specifico, Paragon Backup & Recovery ci chiede espressamente di attivare la modalità PAE del processore. Spegniamo la macchina, andiamo nelle impostazioni e attiviamo la funzionalità richiesta.



A questo punto riavviamo la macchina virtuale, selezioniamo come prima il dispositivo di boot corretto ed attendiamo il caricamento del sistema. Ecco che dopo qualche istante il nostro sistema si avvia e possiamo procedere con il resto delle operazioni

martedì 6 marzo 2012

venerdì 13 gennaio 2012

Ma perché cazzo si continua ad usare 'piuttosto che' con il significato di 'oppure'?

Il termine 'piuttosto che' sta ad indicare la preferenza di una cosa rispetto ad un'altra (piuttosto che un'altra). Purtroppo lo si sente usare sempre più frequentemente in contesti nei quali sia fa riferimento ad elenchi di oggetti, o situazioni. In tal senso al termine 'piuttosto che' viene attribuito il valore di congiunzione: si usa dire questo, piuttosto che quest'altro, piuttosto che questo ancora, come ad indicare "questo, quindi quest'altro, quindi quest'altro ancora"...
non va bene, non si fa, non è bello!

'Piuttosto che' ha significato totalmente opposto; posso dire ad esempio: "Starei volentieri a casa tutto il giorno piuttosto che uscire con lei ..." . In questo contesto si capisce bene il significato di "piuttosto che": esprime una scelta ben precisa che tende ad escludere la seconda possibilità; potrebbe essere paragonato ad ad un discorso tipo "faccio questa cosa pur di non fare quest'altra" ossia 'piuttosto che' fare quest'altra.

Un rimando alla pagina dell'autorevole Accademia della Crusca per chiarire le idee:
Uso di piuttosto che con valore disgiuntivo


Versione riveduta e corretta da Gattiuscia