<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Links</title>
        <link>http://blogs.ugidotnet.org/Alexblog/category/Links.aspx</link>
        <description>Links</description>
        <language>it-IT</language>
        <copyright>Ermanno Goletto</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Pubblicato articolo Supporto delle applicazioni legacy tramite Virtual PC 2007</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/19/93100.aspx</link>
            <description>Su Sysadmin.it è stato pubblicato il mio articolo Supporto delle applicazioni legacy tramite Virtual PC 2007 in cui ho cercato di sviscerare tutti gli aspetti di questo tipo di problematica IT raccogliendo due anni di esperienze sul campo.
Se vi va o vi capita di leggerlo datemi un parere.
[Update]
Nel caso rilevaste problemi nell'accedere all'articolo, lo stesso è displonibile anche al seguente link:
http://xoomer.alice.it/ermannogoletto/Articles/IT/SupportoAppLegacyVPC2007/ &lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/93100.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/19/93100.aspx</guid>
            <pubDate>Thu, 19 Jun 2008 18:19:13 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/19/93100.aspx#feedback</comments>
            <slash:comments>59</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/93100.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/93100.aspx</trackback:ping>
        </item>
        <item>
            <title>Rilevare le istanze di SQL Server sulla rete</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/16/93047.aspx</link>
            <description>Ci sono vari metodi di farlo ad esempio usare SQL-DMO (SQL Server 2000) o meglio ancora SMO (SQL Server 2005). Ma questi due metodi prevedono di installare sui client le relative dll.
Un altro modo invece è quello di usare MC-SQLR ovvero il SQL Server Resolution Protocol e quindi di inviare un pacchetto 
CLNT_BCAST_EX e analizzare i pacchetti di risposta   di risposta server SVR_RESP.
Qui trovate un esempio Locate SQL Server instances on the local network, l'autore aveva analizzato il traffico di rete per capire come funzionava il protocollo ora con la pubblicazione delle specifiche dei protocolli Microsoft non è più necessario: MC-SQLR]: SQL Server Resolution Protocol Specification.&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/93047.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/16/93047.aspx</guid>
            <pubDate>Mon, 16 Jun 2008 17:18:43 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/16/93047.aspx#feedback</comments>
            <slash:comments>156</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/93047.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/93047.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows SharePoint Services 3.0 - Limitare la RAM utilizzata dal Windows Internal Database </title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/09/92979.aspx</link>
            <description>Con l'installazione base di WSS 3.0 (e di WSUS) viene installato il Windows Internal Database, per limitare la RAM utilizzata da questa instanza di SQL Server è possibile utilizzare SQLCmd.
Di seguito viene riportata la procedura per visualizzare e impostare la RAM utilizzata:

    Installazione del Microsoft SQL Server Native Client 
    Installazione del Microsoft SQL Server 2005 Command Line Query Utility 
    Aprire il prompt dei comandi. 
    Connettersi all’istanza di SQL Server 2005 Embedded Edition Service digitando:
    “%ProgramFiles%\Microsoft SQL Server\90\Tools\binn\sqlcmd” -S \\.\pipe\mssql$microsoft##ssee\sql\query -E 
    Visualizzare le impostazioni della RAM digitando:
    USE master
    GO
    EXEC sp_configure 'show advanced options', 1
    GO
    RECONFIGURE WITH OVERRIDE
    GO
    EXEC sp_configure 'max server memory (MB)'
    GO
    EXEC sp_configure 'show advanced options', 0
    GO 
    Modificare le impostazioni della RAM digitando:
    USE master
    GO
    EXEC sp_configure 'show advanced options', 1
    GO
    RECONFIGURE WITH OVERRIDE
    GO
    EXEC sp_configure 'max server memory (MB)', MaxServerMemory
    RECONFIGURE WITH OVERRIDE
    GO
    EXEC sp_configure 'show advanced options', 0
    GO 
    Disconnettersi all’istanza di SQL Server 2005 Embedded Edition Service digitando:
    EXIT 

