Sunday, April 29, 2012
Può capitare di lanciare un copia incolla di un file tramite lo strumento Datastore Browser da un Datastore a un’altro di un server ESXi e subito dopo doverlo interrompere, magari perchè abbiamo copiato un volume Thin Provisioning senza considerare che la copia trasforma il volume nel tipo Thick e quindi invece di copiare 5GB come pensavamo ci accorgiamo di dover copiare 100GB!!!
Purtoppo utilizzando la versione gratuita di ESX non abbiamo tramite GUI la possibilità di stoppare il task della copia, infatti nelle proprietà del task vediamo che la voce Copia è disabilitata:


mentre è abilitata per chi ha acquistato la licenza standard di VMware vCenter Server.
A questo punto non ci rimane altro da fare che stoppare il processo di copia dalla shell di ESXi, per sapere come abilitare la shell vi rimando a questo post Enable SSH on ESXi 5 via vSphere Client, una volta nella shell usate il comando:
/etc/init.d/hostd stop
watchdog-hostd: Terminating watchdog process with PID 2892 hostd stopped.
per terminare il Management Agents, e subito dopo il comando:
/etc/init.d/hostd start
[8149] Begin 'hostd ++min=0,swap,group=hostd /etc/vmware/hostd/config.xml', min-uptime = 60, max-quick-failures = 1, max-total-failures = 1000000, bg_pid_file = '' hostd started.
per riavviare il servizio.
A questo punto potete rientrare nel vSphere Client e verificate che il processo di copia è stato interrotto.
Technorati Tags:
ESXi,
VMware,
vSphere
Thursday, April 12, 2012
In alcune circostanze può capitare che Windows Live Writer non riesca a interfacciarci con un Blog basato su Wordpress, restituendo questo errore ogni volta che si cerca di aggiungere un account:

Nonostante i parametri siano tutti corretti non c’è verso di farlo comunicare con l’XmlRpc Server.
Dopo ore passate ad analizzare i log di Windows Live Writer, che si trova nella directory C:\Users\<utente>\AppData\Local\Windows Live Writer\Windows Live Writer.log, ho notato un elemento interessante:
</value>
</param>
</params>
</methodRespons",""
WindowsLiveWriter,1.7416,Fail,00018,12-Apr-2012 12:37:05.651,"WindowsLive.Writer.Extensibility.BlogClient.BlogClientInvalidServerResponseException: Invalid Server Response - The response to the blogger.getUsersBlogs method received from the blog server was invalid:
in particolare la riga:
</methodRespons",""
sembra essere malformata.
Sono quindi andato alla ricerca del file che la generasse e ho trovato la soluzione nel file /wp-includes/class-IXR.php dove attorno alla riga 402 troviamo la parte di codice che genera quella parte di XML:
// Create the XML
$xml = <<<EOD
<methodResponse>
<params>
<param>
<value>
$resultxml
</value>
</param>
</params>
</methodResponse>
EOD;
nonostante sembra tutto corretto, ho provato ad aggiungere 4 o 5 righe vuote prima di EOD:
</param>
</params>
</methodResponse>
EOD;
ho salvato il file e ho ripravo.
Magicamente ora ha funziona tutto!!
La Dynamic Memory è una features introdotta introdotta con Microsoft Hyper-V Server 2008 R2 e Windows Server 2008 R2 con SP1 che consente di far allocare memoria a una macchina virtuale in modo dinamico tra un minimo e un massimo con possibilità di configurazione del buffer e della priorità. Maggiori informazioni le trovate nell’articolo Hyper-V Dynamic Memory Configuration Guide.
In alcune circostanze può capitare che nonostante la Dynamic Memory sia configurata correttamente per una VM che esegue Windows Server 2008 SP2:

la macchina virtuale non riesca ad usarla. Ce ne accorgiamo perchè nella console di Hyper-V Manager:

notiamo che per la VM Windows Server 2008 i campi Memory Demand e Memory Status sono vuoti, mentre per la VM Windows Server 2003 R2 contengono i valori corretti.
Per risolvere il problema è disponibile un Hotfix numero 2230887 scaricabile a questo link.
Una volta scaricato il file per la vostra versione di Windows (x86 o x64) non dovete far altro che lanciare l’eseguibile all’interno della macchina virtuale che presenta il problema e riavviare la macchina stessa.
Se tutto è andato a buon fine ora nella console Hyper-V Manager dovremmo vedere che la VM Windows Server 2008 sta usando la Dynamic Memory:

Tuesday, November 29, 2011

