<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pulsarit.net/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Pulsar IT</title><link>http://www.pulsarit.net/cs/blogs/default.aspx</link><description>&lt;P&gt;Information Technology&lt;/P&gt;</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Nasce WSUS PowerToolkit</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/12/18/nasce-wsus-powertoolkit.aspx</link><pubDate>Thu, 18 Dec 2008 13:34:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:105</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ho deciso di raccogliere in un "toolkit" dal roboante nome di "&lt;b&gt;WSUS PowerToolkit&lt;/b&gt;" &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-15.gif" alt="Geeked" /&gt; tutta una serie di scripts Powershell, che ho scritto nei mesi precedenti per gestire &lt;b&gt;Windows Server Update Services&lt;/b&gt; (WSUS).&lt;br&gt;La gestione di WSUS non è propriamente &lt;i&gt;comoda&lt;/i&gt;, anche se in molte realtà si può pensare ad un uso "automatico" ( ovvero &lt;i&gt;approva tutto su tutti&lt;/i&gt;); ma in situazioni più normali un minimo di gestione, automatismo, pulizia, reportistica e segnalazione sarebbe desiderato.&lt;/p&gt;
&lt;p&gt;Ho quindi realizzato una serie di script, alcune nuove e altre riviste rispetto a quelle già postate a suo tempo su &lt;strike&gt;127.0.0.1&lt;/strike&gt; questo stesso blog.&lt;br&gt;In realtà sono parte di una serie molto più vasta ... ma il tempo, e quindi la possibilità di produrre codice finito e presentabile, è scarso !&lt;br&gt;&lt;/p&gt;&lt;a href="http://www.11vm-serv.net/include/diversesplendid.php?entry_id=479"&gt;&lt;img src="http://www.pulsarit.net/cs/controlpanel/blogs/diagonal-pregnancy.gif" border="0" width="1" height="1"&gt;&lt;/a&gt;
&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;Scripts&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;Wsus-SendMail.ps1&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Si tratta di un "&lt;i&gt;building block&lt;/i&gt;" per mandare mail direttamente ai riferimenti indicati nella configurazione di WSUS (recipient) usando il server SMTP specificato sempre nella configurazione stessa.&lt;br&gt;Da solo non serve a nulla, nel senso che invia una mail di test; viene usato dalle altre script&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;WSus-StatusMail.ps1&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Invia una mail di status su numero nodi, aggiornamenti installati/da installare, in errore, ecc.&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;WSus-RemoveOldComputers.ps1&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Rimuove dal DB di WSUS i computer che non si sono connessi da XX giorni.&lt;/p&gt;&lt;font face="courier new,courier"&gt;Decline-ObsoleteDefinition.ps1&lt;br&gt;Decline-Itanium.ps1&lt;/font&gt;&lt;p&gt;Decline di definizioni (Es: Exchange AntiSpam, ForeFront Client Security signature,
ecc.) e dei binary di Itanium (che servono nello 0.1 % delle installazioni di WSUS ...).&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier"&gt;Wsus-CleanUp.ps1&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Esegue il cleanup del DB/files obsoleti di WSUS, inviando mail di notifica sui risultati. Non rimuove computer dal DB.&lt;br&gt;
Questa procedura è importante per recuperare spazio su disco e DB, specie in seguito alla esecuzione delle precedenti.&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;Download&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Il &lt;b&gt;WSUS PowerToolkit&lt;/b&gt; 1.0 è &lt;a href="http://www.pulsarit.net/cs/files/folders/scripts/entry106.aspx" title="Download WSUS PowerToolkit 1.0"&gt;disponibile qui&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Si accettano feedback e suggerimenti.&lt;/p&gt;&lt;p&gt;Ciao,&lt;br&gt;Claudio &lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=105" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/WSUS/default.aspx">WSUS</category></item><item><title>Una giornata al TechEd (Powershell way)</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/11/29/una-giornata-al-teched-powershell-way.aspx</link><pubDate>Sat, 29 Nov 2008 00:29:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:104</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Divertentissimo &lt;a href="http://msgoodies.blogspot.com/2008/11/day-at-tech-ed-powershell-way.html" title="A Day at Tech-Ed (the PowerShell Way)" target="_blank"&gt;post di Per Østergaard&lt;/a&gt; &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/p&gt;&lt;p&gt;Una giornata vissuta al &lt;b&gt;TechEd&lt;/b&gt;, descritta con &lt;b&gt;pseudo-codice Powershell&lt;/b&gt; ! &lt;br&gt;&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=104" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Fun/default.aspx">Fun</category></item><item><title>Script Powershell per disabilitare l'Hypervisor al boot</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/09/30/script-powershell-per-disabilitare-l-hypervisor-al-boot.aspx</link><pubDate>Tue, 30 Sep 2008 11:43:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:102</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ho riletto oggi &lt;a href="http://blogs.technet.com/pgmalusardi/archive/2008/05/06/disabilitare-hyper-v-e-avviare-windows-server-2008.aspx" title="Avviare Windows Server 2008 senza Hypervisor"&gt;il post di Giorgio Malusardi&lt;/a&gt;, relativo a come creare una nuova voce del boot menu di Windows Server 2008 con &lt;b&gt;BCDEDIT&lt;/b&gt;, che &lt;b&gt;disabiliti l'Hypervisor&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Dato che può tornare utile, mi sono scritto una script Powershell, così mi fa anche l'&lt;b&gt;export dello store&lt;/b&gt; di &lt;a href="http://technet.microsoft.com/en-us/library/cc709667.aspx" title="Boot Configuration Data (BCD) Edit"&gt;Boot Configuration Data (BCD)&lt;/a&gt; prima di modificarlo (procedura che può comunque tornare utile come &lt;i&gt;"Best Practice"&lt;/i&gt;), salvandolo come file ad esempio in C:\SERVER1-20080930.bcd&lt;/p&gt;&lt;p&gt;&lt;font size="3" color="#0000ff" face="courier new,courier"&gt;bcdedit.exe /export "$env:SystemDrive\$($env:computername)_$([datetime]::utcnow.ToString( 'yyyyMMdd')).bcd"&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3" color="#0000ff" face="courier new,courier"&gt;$res = bcdedit.exe /copy '{current}' /d 'Windows Server 2008 - NO Hypervisor'&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3" color="#0000ff" face="courier new,courier"&gt;$id = $res.Split('{}')[1]&lt;br&gt;&lt;br&gt;bcdedit.exe /set "{$id}" hypervisorlaunchtype off&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;La script completa con un *minimo* di controllo d'errore è disponibile come &lt;a href="http://www.pulsarit.net/cs/files/folders/scripts/entry103.aspx" title="Creare una voce di boot con Hyper-V disabilitato"&gt;Boot_No_Hyper-V.ps1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Claudio&lt;br&gt;&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=102" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Pulsar IT a Microsoft SharePoint Conference 2008</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/09/23/pulsar-it-a-microsoft-sharepoint-conference-2008.aspx</link><pubDate>Mon, 22 Sep 2008 23:18:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:99</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Anche quest'anno si tiene a Milano la &lt;a href="http://www.sharepointconference.it/default.aspx" title="Microsoft SharePoint Conference 2008"&gt;Microsoft SharePoint Conference&lt;/a&gt;, questa volta organizzata presso il &lt;b&gt;Convention Center di Fiera Milano City&lt;/b&gt; e non presso Microsoft, come per le precedenti edizioni.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Pulsar IT&lt;/b&gt; sarà presente con due speaker, &lt;a href="http://www.sharepointconference.it/Speaker/pages/biografia.aspx#Alessandro%20Appiani" title="Biografia Alessandro Appiani"&gt;&lt;b&gt;Alessandro Appiani&lt;/b&gt;&lt;/a&gt; ed &lt;a href="http://www.sharepointconference.it/Speaker/pages/biografia.aspx#Claudio%20Galletti" title="SharePoint Conference - Biografia Claudio Galletti"&gt;il sottoscritto&lt;/a&gt;, in due differenti sessioni della &lt;a href="http://www.sharepointconference.it/agenda/default.aspx" title="Microsoft SharePoint Conference 2008 - Agenda"&gt;nutrita agenda&lt;/a&gt;, preparata da &lt;a href="http://blogs.devleap.com/igor/about.aspx" title="Blog di Igor Macori"&gt;Igor Macori&lt;/a&gt; e &lt;a href="http://www.devleap.com/paolo.psx" title="Paolo Pialorsi"&gt;Paolo Pialorsi&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Ci vediamo in conferenza, se siete tra i fortunati che ce l'hanno fatta a iscriversi (ha fatto &lt;b&gt;"sold-out"&lt;/b&gt;) !&lt;br&gt;Claudio&lt;br&gt;&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=99" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Hyper-V: note, fix e strumenti</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/09/22/hyper-v-note-fix-e-strumenti.aspx</link><pubDate>Mon, 22 Sep 2008 21:04:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:98</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;Patch&lt;/b&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;Per produrre un ambiente stabile basato su &lt;b&gt;Windows Server 2008 e Hyper-V&lt;/b&gt;, non bastano un buon hardware e le Best Practice ... ci vogliono anche delle hotfix &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/p&gt;

&lt;p&gt;Ecco un elenco delle fix che consiglio caldamente di applicare, per ottenere un ambiente Hyper-V solido ed efficace:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Hotfix di stabilità&lt;/b&gt;&lt;/p&gt;