Problemi analoghi si possono avere con ISA 2004 o ISA 2006 e MSDE.
Per ulteriori informazioni si veda You may experience high memory usage on a computer that is running ISA Server 2004 or ISA Server 2006 and that logs messages to an MSDE database.&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92979.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/09/92979.aspx</guid>
            <pubDate>Mon, 09 Jun 2008 18:05:21 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/06/09/92979.aspx#feedback</comments>
            <slash:comments>103</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92979.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92979.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Server 2003 ed errore durante l'avvio di eseguibili da Share di rete</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/30/92873.aspx</link>
            <description>Per impostazione predefinita in Windows Server 2003 è abilitata la Protezione avanzata di Internet Explorer ciò causa il seguente errore se provate ad avviare eseguibili, setup etc da una share di rete anche se sulla stessa avete tutti diritti necessari:
Impossibile accedere alla periferica, al percorso o al file specificato. E' probabile che non si disponga delle autorizzazioni necessarie.
Le possibili sluzioni sono:

    Aggiungere il o i server su cui risiedono le share nell'eleco dei siti Intranet Locale.
    Se l'utente appartiene ad un grupoo amministrativo disabilitare la Protezione avanzata di Internet Explorer per gruppi Amministrativi.
    Disinstallare la Protezione avanzata di Internet Explorer

E' possibile disinstallare la Protezione avanzata di Internet Explorer o modificarle le impostazioni tramite:
Panello di controllo -&amp;gt; Installazioni applicazioni -&amp;gt; Installazioni componenti di Windows -&amp;gt; Protezione avanzata di Internet Explorer
Per ulteriori informazioni si veda Diversa esplorazione con il browser in seguito all'impostazione della protezione avanzata di Internet Explorer e in particolare:
"La protezione avanzata di Internet Explorer impone delle limitazioni anche all'accesso a script, file eseguibili e altri file potenzialmente non sicuri su un percorso UNC, a meno che tale percorso non sia stato aggiunto esplicitamente all'area Intranet locale. Ad esempio, se si desidera accedere a \\server\share\setup.exe, sarà necessario aggiungere \\server all'area Intranet locale. "&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92873.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/30/92873.aspx</guid>
            <pubDate>Fri, 30 May 2008 17:44:27 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/30/92873.aspx#feedback</comments>
            <slash:comments>39</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92873.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92873.aspx</trackback:ping>
        </item>
        <item>
            <title>ISA 2006 e problemi con Http compression</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/27/92826.aspx</link>
            <description>Oggi mi capitato di avere problemi visitando un sito, su PC che utilizzavano ISA 2006 come gateway veniva visualizzato il seguente errore:

Error Code: 500 Internal Server Error. The parameter is incorrect. (87)

Se invece ISA Server veniva impostato come proxy l'errore era:

Technical Information (for support personnel) 
Error Code: 502 Proxy Error. The parameter is incorrect. (87) 
IP Address: aa.bb.cc.dd 
Source: web filter 

Il problema è legato alla funzionalità Http Compression di ISA Server infatti disabilitandola il problema scompare.
Questo messaggio poteva comparire anche con ISA 2004 a riguardo di vedano:

    Users receive a "The parameter is incorrect" error when they try to access a Web site through ISA Server 2004 
    Users receive an "Error Code 502: Proxy error. The parameter is incorrect. (87)" error when they visit certain URLs after you configure HTTP content filtering based on signatures or on extensions in ISA Server 2004 

In questo caso però credo il problema riguardi il sito o il provider che lo ospita e la sua compatibiltà nel soddisfare le richieste http compresse.
Per ovviare oltre ovviamente alla soluzione drastica di diabilitare la funzionalità richiesta contenuti Http compressi, è possibile configurare un'eccezione sull'indirizzo IP fonito nel messaggio di errore visualizzato quando ISA è impostato come proxy.&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92826.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/27/92826.aspx</guid>
            <pubDate>Tue, 27 May 2008 15:28:54 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/27/92826.aspx#feedback</comments>
            <slash:comments>137</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92826.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92826.aspx</trackback:ping>
        </item>
        <item>
            <title>Publicato su Technet l'articolo Installazione e amministrazione di Windows Server 2008 Server Core</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/21/92760.aspx</link>
            <description>Su Technet è stato pubblicato il mio articolo Installazione e amministrazione di Windows Server 2008 Server Core.&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92760.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/21/92760.aspx</guid>
            <pubDate>Wed, 21 May 2008 19:09:16 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/21/92760.aspx#feedback</comments>
            <slash:comments>53</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92760.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92760.aspx</trackback:ping>
        </item>
        <item>
            <title>Installare Fedora 9 in Virtual PC 2007</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/18/92717.aspx</link>
            <description>Siccome a breve è probabile che dovrò familiarizzare anche con sistemi Linux e in particolare con Fedora ho scaricato l'ultima versione Fedora 9 ed ho provato ad installarla in Virtual PC 2007 e Virtual PC 2007 SP1 ed ho subito avuto un ben messaggio di Errore irreversibile nel processore:

Questo tipo di errore può essere dovuto a:

    un errore nell'hardware abstraction layer di un driver 
    un problema nella core emulation causato da un'operazione CPU di basso livello non supportata da Virtual PC (e credo che per quanto raro questo sia in effetti il problema) 

Per ulteriori informazioni su questo errore si vedano:

    Why did I just get an 'Unrecoverable processor error' - and what does it mean? 
    Portability issues with Linux under Virtual PC / Virtual Server 

 Per ovviare al problema è possibile premere il tasto TAB per specificare opzioni aggiuntive e digitare noreplace-paravirt:

 Pare che lo stesso problema sia presenta anche su Ubuntu 8.04 per informazioni sul parametri kernel si veda il seguente Kernel Parameters mentre di seguito riporto un paio di post a tema inerenti al parametro kernel noreplace-paravirt e i8042.noloop (che non dovrebbe più essere necessario in VPC 2007 e VPC 2007 SP1):


    Crash Fedora Core 9 on MSVirtualPC 2007 
    Fedora 9? anyone worked out how yet in Virtual PC 

Va anche detto che questo metodo vi consente solo di avviare l'installazione, ma al primo riavvio si ripresenterà l'errore.
Per rendere permanente la modifica occorre specificare nuovamente l'opzione al primo boot tramite questa procedura:

    Premere TAB 
    Selezionare la voce di avvio del sistema operativo e premere e per editarla 
    Selezionare la voce relativa al kernel e premere e per editarla 
    Aggiungere al fondo noreplace-paravirt e premere ENTER per salvare la modifica 
    Premere b per eseguire il boot con questa modifica 

Il sistema si avvierà ma con una risoluzione grafica non ottimale, ma sufficiente per permettere l'editazione del file /boot/grub/grub.conf per modificare la riga:
kernel /boot/vmlinuz-2.6.25-14.fc9.x86_64 ro root=UUID=xxx-xxx-xxx-xxx-xxx rhgb quiet vga=791 psmouse.proto=imps noreplace-paravirt
il parametro psmouse.proto=imps consetirà il funzionamento della rotella del mouse, mentre il parametre vga=791 imposterà la risoluzione 1024x768 a 64k per altre risoluzioni si faccia riferimento alla seguente tabella:


    
        
             
            640x480
            800x600
            1024x768
            1280x1024
        
        
            256 colori
            
            768
            
            
            771
            
            
            773
            
            
            775
            
        
        
            32K colori
            
            784
            
            
            787
            
            
            790
            
            
            793
            
        
        
            64K colori
            
            785
            
            
            788
            
            
            791
            
            
            794
            
        
        
            16M colori
            
            786
            
            
            789
            
            
            792
            
            
            795
            
        
    


Per impostare correttamente il problema della visualizzazione a 1024x768 con 64K colori occorre anche editare il file /etc/X11/xorg.conf moficando le sezioni:
Section "Device"
 Identifier  "Videocard0"
# Driver      "s3"     
 Driver      "fbdev"
EndSection
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     16
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
EndSection
Non provato ad installare le virtual addition per linx (che ufficialmente sono rivolte solo a Suse e Redhat) per vedere se risolvono in modo automatico il problema del mouse e della visualizzazione, in ogni caso ovviamente almeno la modifica al file grub.conf occorre farla.
&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92717.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/18/92717.aspx</guid>
            <pubDate>Sun, 18 May 2008 12:53:20 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/18/92717.aspx#feedback</comments>
            <slash:comments>31</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92717.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92717.aspx</trackback:ping>
        </item>
        <item>
            <title>Autosizing delle righe di un DataGrid</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/16/92703.aspx</link>
            <description>A volte mi capita di dover mettere mano a codice .NET 1.1 su Visual Studio 2003 e in questa versione la griglia nativa il DataGrid non era ricco di funzionalità. L'ultima richiesta che mi è arrivata è come realizzare l'autosizing delle righe per vedere completamente il contenuto delle righe le cui colonne vano su più righe. Manualment la cosa è possibiole quindi la funzionalità in effetti c'è ma non è esposta e quindi occorre utilizzare la reflection come indicato in questo link http://www.syncfusion.com/FAQ/winforms/FAQ_c44c.aspx
