<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://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>$ClaudioG.Blog = $True : PowerShell, DPM</title><link>http://pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/DPM/default.aspx</link><description>Tags: PowerShell, DPM</description><dc:language>it</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Hotfix per Hyper-V in Windows Server 2008 R2 e backup via VSS</title><link>http://pulsarit.net/cs/blogs/claudiog/archive/2010/06/29/hotfix-per-hyper-v-e-backup-via-vss.aspx</link><pubDate>Tue, 29 Jun 2010 16:21:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:129</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><comments>http://pulsarit.net/cs/blogs/claudiog/comments/129.aspx</comments><wfw:commentRss>http://pulsarit.net/cs/blogs/claudiog/commentrss.aspx?PostID=129</wfw:commentRss><description>&lt;p&gt;Microsoft &lt;a href="http://support.microsoft.com/kb/982210/en-us" title="Microsoft kb982210" target="_blank"&gt;ha rilasciato una hotfix&lt;/a&gt; per risolvere un problema piuttosto subdolo, che si innesca nell'&lt;b&gt;uso di VSS&lt;/b&gt; per fare backup di Virtual Machines su &lt;b&gt;host Windows Server 2008 R2 / Windows Hyper-V Server 2008 R2&lt;/b&gt;. In breve, il VSS provider crea un nuovo device/volume per ciascuno shapshot effettutato, non rimuovendo mai queste informazioni dal registry, che crescerà a dismisura.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Ambienti partciolamente a rischio sono quelli basati su DPM 2007/2010, specie se i numeri di VM/VHD e la frequenza degli snapshot è elevata. Al limite (quando il numero di volumi supera qualche migliaio), l'host potrevbbe apparire "hung" al boot, o non completare mai il boot).&lt;br&gt;&lt;/p&gt;&lt;p&gt;Il bug &lt;b&gt;NON riguarda Hyper-V V1 di Windows Server 2008&lt;/b&gt;, anche se alcuni post su Internet affermano il contrario.&lt;/p&gt;&lt;p&gt;L'articolo (KB982210) pubblicato, ha diversi errori e imprecisioni, che rendono la comprensione e l'dentificazione del problema non proprio trasparente e semplice.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Le chiavi del registry indicate, sono o imprecise (la prima suggeria non cambia mai nel tempo) o sono assolutamete specifiche di un server e potreste non ritrovarle affatto sul vostro host&lt;/li&gt;&lt;li&gt;Alcuni rifermenti sono a '&lt;i&gt;ControlSet001&lt;/i&gt;', guardate invece sempre dentro a '&lt;i&gt;CurrentControlSet&lt;/i&gt;'&lt;/li&gt;&lt;li&gt;Il titolo dell'articolo parla di "&lt;i&gt;&lt;u&gt;after you back up the data on all the disks of the computer in Windows Server 2008 R2 if the computer runs some virtual machines&lt;/u&gt;&lt;/i&gt;", in realtà il problema si presenta SEMPRE, non solo se salvate TUTTI i dischi, basta innescare il VSS Provider per Hyper-V anche solo per un System State di una VM&lt;br&gt;&lt;/li&gt;&lt;li&gt;L'articolo indica un supposto comando "&lt;span class="Apple-style-span" style="border-collapse:separate;font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;line-height:16px;"&gt;&lt;b&gt;devnodeclean&lt;/b&gt;&lt;span class="Apple-converted-space"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;", che NON esiste&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Potrebbe essere un tool da richiedere al PSS, o da compilarsi da soli usando il codice di esempio nell'altra KB linkata ...ma non è chiaro e&lt;u&gt; francamente mi pare un pò troppo&lt;/u&gt; !&lt;br&gt;&lt;/blockquote&gt;&lt;p&gt;Per semplificarmi la vita, ho scritto una piccola script Powershell 2.0, per verificare il numero di Volumi/Device presenti su una lista di hosts Hyper-V. Ha come prerequisito la funzionalità di Remoting, basata su WinRM, che deve essere configurata sugli host Hyper-V (anche via GPO).&lt;/p&gt;&lt;p&gt;Non si tratta di una script particolarmente "smart" o sofisticata, ma magari vi può servire. Va modificata per fornire la lista di host Hyper-V 2 si cui eseguire il controllo, per definire le credenziali di default per la connessione.&lt;/p&gt;&lt;p&gt;Quindi se a distanza di qualche giorno, osservate un incremento costante dei numeri riportati, dovete installare la hotfix. La fix però NON ripulisce il registry delle entry precedenti, quindi o vi procurate la "&lt;i&gt;fantomatica&lt;/i&gt;" utility "&lt;span class="Apple-style-span" style="border-collapse:separate;font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;line-height:16px;"&gt;&lt;b&gt;devnodeclean&lt;/b&gt;&lt;span class="Apple-converted-space"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;" o usate il &lt;a href="http://garysgambit.blogspot.com/2010/05/windows-2008-hyper-v-vss-backup-bug.html" title="Windows 2008 Hyper-V / VSS / Backup Bug Part III" target="_blank"&gt;suggerimento pubblicato qui&lt;/a&gt;, sull'uso del vecchio "&lt;b&gt;regchk&lt;/b&gt;".&lt;/p&gt;&lt;p&gt;Hyper-V comincia ad avere bisogno di un rollup !&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ecco la script: &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier" size="3"&gt;$Cred = Get-credential DOMAIN\AdmAccount&lt;br&gt;$HVhosts = @("HVNODE1","HVNODE2")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Potrebbe essere un 'get-content serverlist.txt'&lt;br&gt;&lt;br&gt;$HvHosts | % {&lt;br&gt;&lt;br&gt;&amp;nbsp; Invoke-Command -ComputerName $_ -Cred $Cred -ScriptBlock {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #$RegKeys = 'Enum\SCSI\Disk&amp;amp;Ven_Msft&amp;amp;Prod_Virtual_Disk','Enum\STORAGE\Volume','Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}'&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $RegKeys = @('Enum\STORAGE\Volume','Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}')&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PushD 'HKLM:\System\CurrentControlSet'&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $RegKeys | % {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $Env:Computername,$_, (dir $_).Count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PopD&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;Produrrà un output di questo tipo:&lt;/p&gt;&lt;p&gt;HVNODE1 Enum\STORAGE\Volume 768&lt;br&gt;HVNODE1 Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} 774&lt;br&gt;HVNODE2 Enum\STORAGE\Volume 775&lt;br&gt;HVNODE2 Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} 783&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://pulsarit.net/cs/aggbug.aspx?PostID=129" width="1" height="1"&gt;</description><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008+R2/default.aspx">Windows Server 2008 R2</category></item><item><title>Restore di Virtual Machine Hyper-V con Powershell e DPM 2007</title><link>http://pulsarit.net/cs/blogs/claudiog/archive/2009/07/02/restore-di-virtual-machine-con-powershell-e-dpm-2007.aspx</link><pubDate>Thu, 02 Jul 2009 16:52:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:119</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><comments>http://pulsarit.net/cs/blogs/claudiog/comments/119.aspx</comments><wfw:commentRss>http://pulsarit.net/cs/blogs/claudiog/commentrss.aspx?PostID=119</wfw:commentRss><description>&lt;p&gt;Ci sono poche cose che mi fanno &lt;b&gt;arrabbiare &lt;/b&gt;quanto la documentazione (?) di Powershell in &lt;b&gt;Data Protection Manager (DPM) 2007&lt;/b&gt; ... &lt;u&gt;inesistente è dire davvero poco&lt;/u&gt;&amp;nbsp;&lt;img src="http://pulsarit.net/cs/emoticons/emotion-12.gif" alt="Angry" /&gt;.&lt;br&gt;Tra l'altro il modello e l'implementazione delel CmdLets scelto dal team di DPM è quantomeno originale ... e poco omogeneo con Powershell stesso e le sue filosofie.&lt;/p&gt;&lt;p&gt;Siccome ci ho &lt;b&gt;sbattuto sopra la testa &lt;/b&gt;non poco (e sono molto &lt;u&gt;&lt;b&gt;BUONO&lt;/b&gt;&lt;/u&gt;&amp;nbsp;&lt;img src="http://pulsarit.net/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;), condivido su questo blog un pò di codice per produrre &lt;b&gt;un restore automatizzato di una Virtual Machine Hyper-V, protetta da DPM.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;font color="#009900" face="courier new,courier" size="3"&gt;# Un pò di dichiarazioni&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$dpmname = $env:computername&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$pgName &amp;nbsp;= "PG03-HyperV"&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$dsname &amp;nbsp;= 'Backup Using Child Partition Snapshot\Earth'&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$targetserver &amp;nbsp;= "cerere.domain.local"&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$targetlocation = "D:\"&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier" size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Ora dobbiamo recuperare Il Protection Group che contiene il DataSource di cui intendiamo fare restore e poi selezioniamo l'ultimo Recovery Point, tra quelli disponibili:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$pg = get-protectionGroup -DPMServerName $dpmName | where {$_.friendlyname -eq $PgName}&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$ds = get-datasource -protectiongroup $pg | where {$_.name -eq $DsName}&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$ro = Get-RecoveryPoint -Datasource $ds | sort | select -last 1&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;A questo punto la parte più "complessa" (la New-RecoveryOption è tra le CmdLets più astruse e peggio documentate ...)&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;$Rop = New-RecoveryOption -GenericDatasource -TargetServer $targetserver -RecoveryLocation CopyToFolder -RecoveryType Restore -TargetLocation $targetlocation&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;E ora l'ultimo passaggio &amp;nbsp;&lt;img src="http://pulsarit.net/cs/emoticons/emotion-19.gif" alt="Party!!!" /&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="courier new,courier" size="3"&gt;Recover-RecoverableItem -RecoverableItem $Ro -RecoveryOption $rop&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ora non ci resta che attendere e in un subfolder (generato automaticamente da DPM) troveremo i files (VHD ed XML) che costituiscono la VM, comprensivo di VM State.&lt;/p&gt;&lt;p&gt;Nella sessione&amp;nbsp;&lt;span class="Apple-style-span" style="font-family:Verdana;font-size:14px;font-weight:bold;line-height:18px;"&gt;Virtual machines backup strategies with Data Protection Manager (DPM) |&amp;nbsp;&amp;nbsp;&lt;a href="http://www.virtualizationconference.it/sessions.aspx#se23" title="VC18 - Virtual machines backup strategies with Data Protection Manager (DPM)" target="_blank" style="margin:0px;padding:0px;"&gt;VC18&lt;/a&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family:Arial;font-size:13px;font-weight:normal;line-height:normal;"&gt;che presenterò alla&amp;nbsp;&lt;span class="Apple-style-span" style="font-family:Verdana;font-size:12px;line-height:18px;"&gt;&lt;b style="margin:0px;padding:0px;"&gt;&lt;a href="http://www.virtualizationconference.it/default.aspx" title="Microsoft Virtualization Conference '09" target="_blank" style="margin:0px;padding:0px;"&gt;Microsoft Virtualization Conference '09&lt;/a&gt;&lt;/b&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family:Arial;font-size:13px;line-height:normal;"&gt;vedremo qualche altro esempio di scripting per Hyper-V con Powershell e DPM, magari producendo una versione più completa di questo frammento di codice.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Ciao, Claudio&lt;/p&gt;&lt;img src="http://pulsarit.net/cs/aggbug.aspx?PostID=119" width="1" height="1"&gt;</description><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Microsoft Virtualization Conference ‘09: Pulsar IT c’è</title><link>http://pulsarit.net/cs/blogs/claudiog/archive/2009/06/22/microsoft-virtualization-conference-09-pulsar-it-c-232.aspx</link><pubDate>Mon, 22 Jun 2009 13:02:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:118</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><comments>http://pulsarit.net/cs/blogs/claudiog/comments/118.aspx</comments><wfw:commentRss>http://pulsarit.net/cs/blogs/claudiog/commentrss.aspx?PostID=118</wfw:commentRss><description>&lt;p&gt;La prima edizione di &lt;b&gt;&lt;a href="http://www.virtualizationconference.it/default.aspx" title="Microsoft Virtualization Conference '09" target="_blank"&gt;Microsoft Virtualization Conference '09&lt;/a&gt;&lt;/b&gt; si terrà il 22 e 23 Settembre 2009 presso il “Microsoft Realizing Potential Congress Center” di San Felice a Segrate (MI).&lt;/p&gt;  &lt;p&gt;Pulsar IT sarà presente all’evento con due speaker, &lt;a href="http://www.virtualizationconference.it/speakers.aspx#s2" title="Bio Alessandro Appiani @ Microsoft Virtualization Conference 2009" target="_blank"&gt;Alessandro Appiani&lt;/a&gt; ed &lt;a href="http://www.virtualizationconference.it/speakers.aspx#s3" title="Bio Claudio Galletti @ Microsoft Virtualization Conference 2009" target="_blank"&gt;io&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Queste le mie sessioni:&lt;/p&gt;  &lt;h3&gt;Automating large scale virtual infrastructures with System Center Virtual Machine Manager (SCVMM) and Powershell&amp;nbsp; |&amp;nbsp; &lt;a href="http://www.virtualizationconference.it/sessions.aspx#se2" title="VC03 - Automating large scale virtual infrastructures with System Center Virtual Machine Manager (SCVMM) and Powershell" target="_blank"&gt;VC03&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;i&gt;“La gestione di ambienti virtuali è un aspetto davvero critico per l’efficacia delle soluzioni, forse più che in un ambiente fisico.     &lt;br&gt;Con l’arrivo di Hyper-V 2.0 in Windows Server 2008 R2, accoppiato con Powershell 2 e il nuovo System Center Virtual Machine Manager 2008 R2 si pongono nuove basi per affrontare questo compesso tema.      &lt;br&gt;Nella sessione, dopo una veloce carrellata sulle novità delle singole piattaforme, discuteremo delle possibili tecniche e modalità di gestione, partendo dal provisioning di ambienti virtuali fino alle operazioni di manutenzione ordinaria e straordinaria.      &lt;br&gt;Il tutto condito da esempi pratici e script Powershell, per dimostrare la sinergia delle tecnologie.”&lt;/i&gt;&lt;/p&gt;  &lt;h3&gt;Virtual machines backup strategies with Data Protection Manager (DPM) |&amp;nbsp; &lt;a href="http://www.virtualizationconference.it/sessions.aspx#se23" title="VC18 - Virtual machines backup strategies with Data Protection Manager (DPM)" target="_blank"&gt;VC18&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;i&gt;“Garantire un efficace backup e restore di dati e configurazioni è elemento fondamentale di una soluzione di backup, che nelle soluzioni virtuali rischia di complicarsi ulteriormente.     &lt;br&gt;Infatti il mix di criticità (fisico-virtuale), la ragguardevole dimensione degli oggetti virtualizzati, la necessità di rispettare le integrità applicative (es: Exchange/SQL logs) unite alle tradizionali problematiche di volumi e tempistiche, fanno del backup uno dei temi più complessi della virtuazlizzazione.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;In questa sessione vedremo come affrontare il problema e scegliere le migliori strategie da usare, nel proteggere i diversi workload virtuali e gli host fisici Hyper-V con System Center Data Protection Manager 2007.     &lt;br&gt;Vedremo insieme alcuni aspetti per il corretto dimensionamento e utili indicazioni per il disegno ed il troubleshooting della soluzione di backup.”&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;All’evento sarà anche presente &lt;i&gt;&lt;b&gt;Jeff Woolsey&lt;/b&gt; - Lead Program Manager, Windows Virtualization&lt;/i&gt; di Microsoft Corp., protagonista in queste settimane di un &lt;a href="http://blogs.technet.com/virtualization/archive/2009/06/12/vmware-fud-fiasco-final.aspx" title="VMware FUD Fisco - Final" target="_blank"&gt;“gustoso” scambio di post con VMWare&lt;/a&gt;, finito in una ingloriosa figura per il colosso della virtualizzazione (per colosso intendo VWare … non Microsoft, che però lo diventerà presto &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;).&lt;/p&gt;  &lt;p&gt;A Settembre allora :-)&lt;/p&gt;  &lt;p&gt;Claudio&lt;/p&gt;&lt;img src="http://pulsarit.net/cs/aggbug.aspx?PostID=118" width="1" height="1"&gt;</description><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Inactivate automatico di alert in DPM 2007</title><link>http://pulsarit.net/cs/blogs/claudiog/archive/2009/06/10/inactivate-automatico-di-alert-in-dpm-2007.aspx</link><pubDate>Wed, 10 Jun 2009 16:49:00 GMT</pubDate><guid isPermaLink="false">d806d591-cae8-4839-ac9f-5825260148f9:117</guid><dc:creator>claudiog</dc:creator><slash:comments>0</slash:comments><comments>http://pulsarit.net/cs/blogs/claudiog/comments/117.aspx</comments><wfw:commentRss>http://pulsarit.net/cs/blogs/claudiog/commentrss.aspx?PostID=117</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Data Protection Manager 2007&lt;/b&gt; (DPM), pur essendo dotato di cmdlets specifiche per Powershell, è piuttosto incompleto.   &lt;br&gt;Ad esempio non ci sono cmdlets per gestire i &lt;i&gt;jobs&lt;/i&gt;, &lt;i&gt;alerts&lt;/i&gt;, ecc. (e sul grado di documentazione di quello che c’è … lasciamo perdere …).&lt;/p&gt;
  