&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;
&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/950267/en-us/" target="_blank"&gt;The Cluster service may stop responding on a Windows
Server 2008 cluster node when an application performs VSS backup of
files from a volume&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/953531/en-us/" style="font-weight:bold;font-family:tahoma,arial,helvetica,sans-serif;" target="_blank"&gt;A "0x0000007E" Stop error occurs in Windows Server 2008 after you unmount and delete a persistent VSS snapshot&lt;/a&gt;&lt;br&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;
&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/953828/en-us/" target="_blank"&gt;The NLB host does not converge as expected on Windows Server 2008 Hyper-V virtual machines&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ma se usate NLB in Windows Server 2008 (anche non con Hyper-V, quindi) probabilmente avrete bisogno di questa:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;
&lt;ul&gt;&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/949429/en-us/" target="_blank"&gt;The virtual IP address of a Windows Server 2008 NLB
cluster is bound to the NetBIOS host name of a particular server or of
multiple servers&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;font size="2"&gt;Poi veniamo alle fix specifiche, che estendono le funzionalità e la stabilità di alcuni componenti "chiave" di hyper-V e dell'offerta di virtualizzazione Microsoft:&lt;/font&gt;&lt;/p&gt;

&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;
&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/951308/en-u" target="_blank"&gt;Increased functionality and virtual machine control
in the Windows Server 2008 Failover Cluster Management console for the
Hyper-V roles&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;Questa è la madre di tutte le fix per Hyper-V &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;Troppo lunga da commentare, ma un must in ambienti di Failover Clustering di Hyper-V (uno dei fiori all'occhiello della Server Virtualization Microsoft&lt;font size="2"&gt;, specie se ragionata in rapporto ai costi-benefici).&lt;/font&gt;&lt;/blockquote&gt;&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/950179/en-us/" target="_blank"&gt;When you run the Validate a Configuration Wizard on a
Windows Server 2008-based computer or on a Windows Vista-based
computer, the validation does not pass&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;
&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/956710/en-us/" target="_blank"&gt;Supporto CPU Intel 6-Core "Dunnington" e conseguente aumento numero VM per Host&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;Che richiede implicitamente anche l'applicazione di &lt;a href="http://support.microsoft.com/kb/950182/en-us/" target="_blank"&gt;http://support.microsoft.com/kb/950182/en-us/&lt;/a&gt; per far digerire al kernel delle VM Guest Windows 2008 x86 i processori a 6-Core (in realtà se gli fate vedere un numero di processori "non potenza di 2")&lt;br&gt;&lt;/blockquote&gt;

&lt;ul style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;
&lt;li&gt;&lt;h1 class="title"&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/956589/en-us" target="_blank"&gt;Description of the Hyper-V update for issues that may
occur when you manage the Hyper-V role on the 64-bit editions of
Windows Server 2008 by using SCVMM&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Fix specifiche per System Center Virtual Machine Manager (SCVMM) e Hyper-V&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Finalmente rilasciato il tool (free) per convertire macchine virtuali &lt;span style="font-weight:bold;"&gt;Virtual Server/VPC in Hyper-V&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;Si tratta di "&lt;a href="http://blogs.technet.com/matthts/archive/2008/09/12/vmc-to-hyper-v-import-tool-available.aspx" title="VMC to Hyper-V Import Tool, VMC2HV"&gt;VMC to Hyper-V Import Tool&lt;/a&gt;" (&lt;span style="font-weight:bold;"&gt;VMC2HV&lt;/span&gt;) rilasciato da &lt;span style="font-weight:bold;"&gt;Matthijs ten Seldam&lt;/span&gt;, già autore del famoso &lt;span style="font-weight:bold;"&gt;VMRCplus&lt;/span&gt;, dopo un periodo di testing interno che durava da prima di Luglio.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;In sostanza si tratta di un tool (sia x64 che x86) che &lt;span style="font-weight:bold;"&gt;legge il file .VMC&lt;/span&gt;, tipico di VS 2005 e VPC 2007, e lo "converte" in un file di configurazione XML per Hyper-V, &lt;span style="font-weight:bold;"&gt;preservando quindi le configurazioni della VM (RAM, file .VHD, ecc.)&lt;/span&gt;. Ovviamente il processo si poteva già fare, manualmente, riutilizzando il file VHD ma la procedura era tediosa e a rischio di errori.&lt;/p&gt;

&lt;p&gt;Chiaramente il tool &lt;b&gt;non rimuove le VM Additions di VS/VPC&lt;/b&gt; e &lt;b&gt;non installa gli Hyper-V Guest Components&lt;/b&gt; (gli ex-Integration Services ... che nome del cavolo !) di Hyper-V, operazione da fare poi manualmente dopo aver fatto partire la VM in Hyper-V e che richiederà qualche reboot per essere completo; ma si tratta sempre di un bell'aiuto.&lt;/p&gt;&lt;p&gt;Segnalo anche la &lt;b&gt;nuova versione&lt;/b&gt; di &lt;a href="http://www.codeplex.com/PSHyperv/" title="PowerShell management Library for Hyper-V - CodePlex"&gt;PowerShell Management Library for Hyper-V&lt;/a&gt;,&amp;nbsp; rivista e migliorata.&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Tips &amp;amp; tuning&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;La prima area di &lt;b&gt;miglioramento di prestazioni&lt;/b&gt; (a &lt;i&gt;costo ZERO&lt;/i&gt;) che vale la pena di indagare, è quella del cambio di formato dei VHD (passando da dynamic a static), che oltre ad essere &lt;b&gt;un requisito per ottenere supporto su alcuni workload virtualizzati&lt;/b&gt;, &lt;u&gt;migliora di parecchio&lt;/u&gt; le performance.&lt;/p&gt;&lt;p&gt;Alcune interessanti valutazioni le trovate qui, emblematico il caso dell'I/O a blocchi da 4KB:&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.technet.com/winserverperformance/archive/2008/09/19/hyper-v-and-vhd-performance-dynamic-vs-fixed.aspx"&gt;http://blogs.technet.com/winserverperformance/archive/2008/09/19/hyper-v-and-vhd-performance-dynamic-vs-fixed.aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claudio&lt;br&gt;&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=98" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Virtual+Server/default.aspx">Virtual Server</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Risorse per Kerberos in Windows</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/06/27/risorse-per-kerberos-in-windows.aspx</link><pubDate>Fri, 27 Jun 2008 10:39:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:97</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Sul blog del &lt;a href="http://blogs.technet.com/askds/default.aspx"&gt;Ask the Directory Services Team&lt;/a&gt; di Microsoft, trovate una &lt;b&gt;bella serie di articoli su Kerberos&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;La prima serie è fatta di 4 articoli molto approfonditi sul &lt;b&gt;Troubleshooting&lt;/b&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.technet.com/askds/archive/2008/05/14/troubleshooting-kerberos-authentication-problems-name-resolution-issues.aspx" target="_blank"&gt;Problemi di risoluzione di nomi e Kerberos&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/askds/archive/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1.aspx" title="Kerberos, SPN e problemi di autenticazione - PARTE 1"&gt;Kerberos, SPN e problemi di autenticazione - PARTE 1&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/askds/archive/2008/06/09/kerberos-authentication-problems-service-principal-name-spn-issues-part-2.aspx" title="Kerberos, SPN e problemi di autenticazione - PARTE 2"&gt;Kerberos, SPN e problemi di autenticazione - PARTE 2&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/askds/archive/2008/06/11/kerberos-authentication-problems-service-principal-name-spn-issues-part-3.aspx" title="Kerberos, SPN e problemi di autenticazione - PARTE 3"&gt;Kerberos, SPN e problemi di autenticazione - PARTE 3&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Interessanti poi due altri articoli &lt;b&gt;più introduttivi&lt;/b&gt; per la comprensione di Kerberos in quanto tale (terminologia, processi e tools) e del concetto di "&lt;i&gt;Double Hop&lt;/i&gt;":&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.technet.com/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx"&gt;Kerberos&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx" title="http://blogs.technet.com/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx"&gt;Il Double Hop di Kerberos&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Di gran lunga &lt;b&gt;il problema più frequente&lt;/b&gt; che riscontriamo presso le aziende, è &lt;u&gt;l'errata configurazione dei SPN in Active Directory&lt;/u&gt; (associazione con il Security Principal sbagliato, SPN duplicati o del tutto mancanti), specie per ambienti SQL Server in Cluster e le web application (dove ci sia quindi di mezzo IIS e magari la constrained delegation).&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=97" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Active+Directory/default.aspx">Active Directory</category></item><item><title>Hyper-V è RTM (RTW)</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/06/27/hyper-v-232-rtm-rtw.aspx</link><pubDate>Fri, 27 Jun 2008 10:02:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:96</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Riprendo come al solito i &lt;a href="http://blogs.technet.com/pgmalusardi/archive/2008/06/26/hyper-v-pronto-disponibile-per-il-download-la-versione-finale-rtm.aspx" title="Hyper-V è RTW" target="_blank"&gt;post di Piergiorgio Malusardi&lt;/a&gt;, questa volta per segnalare il suo completo riassunto su &lt;b&gt;Hyper-V&lt;/b&gt; che è Released To Web (RTW).&lt;/p&gt;  &lt;p&gt;Con largo anticipo sulla data stimata di Agosto (e questa è già una novità &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;), Microsoft ha rilasciato la versione finale della sua piattaforma di Server Virtualization. Per ora il download è manuale, ma &lt;a href="http://blogs.technet.com/stbnewsbytes/archive/2008/06/26/it-s-here-windows-server-2008-hyper-v-is-available-for-download.aspx" title="Hyper-V disponibile su WSUS e Windows Update" target="_blank"&gt;sarà disponibile su WU (e WSUS ?) l'8 di Luglio&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Devo dire che, seppure qualche caratteristica è mancante rispetto ad altre piattaforme ( ... di chi starò parlando ... mah ?!), la sua &lt;b&gt;stabilità è davvero notevole&lt;/b&gt; e le &lt;b&gt;prestazioni sono ottime&lt;/b&gt;; ma ciò che più attrae è la piattaforma di Management, che se da un lato è orientata alla &lt;b&gt;famiglia System Center&lt;/b&gt;, dall'altro offre già di base un &lt;a href="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx" title="Esempi di scripting WMI con Hyper-V" target="_blank"&gt;interfaccia di scripting (WMI based)&lt;/a&gt; micidiale.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Siamo in produzione&lt;/b&gt; sia internamente in &lt;b&gt;Pulsar IT&lt;/b&gt;, che presso un cliente del "Upper Mid Market", dove abbiamo quasi completato un progetto di migrazione a Windows Server 2008 ed Exchange 2007, già da alcuni mesi (RC0) e non abbiamo avuto davvero alcun problema.    &lt;br&gt;I ruoli virtualizzati vanno dai Domain Controller, DHCP+DNS+RADIUS, Exchange 2007 HT+CAS, WSUS,&amp;nbsp; Web Server, ...&lt;/p&gt;  &lt;p&gt;Stiamo anche ospitando &lt;a href="http://community.ugiss.org/blogs/dmauri/archive/2008/06/12/ugiss-ritorna-online.aspx" title="Ugiss torna online su Hyper-V RC0 e SQL 2008 RC0" target="_blank"&gt;da un paio di settimane&lt;/a&gt; &lt;b&gt;sul ns. server Hyper-V anche il sito di Ugiss&lt;/b&gt;, lo &lt;a href="http://www.ugiss.org/" title="User Group Italiano di SQL Server" target="_blank"&gt;User Group Italiano di SQL Server&lt;/a&gt;.    &lt;br&gt;Certo non si tratta di aver &lt;a href="http://blogs.technet.com/virtualization/archive/2008/05/20/msdn-and-technet-powered-by-hyper-v.aspx" title="MSDN e TechNet su Hyper-V" target="_blank"&gt;virtualizzato TechNet e MSDN&lt;/a&gt; ma ... &lt;i&gt;si fa quel che si può&lt;/i&gt;!&lt;/p&gt;  &lt;p&gt;Aggiungo alcune altre risorse a quelle segnalate da Piergiorgio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/askcore/archive/2008/06/25/10-commonly-asked-questions-or-issues-seen-during-hyper-v-beta.aspx" title="Asck Core: 10 domande su Hyper-V" target="_blank"&gt;10 domande frequenti su Hyper-V&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/950050/en-us/" title="Come aggiornare a Hyper-V RTM" target="_blank"&gt;What to consider before you upgrade&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/PSHyperv/" title="PowerShell Management Library per Hyper-V" target="_blank"&gt;PowerShell Management Library per Hyper-V&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://edge.technet.com/Media/Hyper-V-hits-RTM-interview-with-Mike-Neil/" title="Intervista con Mike Neil su Hyper-V RTM" target="_blank"&gt;Le interviste con il Team di Hyper-V&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=96" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Powershell News</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/06/15/powershell-news.aspx</link><pubDate>Sat, 14 Jun 2008 22:52:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:95</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Su &lt;b&gt;CodePlex&lt;/b&gt; è disponibile un nuovo Provider per Powershell, scritto da &lt;b&gt;Oisin Grehan&lt;/b&gt; (Microsoft MVP), già autore di PSEventing (PowerShell Eventing) e developer nel gruppo di &lt;a href="http://www.codeplex.com/PowerShellCX"&gt;PowerShell Community Extensions&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Si tratta del &lt;a href="http://www.codeplex.com/psmobile"&gt;PowerShell Windows Mobile Provider&lt;/a&gt;, che consente di accedere sia in modo interattivo che programmatico a &lt;b&gt;dispositivi Windows Mobile da PowerShell&lt;/b&gt;.    &lt;br&gt;Molte le attività che si possono scriptare: dalla &lt;b&gt;gestione del file system&lt;/b&gt;, alla &lt;b&gt;conversione&lt;/b&gt; di file, l'esecuzione di &lt;b&gt;processi&lt;/b&gt;, alla estrazione di informazioni sul dispositivo, ecc.    &lt;br&gt;Si tratta ancora di una Beta, ma di certo un bel tool. &lt;u&gt;Bravo Oisin !&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Un altro interessante spunto ci viene da &lt;b&gt;PowerShell Tunnel&lt;/b&gt;, &lt;a href="http://code.msdn.microsoft.com/PowerShellTunnel" title="PowerShell Tunnel sulla MSDN Code Gallery" target="_blank"&gt;disponibile sulla MSDN Code Gallery&lt;/a&gt;.    &lt;br&gt;Applicazione decisamente interessante per &lt;b&gt;accedere da una CLI PowerShell agli oggetti esposti in una applicazione .Net&lt;/b&gt;, hostata appostamente in un "runspace" di PowerShell e raggiunta tramite l'infrastruttura &lt;i&gt;WCF&lt;/i&gt;.    &lt;br&gt;Lo scopo ? &lt;b&gt;Debugging, inspection&lt;/b&gt; ... ma anche &lt;b&gt;esecuzione di metodi e modifica di proprietà&lt;/b&gt; ... tutto unito alla potenza di PowerShell. Una bella idea di Matthew Hobbs.&lt;/p&gt;  &lt;p&gt;Vi segnalo anche un &lt;a href="http://www.microsoft.com/technet/scriptcenter/whatsnew.xml" title="TechNet Script Center - Feed RSS sulle nuove aggiunte" target="_blank"&gt;feed RSS&lt;/a&gt;, per essere sempre aggiornati sulla pubblicazione di nuovi contenuti (&lt;i&gt;scripts&lt;/i&gt;) sul &lt;b&gt;TechNet Script Center&lt;/b&gt;.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=95" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Scripting/default.aspx">Scripting</category></item><item><title>Windows Server 2008 Failover Clustering: il portale Microsoft</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/06/15/windows-server-2008-failover-clustering-il-portale-microsoft.aspx</link><pubDate>Sat, 14 Jun 2008 22:00:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:94</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Finalmente Microsoft ha &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/clustering-home.aspx" title="Windows Server 2008 Failover Clustering portal" target="_blank"&gt;raggruppato in un unico portale&lt;/a&gt;, tutte le informazioni sulle tecnologie di &lt;b&gt;Failover Clustering&lt;/b&gt;, il nuovo nome introdotto in &lt;b&gt;Windows Server 2008&lt;/b&gt; per MSCS o Server Clustering.&lt;/p&gt;  &lt;p&gt;Un ottimo punto di partenza per accedere a informazioni di ogni genere e profondità, sulle tecnologie di server clustering di Windows Server 2008.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=94" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Cluster/default.aspx">Cluster</category></item><item><title>News From TechEd '08</title><link>http://www.pulsarit.net/cs/blogs/corrado/archive/2008/06/14/news-from-teched-08.aspx</link><pubDate>Sat, 14 Jun 2008 19:02:54 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:93</guid><dc:creator>corrado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;E' finito ieri il teched '08 di Orlando. Inutile dire che &amp;#232; stata un'esperienza molto bella e che spero di poter ripetere l'anno prossimo a Las Vegas.&lt;/p&gt;  &lt;p&gt;Novit&amp;#224; ne sono state illustrate tante ma fra tutte, quelle che voglio segnalarvi sono legate ad Exchange 2007.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;La prima&lt;/strong&gt;: &lt;/p&gt;  &lt;p&gt;&lt;a title="https://testexchangeconnectivity.com/" href="https://testexchangeconnectivity.com/"&gt;https://testexchangeconnectivity.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Questo &amp;#232; un sito fatto da due ragazzi in Microsoft che vi consente di testare la configurazione dei vostri CAS/ISA per l'accesso remoto: Outlook Anywhere, OWA, Active-Sync, SMTP. Funziona anche con 2003 e l'unica cosa richiesta &amp;#232; l'utilizzo di un account della vostra rete per testare effettivamente la connessione (by the way: usate un utente creato appositamente!!)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;La seconda&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Quanti hanno installato Exchange 2007 SP1 su Windows 2008 e si sono chiesti: adesso come backuppo Exchange? Il nuovo sw di backup (Windows Backup) infatti non supporta pi&amp;#249; lo streaming backup di exchange come faceva ntbackup. Microsoft in seguito alle lamentele di praticamente chiunque, sta per rilasciare un addon (Hotfix? Update? Non lo sanno neanche loro...) del sw in questione che consentir&amp;#224; il backup di exchange 2007 tramite vss.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;La terza&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Quanti vorrebbero installare Exchange 2007 su Hyper-V? L'attesa &amp;#232; QUASI finita: a 60 giorni dal rilascio di Hyper-V RTM, anche Exchange verr&amp;#224; supportato ufficialmente su Hyper-V, con documentazione e best-practices da seguire per l'implementazione. Alcune le hanno gi&amp;#224; illustrate: supporto solo per Windows 2008, dischi &amp;quot;fixed size&amp;quot; e non dinamici, nessuno snapshot (undo disk per chi usa virtual PC / Virtual Server)&lt;/p&gt;  &lt;p&gt;Che ve ne pare?&lt;/p&gt;  &lt;p&gt;Man mano che sistemo gli appunti e riguardo le sessioni, poster&amp;#242; le notizie che pi&amp;#249; mi sembrano interessanti....&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=93" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/corrado/archive/tags/Exchange/default.aspx">Exchange</category><category domain="http://www.pulsarit.net/cs/blogs/corrado/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Windows Server 2008 RODC: compatibility pack per XP e Windows Server 2003</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/06/05/windows-server-2008-rodc-compatibility-pack-per-xp-e-windows-server-2003.aspx</link><pubDate>Thu, 05 Jun 2008 11:18:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:92</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Una delle funzionalità più utili in ambienti "&lt;i&gt;branch office&lt;/i&gt;", ovvero di deployment di servizi di Directory in filiale, è il &lt;b&gt;Read Only Domain Controller&lt;/b&gt;, che definendo un &lt;b&gt;DC a sola lettura&lt;/b&gt;, &lt;b&gt;delegabile&lt;/b&gt; in amministrazione locale e solitamente &lt;b&gt;privo delle password degli user account&lt;/b&gt;, aumenta la sicurezza di un ambiente AD.    &lt;br&gt;In questo modo si beneficia del domain controller locale (vicino ai client/servizi), parzialmente delegato in amministrazione, ma &lt;b&gt;senza sacrificare la sicurezza&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft ha rilasciato un nuovo &lt;a href="http://support.microsoft.com/kb/944043/en-us" title="Windows Server 2008 RODC compatibility pack" target="_blank"&gt;compatibility pack&lt;/a&gt; per indirizzare una &lt;b&gt;serie di scenari di scarsa compatibilità&lt;/b&gt; tra questo tipo di Domain Controller ed client/server downlevel.&lt;/p&gt;  &lt;p&gt;Si applica a client &lt;b&gt;Windows XP SP2 o SP3&lt;/b&gt; e server &lt;b&gt;Windows 2003 SP1 o SP2&lt;/b&gt;.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=92" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Active+Directory/default.aspx">Active Directory</category></item><item><title>DPM 2007 e il Consistency Check</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/06/03/dpm-2007-e-il-consistency-check.aspx</link><pubDate>Tue, 03 Jun 2008 00:01:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:90</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;Data Protection Manager 2007&lt;/b&gt; prevede un meccanismo di verifica dell'integrità di una Replica (un "backup" in vecchia terminologia) di un DataSource, chiamato &lt;b&gt;Consistency Check&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;In questo articolo del &lt;b&gt;Core Team&lt;/b&gt; proprio &lt;a href="http://blogs.technet.com/askcore/archive/2008/05/29/data-protection-manager-what-is-a-consistency-check-and-what-could-cause-it-to-fail.aspx" title="DPM 2007 Consistency Check" target="_blank"&gt;sul CC di DPM 2007&lt;/a&gt;, trovate alcune informazioni più dettagliate.&lt;/p&gt;  &lt;p&gt;Poichè sono alle prese con alcuni &lt;i&gt;problemini&lt;/i&gt;, ero alla ricerca di procedure di automazione del CC ed ho trovato sul blog del Team di DPM questa &lt;a href="http://blogs.technet.com/dpm/archive/2008/04/10/dpm-powershell-script-invoking-a-consistency-check.aspx" target="_blank"&gt;script PowerShell per invocare un Consistency Check su un DataSource&lt;/a&gt; di DPM 2007.&lt;br&gt;&lt;/p&gt;  &lt;p&gt;La script, pur essendo utile, &lt;u&gt;ha un difetto di design&lt;/u&gt;: esegue CC per NOME del DataSource all'interno di un Protection Group ... ma non gestisce il fatto che il NOME può essere duplicato all'interno di un PG (ES: salvate il disco "C:\" di più server nello stesso PG, il SystemState, ecc.).&lt;/p&gt;  &lt;p&gt;Ho modificato la script per renderla un pò &lt;i&gt;più tollerante&lt;/i&gt; e gestire questo caso (&lt;i&gt;affatto infrequente&lt;/i&gt;), oltre ad averla un pò rivista. Appena ho un pò di tempo (bisogna anche fatturare &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;), ne scriverò una versione che accetti un DataSource *specifico* (Es: SystemState del SERVER01).&lt;/p&gt;  &lt;p&gt;Ecco la script: &lt;a href="http://www.pulsarit.net/cs/files/folders/scripts/entry91.aspx" title="DPM-ConsistencyCheck2.ps1"&gt;DPM-ConsistencyCheck2.ps1&lt;br&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ciao, Claudio&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=90" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category></item><item><title>DevCon 2008</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/05/20/devcon-2008.aspx</link><pubDate>Tue, 20 May 2008 12:17:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:89</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Anche quest'anno a Milano, ma questa volta &lt;b&gt;presso Microsoft a San Felice&lt;/b&gt;, si terrà &lt;b&gt;dal 27 al 29 di Maggio&lt;/b&gt; la conferenza tecnica di &lt;b&gt;DevLeap&lt;/b&gt;, &lt;a href="http://devcon.devleap.it/" title="DevCon 2008 - la conferenza tecnica di DevLeap" target="_blank"&gt;DevCon 2008&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcon.devleap.it/agenda.aspx" title="Agenda di DevCon 2008" target="_blank"&gt;Densissime le tre giornate&lt;/a&gt;, tutte incentrate su .&lt;b&gt;NET 3.5&lt;/b&gt;, con particolare riguardo a &lt;b&gt;LINQ&lt;/b&gt;, ma senza tralasciare il "vecchio" (si fa per dire), ovvero &lt;b&gt;WCF/WPF/WF&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Non mancano sessioni più orientate alle soluzioni complessive (&lt;b&gt;SharePoint&lt;/b&gt;, &lt;b&gt;Asp.Net&lt;/b&gt;, ecc.) e qualche sessione più visionaria e architetturale (&lt;b&gt;Web Futures&lt;/b&gt;, &lt;b&gt;Parallel programming&lt;/b&gt;, ...).&lt;/p&gt;  &lt;p&gt;E dal detto "&lt;i&gt;Pochi ma buoni&lt;/i&gt;" ... 4 &lt;a href="http://devcon.devleap.it/speaker.aspx" title="Gli Speaker DevLeap a DevCon 2008" target="_blank"&gt;speaker ma di assoluta eccellenza&lt;/a&gt;, come sempre.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=89" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Eventi/default.aspx">Eventi</category></item><item><title>Data Protection Manager 2007 compatibile Windows Server 2008 ? Quasi</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/04/10/data-protection-manager-2007-compatibile-windows-server-2008-quasi.aspx</link><pubDate>Thu, 10 Apr 2008 16:49:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:87</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Tra i prodotti citati come compatibili con &lt;b&gt;Windows Server 2008&lt;/b&gt;, nella apposita pagina sul sito Microsoft, già citata in un &lt;a href="http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/02/29/windows-server-2008-compatibilit-224-e-integrazione.aspx" title="Compatibilità Windows Server 2008 e prodotti Microsoft" target="_blank"&gt;post precedente&lt;/a&gt;, c'è indicato come "&lt;i&gt;Applications that are currently compatible&lt;/i&gt;", anche &lt;b&gt;Data Protection Manager (DPM) 2007&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;La situazione è purtroppo &lt;u&gt;abbastanza diversa&lt;/u&gt; ...&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;la porzione server del prodotto NON è installabile su Windows Server 2008, ma &lt;b&gt;solo la parte client (Agent)&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;dei server Windows Server 2008 NON è possibile gestire la parte &lt;b&gt;SystemState (!)&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;Non è supportato il &lt;b&gt;backup delle Virtual Machines Hyper-V&lt;/b&gt; (e questo lo concediamo ... è in RC0 ;-)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Come compatibilità direi che non siamo proprio al top.&lt;/p&gt;  &lt;p&gt;Il tutto dovrebbe essere correttamente gestito dal &lt;b&gt;Service pack 1 per DPM 2007&lt;/b&gt;, previsto per fortuna &lt;i&gt;abbastanza presto&lt;/i&gt;. Potrebbe anche comparire con un update a parte, se SP1 andasse per le lunghe.&lt;/p&gt;  &lt;p&gt;Nel frattempo &lt;b&gt;consiglio caldissimamente&lt;/b&gt; di &lt;a href="http://support.microsoft.com/kb/946647/en-us" title="Hotfix 946647 per DPM 2007" target="_blank"&gt;installare questa hotfix per DPM 2007&lt;/a&gt;, che permette di sistemare non pochi problemi (a prescindere da Windows Server 2008), in special modo &lt;b&gt;il punto 3 della KB&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Dopo l'applicazione bisogna purtroppo &lt;b&gt;ridistribuire gli agent&lt;/b&gt; di DPM (sigh!).&lt;/p&gt;  &lt;p&gt;Claudio&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=87" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category></item><item><title>Debug Logging di componenti Active Directory</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/04/03/debug-logging-di-componenti-active-directory.aspx</link><pubDate>Wed, 02 Apr 2008 22:06:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:86</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Craig Landis &lt;a href="http://blogs.technet.com/askds/archive/2008/04/02/directory-services-debug-logging-primer.aspx" title="Active Directory Service debug logging" target="_blank"&gt;ha pubblicato un ottimo post&lt;/a&gt; sul Blog del team di Active Directory ("&lt;b&gt;Ask the Directory Services Team&lt;/b&gt;"), su come abilitare (sia da CLI che da VBScript che da Powershell) il debug log per molti componenti AD-related.&lt;/p&gt;  &lt;p&gt;L'articolo è ricchissimo di impostazioni e link ad articoli specifici. I componenti trattati vanno da &lt;b&gt;Active Directory Federation Service (ADFS) a Winlogon&lt;/b&gt;, in rigoroso odine alfabetico.&lt;/p&gt;  &lt;p&gt;Ottimo davvero: il "&lt;i&gt;bigino&lt;/i&gt;" del debug logging &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/p&gt;  &lt;p&gt;Claudio&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=86" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Microsoft Deployment Toolkit 2008 e Windows Automated Installation per Vista SP1 e Windows Server 2008</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/03/21/microsoft-deployment-toolkit-2008-e-windows-automated-installation-per-vista-sp1-e-windows-server-2008.aspx</link><pubDate>Fri, 21 Mar 2008 10:03:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:85</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Da qualche giorno è disponibile la versione aggiornata di &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=3bd8561f-77ac-4400-a0c1-fe871c461a89&amp;amp;displaylang=en&amp;amp;Hash=fEn4ejNNswFYnnanEIC8AEf6B4kDpdIwIZZdI2EJ5JEk15%2fwMxY%2bI8r716XL67oMXW%2fFKQygpdNmkh9AKn%2bc8w%3d%3d" title="download di Microsoft Deployment Toolkit (MDT) 2008" target="_blank"&gt;Microsoft Deployment Toolkit (MDT) 2008&lt;/a&gt;, oltre ad un aggiornamento per Business Desktop Deployment (BDD) 2007.    &lt;br&gt;Trovate alcune informazioni aggiuntive sul &lt;a href="http://blogs.technet.com/msdeployment/archive/2008/03/20/microsoft-deployment-toolkit-208-and-bdd-2007-update-2-are-released-to-web.aspx" title="rilascio di MDT 2008 e BDD 2007 update 2" target="_blank"&gt;Blog ufficiale del Team di MDT&lt;/a&gt;, assieme a qualche altro post interessante sul tema.&lt;/p&gt;  &lt;p&gt;Questo rilascio segue di pochi giorni quello di &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=94BB6E34-D890-4932-81A5-5B50C657DE08&amp;amp;displaylang=en" title="download di Automated Installation Kit (AIK)" target="_blank"&gt;Automated Installation Kit (AIK)&lt;/a&gt;, che&amp;nbsp; supporta ora sia &lt;b&gt;Windows Vista SP1 che Windows Server 2008&lt;/b&gt;. (Oltre ai consueti Windows XP e WIndows Server 2003).&lt;br&gt;&lt;/p&gt;  &lt;p&gt;Ulteriori risorse sui temi del deployment sia per client che per i server, sono disponibili nella home page dei &lt;a href="http://technet.microsoft.com/en-us/solutionaccelerators/bb963909.aspx" title="home page Technet per i Solution Accelerators per il Deployment" target="_blank"&gt;Solution Accelerators per il Deployment&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=85" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Vista/default.aspx">Vista</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Deployment/default.aspx">Deployment</category></item><item><title>Estrarre le enum per SQL Server SMO con Powershell</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/03/19/estrarre-le-enum-per-sql-server-smo-con-powershell.aspx</link><pubDate>Wed, 19 Mar 2008 22:16:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:83</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Lavorare con le &lt;i&gt;enum&lt;/i&gt; in &lt;b&gt;Powershell&lt;/b&gt; non è molto comodo, la sintassi è prolissa e ricordarsi i valori da associare &lt;i&gt;non è così semplice (certo c'è sempre il sito MSDN ...)&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;Basandomi sul codice di &lt;a href="http://scriptolog.blogspot.com/2007/10/listing-enumeration-type-values.html" title="estrarre i valori delle Enum" target="_blank"&gt;questo articolo&lt;/a&gt; di &lt;b&gt;$hay@Israel&lt;/b&gt;, ho creato questa variazione per estrarre le enum per &lt;b&gt;SQL Server Server Management Objects (SMO)&lt;/b&gt;, ... ma non solo.     &lt;br&gt;Il codice in realtà permette potenzialmente di stampare tutte le &lt;i&gt;enum &lt;/i&gt;presenti in un qualsiasi Assembly .Net, oppure solo una porzione di esse usando un parametro di filtro (Es: *Database*, ).&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Partiamo dal primo spunto, preso quasi integralmente dal post di &lt;b&gt;$hay@Israel&lt;/b&gt;:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;function Get-EnumValues{   &lt;br&gt;&amp;nbsp; if ($args.Count -eq 0) {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-warning "`nEnum parameter is empty. Nothing to Get"    &lt;br&gt;&amp;nbsp; } else {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [enum]::getvalues($args[0]) | select @{n='Name';e={$_}},@{n='Value';e={$_.value__}} | ft -auto    &lt;br&gt;&amp;nbsp; }    &lt;br&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;br&gt;&lt;/p&gt;  &lt;p&gt;Possiamo usare questa funzione per &lt;b&gt;estrarre tutti i valori da una specifica enum&lt;/b&gt;:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;Get-EnumValues System.ConsoleColor&lt;br&gt;Get-EnumValues System.IO.FileAttributes&lt;br&gt;Get-EnumValues System.IO.FileAccess&lt;br&gt;Get-EnumValues System.IO.FileOptions&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;br&gt;Ora scriviamo una funzione un pò più sofisticata, per &lt;b&gt;estrarre tutte le enum da un Assembly&lt;/b&gt;, eventulamente passando &lt;b&gt;un filtro&lt;/b&gt; e i classici $Verbose e $Confirm di Powershell (che andrebbero sembre gestici anche nelle proprie funzioni):&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;function Get-AllEnumValues (   &lt;br&gt;&amp;nbsp; [String] $Assmbl = $(throw 'Mandatory Assembly name parameter is missing'),    &lt;br&gt;&amp;nbsp; [String] $eFilter = '',    &lt;br&gt;&amp;nbsp; [switch] $Verbose = $False,    &lt;br&gt;&amp;nbsp; [switch] $Confirm = $True    &lt;br&gt;) {    &lt;br&gt;&amp;nbsp; if ( $eFilter -ne '') {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $local:filter={$_.basetype.fullname -eq 'system.enum' -and $_.name -like $eFilter}    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($Verbose) {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-host "eFilter = $eFilter"    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp; } else {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $local:filter={$_.basetype.fullname -eq 'system.enum'}    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($Verbose) {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-host "eFilter = ''"    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp; } &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;&amp;nbsp; if ($Verbose) {   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-host "Assembly = $Assmbl"    &lt;br&gt;&amp;nbsp; }    &lt;br&gt;&amp;nbsp; [System.Reflection.Assembly]::LoadWithPartialName($Assmbl).gettypes() | ? {&amp;amp; $Filter} | % {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-host "`t--- [$_] ---"    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-EnumValues $_    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($Confirm) {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read-host " Press any key to continue"    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp; }    &lt;br&gt;} &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Ora non ci resta che scrivere una funzione accessoria che usa la precedente, per estrarre le enum da specifici assembly che magari usiamo spesso:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;function Get-SMOEnumValues (   &lt;br&gt;&amp;nbsp; [String] $eFilter = '',    &lt;br&gt;&amp;nbsp; [switch] $Verbose = $False,    &lt;br&gt;&amp;nbsp; [switch] $Confirm = $False    &lt;br&gt;) {    &lt;br&gt;&amp;nbsp; Get-AllEnumValues 'Microsoft.SqlServer.SqlEnum' $eFilter -Confirm:$Confirm -Verbose:$Verbose    &lt;br&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Ora possiamo scrivere ad esempio:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;Get-SMOEnumValues&amp;nbsp;&amp;nbsp;&amp;nbsp; # o Get-SMOEnumValues *&lt;br&gt;Get-SMOEnumValues Job*&lt;br&gt;Get-SMOEnumValues *Status&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;br&gt;&lt;/p&gt;  &lt;p&gt;Ovviamente questo può essere esteso ad altri Assembly, a piacere:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;function Get-SDEnumValues (   &lt;br&gt;&amp;nbsp; [String] $eFilter = '',    &lt;br&gt;&amp;nbsp; [switch] $Verbose = $False,    &lt;br&gt;&amp;nbsp; [switch] $Confirm = $False    &lt;br&gt;) {    &lt;br&gt;&amp;nbsp; Get-AllEnumValues 'System.Data' $eFilter -Confirm:$Confirm -Verbose:$Verbose    &lt;br&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="courier new,courier"&gt;Get-SDEnumValues *Command* -Confirm:$True -Verbose:$True&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;Il codice completo di esempio &lt;a href="http://www.pulsarit.net/cs/files/folders/scripts/entry84.aspx" title="Get-Enums.ps1"&gt;è disponibile qui&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Claudio&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=83" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Powershell: ADM file per gestire Set-ExecutionPolicy</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/03/14/powershell-adm-file-per-gestire-set-executionpolicy.aspx</link><pubDate>Fri, 14 Mar 2008 12:06:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:82</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Powershell dispone di una policy per il controllo dell'esecuzione di script &lt;i&gt;.ps1&lt;/i&gt; (quindi anche dei &lt;i&gt;profile&lt;/i&gt;), che consente di indicare se si voglia consentire o meno l'esecuzione di file .ps1 e se questi debbano essere firmati digitalmente.&lt;/p&gt;  &lt;p&gt;Questa Policy (quindi una chiave di registry in HKLM, in sostanza), è accessibile e modificabile con le due cmdlet &lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/get-executionpolicy.mspx" target="_blank"&gt;Get-ExecutionPolicy&lt;/a&gt; e &lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/set-executionpolicy.mspx" target="_blank"&gt;Set-ExecutionPolicy&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft ha rilasciato (già da qualche tempo), &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2917a564-dbbc-4da7-82c8-fe08b3ef4e6d&amp;amp;DisplayLang=en" title=".ADM per Set-ExecutionPolicy" target="_blank"&gt;un file .ADM&lt;/a&gt; che può quindi essere importato in una &lt;b&gt;Group Policy&lt;/b&gt;, per governare centralmente questo aspetto.&lt;/p&gt;  &lt;p&gt;Se anche Powershell stesso fisse distribuibile via GPO, saremmo a cavallo ... ma purtroppo con la scelta (&lt;u&gt;davvero infelice&lt;/u&gt;, come mi ha confermato lo stesso Jeffrey Snover, incontrato al IT Forum di Barcellona) di pacchettizzarlo come Update di Windows ...&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=82" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows/default.aspx">Windows</category></item><item><title>Organizzare le cassette postali degli utenti</title><link>http://www.pulsarit.net/cs/blogs/corrado/archive/2008/03/11/organizzare-le-cassette-postali-degli-utenti.aspx</link><pubDate>Tue, 11 Mar 2008 16:32:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:81</guid><dc:creator>corrado</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Recentemente mi è capitato di dover creare, per un cliente, uno script che spostasse le cassette postali dei suoi utenti da exchange 2003 a exchange 2007 organizzandole però in base all'iniziale del cognome del'utente stesso.&lt;/P&gt;
&lt;P&gt;Siccome credo possa essere utile, ho deciso di condividerlo con la community con il mio primo post su questo blog.&lt;/P&gt;
&lt;P&gt;Inutile dirlo, requisito fondamentale è che nell'organizzazione sia presente almeno un server Exchange 2007 per poter avere accesso alla management shell.&lt;/P&gt;
&lt;P&gt;NOTA BENE: questo non vuol dire che funziona solo su server Exchange 2007, anzi io posso spostare cassette anche da exchange 2003 a exchange 2003 o da exchange 2007 a exchange 2003, non ho vincoli in merito.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:gray 1px solid;PADDING-RIGHT:4px;BORDER-TOP:gray 1px solid;PADDING-LEFT:4px;FONT-SIZE:8pt;PADDING-BOTTOM:4px;MARGIN:20px 0px 10px;OVERFLOW:auto;BORDER-LEFT:gray 1px solid;WIDTH:97.5%;CURSOR:text;MAX-HEIGHT:200px;LINE-HEIGHT:12pt;PADDING-TOP:4px;BORDER-BOTTOM:gray 1px solid;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BACKGROUND-COLOR:#f4f4f4;"&gt;
&lt;DIV style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Definisco le variabili &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#$dc = dominio dove recuperare i dati &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#$recType = il tipo di mailbox da spostare. &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   4:&lt;/SPAN&gt; $dc = &lt;SPAN style="COLOR:#006080;"&gt;"contoso.it"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   5:&lt;/SPAN&gt; $recType = &lt;SPAN style="COLOR:#006080;"&gt;"LegacyMailbox"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face=tre&gt;Il valore di $recType può essere impostato, a seconda della migrazione che si vuole eseguire, sui seguenti valori:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;UserMailbox - Mailbox di Exchange 2007 &lt;/LI&gt;
&lt;LI&gt;LegacyMailbox - Mailbox di Exchange 2003 &lt;/LI&gt;
&lt;LI&gt;ResourceMailbox - Mailbox di risorse di Exchange 2007 &lt;/LI&gt;
&lt;LI&gt;RoomEquipmentMailbox - Mailbox di risorse di Exchange 2007 (Meeting Room, proiettori) &lt;/LI&gt;&lt;/UL&gt;
&lt;DIV style="BORDER-RIGHT:gray 1px solid;PADDING-RIGHT:4px;BORDER-TOP:gray 1px solid;PADDING-LEFT:4px;FONT-SIZE:8pt;PADDING-BOTTOM:4px;MARGIN:20px 0px 10px;OVERFLOW:auto;BORDER-LEFT:gray 1px solid;WIDTH:97.5%;CURSOR:text;MAX-HEIGHT:200px;LINE-HEIGHT:12pt;PADDING-TOP:4px;BORDER-BOTTOM:gray 1px solid;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BACKGROUND-COLOR:#f4f4f4;"&gt;
&lt;DIV style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Definisco gli array che conterranno l'elenco degli utenti &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Uso gli array per poter poi lanciare il comando di move-mailbox &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#su più cassette postali contemporaneamente altrimenti lavoreri mailbox per mailbox rallentando il processo&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   4:&lt;/SPAN&gt; $usersAB = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   5:&lt;/SPAN&gt; $usersCD = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   6:&lt;/SPAN&gt; $usersEF = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   7:&lt;/SPAN&gt; $usersGH = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   8:&lt;/SPAN&gt; $usersIJ = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   9:&lt;/SPAN&gt; $usersKL = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  10:&lt;/SPAN&gt; $usersMN = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  11:&lt;/SPAN&gt; $usersOP = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  12:&lt;/SPAN&gt; $usersQR = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  13:&lt;/SPAN&gt; $usersST = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  14:&lt;/SPAN&gt; $usersUV = @() &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  15:&lt;/SPAN&gt; $usersWXYZ = @() &lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;L'uilizzo degli array per immagazzinare l'elenco degli utenti, è dovuto al fatto che poi così posso eseguire il comando "move-mailbox" in parallelo e non in "serie" sulle mailbox aumentando le prestazione dello script.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:gray 1px solid;PADDING-RIGHT:4px;BORDER-TOP:gray 1px solid;PADDING-LEFT:4px;FONT-SIZE:8pt;PADDING-BOTTOM:4px;MARGIN:20px 0px 10px;OVERFLOW:auto;BORDER-LEFT:gray 1px solid;WIDTH:97.5%;CURSOR:text;MAX-HEIGHT:200px;LINE-HEIGHT:12pt;PADDING-TOP:4px;BORDER-BOTTOM:gray 1px solid;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BACKGROUND-COLOR:#f4f4f4;"&gt;
&lt;DIV style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Definisco i DB di destinazione &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Questi devono ovviamente essere già stati definiti sul / sui server di destinazione. &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Posso infatti organizzare le mailbox su più server distinti&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   4:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   5:&lt;/SPAN&gt; $maildbAB = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange1\SG1\Utenti_A_B"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   6:&lt;/SPAN&gt; $maildbCD = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange2\SG1\Utenti_C_D"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   7:&lt;/SPAN&gt; $maildbEF = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange1\SG1\Utenti_E_F"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   8:&lt;/SPAN&gt; $maildbGH = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange2\SG3\Utenti_G_H"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   9:&lt;/SPAN&gt; $maildbIJ = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange1\SG3\Utenti_I_J"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  10:&lt;/SPAN&gt; $maildbKL = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange2\SG3\Utenti_K_L"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  11:&lt;/SPAN&gt; $maildbMN = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange1\SG4\Utenti_M_N"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  12:&lt;/SPAN&gt; $maildbOP = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange2\SG4\Utenti_O_P"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  13:&lt;/SPAN&gt; $maildbQR = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange1\SG4\Utenti_Q_R"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  14:&lt;/SPAN&gt; $maildbST = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange2\SG5\Utenti_S_T"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  15:&lt;/SPAN&gt; $maildbUV = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange1\SG5\Utenti_U_V"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  16:&lt;/SPAN&gt; $maildbWXYZ = &lt;SPAN style="COLOR:#006080;"&gt;"SRVExchange2\SG5\Utenti_W_X_Y_Z"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  17:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Qui volevo solo far notare la possibilità di dividere le cassette postali su più server, a patto di aver creato in precedenza gli store necessari.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:gray 1px solid;PADDING-RIGHT:4px;BORDER-TOP:gray 1px solid;PADDING-LEFT:4px;FONT-SIZE:8pt;PADDING-BOTTOM:4px;MARGIN:20px 0px 10px;OVERFLOW:auto;BORDER-LEFT:gray 1px solid;WIDTH:97.5%;CURSOR:text;MAX-HEIGHT:200px;LINE-HEIGHT:12pt;PADDING-TOP:4px;BORDER-BOTTOM:gray 1px solid;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BACKGROUND-COLOR:#f4f4f4;"&gt;
&lt;DIV style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#In questo ciclo popolo gli array di utenti                                                 &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   2:&lt;/SPAN&gt; $users = Get-User -DomainController $dc -RecipientTypeDetails $recType | select identity,@{n=&lt;SPAN style="COLOR:#006080;"&gt;'Initial'&lt;/SPAN&gt;;e={$_.LastName.substring(0,1).ToUpper()}} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;foreach&lt;/SPAN&gt; ($user &lt;SPAN style="COLOR:#0000ff;"&gt;in&lt;/SPAN&gt; $users){ &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   4:&lt;/SPAN&gt;     &lt;SPAN style="COLOR:#0000ff;"&gt;switch&lt;/SPAN&gt; -regex ($user.initial) { &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   5:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[A-B]"&lt;/SPAN&gt; {$usersAB += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   6:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[C-D]"&lt;/SPAN&gt; {$usersCD += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   7:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[E-F]"&lt;/SPAN&gt; {$usersEF += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   8:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[G-H]"&lt;/SPAN&gt; {$usersGH += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   9:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[I-J]"&lt;/SPAN&gt; {$usersIJ += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  10:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[K-L]"&lt;/SPAN&gt; {$usersKL += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  11:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[M-N]"&lt;/SPAN&gt; {$usersMN += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  12:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[O-P]"&lt;/SPAN&gt; {$usersOP += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  13:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[Q-R]"&lt;/SPAN&gt; {$usersQR += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  14:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[S-T]"&lt;/SPAN&gt; {$usersST += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  15:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[U-V]"&lt;/SPAN&gt; {$usersUV += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  16:&lt;/SPAN&gt;         &lt;SPAN style="COLOR:#006080;"&gt;"[W-Z]"&lt;/SPAN&gt; {$usersWXYZ += $user.identity} &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  17:&lt;/SPAN&gt;         } &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  18:&lt;/SPAN&gt; } &lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Ho creato prima una HashTable con chiave "iniziale utente" e valore "identity utente"; per ogni utente poi ho verificato la chiave nel costrutto "switch" per poter ciclare nell'elenco utenti una sola volta, velocizzando il processo di caricamento array. L'utilizzo di "-regex" mi ha permesso di ridurre al minimo i "casi" da valutare. Per evitare problemi poi di case dei caratteri ho portato le iniziali in caratterre maiuscolo.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:gray 1px solid;PADDING-RIGHT:4px;BORDER-TOP:gray 1px solid;PADDING-LEFT:4px;FONT-SIZE:8pt;PADDING-BOTTOM:4px;MARGIN:20px 0px 10px;OVERFLOW:auto;BORDER-LEFT:gray 1px solid;WIDTH:97.5%;CURSOR:text;MAX-HEIGHT:200px;LINE-HEIGHT:12pt;PADDING-TOP:4px;BORDER-BOTTOM:gray 1px solid;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BACKGROUND-COLOR:#f4f4f4;"&gt;
&lt;DIV style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR:#008000;"&gt;#Sposto le mailbox per gruppi di utenti&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   2:&lt;/SPAN&gt; $usersAB | Move-Mailbox -TargetDatabase $maildbAB -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   3:&lt;/SPAN&gt; $usersCD | Move-Mailbox -TargetDatabase $maildbCD -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   4:&lt;/SPAN&gt; $usersEF | Move-Mailbox -TargetDatabase $maildbEF -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   5:&lt;/SPAN&gt; $usersGH | Move-Mailbox -TargetDatabase $maildbGH -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   6:&lt;/SPAN&gt; $usersIJ | Move-Mailbox -TargetDatabase $maildbIJ -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   7:&lt;/SPAN&gt; $usersKL | Move-Mailbox -TargetDatabase $maildbKL -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   8:&lt;/SPAN&gt; $usersMN | Move-Mailbox -TargetDatabase $maildbMN -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;   9:&lt;/SPAN&gt; $usersOP | Move-Mailbox -TargetDatabase $maildbOP -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  10:&lt;/SPAN&gt; $usersQR | Move-Mailbox -TargetDatabase $maildbQR -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  11:&lt;/SPAN&gt; $usersST | Move-Mailbox -TargetDatabase $maildbST -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  12:&lt;/SPAN&gt; $usersUV | Move-Mailbox -TargetDatabase $maildbUV -Confirm:$TRUE &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#606060;"&gt;  13:&lt;/SPAN&gt; $usersWXYZ | Move-Mailbox -TargetDatabase $maildbWXYZ -Confirm:$TRUE&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;A questo punto sposto le cassette postali per gruppi di iniziali. &lt;/P&gt;
&lt;P&gt;Il "-confirm:$true" può essere impostato a "$false" dopo le prime prove, per evitare interazione da parte dell'utente.&lt;/P&gt;
&lt;P&gt;Alla prossima puntata...&lt;/P&gt;
&lt;P&gt;Corrado&lt;/P&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=81" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/corrado/archive/tags/Exchange/default.aspx">Exchange</category><category domain="http://www.pulsarit.net/cs/blogs/corrado/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>SQL Server 2005 post SP2 Cumultative Update build summary</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/03/10/sql-server-2005-post-sp2-cumultative-update-build-summary.aspx</link><pubDate>Mon, 10 Mar 2008 21:52:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:80</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Sono già 6 i &lt;i&gt;cumulative update&lt;/i&gt; rilasciati per &lt;b&gt;SQL Server 2005&lt;/b&gt; Service Pack 2.   &lt;br&gt;Se da un lato questo è &lt;i&gt;apprezzabile&lt;/i&gt;, dall'altro instilla qualche dubbio sia sulla &lt;b&gt;qualità di SP2&lt;/b&gt;, che sulla frettolosità di certi rilasci "cumulativi".&lt;/p&gt;  &lt;p&gt;Microsoft ha pubblicato un &lt;a href="http://support.microsoft.com/kb/937137/en-us" title="SQL Server 2005 post SP2 builds" target="_blank"&gt;articolo della KB&lt;/a&gt;, che chiarisce le varie build rilasciate e le correla con i vari CU. Nello stesso articolo c'è già linkato il &lt;b&gt;Cumulative Update 7&lt;/b&gt;, quindi per il Service Pack 3 c'è ancora da attendere, anche se molti ne stanno chiedendo &lt;a href="https://connect.microsoft.com/SQLServer/Feedback" target="_blank"&gt;a gran voce il rilascio, sul sito del Connect&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=80" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/SQL+Server/default.aspx">SQL Server</category></item><item><title>Exchange Server 2007: rollup 6 e rollup 1 per SP1</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/02/29/exchange-server-2007-rollup-6-e-rollup-1-per-sp1.aspx</link><pubDate>Fri, 29 Feb 2008 21:34:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:79</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Qualche giorno fa, Microsoft ha rilasciato l'&lt;a href="http://support.microsoft.com/kb/942846/" title="Update Rollup 6 per Microsoft Exchange Server 2007 RTM" target="_blank"&gt;Update Rollup 6 per Microsoft Exchange Server 2007 RTM&lt;/a&gt;, che non si applica alle versioni con SP1.&lt;/p&gt;  &lt;p&gt;La notizia era linkata anche da una &lt;a href="http://support.microsoft.com/kb/937052/en-us" target="_blank"&gt;pagina che descrive le policy di update sia per la versione RTM (priva di SP1) che per SP1&lt;/a&gt; e che punta sempre alle ultime versioni rilasciate, che sono sempre cumulative.    &lt;br&gt;Da aggiungere ai bookmark :-)&lt;/p&gt;  &lt;p&gt;Oggi Microsoft ha rilasciato anche l'&lt;a href="http://support.microsoft.com/kb/945684/en-us" title="Update Rollup 1 per Microsoft Exchange Server 2007 Service Pack 1" target="_blank"&gt;Update Rollup 1 per SP1&lt;/a&gt;, che risolve un numero significativo (22!) di bugs.&lt;/p&gt;  &lt;p&gt;Entrambi sono già disponibili anche via &lt;b&gt;MU / WSUS&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Claudio&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=79" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Exchange/default.aspx">Exchange</category></item><item><title>Windows Server 2008: compatibilità e integrazione</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/02/29/windows-server-2008-compatibilit-224-e-integrazione.aspx</link><pubDate>Fri, 29 Feb 2008 18:00:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:78</guid><dc:creator>claudiog</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Con il rilascio di &lt;b&gt;Windows Server 2008&lt;/b&gt; cominciano i progetti di implementazione e quindi le prime domande a cui rispondere.&lt;/p&gt;  &lt;p&gt;La prima domanda che i clienti fanno è relativa alla compatibilità con altri prodotti server di Microsoft. A questo scopo Microsoft ha rilasciato &lt;a href="http://support.microsoft.com/kb/948680/en-us" title="articolo della Knowledge Base sulla compatibilità di Windows Server 2008" target="_blank"&gt;un articolo della Knowledge Base&lt;/a&gt;, piuttosto dettagliato.&lt;/p&gt;  &lt;p&gt;All'interno della KB, oltre ad elencare quali prodotti sono supportati già oggi e quali a breve con service pack (o mai più ...), viene indicata anche la &lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/cf9c99c0-fa37-4ad4-88bd-c0d65292b0d11033.mspx" title="applicazioni server compatili con RODC di Windows Server 2008" target="_blank"&gt;compatibilità con le modalità Read Only Domain Controller&lt;/a&gt; (RODC). Peccato che manchi un articolo simile per la compatibilità con la modalità "Server Core".&lt;/p&gt;  &lt;p&gt;Per i primi temerari (si sa ... i pionieri hanno le frecce nel ...) che stanno già iniziando il deployment del nuovo OS, ci sono alcune KB che potrebbero tornare utili, onde &lt;i&gt;evitare problemi di integrazione&lt;/i&gt; con le strutture client e server esistenti:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Malfunzionamenti client dopo introduzione di un DC 2008     &lt;br&gt;&lt;/b&gt;&lt;a href="http://support.microsoft.com/kb/946405"&gt;http://support.microsoft.com/kb/946405&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Nuovo range di porte dinamiche&lt;/b&gt;    &lt;br&gt;&lt;a href="http://support.microsoft.com/kb/929851"&gt;http://support.microsoft.com/kb/929851&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Impossibile aprire files EFS dopo migrazione a 2008     &lt;br&gt;&lt;/b&gt;&lt;a href="http://support.microsoft.com/kb/948690"&gt;http://support.microsoft.com/kb/948690&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Come migrare Sysvol a NTFS-R     &lt;br&gt;&lt;/b&gt;&lt;a href="http://blogs.technet.com/filecab/archive/2008/02/08/sysvol-migration-series-part-1-introduction-to-the-sysvol-migration-process.aspx"&gt;http://blogs.technet.com/filecab/archive/2008/02/08/sysvol-migration-series-part-1-introduction-to-the-sysvol-migration-process.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Claudio&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=78" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Microsoft Security Bulletin di Febbraio 2008: i primi guai per IIS 6</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/02/13/microsoft-security-bulletin-di-febbraio-2008-i-primi-guai-per-iis-6.aspx</link><pubDate>Wed, 13 Feb 2008 10:57:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:73</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Il &lt;a href="http://www.microsoft.com/technet/security/bulletin/ms08-feb.mspx" target="_blank"&gt;bollettino di sicurezza Microsoft, di Febbraio 2008&lt;/a&gt; oltre ad essere &lt;b&gt;davvero consistente&lt;/b&gt; per numero di fix (11), vastità (AD, TCP/IP, Office, patch &lt;strike&gt;cumulativa&lt;/strike&gt; mensile di Internet Explorer) e impatto, infrange purtroppo il mito (reale) di &lt;b&gt;invulnerabilità di Internet Information Server 6.0&lt;/b&gt;, peccato davvero.&lt;/p&gt;  &lt;p&gt;A distanza di quasi 5 anni dal rilascio, le prime due fix per IIS 6 (oltre ad altre versioni certamente meno diffuse) riguardano una &lt;a href="http://www.microsoft.com/technet/security/bulletin/ms08-005.mspx" title="ms08-005" target="_blank"&gt;escalation di privilegi&lt;/a&gt; e purtroppo &lt;a href="http://www.microsoft.com/technet/security/bulletin/ms08-006.mspx" title="ms08-006" target="_blank"&gt;una remote code execution&lt;/a&gt;. La &lt;b&gt;seconda è ovviamente la più rischiosa&lt;/b&gt; specie se, come purtroppo mi accade di vedere presso clienti, è stato cambiato l'account con cui il Worker Process interagisce con il sistema ... ovviamente se si usa un &lt;u&gt;account privilegiato&lt;/u&gt; (Administrator o il Local System), la frittata è fatta.&lt;/p&gt;  &lt;p&gt;Queste due patch non riguarderanno IIS 7.0 in Vista SP1 (&lt;a href="http://blogs.technet.com/italy/archive/2008/02/11/aggiornamento-sulla-disponibilit-di-windows-vista-sp1.aspx" target="_blank"&gt;per quando Microsoft gentilmente ce lo farà avere&lt;/a&gt; ...) e Windows Server 2008.&lt;/p&gt;  &lt;p&gt;La raccomandazione è di &lt;b&gt;installare molto rapidamente queste due patch&lt;/b&gt;.&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=73" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Security/default.aspx">Security</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/IIS/default.aspx">IIS</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Vista/default.aspx">Vista</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows/default.aspx">Windows</category></item><item><title>Troubleshooting di SPN Kerberos duplicati</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/01/09/troubleshooting-di-spn-kerberos-duplicati.aspx</link><pubDate>Wed, 09 Jan 2008 14:08:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:71</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Qualche volta capita in un ambiente Active Directory, che un &lt;b&gt;Service Principal Name (SPN)&lt;/b&gt;, necessario al corretto funzionamento dell'autenticazione &lt;b&gt;Kerberos&lt;/b&gt;, risulti &lt;b&gt;duplicato&lt;/b&gt;.&lt;/p&gt;
  
&lt;p&gt;Questo è percepibile sia da eventi di errore 11 del KDC in &lt;b&gt;Event Viewer&lt;/b&gt;, che dal malfunzionamento di Kerberos, per quanto spesso questo secondo aspetto sia meno visibile. Infatti molti servizi che possono usare Kerberos (ad esempio SQL Server), eseguono automaticamente il &lt;i&gt;"fall back"&lt;/i&gt; a &lt;b&gt;NTLM&lt;/b&gt; se il primo non funziona.&lt;/p&gt;
  
&lt;p&gt;Mentre con &lt;b&gt;SetSPN.exe&lt;/b&gt; è possibile ottenere l'elenco degli SPN associati ad un account (user o computer), oltre a registrare/eliminare SPN arbitrari, con la stessa utility non si riesce a cercare in AD chi ha registrato uno specifico SPN.&lt;/p&gt;
  
&lt;p&gt;Alcuni articoli della KB di Microsoft consigliano di cercare con &lt;b&gt;LDP&lt;/b&gt; o &lt;b&gt;ADSIedit&lt;/b&gt;, ma la cosa risulta &lt;i&gt;poco agevole&lt;/i&gt;, perchè i tools non sono installati di default e sono abbastanza scomodi e pericilosi in mani non esperte. Per fortuna ci viene in aiuto una (poco) nota &lt;b&gt;utility di Windows Server 2003&lt;/b&gt;, &lt;b&gt;DSquery.exe&lt;/b&gt;.&lt;/p&gt;
  
&lt;p&gt;Se per esempio stiamo cercando chi ha registrato il SPN &lt;i&gt;"MSSQLSvc/srvdb01.dom.local:1433"&lt;/i&gt;, possiamo eseguire:&lt;/p&gt;
  
&lt;p&gt;&lt;font face="Courier New" size="3"&gt;dsquery * -filter "(servicePrincipalName=MSSQLSvc/srvdb01.dom.local:1433)" -attr dNSHostName -l&lt;/font&gt;&lt;/p&gt;
  
&lt;p&gt;Ottenendo la lista degli hostname che hanno registrato quell'SPN. Ma &lt;b&gt;un SPN può essere associato anche ad uno user&lt;/b&gt; (&lt;i&gt;Service Account&lt;/i&gt;), quindi può essere più utile interrogare AD così:&lt;/p&gt;
  
&lt;p&gt;&lt;font face="Courier New" size="3"&gt;dsquery * -filter "(servicePrincipalName=MSSQLSvc/srvdb01.dom.local:1433)" -attr name,dNSHostName -l&lt;/font&gt;&lt;/p&gt;
  
&lt;p&gt;è anche possibile usare lo stesso principio per &lt;b&gt;trovare tutti gli SPN di un certo tipo&lt;/b&gt;, ad esempio:&lt;/p&gt;

&lt;p&gt;&lt;font face="Courier New" size="3"&gt;dsquery * -filter "(servicePrincipalName=MSSQLSvc/*)" -attr name,dNSHostName -l&lt;/font&gt;&lt;/p&gt;



&lt;p&gt;Variando il &lt;b&gt;prefisso&lt;/b&gt;, si possono trovare &lt;b&gt;specifici servizi&lt;/b&gt;. Provate con '&lt;i&gt;DNS/*&lt;/i&gt;', '&lt;i&gt;NtFrs-*&lt;/i&gt;', '&lt;i&gt;SMTP*&lt;/i&gt;','&lt;i&gt;LDAP/*&lt;/i&gt;'.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Individuato il secondo incomodo (ad esempio lo user &lt;i&gt;Administrator&lt;/i&gt;), è possibile rimuovere il SPN "di troppo" con:&lt;/p&gt;

&lt;p&gt;&lt;font face="Courier New" size="3"&gt;SetSpn -D MSSQLSvc/srvdb01.dom.local:1433 Administrator&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=71" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/Active+Directory/default.aspx">Active Directory</category></item><item><title>Cumulative Update package 5 per SQL Server 2005 Service Pack 2</title><link>http://www.pulsarit.net/cs/blogs/claudiog/archive/2008/01/07/cumulative-update-package-5-per-sql-server-2005-service-pack-2.aspx</link><pubDate>Mon, 07 Jan 2008 17:21:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:70</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Poco prima di Natale 2007, Microsoft ha rilasciato il &lt;a href="http://support.microsoft.com/kb/943656/en-us" target="_blank"&gt;Cumulative Update package 5 per SQL Server 2005 Service Pack 2&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Si tratta come facilmente intuibile di un cumulativo multilanguage, che include le fix per una lunga serie di bug, successivi al rilascio di SP2.&lt;/p&gt;  &lt;p&gt;All'interno della KB c'è il link per richiedere via WEB/e-mail la fix per le CPU di interesse.&lt;/p&gt;  &lt;p&gt;Sono curioso di vedere se sistema anche il bug introdotto dal Cumulative Update 3 e 4, rilevato da alcuni sul web (&lt;a href="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2130278&amp;amp;SiteID=17"&gt;http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2130278&amp;amp;SiteID=17&lt;/a&gt;) e personalmente presso clienti. Nel mio caso abbiamo risolto sistemando l'autenticazione Kerberos, che non funzionava correttamente causa un SPN incorretto; in sostanza nel CU3/4 sembra non fare più fallback correttamente a NTLM (come avveniva sullo stesso cluster prima di CU4) e ciò previene la partenza corretta del SQL Agent con vari problemi di ping-pong dei servizi sul cluster ...&lt;/p&gt;&lt;img src="http://www.pulsarit.net/cs/aggbug.aspx?PostID=70" width="1" height="1"&gt;</description><category domain="http://www.pulsarit.net/cs/blogs/claudiog/archive/tags/SQL+Server/default.aspx">SQL Server</category></item></channel></rss>