Di seguito la versione che ho realizzato:
Private Sub AutoSizeRows(ByVal columnStyle As System.Windows.Forms.DataGridColumnStyle)
  Dim dataGrid As System.Windows.Forms.DataGrid = columnStyle.DataGridTableStyle.DataGrid
  Dim dataGridtype As System.Type = dataGrid.GetType
  Do
    dataGridtype = dataGridtype.BaseType
    If dataGridtype Is Nothing Then Exit Sub
  Loop Until dataGridtype.FullName = GetType(System.Windows.Forms.DataGrid).FullName
  
  While dataGridtype.FullName &amp;lt;&amp;gt; GetType(System.Windows.Forms.DataGrid).FullName
    dataGridtype = dataGridtype.BaseType
  End While
  Dim mi As System.Reflection.MethodInfo = dataGridtype.GetMethod("get_DataGridRows", _
    Reflection.BindingFlags.FlattenHierarchy Or _
    Reflection.BindingFlags.IgnoreCase Or _
    Reflection.BindingFlags.Instance Or _
    Reflection.BindingFlags.NonPublic Or _
    Reflection.BindingFlags.Public Or _
    Reflection.BindingFlags.Static)
  Dim dataGridRows As New ArrayList
  For Each item As Object In CType(mi.Invoke(dataGrid, Nothing), Array)
    If item.ToString().EndsWith("DataGridRelationshipRow") Then
      dataGridRows.Add(item)
    End If
  Next
  Dim bmb As System.Windows.Forms.BindingManagerBase = _
    dataGrid.BindingContext(dataGrid.DataSource, dataGrid.DataMember)
  If Not bmb Is Nothing AndAlso bmb.Count &amp;gt; 0 Then
    Dim size As System.Drawing.SizeF
    Dim g As System.Drawing.Graphics = _
      System.Drawing.Graphics.FromHwnd(dataGrid.Handle)
    Dim sf As New StringFormat(StringFormat.GenericTypographic)
    Dim columnIndex As Integer = columnStyle.DataGridTableStyle.GridColumnStyles.IndexOf(columnStyle)
    Dim pi As System.Reflection.PropertyInfo
    Dim rowHeight As Integer
    For rowIndex As Integer = 0 To bmb.Count - 1
      size = g.MeasureString(dataGrid(rowIndex, columnIndex).ToString(), dataGrid.Font, columnStyle.Width, sf)
      pi = dataGridRows(rowIndex).GetType().GetProperty("Height")
      rowHeight = System.Convert.ToInt32(size.Height)
      'Little extra cellpadding space 
      rowHeight += 8
      pi.SetValue(dataGridRows(rowIndex), rowHeight, Nothing)
    Next
    'Rilascio risorse
     g.Dispose() : g = Nothing
     sf.Dispose() : sf = Nothing
  End If
End Sub&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92703.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/16/92703.aspx</guid>
            <pubDate>Fri, 16 May 2008 16:59:17 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/16/92703.aspx#feedback</comments>
            <slash:comments>19</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92703.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92703.aspx</trackback:ping>
        </item>
        <item>
            <title>Script per leggere il numero seriale del computer</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/15/92682.aspx</link>
            <description>Lo script in se non è nulla di che nel senso basta utilizzare WMI per leggere la proprietà SerialNumeber della classe Win32_BIOS, inrealtà lo scopo di questo script è quello di creare una template per simili esigenze ovvero:

    Gestire script utilizzabili da riga di comando con possibilità di richiedere dati all'utente 
    Utilizzare WMI 
    Connettersi anche a computer remoti 
    Visualizzare in forma tabellare i risultati 

Tutte queste esigenze di fatto sono semplicemente realizzabili se si utilizza l'oggetto Microsoft.CmdLib disponibile in Windows XP e Windows 2003 Server, per maggiori informazioni si veda il seguente Hey, Scripting Guy! Not-So-Hard Work Has Its Rewards, Too (purtroppo pare che su Vista non funzioni)
Per utilizzare l'oggetto occorre inserire il seguente codice nello script:

'*** Include common module
Dim objCmdLib : Set objCmdLib = CreateObject( "Microsoft.CmdLib" )
'*** Referring the script host to common module 
Set objCmdLib.ScriptingHost = WScript.Application

Per controllare che lo script sia eseguito a riga di comando è possibile utilizzarre la funzione CheckScript:

'*** Check whether the script is run using CScript
If CInt(objCmdLib.checkScript()) &amp;lt;&amp;gt; CONST_CSCRIPT Then
 WScript.Echo (UseCscriptErrorMessage)
        WScript.Quit(EXIT_UNEXPECTED)
End If

Per richiedere le credenziali all'utente da riga di comando non visualizzando la password è possibile utilizzare il seguente codice utilizzano l'oggetto ScriptPW disponibile in Windows XP e Windows 2003:

'*** Require connection information to user
Dim strComputer, strDomain, strUser, strPassword, objPassword
Wscript.StdOut.Write "Please enter computer name or IP Address (. for local host):"
strComputer = Wscript.StdIn.ReadLine
If strComputer &amp;lt;&amp;gt; "." Then
 Wscript.StdOut.Write "Please enter domain (null for log on to computer):"
 strDomain = Wscript.StdIn.ReadLine
        If strDomain = "" Then  strDomain = strComputer
 Wscript.StdOut.Write "Please enter your user name (null for Administrator):"
 strUser = Wscript.StdIn.ReadLine
        If strUser = "" Then strUser = "Administrator" 
        strUser = strDomain &amp;amp; "\" &amp;amp; strUser
 Set objPassword = CreateObject("ScriptPW.Password")
 Wscript.StdOut.Write "Please enter your password:"
 strPassword = objPassword.GetPassword()
        Wscript.StdOut.WriteLine
End If

Per ottenere il servizio wmi è possibile utilizzare la funzione WMIConnect:

'*** Connection
Dim blnLocalConnection : blnLocalConnection = False
Dim objService
If NOT objCmdLib.wmiConnect("root\cimv2" , _
 strUser , strPassword , _
        strComputer , blnLocalConnection , _
        objService) Then
 Wscript.StdOut.WriteLine(ConnectionErrorMessage)         
        WScript.Quit(EXIT_METHOD_FAIL) 
End If

Per visualizzare i dati in forma tabellare è possibile utilizzare la funzione ShowResults:

'*** Set Show Results Format
Dim arrHeader : arrHeader = Array("Element", "Value")
Dim arrMaxLength : arrMaxLength = Array(15, 25)
Dim strFormat : strFormat = "Table"
Dim blnPrintHeader : blnPrintHeader = True
Dim arrBlnHide : arrBlnHide = Array(False, False)
Dim arrResultsArray()
Dim index : index = 0
'*** Read info
Dim objQuery, objQueryItem
'*** Read info Computer System
Set objQuery = objService.ExecQuery("Select Model from Win32_ComputerSystem")
For Each objQueryItem in objQuery
  ReDim Preserve arrResultsArray(index)
  arrResultsArray(index) = Array("Model", objQueryItem.Model)
  index = index + 1
Next
'*** Read info BIOS
Set objQuery = objService.ExecQuery("Select SerialNumber from Win32_BIOS")
For Each objQueryItem in objQuery
  ReDim Preserve arrResultsArray(index)
  arrResultsArray(index) = Array("Serial Number", objQueryItem.SerialNumber)
  index = index + 1
Next
'*** Show System Information
Wscript.StdOut.WriteLine
objCmdLib.ShowResults arrHeader, arrResultsArray, arrMaxLength, _ 
 strFormat, blnPrintHeader, arrBlnHide

