martedì 12 marzo 2013

421 service temporarily unavailable, closing transmission

Da un paio di settimane sto utilizzando Anti Spam Smtp Proxy come antispam gateway per il server di posta di un mio cliente. Devo dire che funziona molto bene anche se ci sono centinaia di impostazioni da settare.
Dopo un riavvio inaspettato della macchina il servizio ASSP, seppur attivo, non funzionava in quanto ad ogni tentativo di connessione rispondeva con il messaggio:

421 <ASSP.nospam> service temporarily unavailable, closing transmission

terminando la connessione e, quindi, la sessione SMTP.

Il problema e' banale e dipende dal sistema di protezione selinux che deve essere disabilitato attraverso l'opportuno file di configurazione. Dopo la disabilitazione di selinux, occorre riavviare la macchina ed il gioco e' fatto.

giovedì 8 novembre 2012

Errore di autenticazione postemail con client di posta elettronica

Le vostre credeziali di accesso al sito delle poste italiane sono corrette tant'e' che riuscite ad utilizzare senza problemi il webmail di poste.it ma, se tentate di configurare un qualsiasi client di posta cosi' come da indicazioni della Guida ufficiale di poste.it, non riuscite a scaricare un bel niente poiche' ricevete un errore di password o nome utenti errati?

Problema risolto: digitate solo i primi 10 caratteri della vostra password e riuscirete ad accedere normalmente alla vostra casella di posta elettronica poste.it con un qualunque client di posta elettronica.