&lt;p&gt;La domanda su come poter risolvere (inattivare) gli alert in modo batch è stata posta diverse volte sui &lt;a href="http://groups.google.com/group/microsoft.public.dataprotectionmanager/browse_thread/thread/a7b26d249f9c92ed/52fee856f4ee35f3" target="_blank"&gt;DPM Forum&lt;/a&gt;, ma anche i membri del Team DPM hanno affermato che non esiste un modo per farlo via Powershell.    &lt;br&gt;Qualcuno in giro per il web, pur di evitare di inattivare "uno-a-uno" (sì, la DPM management console NON supporta la selezione multipla !), si è pure lanciato in temerarie operazioni direttamente sul DB SQL ($brividi = $TRUE).&lt;/p&gt;
  
&lt;p&gt;In realtà &lt;b&gt;un metodo esiste&lt;/b&gt; e una volta &lt;i&gt;“scoperto”&lt;/i&gt; è pure banale … ma &lt;u&gt;probabilmente NON è supportato&lt;/u&gt; (anche se lo uso da diverso tempo in ambienti di produzione e non ha mai causato problemi).&lt;/p&gt;
  
&lt;p&gt;&lt;b&gt;DISCLAIMER: usatelo a vostro rischio – USE AT YOUR OWN RISK&lt;/b&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;&lt;font color="#009900"&gt;# Ci connettiamo al server DPM   &lt;/font&gt;&lt;br&gt;$Dpm = connect-dpmserver $Env:Computername&lt;/font&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;font face="courier new,courier"&gt;&lt;font color="#009900"&gt;#Otteniamo un oggetto AlertController   &lt;br&gt;&lt;/font&gt;$Ac = $Dpm.Get_AlertController()&lt;/font&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;font face="courier new,courier"&gt;&lt;font color="#009900"&gt;# Estraiamo solo i Pending Alerts   &lt;br&gt;&lt;/font&gt;$AC.RefreshAlerts( $False) &lt;/font&gt;&lt;/p&gt;
  