Per approfindimenti sulle condizioni necessarie per connettersi trmite WMI a computer remoti si veda WMI Isn't Working! mentre per imparare ad utilizzare funzionalità interessanti il mio consiglio è quello di sbirciare gli scripti già presenti nel sistema, in Windows XP  \Windows\System32.
Lo script completo è disponible al seguente SysInfo.vbs (tx dx Salva oggetto se avete problemi a scaricarlo).&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92682.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/15/92682.aspx</guid>
            <pubDate>Thu, 15 May 2008 16:42:19 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/15/92682.aspx#feedback</comments>
            <slash:comments>164</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92682.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92682.aspx</trackback:ping>
        </item>
        <item>
            <title>Warning MSExchangeIS 9665 in Exchange 2003 e Page File</title>
            <link>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/14/92665.aspx</link>
            <description>Come indicato in Ottimizzazione dell'utilizzo della memoria in Exchange Server 2003 quando viene avviato il processo dell'archivio di Exchange, viene eseguito un controllo della configurazione della memoria ottimale. Se le impostazioni della memoria non sono ottimali, nel Visualizzatore eventi viene generato un evento 9665. Nei sistemi basati su Windows Server 2003 i motivi possono essere: 

    Il server dispone di almeno 1 GB di memoria ma l'opzione /3GB non è impostata. 
    Il server dispone di 1 GB o più di memoria e l'opzione /3GB è impostata ma l'opzione /USERVA non è presente o non è impostata su 3030. 
    il valore HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\HeapDeCommitFreeBlockThreshold nel Registro di sistema non è impostato su 0x00040000.
    Per informazini si veda The "HeapDecommitFreeBlockThreshold" registry key 

Per quanto riguarda l'opzione /3GB si tenga conto delle seguenti note riportate nel seguente Ottimizzazione dell'utilizzo della memoria in Exchange Server 2003:

    Per i computer Exchange Server che non contengono cassette postali o cartelle pubbliche, ad esempio i gateway di posta, si sconsiglia di impostare l'opzione /3GB nel file boot.ini, indipendentemente dalla quantità di memoria fisica installata. 
    Anche per i computer Exchange Server che sono contemporaneamente controller di dominio di Active Directory o server del catalogo globale si sconsiglia di impostare l'opzione /3GB nel file boot.ini. È preferibile disporre di controller di dominio Active Directory o server del catalogo globale dedicati. 
    Dal momento che Microsoft Small Business Server viene installato come controller di dominio integrato e come server Exchange, si sconsiglia di utilizzare l'opzione /3GB quando si esegue Exchange Server 2003 in un ambiente Small Business Server. Tuttavia, gli altri concetti e le altre impostazioni descritte in questo articolo si applicano anche a Exchange Server 2003 in un ambiente Microsoft Small Business Server . 

Quindi nel caso di server Exchnage 2003 per piccole realtà che sono anche DC non è conveniente impostare tale opzione ed eventualmente disabilitare l'evento di notifica. Si noti che in questi casi il tool Microsoft Exchange Best Practices Analyzer indica che sui server di routing dedicati o test di ponte si ottengono prestazioni migliori rimuovendo l'opzione se invece si tratta di un server di cartelle pubbliche dedicato non è necessario rimuovere l'opzione (per maggiori informazioni si veda Questo server Exchange presenta l’opzione di avvio /3GB nel file Boot.ini).
Per quanto riguarda il page file il mio consiglio è quello di utilizzare l'impostazione suggerita per Exchange 2007 ovvero utilizzare la quantià di RAM installata nel server più 10 MB (La dimensione del file di paging si riferisce alla quantità di memoria necessaria per raccogliere le informazioni se si verifica un errore del sistema operativo. Per impostazione predefinita, se si verifica un errore del sistema operativo, tutti i dati nella memoria vengono copiati in un file dmp. Tale file potrà essere poi esaminato per determinare la causa del problema. Per poter copiare tutti i dati contenuti nella memoria, è necessario che la dimensione del file di paging possa contenere tutta la memoria, più uno spazio aggiuntivo per raccogliere i dati.)
Se si imposta una dimensione superiore il tool Microsoft Exchange Best Practices  visualizzerà un errore.
Per evitare la frammentazione del file di paging conviene crearlo a lunghezza fissa impostanto lo stesso valore per il valore minimo e per il valore massimo, mentre occorre tenere presente che non può superare il valore di 4095 MB in caso contrario occorre creare un secondo file di paging su un volume separato&lt;img src="http://blogs.ugidotnet.org/Alexblog/aggbug/92665.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/14/92665.aspx</guid>
            <pubDate>Wed, 14 May 2008 14:02:24 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Alexblog/archive/2008/05/14/92665.aspx#feedback</comments>
            <slash:comments>126</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Alexblog/comments/commentRss/92665.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Alexblog/services/trackbacks/92665.aspx</trackback:ping>
        </item>
    </channel>
</rss>