Oggi mi è capitato su un computer di un cliente che il programma PDFCreator (http://www.pdfforge.org/pdfcreator) per la creazione dei file PDF funzionava solo come Administrator, mentre con tutti gli utenti dava un errore del tipo:

e il PDF non veniva generato.
Il problema in questo caso era dovuto al fatto che i permessi per il file C:\WINDOWS\system32\msvbvm60.dll erano configurati in modo errato, ripristinato l’accesso in lettura a everyone il problema si è immediatamente risolto.
Friday, October 28, 2011
Adobe Acrobat Reader è uno di quei programmi che viene aggiornato frequentemente, sia per introdurre nuove funzionalità sia per risolvere problemi di sicurezza, e questo non aiuta certo gli amministratori di sistema che devono aggiornare conseguentemente tutto il parco macchine.
In questa guida descriverò come creare un’installazione customizzata di Acrobat Reader, come distribuirla tramite GPO in un ambiente Active Directory e infine come aggiornare il software sempre sfruttando le GPO.
Al momento l’ultima versione installabile in Italiano è la 10.1.0 mentre per la versione inglese è la 10.1.1.
Castomizzazione dell’installazione
Per creare un pacchetto di installazione personalizzato di Adobe Acrobat Reader X dobbiamo utilizzare lo strumento gratuito Adobe Customization Wizard X disponibilie all’ìndirizzo http://www.adobe.com/support/downloads/detail.jsp?ftpID=4950 nella sola lingua inglese. Terminato il download installiamo il software con le opzioni di default.
L’installazione di Adobe Acrobat Reader X da customizzare può essere scaricata tramite FTP dal server Adobe a questo indirizzo: ftp://ftp.adobe.com/pub/adobe/reader/win/10.x/10.1.0/it_IT/AdbeRdr1010_it_IT.exe. Se non volete castomizzare l’installazione ma usare i parametri di default potete scaricare direttamente la versione MSI ftp://ftp.adobe.com/pub/adobe/reader/win/10.x/10.1.0/it_IT/AdbeRdr1010_it_IT.msi e andare alla sezione successiva.
Una volta scaricato il file .exe possiamo scompattarlo con programma tipo 7-zip (http://www.7-zip.org/) oppure direttamente da riga di comando con:
AdbeRdr1010_it_IT.exe –nos_ne
che estrarrà il contenuto nella cartella
C:\ProgramData\Adobe\Setup\{AC76BA86-7AD7-1040-7B44-AA1000000001}
per Windows Vista/7, oppure nella cartella
C:\Documents and Settings\All Users\Dati applicazioni\Adobe\Setup\{AC76BA86-7AD7-1040-7B44-AA1000000001}
per Windows XP.
Terminata l'estrazione dei file apriamo il programma Adobe Customization Wizard X e tramite il menù File –> Open Package selezionamo il file AcroRead.msi estratto precedentemente.
La maschera principale del programma è questa:

dove nella parte sinistra ci sono le varie categorie e nella parte destra le configurazioni vere e proprie.
Vediamo le varie sezioni in dettaglio:
- Installation Options
Selezioniamo le voci Make Reader the default PDF viewer per rendere il browser predefinito, rendiamo l’installazione completamente trasparente tramite il parametro Silently (no interface) e disattiviamo il reboot con l’opzione Suppress reboot.
- Files and Folders
In questa sezione possiamo inserire dei file che saranno presenti alla fine dell’installazione del programma.
- Registry
Di default Adobe Acrobat Reader X esegue in background il programma di aggiornamento automatico che in ambiente di dominio non ha senso visto che gli utenti non possono installare programmi. Per eliminarlo selezioniamo la chiave Adobe ARM che si trova in HKLM\Software\Microsoft\Windows\CurrentVersione\Run, apriamo le proprietà tramite il tasto destro del mouse e scegliamo come azione Remove value.
Sempre in questa sezione possiamo disabilitare la Modalità Protetta (http://blogs.sysadmin.it/sista/archive/2011/02/03/acrobat-reader-x-e-protected-mode.aspx), apriamo la chiave HKLM\SOFTWARE\Policies\Adobe\Acrobat Reader\10.0\FeatureLockDown e creiamo una chiave del tipo DWORD con il nome bProtectedMode e il valore settato a 0.
- Shortcuts
Probabilmente non vi interessa creare un link nel desktop per Adobe Acrobat Reader X, quindi cliccate con il destro sul link Adobe Reader sotto Desktop e selezionate Remove.
- Security
Nella parte relativa a Enhanced Security Settings possiamo settare i parametri di sicurezza per la versione Standalone e per quella all’interno del browser, settiamo per entrambe. Se volete aumentare la sicurezza potete abilitare anche le voci Prevent end-user to add trusted Files and Folders e Prevent end-user to add trusted Hosts.
Per una descrizione dettagliata di queste voci vi rimando all’articolo Application Security Library.
- EULA
Se non vogliamo visualizzare nulla in fase di installazione dobbiamo accettare la End User License Agreement (EULA) spuntando il flag in questa sezione:
- Online and Acrobat.com
Visto che andremo a gestire gli aggiornamenti in modo centralizzato in questa sezione dobbiamo disabilitare l’opzione Disable all updates e le relative voci per l’accesso on-line, nonchè le features di Acrobat.com.
Tramite l’apposito menù possiamo anche scegliere se visualizzare i PDF nel browser o in modalità standalone.
- File Attachments
Sempre nell’ottica della sicurezza abilitiamo il flag Never launch files of Unspecified Types.
- Direct Editor
In questa sezione potete modificare direttamente i parametri del file setup.ini.
Terminata la configurazione dobbiamo creare il file di trasformazione (.mst) tramite il comando Transform –> Generate Transform:

Si conclude così la fase di castomizzazione dell’installazione. Vediamo ora come configurare il deploy tramite GPO.
Deploy via GPO
Per questa guida usiamo una nuova GPO per il deploy di Adobe Acrobat Reader X, si può comunque usare una qualunque GPO già esistente.
Apriamo la Group Policy Management Console (GPMC) e creiamo una nuova GPO chiamata Software Distribution:

andiamo in Configurazione computer –> Criteri –> Impostazioni del software –> Installazioni software e creiamo un nuovo pacchetto:

e scegliamo il file .msi che preventivamente abbiamo copiato in una share di rete (insieme a tutti i file scompattati dall’archivio .exe). Se avete seguito il punto precedente e avete creato una installazione personalizzata scegliete il file AcroRead.msi, altrimenti scegliete il file AdbeRdr1010_it_IT.msi.
Se state usando l’installazione standard scegliete Assegnata e saltate il paragrafo successivo, altrimenti selezionate il tipo di distribuzione Avanzata e terminate il wizard.
Si dovrebbero aprire le proprietà del pacchetto appena creato, andate nel tab Modifiche e cliccate su Aggiungi, scegliete il file AcroRead.mst

e chiudete le proprieta del pacchetto.
Chiudete l’editor GPO e assenate la GPO appena creata alla OU che contiente i computer a cui volete venga installato il software. Riavviate un client e al successivo avvio dovreste vedere Adobe Acrobat Reader X installato con le castomizzazioni impostate.
Gestione degli aggiornamenti
Fino ad ora abbiamo visto come castomizzare un’installazione di Adobe Acrobat Reader X e come distribuirla successivamente tramite GPO ai client della rete. Vedremo ora come aggiornare questo pacchetto di installazione con le nuove versioni.
Iniziamo scaricando il pacchetto di aggiornamento dal sito Adobe all’indirizzo ftp://ftp.adobe.com/pub/adobe/reader/win/10.x/10.1.1/misc/AdbeRdrUpd1011.msp.
Una volta scaricato il file apriamo un prompt dei comandi con i diritti amministrativi e lanciamo il comando:
msiexec /a "\\server\share\AdbeRdr1010_it_IT\AcroRead.msi" /p \\server\share\AdbeRdr1010_it_IT\AdbeRdrUpd1011.msp
che avvierà l’installazione di Adobe Acrobat Reader X che non farà altro che aggiornare il pacchetto di installazione AcroRead.msi. Scegliamo lo stesso percorso del file di origine nella maschera:

al termine dell’installazione dobbiamo ridistribuire l’applicazione in modo che i computer che avevano già installato Adobe Acrobat Reader X possano recepire gli aggiornamenti.
Apriamo la GPO precedentemente configurata e una volta individuato il pacchetto di Acrobat scegliamo Ridistribuisci applicazione dal menù contestuale:

scegliamo Si:

Riavviamo un client e apriamo Adobe Acrobat Reader X, la versione dovrebbe essere ora la 10.1.1:

Technorati Tags:
Acrobat Reader,
GPO
Tuesday, October 18, 2011
Anche se Debian non è tra le distro linux supportate in ambiente Hyper-V, la si può tranquillamente installare con l’unica accortezza di usare una scheda di rete legacy, altrimenti non verrà vista dal sistema.

Per questa guida ho installato una versione di debian testuale senza l’ìnterfaccia grafica, in particolar modo l’ultima versione di Debian la 6 che una volta installata e aggiornata usa il kernel 2.6.32:

La macchina virtuale così installata funziona perfettamente ma non integra i componenti integrati e quindi non può essere gestita dall’host Hyper-V:

Per prima cosa aggiorniamo il nostro sistema con i comandi:
# apt-get update
# aptitude update
dopodichè dobbiamo scaricare i sorgenti del kernel 2.6.32 per poi ricompilarlo con i moduli necessari:
# apt-get install build-essential libncurses5-dev kernel-package fakeroot linux-headers-2.6.32-5-686 linux-source-2.6.32
Ora creiamo una nuova immagine del kernel a partire dalla versione 2.6.36:
# cd /usr/src
# wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
# bzip2 -d linux-2.6.36.tar.bz2
# tar xf linux-2.6.36.tar
# cd linux-2.6.36/
# cp /boot/config* ./.confing
# make menuconfig
Nel menù Device Drivers-> Staging drivers selezionare la voce Microsoft Hyper-V client drivers

a questo punto si possono togliere tutti quei driver che non saranno mai usati nella macchina virtuale, USB, PCI, etc. etc. dopodichè uscire salvando la configurazione del nuovo kernel.

Dopo aver salvato la configurazione non ci resta che iniziare la compilazione del kernel aggiungendo il suffisso hyper-v per distinguerlo.
# make-kpkg clean
# fakeroot make-kpkg --initrd --append-to-version=-hyper-v kernel_image kernel_headers
La compilazione del kernel vera e propria dura diverso tempo (un’ora circa), al termine della quale nella directory /usr/src avremo due file con estensione .deb:
linux-headers-2.6.36-hyper-v_2.6.36-hyper-v-10.00.Custom_i386.deb
linux-image-2.6.36-hyper-v_2.6.36-hyper-v-10.00.Custom_i386.deb
che possono essere utilizzati in un’altra macchina virtuale senza dover ricompilare di nuovo il kernel.
Procediamo con l’installazione del nuovo kernel con il comando:
# dpkg -i linux-image-2.6.36-hyper-v_2.6.36-hyper-v-10.00.Custom_i386.deb
Ora editiamo il file /etc/initramfs-tools/modules e aggiungiamo i moduli che devono essere caricati all’avvio:
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
salviamo il file ed aggiorniamo la configurazione con il comando:
update-initramfs -u -k 2.6.36-hyper-v
e riavviamo la macchina che partirà in automatico con il nuovo kernel:

e ora l’host riesce a comunicare con la macchina guest:

possiamo così spegnere la maccina virtuale direttamente da Hyper-V.
Technorati Tags:
Hyper-V,
Linux
Monday, October 10, 2011
Aggiornando l’ultima versione di Windows Live alla versione 15.4.3538.0513 ho avuto su diverse macchine dei problemi. L’installazione va a buon fine e dopo il riavvio qualunque applicazione Live genera questo errore:

ovviamente non è un problema di spazio su disco.
La soluzione è abbastanza semplice e consiste nel ripristino della Suite Live, l’operazione può essere eseguita lanciando il file wlarp.exe che si trova nella directory di installazione di Windows Live, nel mio caso C:\Program Files (x86)\Windows Live\Installer.
Appena lancia dobbiamo scegliere l’operazione da eseguire:

scegliamo Repair all Windows Live programs:

dopo qualche minuto, a seconda della velocità della vostar macchina, il processo termina e se non ci sono stati problemi dovreste vedere la finestrella:

Ora lanciando Windows Live Mail ad esempio non dovrebbero esserci problemi e la versione installata è effettivamente l’ultima.

Technorati Tags:
Windows Live
Friday, September 02, 2011

A volte può essere utile eseguire diverse operazioni su una serie di file, magari all’interno di sottocartelle, un pò quello che avviene con il comando
find . –exec {} \;
in ambiente linux.
Nel caso specifico oggi avevo necessità di cancellare i file più vecchi di 30 giorni in un determinato path. Senza ricorrere a PowerShell o script Vbs ho risolto semplicemente usando il comando forfiles. Nelle vecchie versioni di Windows questo file non è presente e si trova nel Resource Kit.
Le opzioni che ho usato sono:
forfiles /p c:\backup\sql /s /d –15 /c “cmd /c del @file /f /q”
il significato dei parametri è il seguente:
- /p indica il percorso di partenza
- /s che il comando deve essere applicato anche alle sottocartelle
- /d –15 prende in considerazioni solo i file modificati da più di 15 giorni
- /c “ “ esegue il comando contenuto tra “ “ per tutti i file trovati
Per una spiegazione dettagliata di tutti i comandi vi rimando a questo articolo del Technet (Forfiles).
Saturday, August 06, 2011
Per chi fosse interessato alla documentazione sui protocolli di comunicazione di Microsoft Exchange Server da ieri sono disponibili per il download dal sito Microsoft:
Technorati Tags:
Exchange
Monday, July 25, 2011
Sabato mi sono imbattuto in un errore di Excel che mi ha fatto perdere un pò di tempo.
Mi chiama un cliente che ha un PC con Windows 7 e Excel 2010 con problemi alle marco. In realtà le macro possono essere registrare e vengono eseguite, ma quando prova ad aprire il Visual Basic Editor per editare la macro esce l’errore:

Ho verificato che il il file fosse presente e a nulla è valsa la reinstallazione di Office 2010 ne del Service Pack 1.
Quindi mi sono munito dell’ottimo programma Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) con il quale sono riuscito a determinare la causa del problema, una chiave di registro non era accessibile.

Una volta ripristinati i permessi il problema si è risolto.