:''(
mah!?!?

lunedì 2 luglio 2012

Hyper-V remote Administration

Un cliente ha acquistato un server dedicato equipaggiato con Hyper-V 2008 R2 e mi ha chiesto di installare e configurare delle macchine virtuali necessarie al suo business.

La configurazione dell'amministrazione remota di Hyper-V e' diventata molto piu' semplice rispetto ad alcuni anni fa, attraverso il rilascio dello script hvremote.wsf ma, in diverse occasioni, molti cadono nel fastidiosissimo errore

***** Failed to connect to root\cimv2
***** Error:     -2147023174 Server RPC non disponibile. 
***** Namespace: root\cimv2

che si traduce nell'impossibilita' di connettersi ad Hyper-V attraverso la snap-in di amministrazione di Hyper-V.

Per ovviare a questo problema fate attenzione a che tanto il server quanto il client siano vicendevolmente visibili (test che si puo' effettuare anche abbassano temporaneamente la protezione sullo ICMP e verificare che client e server rispondano al ping).
Inoltre devo segnalare un errore nella tabella riepilogativa dei comandi da digitare per la configurazione dell'amministrazione remota di Hyper-V, presente a questo link http://archive.msdn.microsoft.com/HVRemote , ovvero il comando che permette di creare un'eccezione nel firewall relativa all'uso della mmc, il comando corretto e':

cscript hvremote.wsf /mode:client /mmc:enable

RETR error con thunderbird

Oggi mi sono imbattutto in questo fastidioso errore segnalatomi da un cliente:


"The RETR command did not succeed. Error retrieving a message. Mail server mail.btinternet.com responded: problem retrieving message".


il problema era molto strano in quanto, nella stessa rete e sullo stesso account, un utente aveva rilevato il problema ed un altro no.


Fatta una ricerca su google, tutti i risultati trovati suggerivano di eliminare o spostare alcuni messaggi di posta probabilmente corrotti ma, ovviamente il problema non poteva essere quello... infatti il problema era il protocollo di sicurezza utilizzato per la connessione al sever pop3 che ho dovuto cambiare da Nessuno a STARTTLS.



domenica 29 aprile 2012

Email Saved to database after 'after_save' hook si fired.

Dall'omonimo post del forum di SugarCRM after_save hook and email addresses

Comportamento segnalato come bug 46029

ho risolto modificando cosi' il file /include/SugarObjects/templates/person/Person.php:

function save($check_notify=false)
{
   $this->add_address_streets('primary_address_street');
   $this->add_address_streets('alt_address_street'); $ori_in_workflow = empty($this->in_workflow) ? false : true;
   $this->emailAddress->handleLegacySave($this, $this->module_dir);
   // Move from here
   // parent::save($check_notify);
   $override_email = array();
   if(!empty($this->email1_set_in_workflow))
   {
      $override_email['emailAddress0'] = $this->email1_set_in_workflow;
   }
   if(!empty($this->email2_set_in_workflow))
   {
      $override_email['emailAddress1'] = $this->email2_set_in_workflow;
   }
   if(!isset($this->in_workflow))
   {
     $this->in_workflow = false;
   }
// To here
   parent::save($check_notify);
   if($ori_in_workflow === false || !empty($override_email))
   {
    $this->emailAddress->save($this->id, $this->module_dir, $override_email,'','','','',$this->in_workflow);
   }
   return $this->id;
}

e tutto funziona cosi' come ci si aspetta

domenica 15 gennaio 2012

Lighttpd + php + Unslung issues

Se vi trovate davanti ad un problema come quello descritto nell'estratto del file di log di lighttpd (che trovate /opt/var/log/lighttpd/error.log) qui di seguito:

2012-01-15 10:37:57: (mod_fastcgi.c.1732) connect failed: Connection refused on unix:/tmp/php-fcgi.sock-0
2012-01-15 10:37:57: (mod_fastcgi.c.3025) backend died; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 1
2012-01-15 10:37:57: (mod_fastcgi.c.2804) child signaled: 11
2012-01-15 10:37:57: (mod_fastcgi.c.1103) the fastcgi-backend /opt/bin/php-fcgi failed to start:
2012-01-15 10:37:57: (mod_fastcgi.c.1114) terminated by signal: 11
2012-01-15 10:37:57: (mod_fastcgi.c.1119) to be exact: it segfaulted, crashed, died, ... you get the idea.
2012-01-15 10:37:57: (mod_fastcgi.c.1121) If this is PHP, try removing the bytecode caches for now and try again.
2012-01-15 10:37:57: (mod_fastcgi.c. 2842) ERROR: spawning fcgi failed.

vi consiglio di utilizzare il comando:

/opt/bin/php-fcgi

che potrebbe svelare il problema all'origine del crash del modulo php-fcgi. Nel mio caso l'output del comando di cui in precedenza e' stato molto esplicativo e molto utile:

/opt/bin/php-fcgi: /lib/libdl.so.2: version `GLIBC_2.0' not found (required by /opt/lib/libxml2.so.2)
Segmentation fault

in quanto il problema del crash era dovuto alla mancanza del package libcml2 che ho provveduto ad installare utilizzando il comando:

ipkg install libxml2

Technorati : , , , ,
Del.icio.us : , , , ,
Zooomr : , , , ,
Flickr : , , , ,

martedì 1 marzo 2011

Errore TF255510 in fase di configurazione di Microsoft Team Foundation Server 2010

Durante la configurazione di un server TFS 2010, mi sono imbattuto nell'errore TF255510 che impedisce di proseguire con la configurazione del server. Piu' in particolare, aprendo il log file del wizard di configurazione e ricercando per l'errore specificato, si trovano le seguenti righe:




[Error @23:05:06.831] TF255510: The following path contains an access control list (ACL) that is not canonically ordered: C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Access. This indicates that at least one file system permission required for installation is not configured correctly. You must resolve this issue before Team Foundation Server can be successfully installed. It might be possible to resolve this error by changing the properties for file or directory security in Windows Explorer. For more information, see this page on the Microsoft Web site: http://go.microsoft.com/fwlink/?LinkId=184320 .


[Error @23:05:06.831] !Verify Error!: TF255510: The following path contains an access control list (ACL) that is not canonically ordered: C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Access. This indicates that at least one file system permission required for installation is not configured correctly. You must resolve this issue before Team Foundation Server can be successfully installed. It might be possible to resolve this error by changing the properties for file or directory security in Windows Explorer. For more information, see this page on the Microsoft Web site:
http://go.microsoft.com/fwlink/?LinkId=184320 .


[Info @23:05:06.831] "Verify: System Checks\Root\CanonicalAcls(VCANONICALACLS): Exiting Verification with state Completed and result Error"





Non esistono riferimenti su questo errore al momento in cui sto scrivendo, per cui ho dovuto risolvere il problema"inventandomi" la soluzione, ovvero, assegnando i corretti priveligi alle varie cartelle dell'application tier di TFS2010, servendomi di una precedente, e funzionante, installazione di Team Foundation Server 2010.


Di seguito riporto le impostazioni di sicurezza, da settare per tutte le cartelle di TFS 2010 (C:\Program Files\Microsoft Team Foundation Server 2010), che permettono la risoluzione dell'errore TF255510



CREATOR OWNER: Full Control*
SYSTEM: Full Control
Administrators: Full Control
Users: Modify, Read & Execute, List folder contents
TrustedInstaller: List folder contents, Full Control*

* Il Full Control e' impostato passando da impostazioni avanzate





Technorati : , , ,

Del.icio.us : , , ,

Zooomr : , , ,

Flickr : , , ,

Cancellazione di un agente DPM 2010 orfano

Mi e' capitato di dover rimuovere un agente di Microsoft Data Protection Manager 2010 rimasto orfano del server su dui era stato installato. L'operazione puo' essere effettuata solo dalla Management Shell di DPM 2010 utilizzando il seguente comando:


PS C:\Program Files\Microsoft DPM\DPM\bin> .\Remove-ProductionServer.ps1 -DPMServerName <FQDN del DPM Server> -PSName <FQDN del server orfano>




Technorati : , ,

Del.icio.us : , ,

Zooomr : , ,

Flickr : , ,

venerdì 24 dicembre 2010

Problemi DNS Teletu

Dopo settimane di navigazione con DNS impostati manualmente oggi, sara' perche' e' la vigilia di Natale, anche OpenDNS mi ha "lasciato a piedi", come si suol dire, cosi' mi sono deciso di chiamare Teletu per farmi fornire questi maledetti nuovi DNS server che ancora, non ho capito per quale arcano motivo si rifiutano di fornire automaticamente a chi si connette con un router o un modem ADSL.


Per farla breve, elenco i DNS che mi hanno comunicato attraverso centro assistenza teletu, magari a qualcuno potranno essere utili:


Server DNS Primario: 91.80.36.136


Server DNS Secondario: 91.80.37.101


Buon Natale a tutti :) :)




Technorati :

Del.icio.us :

Zooomr :

Flickr :

lunedì 20 dicembre 2010

FSCStatisticsService fail to start

Oggi mi sono imbattutto in un errore che a distanza di circa un minuto circa generava una notifica di Windows in cui veniva segnalata l'impossibilita' di far partire il servizio FSCStatisticsService ovvero il servizio Statistiche di Microsoft ForeFront per Microsoft Exchange Server 2007.




Aprendo l'event viewer di Windows la prima cosa che colpisce e' la numerosissima quantita' di errori relatiivi al servizio:




The description for Event ID 0 from source FSCStatisticsService cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.




If the event originated on another computer, the display information had to be saved with the event.




The following information was included with the event:




Service stopped



La soluzione del problema e' stata molto semplice: rinominare il file C:\Program Files (x86)\Microsoft Forefront Security\Exchange Server\Data\Statistics.xml e riavviare il servizio FSCStatisticsServices dalla console di amministrazione dei servizi di Microsoft Windows (services.msc)



Technorati :

Del.icio.us :

Zooomr :

Flickr :

venerdì 17 dicembre 2010

Rename SharePoint_AdminContent_<GUID> databasename

Da un po' di tempo Data Protection Manager 2010 (DPM 2010) falliva i backup di due database di SharePoint (Project Server 2007 per la precisione) adducendo come motivazione l'eccessiva lunghezza del nome del database da backuppare (nello specifico SharePoint_AdminContent_GUID e SharedServicesContent_<GUID>) e suggerendo di rinominare il database con un nome piu' corto.


La prima cosa che ho fatto e' verificare la lunghezza massima del nome di un membro appartenent ad un protection group e, dalla documentazione Microsoft ho trovato che, in realta' la lunghezza dei database da backuppare non era superiore al massimo consentito, ma gli errori di errata sincronizzazione si manifestavano comunque. Ho allora deciso di rinominare il database cosi' come suggerito da DPM... e qui sono cominciati i problemi.


Per farla breve, prima di riassumere i passaggi che hanno portato alla soluzione di tutti i problemi, faro' un piccolissimo preambolo. In pratica l'installazione di Project Server 2007 non e' stata effettuata seguendo le indicazioni fornite dalle Best Practice per cui l'amministratore della farm risultava l'utente di servizio Network Service cosa che ha creato non pochi problemi in fase di ridenominazione del DB.


I seguenti passaggi riassumono gli step da seguire per effettuare il rename del database di contenuto SharePoint_AdminContent_<GUID> anche nel caso in cui l'installazione di MOSS 2007 / WSS 3.0 / Project Server 2007 non sia stata effettuata con i dovuti criteri.



  1. Se l'installazione non e' stata fatta da voi o non e' stata documentata, assicurarsi che l'amministratore della Farm sia un account di dominio.


    a. Se l'account dell'application pool SharePoint Central Administration v3 e' un account di sistema (Network Service, Local System o Local Service) allora molto probabilmente l'amministratore della farm e' l'account con cui "gira" l'application pool. In questo caso tutti i comandi che vederemo successivamente falliranno con il messaggio di Access Denied.


    b. Per evitare cio' occorre lanciare il seguente comando:


    stsadm -o updatefarmcredentials -identitytype configurableid -userlogin <DomainName>\<UserName> -password <Password>

    c. Effettuato il cambio di amministratore occorre riavviare Internet Information Services per rendere effettevio il cambio di identita' per l'application pool di cui al punto 1.a.

  2. Avviare la console di amministrazione di SharePoint

  3. Effettuare il backup del database che si vuole rinominare

  4. Ripristinare il database con il nuovo nome

  5. Avviare il command prompt con le credenziali dell'account amministratore della Farm

  6. Eseguire il comando


    stsadm -o deletecontentdb -url <CentralAdministrationUrl><:<Port>> -databasename SharePoint_AdminContent_<GUID> -databaseserver <DatabaseInstance>

  7. Sempre da commandline, eseguire il comando


    stsadm -o addcontentdb -url <CentralAdministrationUrl><:<Port>> -databasename <SharePoint_AdminContent_NewName> -databaseserver <DatabaseInstance>

  8. Avviare la Central Administration Console

  9. Rimuovere il vecchio database

  10. Cancellare il database da SQL Server




Technorati :

Del.icio.us :

Zooomr :

Flickr :

venerdì 5 novembre 2010

MOSS 2007 e WSS 3.0 ed errori 6398 e 7076

Presso un cliente ho avuto un problema abbastanza serio relativo a Microsoft Office SharePoint Server 2007. In pratica il registro Applicazioni dell'eventvwr era pieno zeppo degli errori 6398 "Windows SharePoint Services 3" e 7076 "Office Sever Shared Services"


Event Type: Error


Event Source: Windows SharePoint Services 3


Event Category: (964)


Event ID: 6398


Date: 11/7/2007


Time: 5:45:38


PM User: N/A


Computer: SP02


Description:


The Execute method of job definition Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob


(ID 02b5e3f2-21e3-4552-bf1d-6e152749458a) threw an exception. More information is included below.


Failed to connect to an IPC Port: Access is denied


Inoltre questi errori erano tracciati puntualmente dopo l'esecuzione del job di MOSS denominato "Application Server Administration Service Timer Job" che falliva puntualmente sulla macchina oggetto degli errori di cui sopra.


Il problema e' stato risolto dopo aver assegnato all'account <NomeDominio>\SP02$ i ruoli di public e WSS_Content_Application_Pools sul database di configurazione della Farm e sul database dei contenuti del sito della central administration di MOSS (di solito SharePoint_AdminContent_<guid>). Dopo la modifica arrestare i servizi


- Windows SharePoint Services Administration


- Windows SharePoint Services Timer


e quindi riavviarli.

lunedì 13 settembre 2010

Data Protection Manager 2010 - Set-PolicySchedule

Dopo il rilascio ufficiale di Microsoft System Center Data Protection Manager 2010, abbiamo deciso di aggiornare la nostra infrastruttura di backup migrando da DPM 2007 a questa nuova versione del software di "protezione" di casa Microsoft.


Il prodotto e' buono, ma e' come un cavallo selvaggio e come tale si fatica un po' per domarlo, e fargli fare cio' che si vuole diventa un sfida quotidiana. Metafore a parte, devo segnalare un problema che ho avuto in fase di scrittura di uno script che modifica "al volo" l'orario di partenza del tape backup job.


Se dalla shell di powershell di DPM 2010 digitare il comando


Get-Help Set-PolicyShedule


otterrete la descrizione del comando Set-Policy ed una serie di esempi. Nella descrizione si fa riferimento alla possibilita' di settare l'ora di avvio dell'operazione schedulata ed i giorni della settimana in cui il job viene eseguito (vedi figura seguente), ovvero l'opzione DaysOfWeek



dopo l'esecuzione dello script, ottenevo l'errore:


Error modifing Tape backup schedule time for protection group A parameter cannot be found that matches parameter name 'DaysOfWeek'.


errore che chiarisce il fatto che DaysOfWeek non e' piu' un'opzione valida per il cmdlet Set-PolicySchedule in DPM 2010 che e' invece stata sostituita dall'opzione IncludeDaysOfWeek.

lunedì 24 maggio 2010

TF51300 Either access to the database is denied, or the item does not exist.

Un collega mi ha segnalato l'impossibilita' di visualizzare/modificare i propri Work Items su Visual Studio TFS. Inutile dire che dall'eventviewer di Windows non si estrapolava niente di utile ai fini della risoluzione del problema, cosi' ho aperto il Portale del progetto TFS ed visto che la lista dei Work Items era visibile correttamente ma, quando si tentava di visualizzare il dettaglio di un item si incorreva nel messaggio di errore "TF51300 Either access to the database is denied, or the item does not exist.".


Dopo un buon quarto d'ora (infruttuoso) passato a googlare ho pensato di utilizzare il "vecchio trucco" del togli e rimetti :). In pratica ho rimosso e poi riaggiunto il gruppo di protezione/utente di Active Directory dalle security di TFS/SPS ed il problema e' scomparso.




Technorati : , , , ,

Del.icio.us : , , , ,

Zooomr : , , , ,

Flickr : , , , ,

lunedì 19 aprile 2010

Nuovo Download Manager Microsoft

E' finalmente uscita la versione RTM della suite VS 2010 e, come tutti gli abbonati MSDN mi accingo a scaricare il tutto attraverso il sito MSDN ma, succede che con Internet Explorer 8 compare il fastidiosissimo messaggio "An add-on for this website failed to run. Check the security settings in Internet options for potential conflicts" quando si tenta di scaricare un ISO qualunque della suite.

Tento il download con Internet Explorer 6.0 e cosa scopro? che Microsoft utilizza un nuovo Download Manager denominato AKAMAI Dwonaload Manager e che, questo add-on si scarica da questo simpatico url: http://dlm.tools.akamai.com/dlmanager/versions/activex/dlm-activex-2.2.5.0.cab

Ovviamente http://dlm.tools.akamai.com deve essere incluso nella lista dei siti fidati in modo tale che possiate scaricare ed installare l'ActiveX senza incorrere nel blocco di cui nel messaggio precedente.

Buon download a tutti.

giovedì 25 febbraio 2010

Maledetto Wallpaper DELL …

Ragazzi la DELL fa delle belle macchine, ma non so perche', qualche "genio" dell'aziendaha deciso di inserire il loro un loro bel wallpaper \windows\system32\DELLWALL.BMP (un simpatico BMP da 1.83 MB) che quando ci si connette in RDP fa sentire tutta la sua simpatia rendendo la connessione cosi' lenta che ho visto fior di sistemisti tentare il suicidio.

Infastidito, e non poco, di questa situazione, ho fatto una rapida ricerca ed ho applicato la soluzione seguente:

  1. Avviare regedit
  2. Individuare la chiave HKEY_USERS\.DEFAULT\Control Panel\Desktop
  3. Cancellare il contenuto del valore Wallpaper
  4. Riavviare la macchina


 

domenica 21 febbraio 2010

Upgrade da Microsoft Team Foundation Server 2010 Beta 2 a Microsoft Team Foundation Server 2010 RC

Si sta avvicinando la fatidica data di rilascio di Microsoft Team Foundation Server 2010 (12 Aprile 2010) e, come molti altri professionisti IT, mi sono "confrontato" con l'aggiornamento dell'ambiente dedicato al test di questo prodotto, dalla versione Beta 2 alla versione Release Candidate e, come tanti altri, mi sono posto il problema di come fare a non perdere tutto il lavoro effettuato tra una release e l'altra... ebbene di seguito la procedura step-by-step per l'upgrade da Team Foundation Server 2010 Beta 2 a Team Foundation Server RC.



1. Effettuare il backup dei database


2. Disinstallare TFS 2010 da tutti server della "Farm TFS"


3. Disinstallare il .Net Framework 4.0 beta 2 da tuti i server della farm TFS


4. Selezionare Upgrade e cliccare su Start Wizard



5. Selezionare Databases quindi cliccare su List Available Databases



6. Selezionare la checkbox By checking this box, I confirm that I have a current backup e cliccare su Next



7. Digitare le credenziali dell'account di servizio di TFS, cliccare su Test e, se non ci sono errori, cliccare su Next



8. Selezionare la checkbox Configure Reporting for use with Team Foundation Server e cliccare su Next



9. Cliccare su Next



10. Cliccare su List Available Databases e quindi cliccare su Next



11. Cliccare su Test



12. Cliccare su Next



13. Selezionare la checkbox Use a different account than the Team Foundation Server service account for the report reader account e digitare le credeziali per l'account di accesso a reporting services



14. Cliccare su Test e, se non si verificano errori, cliccare su Next



15. Selezionare la checkbox Configure SharePoint for use with Team Foundation Server e cliccare su Next



16. Selezionare Use an existing server farm for SharePoint



17. Cliccare su Test in corrispondenza dei due siti, quindi, cliccare su Next se non si verificano errori



18. Cliccare su Configure


19. Cliccare su Next



20. Cliccare su Close


21. Cliccare su Close



22. Selezionare le Team Project Collections e cliccare su Start Collection dalla console di Amministratzione di TFS 2010 RC



23. Se le Team Project Collection non si avviano, riavviare il server TFS.




Technorati : , , , , ,

Del.icio.us : , , , , ,

Zooomr : , , , , ,

Flickr : , , , , ,

lunedì 28 dicembre 2009

Invoke or BeginInvoke cannot be called on a control until the window handle has been created.

Questo errore viene tipicamente mostrato quando si tenta di installare Microsoft SQL Server 2008 SP1 su Microsoft Windows 7 o su Microsoft Windows Server 2008 R2.

Varie soluzioni sono presenti su internet ma ne esiste una ufficiale anche sul sito Microsoft: http://support.microsoft.com/kb/975055 che consiste nell'istallazione del Cumulative Update di Microsoft SQL Server 2008 SP 1.

Io ho risolto diversamente (anche perche' il problema mi si e' presentato prima della pubblicazione della soluzione ufficiale):
  1. Estrarre il contenuto del file SQLServer-2008SP1-KB938369-x63-ENU.exe in una cartella temporanea
  2. Avviare il prompt dei comandi come amministratore
  3. Spostarsi sulla cartella in cui sono stati estratti i files
  4. Lanciare l'eseguibile Setup.exe

giovedì 29 ottobre 2009

Cancellazione Virtual Machine "Fantasma" in Hyper-V

Mi e' capitato di ritrovare una VM fantasma nella console di Hyper-V e di non riuscire ad elimarla in maniera ortodssa (Menu' contestuale/elimina) cosi', intestardito ho deciso di percorrere altre vie.

Grazie ad un tool molto utile denominato WMI Code Creator, ho generato il codice seguente:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\virtualization")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Msvm_ComputerSystem Where EnabledState >= 2",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Msvm_ComputerSystem instance"
Wscript.Echo "-----------------------------------"
If isNull(objItem.AssignedNumaNodeList) Then
Wscript.Echo "AssignedNumaNodeList: "
Else
Wscript.Echo "AssignedNumaNodeList: " & Join(objItem.AssignedNumaNodeList, ",")
End If
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "CreationClassName: " & objItem.CreationClassName
If isNull(objItem.Dedicated) Then
Wscript.Echo "Dedicated: "
Else
Wscript.Echo "Dedicated: " & Join(objItem.Dedicated, ",")
End If
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "ElementName: " & objItem.ElementName
Wscript.Echo "EnabledDefault: " & objItem.EnabledDefault
Wscript.Echo "EnabledState: " & objItem.EnabledState
Wscript.Echo "HealthState: " & objItem.HealthState
If isNull(objItem.IdentifyingDescriptions) Then
Wscript.Echo "IdentifyingDescriptions: "
Else
Wscript.Echo "IdentifyingDescriptions: " & Join(objItem.IdentifyingDescriptions, ",")
End If
Wscript.Echo "InstallDate: " & objItem.InstallDate
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "NameFormat: " & objItem.NameFormat
Wscript.Echo "OnTimeInMilliseconds: " & objItem.OnTimeInMilliseconds
If isNull(objItem.OperationalStatus) Then
Wscript.Echo "OperationalStatus: "
Else
Wscript.Echo "OperationalStatus: " & Join(objItem.OperationalStatus, ",")
End If
If isNull(objItem.OtherDedicatedDescriptions) Then
Wscript.Echo "OtherDedicatedDescriptions: "
Else
Wscript.Echo "OtherDedicatedDescriptions: " & Join(objItem.OtherDedicatedDescriptions, ",")
End If
Wscript.Echo "OtherEnabledState: " & objItem.OtherEnabledState
If isNull(objItem.OtherIdentifyingInfo) Then
Wscript.Echo "OtherIdentifyingInfo: "
Else
Wscript.Echo "OtherIdentifyingInfo: " & Join(objItem.OtherIdentifyingInfo, ",")
End If
If isNull(objItem.PowerManagementCapabilities) Then
Wscript.Echo "PowerManagementCapabilities: "
Else
Wscript.Echo "PowerManagementCapabilities: " & Join(objItem.PowerManagementCapabilities, ",")
End If
Wscript.Echo "PrimaryOwnerContact: " & objItem.PrimaryOwnerContact
Wscript.Echo "PrimaryOwnerName: " & objItem.PrimaryOwnerName
Wscript.Echo "ProcessID: " & objItem.ProcessID
Wscript.Echo "RequestedState: " & objItem.RequestedState
Wscript.Echo "ResetCapability: " & objItem.ResetCapability
If isNull(objItem.Roles) Then
Wscript.Echo "Roles: "
Else
Wscript.Echo "Roles: " & Join(objItem.Roles, ",")
End If
Wscript.Echo "Status: " & objItem.Status
If isNull(objItem.StatusDescriptions) Then
Wscript.Echo "StatusDescriptions: "
Else
Wscript.Echo "StatusDescriptions: " & Join(objItem.StatusDescriptions, ",")
End If
Wscript.Echo "TimeOfLastConfigurationChange: " & objItem.TimeOfLastConfigurationChange
Wscript.Echo "TimeOfLastStateChange: " & objItem.TimeOfLastStateChange
Next

Lo script genera una lista con tutte le proprieta' delle macchine virtuali che si trovano sull'Hyper-V server in un determinato momento, producendo un Output come questo:

Msvm_ComputerSystem instance
-----------------------------------
AssignedNumaNodeList:
Caption: Virtual Machine
CreationClassName: Msvm_ComputerSystem
Dedicated:
Description: Microsoft Virtual Machine
ElementName: EN_BPB_BPBEXCH
EnabledDefault: 2
EnabledState: 3
HealthState: 5
IdentifyingDescriptions:
InstallDate: 20091007075603.000000-000
Name: 5975D3F3-EE3D-412A-AC92-DFBAB45F58D0
NameFormat:
OnTimeInMilliseconds: 0
OperationalStatus: 10
OtherDedicatedDescriptions:
OtherEnabledState:
OtherIdentifyingInfo:
PowerManagementCapabilities:
PrimaryOwnerContact:
PrimaryOwnerName:
ProcessID: 0
RequestedState: 12
ResetCapability: 1
Roles:
Status:
StatusDescriptions:
TimeOfLastConfigurationChange: 20091007085737.000000-000
TimeOfLastStateChange: 20091007091948.000000-000

Supponendo che la macchina fantasma si chiamasse PHANTOM_VM, ricaviamo il nome file di configurazione della macchina dalla proprieta' name: 5975D3F3-EE3D-412A-AC92-DFBAB45F58D0.
A questo punto sara' sufficiente trovare il file lnk collegato al file di configurazione della macchina fantasma e procedere alla sua cancellazione. Nel mio caso il file si trovava in C:\Users\All Users\Microsoft\Windows\Hyper-V\Virtual Machines\

martedì 13 ottobre 2009

Esecuzione locale script disattivata

Oggi mi e' capitato, a seguito dello spostamento di una Virtual Machine da un Server con Hyper-V 2008 R2 ad un altro praticamente identico, di dover riattivare la VM.
Come da prassi ho cliccato sulla notify icon in basso a destra sulla taskbar di Windows ma, invece di comparire la solita finestra di dialogo con la scelta del tipo di attivazione, mi compare questo simpatico messaggio:
"Impossibile eseguire l'Attivazione di Windows. L'esecuzione locale di script e' stata disattivata su questo computer. Cio' puo' essere stato fatto a scopo preventivo contro i virus o come misura di sicurezza. Una volta attivata l'esecuzione locale dello script, riavvare l'attivazione"

Dopo qualche ora di ricerche (vane) sulla KB di Microsoft, mi imbatto nella seguente soluzione:

1. Avviare Regedit
2. Impostare "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1400" a 0
3. Impostare "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1400" a 0
4. Chiudere il Registry Editor
5. Rilanciare il processo di attivazione di Microsoft Windows

Il valore 1400 corrisponde alla policy di Attivazione Scripting Locale