<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/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>How to Expire Tape Recovery Points in DPM 2007</title><link>http://blogs.technet.com/b/askcore/archive/2008/12/04/how-to-expire-tape-recovery-points-in-dpm-2007.aspx</link><description>&amp;#160; When running System Center Data Protection Manager 2007 and utilizing the DPM tape libraries capability for protection, it may be necessary to expire tape recovery points prior to &amp;#8220;Expires On&amp;#8221; date. Tapes which have unexpired data cannot</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: How to Expire Tape Recovery Points in DPM 2007</title><link>http://blogs.technet.com/b/askcore/archive/2008/12/04/how-to-expire-tape-recovery-points-in-dpm-2007.aspx#3458515</link><pubDate>Tue, 11 Oct 2011 17:08:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3458515</guid><dc:creator>zack</dc:creator><description>&lt;p&gt;doesn&amp;#39;t work. i go through the process, get no errors, but nothing changes.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3458515" width="1" height="1"&gt;</description></item><item><title>re: How to Expire Tape Recovery Points in DPM 2007</title><link>http://blogs.technet.com/b/askcore/archive/2008/12/04/how-to-expire-tape-recovery-points-in-dpm-2007.aspx#3359098</link><pubDate>Thu, 30 Sep 2010 23:46:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3359098</guid><dc:creator>Andre</dc:creator><description>&lt;p&gt;To make it easier to cut and paste, here is the full .ps1 code with the changes I&amp;#39;ve made. Replace the words &amp;quot;DPMBACKUP&amp;quot; with the name of your dpm server, and the words &amp;quot;Hewlett Packard MSL G3 Series library (x64 based)&amp;quot; with the name of your library name.&lt;/p&gt;
&lt;p&gt;param ([string] $DPMServerName, [string] $LibraryName, [string[]] $TapeLocationList)&lt;/p&gt;
&lt;p&gt;if((&amp;quot;-?&amp;quot;,&amp;quot;-help&amp;quot;) -contains $args[0])&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Write-Host &amp;quot;Usage: ForceFree-Tape.ps1 [[-DPMServerName] &amp;lt;Name of the DPM server&amp;gt;] [-LibraryName] &amp;quot; `&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;Name of the library&amp;gt; [-TapeLocationList] &amp;lt;Array of tape locations&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Write-Host &amp;quot;Example: Force-FreeTape.ps1 -DPMServerName &amp;quot;DPMBACKUP&amp;quot; -LibraryName &amp;quot;Hewlett Packard MSL G3 Series library (x64 based)&amp;quot; -TapeLocationList Slot-1, Slot-2&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;exit 0&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!$DPMServerName)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;$DPMServerName = Read-Host &amp;quot;DPM server name: &amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if (!$DPMServerName)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$DPMServerName = &amp;quot;DPMBACKUP&amp;quot;&lt;/p&gt;
&lt;p&gt;	Write-Host &amp;quot;DPMServerName set to $DPMServerName&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!$LibraryName)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;$LibraryName = Read-Host &amp;quot;Library name: &amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if (!$LibraryName)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$LibraryName = &amp;quot;Hewlett Packard MSL G3 Series library (x64 based)&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Host &amp;quot;Library name set to $LibraryName&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!$TapeLocationList)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;$TapeLocationList = Read-Host &amp;quot;Tape location: &amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if (!$TapeLocationList)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Error &amp;quot;Tape location not specified.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit 1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!(Connect-DPMServer $DPMServerName))&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Write-Error &amp;quot;Failed to connect To DPM server $DPMServerName&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;exit 1&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;$library = Get-DPMLibrary $DPMServerName | where {$_.UserFriendlyName -eq $LibraryName}&lt;/p&gt;
&lt;p&gt;if (!$library)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Write-Error &amp;quot;Failed to find library with user friendly name $LibraryName&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;exit 1&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;foreach ($media in @(Get-Tape -DPMLibrary $library))&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if ($TapeLocationList -contains $media.Location)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ($media -is [Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.LibraryManagement.ArchiveMedia]) &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach ($rp in @(Get-RecoveryPoint -Tape $media))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Get-RecoveryPoint -Datasource $rp.Datasource | Out-Null&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Verbose &amp;quot;Removing recovery point created at $($rp.RepresentedPointInTime) for tape in $($media.Location).&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Remove-RecoveryPoint -RecoveryPoint $rp -ForceDeletion -Confirm:$false&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Verbose &amp;quot;Setting tape in $($media.Location) as free.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set-Tape -Tape $media -Free&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Error &amp;quot;The tape in $($media.Location) is a cleaner tape.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3359098" width="1" height="1"&gt;</description></item><item><title>re: How to Expire Tape Recovery Points in DPM 2007</title><link>http://blogs.technet.com/b/askcore/archive/2008/12/04/how-to-expire-tape-recovery-points-in-dpm-2007.aspx#3359096</link><pubDate>Thu, 30 Sep 2010 23:44:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3359096</guid><dc:creator>Andre</dc:creator><description>&lt;p&gt;@Me_vs_PM this reply is a year late but might help someone... I simply changed the line of code that says, in laymans terms &amp;quot;if the user sets the name of $DPMServerName to nothing (that is, just presses enter and skips entering the DPMServerName altogether) write to the screen: &amp;#39;DPMServerName not specified.&amp;#39;&amp;quot;&lt;/p&gt;
&lt;p&gt;I changed that line to say, again in laymans terms: &amp;quot;if the user sets the name of $DPMServerName to nothing, set $DPMServerName to DPMBACKUP.&amp;quot; In my case, my DPM server is called DPMBACKUP.&lt;/p&gt;
&lt;p&gt;Making this change, and a similar one for the tape library, meant I just had to hit enter twice and it would automatically fill in the names of my DPMServerName and LibraryName. The lines of code I&amp;#39;ve changed is below. Simply replace this text with the same text from the example above, and replace the words &amp;quot;DPMBACKUP&amp;quot; with your dpm server name, and the words &amp;quot;Hewlett Packard MSL G3 Series library (x64 based)&amp;quot; with your library name.&lt;/p&gt;
&lt;p&gt;param ([string] $DPMServerName, [string] $LibraryName, [string[]] $TapeLocationList)&lt;/p&gt;
&lt;p&gt;if((&amp;quot;-?&amp;quot;,&amp;quot;-help&amp;quot;) -contains $args[0])&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Write-Host &amp;quot;Usage: ForceFree-Tape.ps1 [[-DPMServerName] &amp;lt;Name of the DPM server&amp;gt;] [-LibraryName] &amp;quot; `&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;Name of the library&amp;gt; [-TapeLocationList] &amp;lt;Array of tape locations&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Write-Host &amp;quot;Example: Force-FreeTape.ps1 -DPMServerName &amp;quot;DPMBACKUP&amp;quot; -LibraryName &amp;quot;Hewlett Packard MSL G3 Series library (x64 based)&amp;quot; -TapeLocationList Slot-1, Slot-2&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;exit 0&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!$DPMServerName)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;$DPMServerName = Read-Host &amp;quot;DPM server name: &amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if (!$DPMServerName)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$DPMServerName = &amp;quot;DPMBACKUP&amp;quot;&lt;/p&gt;
&lt;p&gt;	Write-Host &amp;quot;DPMServerName set to $DPMServerName&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!$LibraryName)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;$LibraryName = Read-Host &amp;quot;Library name: &amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if (!$LibraryName)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$LibraryName = &amp;quot;Hewlett Packard MSL G3 Series library (x64 based)&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Host &amp;quot;Library name set to $LibraryName&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3359096" width="1" height="1"&gt;</description></item><item><title>Autorun script</title><link>http://blogs.technet.com/b/askcore/archive/2008/12/04/how-to-expire-tape-recovery-points-in-dpm-2007.aspx#3189742</link><pubDate>Thu, 22 Jan 2009 13:24:41 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3189742</guid><dc:creator>Me_vs_PM</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;m&amp;lt; question is:&lt;/p&gt;
&lt;p&gt;What must be changed in the posted script so that it is possible to run it without user input?&lt;/p&gt;
&lt;p&gt;My problem is, that often my Tape-Backups fail with the &amp;quot;no free tape&amp;quot; error, even though I use 5 tapes for long-term-protection with a 1 day backup cycle.&lt;/p&gt;
&lt;p&gt;So from monday-friday, each day is a new tape, saturday-sunday, its the friday tape and these two jobs fail but that is ok and to be expected. But sometimes the jobs during the week fail with the same error as those on the weekend..&lt;/p&gt;
&lt;p&gt;And to do something about it, I thought I could use the above sript as a scheduled task, but for that I would have to &amp;quot;hard-code&amp;quot; my server-name and such.&lt;/p&gt;
&lt;p&gt;And I don't really know how and where to replace them in the script above. Can somebody please point out the necessary steps?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3189742" width="1" height="1"&gt;</description></item><item><title>eq ui | Digg hot tags</title><link>http://blogs.technet.com/b/askcore/archive/2008/12/04/how-to-expire-tape-recovery-points-in-dpm-2007.aspx#3164318</link><pubDate>Fri, 05 Dec 2008 15:33:49 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164318</guid><dc:creator>eq ui | Digg hot tags</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://diggffxi.info/tags/101/?p=2374"&gt;http://diggffxi.info/tags/101/?p=2374&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3164318" width="1" height="1"&gt;</description></item></channel></rss>