&lt;p&gt;&lt;font face="courier new,courier"&gt;&lt;font color="#009900"&gt;# TA-DAAA … inattiviamoli tutti   &lt;br&gt;&lt;/font&gt;$AC.ActiveAlerts | % { $_.ResolveAlert()}&lt;/font&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;p&gt;&lt;br&gt;La &lt;b&gt;potenza di .Net applicata a Powershell&lt;/b&gt; (o viceversa &lt;img src="http://www.pulsarit.net/cs/emoticons/emotion-1.gif" alt="Smile" /&gt; )&lt;/p&gt;
  
&lt;p&gt;Ciao, Claudio&lt;/p&gt;&lt;img src="http://pulsarit.net/cs/aggbug.aspx?PostID=117" width="1" height="1"&gt;</description><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category></item><item><title>DPM 2007 e il Consistency Check</title><link>http://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><comments>http://pulsarit.net/cs/blogs/claudiog/comments/90.aspx</comments><wfw:commentRss>http://pulsarit.net/cs/blogs/claudiog/commentrss.aspx?PostID=90</wfw:commentRss><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://pulsarit.net/cs/aggbug.aspx?PostID=90" width="1" height="1"&gt;</description><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://pulsarit.net/cs/blogs/claudiog/archive/tags/DPM/default.aspx">DPM</category></item></channel></rss>