<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Jim Britt's [MSFT] Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jbritt/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jbritt/feed.xml</link>
    <description>This blog will contain lessons learned as it relates to automation specific to Opalis / System Center Orchestrator.</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:09:29 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>My New Home for Automation Blogging</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/my-new-home-for-automation-blogging</link>
      <pubDate>Fri, 01 Mar 2013 10:45:53 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2013/03/01/my-new-home-for-automation-blogging/</guid>
      <description><![CDATA[Hey Readers!&#160; I’ve been fairly quiet out here as of late and really “Jonesing” to get some blog...]]></description>
      <content:encoded><![CDATA[<p>Hey Readers!&#160; I’ve been fairly quiet out here as of late and really “Jonesing” to get some blog posts out on automation.&#160; So the good news is, I’ve transitioned to a new team (Technical&#160; Enablement and Delivery or TED) and hence a new <a href="https://blogs.technet.com/b/building_clouds/" target="_blank">location</a> for my blogging is available.&#160; I’m really excited about the new location (and my new team is awesome).</p>  <h1><font color="#a5a5a5">Some information</font></h1>  <p>My <a href="https://blogs.technet.com/b/building_clouds/archive/2013/02/28/an-introduction-automation-blogger-for-building-clouds.aspx" target="_blank">introduction</a> post on what is coming out on the <a href="https://blogs.technet.com/b/building_clouds/" target="_blank">Building Clouds</a> TechNet Page!</p>  <p>The <a href="https://blogs.technet.com/b/building_clouds/archive/tags/automation+track/" target="_blank">Automation Track</a> that I am providing input to along with my good friend <a href="https://blogs.technet.com/b/building_clouds/archive/2013/01/17/building-clouds-an-introduction-to-the-automation-track.aspx" target="_blank">Charles Joy</a>.</p>  <p>Something <a href="https://blogs.technet.com/b/building_clouds/archive/2013/02/21/surface-pro-hijinks-video.aspx" target="_blank">fun</a> my team did with 4 Surface Pros (a must watch)!</p>  <p>By the way the entire team is going to be at MMS this year so come by our booth if you are at <a href="https://www.2013mms.com/" target="_blank">MMS 2013</a>.&#160; Look for posts on the <a href="https://blogs.technet.com/b/building_clouds/" target="_blank">Building Clouds Blog</a> for sessions presented by the team in April.</p>  <p>&#160;</p>  <p>I’ll continue to post other items out here probably but not as frequent as the Building Clouds site.&#160; Actually, I’m looking forward to potentially posting a Windows 8 Theme Pack of my pictures <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/7510.wlEmoticon-smile_4BDF076E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/7510.wlEmoticon_2D00_smile_5F00_4BDF076E.png" />&#160; <a href="https://www.jimbrittphotography.com">www.jimbrittphotography.com</a> (shameless plug) in the near future!</p>  <p>Until next time, Happy Automating!</p>]]></content:encoded>
    </item>
    <item>
      <title>The Photographers@Microsoft are at it Again!</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/the-photographersmicrosoft-are-at-it-again</link>
      <pubDate>Tue, 25 Sep 2012 11:27:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2012/09/25/the-photographersmicrosoft-are-at-it-again/</guid>
      <description><![CDATA[&nbsp;

&nbsp;
Hello again readers!&nbsp; I wanted to take a brief tangent from my technical...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="https://www.photographersatmicrosoft.com/" target="_blank"><img width="559" height="136" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/4572.image_40CB3D0B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/4572.image_5F00_40CB3D0B.png" border="0" /></a></p>
<p>&nbsp;</p>
<p>Hello again readers!&nbsp; I wanted to take a brief tangent from my technical content to let you all know about a fantastic book that Microsoft has been publishing for the last four years.&nbsp; This book is an amazing representation of the internal talented photographers at Microsoft and even better, the proceeds to go the United Way to support a great cause!</p>
<p><strong>OK so give me the details right?</strong> <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6648.wlEmoticon-smile_2A792CD0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6648.wlEmoticon_2D00_smile_5F00_2A792CD0.png" /></p>
<ul>
<li>Price is $50 which gets you a 300+ page book with 453 images!</li>
<li>$37.50 of that goes to charity.&nbsp;</li>
<li><strong>AND </strong>if you are a US-Based Microsoft employee you are matched by Microsoft so a $50 purchase results in $75 going to charity!</li>
</ul>
<p><strong>Call to Action (GO GET YOUR BOOKS!)</strong></p>
<p>I encourage you to check out the details of this book here: <a title="https://www.photographersatmicrosoft.com/" href="https://www.photographersatmicrosoft.com/">https://www.photographersatmicrosoft.com/</a>.&nbsp;</p>
<p>It goes on sale <strong>starting October 1st, 2012</strong>.&nbsp; This book is truly beautiful.&nbsp;</p>
<p>Details below from the site:</p>
<table style="width: 577px;" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td width="575" valign="top">
<p><span style="color: #c0504d;" color="#c0504d">Explore | Photographers@Microsoft Book</span> is a 300+ page collection of images taken worldwide by individuals at Microsoft&reg; in support of the annual GIVE campaign. Each photo in the book is accompanied by a narrative written by the photographer as well as technical information which helps the reader learn how the photograph was taken. All proceeds from the sale of the book are donated to the United Way Worldwide. Purchases made by eligible Microsoft employees qualify for the Matching Gifts Program at Microsoft, effectively doubling the gift.</p>
<p><span style="color: #c0504d;" color="#c0504d">Explore | Photographers@Microsoft</span> Book makes a perfect gift for yourself, family or friends whether they are just getting started in the photographic journey or are seasoned shutterbugs.</p>
</td>
</tr>
</tbody>
</table>
<p><strong>Shameless Plug</strong> <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6648.wlEmoticon-smile_2A792CD0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6648.wlEmoticon_2D00_smile_5F00_2A792CD0.png" /></p>
<p>For the second year in a row since joining Microsoft, I&rsquo;ve been lucky enough to be featured along with the serious talent represented in this amazing book.</p>
<p>&nbsp;</p>
<p><strong><span style="color: #0000ff;" color="#0000ff">This year&rsquo;s photo</span></strong></p>
<p><a href="https://www.jimbrittphotography.com/Portfolio/Recent-Photos/11536661_m9Rqz6#!i=1748841095&amp;k=9FGRT85&amp;lb=1&amp;s=A" target="_blank"><img width="585" height="391" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1157.image_585B9470.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1157.image_5F00_585B9470.png" border="0" /></a></p>
<p><strong><span style="color: #0000ff;" color="#0000ff">Last year&rsquo;s photo</span></strong></p>
<p><a href="https://www.jimbrittphotography.com/Portfolio/Animals/8950798_HD3hbm#!i=2110674669&amp;k=bhQJRGz&amp;lb=1&amp;s=A" target="_blank"><img width="588" height="394" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/7823.image_71EF990D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/7823.image_5F00_71EF990D.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Check out the United Way stats!&nbsp; What an amazing organization!&nbsp; </strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/3463.image_1E3770AC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/3463.image_5F00_1E3770AC.png"><img width="202" height="283" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/4034.image_thumb_2C09B6A7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/4034.image_5F00_thumb_5F00_2C09B6A7.png" border="0" /></a></p>
<p><a href="https://www.unitedway.ca/get-involved/give" target="_blank"><img width="201" height="94" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6327.image_588795D3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6327.image_5F00_588795D3.png" border="0" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>System Center 2012 Orchestrator - Changing User or Group Rights Post Install</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/system-center-2012-orchestrator-changing-user-or-group-rights-post-install</link>
      <pubDate>Thu, 10 May 2012 15:23:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2012/05/10/system-center-2012-orchestrator-changing-user-or-group-rights-post-install/</guid>
      <description><![CDATA[I’ve seen a topic come up from time to time that I think was worth getting out to those that can use...]]></description>
      <content:encoded><![CDATA[<p align="left"><span style="mso-bidi-font-family: calibri; mso-fareast-language: ja">I’ve seen a topic come up from time to time that I think was worth getting out to those that can use it <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-bottom-style: none; border-right-style: none; border-left-style: none" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1016.wlEmoticon-smile_05312622.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1016.wlEmoticon_2D00_smile_5F00_05312622.png" />.&#160; This is already published on TechNet (referenced within my blog here) but I wanted to put some finer notes on it to assist.</span></p>  <p class="WhiteHeading2" style="margin: 6pt 0in 6pt 58.5pt; text-indent: -0.5in; mso-list: l1 level2 lfo2"></p>  <p><strong><span style="color: #000000" color="#000000">Issue –&#160; Updating the Primary Administrator and Orchestrator User Group Post Install</span></strong></p>  <p><span style="color: #000000" color="#000000">So co</span><span style="color: #000000" color="#000000">nsider the scenario where you have installed and setup Orchestrator, selecting some initial defaults that you were comfortable with for access to the designer and who is the primary administrator for Orchestrator,&#160; then you want to update your environment to support a new group or primary administrator.&#160; In order to change the primary group and / or primary administrator after the fact, you need to leverage a tool called PermissionsConfig.exe located on the Management server.&#160; You can follow the below process to accomplish this.</span></p>  <p>&#160;</p>    <p><span style="font-family: arial" face="Arial"><strong><span style="mso-fareast-language: ja; mso-fareast-font-family: &#39;MS Mincho&#39;; mso-fareast-theme-font: minor-fareast"><span style="font-size: 14pt">Changing User / Group Rights After Install</span></span><span style="font-size: 14pt"> </span></strong></span></p>  <p><span style="mso-bidi-font-family: calibri; mso-fareast-language: ja">The following process is documented as a supported method to change the admin user and administrator group that is used by Orchestrator.<span style="mso-spacerun: yes">&#160; </span>On occasion, you may need to update one of these (example: picked the wrong group during installation, user that setup Orchestrator is not going to be supporting it going forward).</span><span style="line-height: 10pt; mso-fareast-language: ja"></span></p>  <ul>   <li><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: 10pt">Go to an Administrator elevated cmd prompt</span></span> </li>    <li><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: 10pt">Go to the installation directory for System Center 2012 Orchestrator on the Management Server</span></span> </li> </ul>    <blockquote>   <p><span style="mso-bidi-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"><span style="color: #ff0000" color="#ff0000"><strong>Example</strong>: C:\Program Files (x86)\Microsoft System Center 2012\Orchestrator\Management Server&gt;</span></span><span style="mso-bidi-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"></span></p> </blockquote>  <ul>   <li><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: 10pt">Execute the following ensuring you are putting in your Group and “primary user” to manage things.&#160; Both need to be on this command line or you will end up overwriting with what you put here (leaving only group and no user or vice versa)</span></span> </li> </ul>  <blockquote>   <p><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: x-small" size="2"><b>PermissionsConfig.exe</b> -OrchestratorUsersGroup &quot;<span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow"><span style="background-color: #ffff00">DOMAIN\GROUPNAME</span></span>&quot; -OrchestratorUser &quot;<span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow"><span style="background-color: #ffff00">DOMAIN\USERNAME</span></span>&quot; –remote</span></span></p> </blockquote>  <blockquote>   <p><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: 10pt"><strong>Note</strong>: The above command is w<em>ord-wrapping for readability – this command is executed <span style="text-decoration: underline">all on one line</span>.&#160; Also, b</em><span style="font-family: segoe ui" face="Segoe UI"><span style="line-height: 10pt; mso-fareast-language: ja"><i style="mso-bidi-font-style: normal"><span style="font-size: 9pt">e careful not to “copy / paste” using the example from the TechNet article below (or even this blog for that matter).<span style="mso-spacerun: yes">&#160; </span>Ensure that the “-“ between the commands are in fact dashes and not “non ascii” characters, <span style="color: #ff0000" color="#ff0000"><strong>or the command will fail</strong></span>.&#160; </span></i></span></span></span></span></p>    <p><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: 10pt"><span style="font-family: segoe ui" face="Segoe UI"><span style="line-height: 10pt; mso-fareast-language: ja"><i style="mso-bidi-font-style: normal"><span style="font-size: 9pt"></span></i></span></span></span></span></p>    <p><span style="mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="font-size: 10pt"><span style="font-family: segoe ui" face="Segoe UI"><span style="line-height: 10pt; mso-fareast-language: ja"><span style="font-size: 9pt"><strong>Additional Note</strong>: <em>For additional troubleshooting information on this command (success / failure) navigate to the following directory on the Management Server and review the permissionsconfig.exe*.logs.                 <br />                  <br /><font size="2"><font face="Segoe UI"><span style="font-size: 11pt; font-family: &#39;Calibri&#39;,&#39;sans-serif&#39;; color: #1f497d; mso-fareast-language: ja; mso-fareast-font-family: &#39;MS Mincho&#39;; mso-fareast-theme-font: minor-fareast; mso-ansi-language: en-us; mso-bidi-language: ar-sa"><font size="2" face="Segoe UI">%SystemDrive%</font></span><span style="font-size: 11pt; font-family: &#39;Calibri&#39;,&#39;sans-serif&#39;; mso-fareast-language: ja; mso-fareast-font-family: &#39;MS Mincho&#39;; mso-fareast-theme-font: minor-fareast; mso-ansi-language: en-us; mso-bidi-language: ar-sa"><font size="2" face="Segoe UI">\</font><span style="color: #1f497d"><font size="2" face="Segoe UI">programdata\Microsoft System Center 2012\Orchestrator\PermissionsConfig.exe\logs</font> </span></span></font></font></em></span></span></span></span></span></p> </blockquote>  <p>&#160;</p>  <p><a href="https://technet.microsoft.com/en-us/library/hh463588.aspx"><span style="color: #0000ff" color="#0000ff">https://technet.microsoft.com/en-us/library/hh463588.aspx</span></a><span style="mso-fareast-language: ja"></span></p>    <p><span style="mso-fareast-language: ja">Below is a abstract of what the command line options mean for your reference</span></p>  <table class="ColorfulList1" style="border-collapse: collapse; mso-yfti-tbllook: 160; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellspacing="0" cellpadding="0" border="0"><tbody>     <tr style="height: 15pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes">       <td style="border-top: windowtext 1pt solid; border-right: medium none; background: #1f497d; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; mso-background-themecolor: text2; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt" height="20" valign="top" width="164">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 5" align="center"><span><span style="color: #ffffff" color="#ffffff">Parameter</span></span><b><span style="mso-bidi-font-family: calibri"></span></b></p>       </td>        <td style="border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; background: #1f497d; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-background-themecolor: text2; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" height="20" valign="top" width="473">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 17" align="center"><span><span style="color: #ffffff" color="#ffffff">Details</span></span><b><span style="mso-bidi-font-family: calibri"></span></b></p>       </td>     </tr>      <tr style="height: 15pt; mso-yfti-irow: 0">       <td style="border-top: medium none; border-right: windowtext 1pt solid; background: #cccccc; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" height="20" valign="top" width="164">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 68"><b><span>OrchestratorUsersGroup</span></b><b><span style="mso-bidi-font-family: calibri"></span></b></p>       </td>        <td style="border-top: medium none; border-right: windowtext 1pt solid; background: #bfbfbf; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" height="20" valign="top" width="473">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 80"><span>The name of the group to use for Orchestrator permissions.</span><span style="mso-bidi-font-family: calibri"></span></p>       </td>     </tr>      <tr style="height: 45pt; mso-yfti-irow: 1">       <td style="border-top: medium none; border-right: windowtext 1pt solid; background: #e6e6e6; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" height="60" valign="top" width="164">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 4"><b><span>OrchestratorUser</span></b><b><span style="mso-bidi-font-family: calibri"></span></b></p>       </td>        <td style="border-top: medium none; border-right: windowtext 1pt solid; background: #bfbfbf; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" height="60" valign="top" width="473">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 16"><span>If this parameter is specified with a user name, the user is granted immediate access to Orchestrator whether a member of the specified group or not. This is to prevent the requirement for the user to log off and on if the group has just been created.</span><span style="mso-bidi-font-family: calibri"></span></p>       </td>     </tr>      <tr style="height: 30pt; mso-yfti-irow: 2; mso-yfti-lastrow: yes">       <td style="border-top: medium none; border-right: windowtext 1pt solid; background: #cccccc; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" height="40" valign="top" width="164">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 68"><b><span>Remote</span></b><b><span style="mso-bidi-font-family: calibri"></span></b></p>       </td>        <td style="border-top: medium none; border-right: windowtext 1pt solid; background: #bfbfbf; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" height="40" valign="top" width="473">         <p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt; mso-yfti-cnfc: 80"><span>Indicates that the Runbook Designer can be run from a computer other than the management server.</span><span style="mso-bidi-font-family: calibri"></span></p>       </td>     </tr>   </tbody></table>  <p>Short, simple, and potentially very useful!&#160; As always –&#160; <strong>Happy Automating</strong>!</p>]]></content:encoded>
    </item>
    <item>
      <title>Using System Center Orchestrator to Gather Client Logs at Microsoft</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/using-system-center-orchestrator-to-gather-client-logs-at-microsoft</link>
      <pubDate>Thu, 05 Jan 2012 14:05:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2012/01/05/using-system-center-orchestrator-to-gather-client-logs-at-microsoft/</guid>
      <description><![CDATA[Hello again readers.&nbsp; I wanted share with you a solution we are leveraging within Microsoft for...]]></description>
      <content:encoded><![CDATA[<p>Hello again readers.&nbsp; I wanted share with you a solution we are leveraging within Microsoft for log collection utilizing System Center Orchestrator.&nbsp; This will entail a few posts as this Log Copy solution is somewhat complex, but simple in its architecture and implementation.&nbsp; This initial blog post will merely introduce the solution and I will continue to discuss this in future blog posts fully explaining the design, moving parts,&nbsp; and provide code you can leverage to implement this Orchestrator Runbook in your own environment (at your own discretion / testing / risk and under your own support, but happy to respond to questions as you have them of course <img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6428.wlEmoticon-smile_5E9C73A5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6428.wlEmoticon_2D00_smile_5F00_5E9C73A5.png" />).&nbsp;</p>
<p><strong>Some Background</strong></p>
<p>To give you a little background on the group I work in at Microsoft currently;&nbsp; MPSD (Managed Platforms and Service Delivery) supports ~300,000 client systems within Microsoft.&nbsp; On occasion we are required to pull logs from client systems to troubleshoot various items related to the System Center products we dogfood and support.&nbsp; Previously, our go to mechanisms for collecting logs have been somewhat numbered and all called &ldquo;Log Copy&rdquo;, but utilizing different approaches.</p>
<ul>
<li>ConfigMgr Software Distribution &ndash; static log collection script targeted by advertisement</li>
<li>PSEXEC scripts to run remotely against machines and gather these logs</li>
<li>VBSCRIPTS, PowerShell scripts, batch files</li>
</ul>
<p>You get the idea&hellip;lots of ways, but all somewhat limited in one way or another.</p>
<p><strong>Negatives to the Above Solutions</strong></p>
<ul>
<li>Log collection not possible if ConfigMgr client is broken (if using the Software Distribution method)</li>
<li>File compression wasn&rsquo;t always possible and likely not used to keep complexity down between different OSs</li>
<li>Multiple solutions and multiple folks supporting</li>
<li>Difficult to maintain and keep up to date</li>
<li>Not scalable &ndash; single threaded grabbing one log from one machine at a time</li>
<li>Manually driven and cumbersome in most cases</li>
<li>Restricted to few users due to rights required</li>
</ul>
<p><strong>Introducing the System Center Orchestrator Log Copy Workflow</strong></p>
<p>The <strong>Log Copy Workflow</strong>, in its simplest form, is a front end interface built on PowerShell and rolled into an EXE that instructs Orchestrator on the back end to gather logs on behalf of the requestor.&nbsp; The UI accepts requests for scenario based logs (predefined logs) or custom logs (logs you choose with restrictions) and runs these requests against the machines that are provided.&nbsp; This UI, when the requestor hits the &ldquo;Submit&rdquo; button, will generate an XML request file that gets copied to a file share on our System Center Orchestrator Runbook (Action) Server.&nbsp; Once there, our Runbook automatically picks up this file, processes the data within this file as a request that is submitted into the system.&nbsp; This request is inputted into a backend database table which Orchestrator leverages to know what &ldquo;work&rdquo; it has to do.&nbsp; This same table is utilized for a retry queue that happens every 2 hours by another Runbook executing on a timed interval.</p>
<p><strong>Front End</strong></p>
<p>The front end shown below is essentially the portal to request logs.&nbsp; You add machines from an input file or from the clipboard.&nbsp; You can choose a scenario from the drop down by selecting check boxes as shown and they show up in the list.&nbsp; A custom log request is also available.&nbsp; By default, the front end is launched and prepopulates a majority of the look and feel from a XAML file stored on our Runbook (Action) server.&nbsp; The email address is used to isolate who is requesting the logs (pulled from logged on user ID).&nbsp; The email field can additionally be semi colon separated to include multiple recipients to be notified each time an email is sent on status of log collection.&nbsp; A description field is provided and required in order to notate what the log request was for (shows up in the subject line of the email you receive).&nbsp; Finally, you can set a retry interval (maximum of 99) which will allow you to request a retry to occur by default every 2 hours for a maximum of 99 hours to capture machines that are offline at the time of your initial request.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/2100.image_700CD47D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/2100.image_5F00_700CD47D.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/4278.image_thumb_2FD6BB03.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/4278.image_5F00_thumb_5F00_2FD6BB03.png" width="805" height="509" /></a></p>
<p><strong>Notifications</strong></p>
<p>As mentioned above, an email notification is sent to provide status of your log copy request.&nbsp; This is done by default at the beginning of each request, and the completion of each request (grouped together by request so you receive only one email for all machines you have requested), and if you select the retry copy option, you will receive an email by default every 2 hours until all systems have successfully been gathered or until the retry has expired in number of hours.&nbsp; Example below.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/3252.image_6EF68233.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/3252.image_5F00_6EF68233.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5383.image_thumb_3A097CF6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5383.image_5F00_thumb_5F00_3A097CF6.png" width="621" height="393" /></a></p>
<p><strong>What&rsquo;s Next?</strong></p>
<p>Well, this was just an introduction to this solution.&nbsp; Stay tuned for a more in depth analysis of the Log Copy Workflow within Orchestrator.&nbsp; For now, I hope you&rsquo;ve gotten a taste of one potential scenario that can leverage the power of System Center Orchestrator for IT Process Automation.&nbsp; This solution has definitely provided impact and value for our organization and has shown how automation can shine when applied to repetitive tasks to save time and effort.</p>
<p><strong>Giving &ldquo;Props&rdquo;</strong></p>
<p>I love giving credit where credit is due and ensuring the folks I work with get noticed for their hard work.&nbsp; I have a very talented developer working on my team that works with me to make these workflows happen.&nbsp; <strong>David Wei</strong> deserves credit for his hard work and effort on putting together my design, architecture, and overall ad hock requests into our finished products.&nbsp; Great teams make great end results &ndash; <strong>thank you David</strong> for all your hard work on this project and continued support as we move forward with more automation!</p>
<p>That&rsquo;s it for now &ndash; <strong>Happy Automating!</strong></p>]]></content:encoded>
    </item>
    <item>
      <title>Using an Excel XML File for Input to a Runbook</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/using-an-excel-xml-file-for-input-to-a-runbook</link>
      <pubDate>Mon, 31 Oct 2011 22:54:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2011/10/31/using-an-excel-xml-file-for-input-to-a-runbook/</guid>
      <description><![CDATA[Hello readers.&nbsp; I thought it would be a good idea to quickly discuss a topic that came up...]]></description>
      <content:encoded><![CDATA[<p>Hello readers.&nbsp; I thought it would be a good idea to quickly discuss a topic that came up during a recent Runbook development effort.&nbsp; I was faced with the challenge of how to&nbsp;do the following:</p>
<ol>
<li>Provide an easy way to request data from an end user</li>
<li>Make it familiar and intuitive</li>
<li>Provide the data in a format that could be easily consumed by Orchestrator via PowerShell.</li>
</ol>
<p><strong>Solution?</strong></p>
<p>I opted for a quick and dirty Excel XML file.&nbsp; Looks exactly like an EXCEL XLS file but based on XML data format.&nbsp; The benefits from this approach were two fold.&nbsp; I didn&rsquo;t have to program a fancy front end interface (more on this in a future blog post however <img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/4745.wlEmoticon-smile_5C0E0008.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/4745.wlEmoticon_2D00_smile_5F00_5C0E0008.png" />), and PowerShell could consume this data and immediately turn it into Published Data for the Runbook processing within Orchestrator.</p>
<p><span style="color: #0000ff;" color="#0000ff"><strong>STEP 1</strong></span></p>
<p>So where do you start?&nbsp; Start with a basic Excel XML file.&nbsp; The easiest thing to do is put columns together as shown below that frame up what you are looking to gather.&nbsp; Highlights can be leveraged as shown to call attention to required data.&nbsp; In addition, you can even put in some data validation (three letters required, etc.) as well as &ldquo;hover text&rdquo; to provide your end user the ability to review helpful tips as they are filling out the required data.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5751.image_3A82E61A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5751.image_5F00_3A82E61A.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1122.image_thumb_79E099AA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1122.image_5F00_thumb_5F00_79E099AA.png" width="771" height="283" /></a></p>
<p><strong><span style="color: #0000ff;" color="#0000ff">STEP 2</span></strong></p>
<p>Now that you have a basic template file put together, you can either have the user drop it into a pre-determined (monitored by Orchestrator) input directory and allow automation to pick up this file and appropriately process it.&nbsp; Or what we did was attach it to a service ticket (in our case Team Foundation Server) and allow Orchestrator to collect up that file from the ticket, process the data inside, and act accordingly (updating the ticket along the way of progress).</p>
<p><strong><span style="color: #0000ff;" color="#0000ff">STEP 3</span></strong></p>
<p>So far so good right?&nbsp; Next, once you have an idea of where you are going to place the file for processing, leverage a simple Run.NET object within Orchestrator to process the file according to cell and row analysis.&nbsp; The code snippit below basically sets variables in PowerShell according to text values located within the called out row and cell. Then you set returned data within your Runbook to the PowerShell variables.</p>
<p><strong>Example</strong>: line 9 below evaluates <span style="background-color: #ffff00;">$table.Row[1].Cell[1].Data.<span style="color: #006080;">"#text"</span></span></p>
<p><span style="background-color: #ffff00;"><span style="color: #006080;"></span></span><span style="color: #006080;">The value shown in row(1) and cell(1) is &ldquo;SEC&rdquo;.&nbsp; In contract row(0) cell(1) is &ldquo;Values&rdquo;.&nbsp; So for each row and cell combination you have with data you need, you will set to an appropriate variable that you can leverage within your Runbook inside Orchestrator.</span></p>
<div id="codeSnippetWrapper">
<div style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;" id="codeSnippet">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum1"> 1:</span> #Setup the file and initialize Excel COM object</pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum2"> 2:</span> $file1 = <span style="color: #006080;">"{Published Data}"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum3"> 3:</span>&nbsp; </pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum4"> 4:</span> #Read in XML Data</pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum5"> 5:</span> $<span style="color: #0000ff;">template</span>  = [xml](Get-Content <span style="color: #006080;">"$File1"</span>)</pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum6"> 6:</span> $table = $<span style="color: #0000ff;">template</span>.Workbook.Worksheet[0].Table</pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum7"> 7:</span>&nbsp; </pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum8"> 8:</span> #Read values and set variables</pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum9"> 9:</span> $DeployType        = $table.Row[1].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum10"> 10:</span> $DecomSvr           = $table.Row[2].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum11"> 11:</span> $DecomVar           = $table.Row[3].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum12"> 12:</span> $NewSvr               = $table.Row[4].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum13"> 13:</span> $NewSite              = $table.Row[5].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum14"> 14:</span> $ParentSvr           = $table.Row[6].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum15"> 15:</span> $CNTSVR              = $table.Row[7].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum16"> 16:</span> $NetworkBin         = $table.Row[8].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum17"> 17:</span> $LocalBin              = $table.Row[9].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum18"> 18:</span> $dpGroupOSD      = $table.Row[10].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum19"> 19:</span> $Install_directory = $table.Row[11].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum20"> 20:</span> $PKGID                 = $table.Row[12].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum21"> 21:</span> $DP_Drive            = $table.Row[13].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #606060;" id="lnum22"> 22:</span> $emailAddress      = $table.Row[14].Cell[1].Data.<span style="color: #006080;">"#text"</span></pre>
<!--CRLF--></div>
</div>
<p><strong>STEP 4</strong></p>
<p>Last and final step is to set Published Data within your Runbook to the variable data you have set in your Run.NET object.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0118.image_29AA2C89.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0118.image_5F00_29AA2C89.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5383.image_thumb_49590651.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5383.image_5F00_thumb_5F00_49590651.png" width="650" height="437" /></a></p>
<p>That&rsquo;s it!&nbsp; I&rsquo;ve provided an example input file and PowerShell script for you to review and play around with.&nbsp; If you have any questions &ndash; as always please don&rsquo;t hesitate to ask!&nbsp; Thanks for stopping by and till next time, Happy Automating!</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:c16397f6-5a9c-441d-9b70-0091fbd11881" class="wlWriterEditableSmartContent">
<p>Process XML Example Files <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0804.Process-XML_1B1DF492.zip" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0804.Process_2D00_XML_5F00_1B1DF492.zip" target="_blank">Process-XML.zip</a></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Orchestrator Migration–Locating Checked Out Policies</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/orchestrator-migrationlocating-checked-out-policies</link>
      <pubDate>Fri, 16 Sep 2011 18:12:46 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2011/09/16/orchestrator-migrationlocating-checked-out-policies/</guid>
      <description><![CDATA[A topic came up recently on an internal distribution list that I have been planning on blogging...]]></description>
      <content:encoded><![CDATA[<p>A topic came up recently on an internal distribution list that I have been planning on blogging about.&#160; I figured it’s time to get it out to you because it is timely with the release of System Center Orchestrator Beta and future versions coming.&#160; </p>  <p><strong>What is so important and why?</strong></p>  <p>We will all need a way to report on what policies in Opalis are currently in process of development and are not yet checked in.&#160; Even more important, <font color="#0000ff"><strong>where</strong></font> they were last checked out and <font color="#0000ff"><strong>who</strong></font> checked them out last!&#160; If they are checked out, they are not saved in the database and will be lost on migration.</p>  <p>Why is this particular topic is so important you ask?&#160; Well, as part of your migration strategy to Orchestrator from Opalis,&#160; you should have in it your plan to export all “key” workflows and sub workflows so they can be imported into your new Orchestrator environment.&#160; You can browse through your Opalis Client and look at workflows one by one and see a <em>padlock</em> on them indicating they are checked out remotely or a <em>pencil</em> if they are checked out from your own machine.&#160; The padlock ones are the tricky ones.</p>  <p><strong>So what can we do to find all checked out Policies?</strong></p>  <p>It just so happens that some of this data is stored directly in the Opalis Database.&#160; Once you get this data, you need to do some manipulation of some data and then extract the data.&#160; So what better way to do this than…you got it <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/4846.wlEmoticon-smile_77908F01.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/4846.wlEmoticon_2D00_smile_5F00_77908F01.png" /> create another workflow to automate it.&#160; I’m going to keep this simple and straightforward and you can take it from here and make it as complex as you want.&#160; It is just three simple activities linked together as shown below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6835.image_452CBB82.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6835.image_5F00_452CBB82.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/2781.image_thumb_57094F4F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/2781.image_5F00_thumb_5F00_57094F4F.png" width="538" height="93" /></a></p>  <p><font color="#0000ff"><strong>Query Database Activity</strong></font></p>  <ol>   <li>Start simply by creating a new Policy and drop a Query DB activity on the designer palette.&#160; The query DB object I am using is one of the foundation objects that came with Opalis found under the “Utilities” section on the right hand side of the designer.     <br /></li>    <li>Open the Query Database activity and select the “Connection”<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5736.image_48CAD65F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5736.image_5F00_48CAD65F.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/2625.image_thumb_2F62D325.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/2625.image_5F00_thumb_5F00_2F62D325.png" width="564" height="384" /></a></li>    <li>Ensure you are selecting the appropriate DB type and set your SERVER and CATALOG (Opalis would be the default catalog).     <br /></li>    <li>Next, select the “Details” tab and type in the following query     <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0647.image_7C92CCB0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0647.image_5F00_7C92CCB0.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/7080.image_thumb_6E5453C0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/7080.image_5F00_thumb_5F00_6E5453C0.png" width="563" height="304" /></a></li> </ol>  <p><font color="#0000ff"><strong>Get Account from SID Activity</strong></font></p>  <ol>   <li>Next, I call this the “Get Account from SID” activity but it is doing a bit more than that.&#160; This activity is setting published data for each item you have above and doing some extra PowerShell manipulation.&#160; Drag a “Run.net” object from the “System” section of the foundation objects on the right hand side of the client.     <br /></li>    <li> Link the two objects you have together and place the PowerShell code you see below into the details section (ensuring you are setting it to PowerShell for the type).&#160; <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1220.image_749B2A4E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1220.image_5F00_749B2A4E.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/2210.image_thumb_221C4A12.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/2210.image_5F00_thumb_5F00_221C4A12.png" width="565" height="317" /></a>      <br /><font color="#0000ff">An “eye chart” I know – I provided the workflow at the end of this blog so you can easily recreate and modify.</font>&#160; :)      <br /></li>    <li>One very key step that I want to note above is the gathering of the UserID from the SID (see below).     <br />      <br />      <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 95.64%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; height: 143px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">       <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">         <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">if</span> ($lastModifiedBySid -ne <span style="color: #006080">&quot;NULL&quot;</span>)</pre>
<!--CRLF-->

        <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> {</pre>
<!--CRLF-->

        <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>     $LastModifiedBy = (<span style="color: #0000ff">new</span>-<span style="color: #0000ff">object</span> system.security.principal.securityidentifier($lastModifiedBySid)).translate([system.security.principal.ntaccount])}</pre>
<!--CRLF-->

        <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     $CheckOutUser = (<span style="color: #0000ff">new</span>-<span style="color: #0000ff">object</span> system.security.principal.securityidentifier($checkedOutUsersid)).translate([system.security.principal.ntaccount]</pre>
<!--CRLF-->

        <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span> )</pre>
<!--CRLF--></div>
    </div>
  </li>

  <br />

  <li>Finally, we need to established published data objects for each variable we have defined within our PowerShell script.&#160; This gets us all our published data that can be leveraged in the next step.&#160; <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0640.image_0C5261B5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0640.image_5F00_0C5261B5.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1538.image_thumb_59EE8E35.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1538.image_5F00_thumb_5F00_59EE8E35.png" width="565" height="308" /></a></li>
</ol>

<p><font color="#0000ff"><strong>Append Line Activity</strong></font></p>

<ol>
  <li>Next, this is the step that probably lacks the coolness that the rest of the process above clearly has <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6837.wlEmoticon-winkingsmile_4424A5D8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6837.wlEmoticon_2D00_winkingsmile_5F00_4424A5D8.png" /> .&#160; I grabbed the &quot;Append Line” object from the foundation objects list out of the “Text File Management” section (sometimes a hard one to find).

    <br /></li>

  <li>Type in the path you want to save your file to (I picked the temp folder on my Action Server) and then populate the published data you care about.
    <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1145.image_51F6EBD3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1145.image_5F00_51F6EBD3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/2112.image_thumb_43B872E3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/2112.image_5F00_thumb_5F00_43B872E3.png" width="569" height="416" /></a></li>
</ol>

<p>That’s it!&#160; Check it in and run it.&#160; </p>

<p>Your results will look something like the following (hopefully you don’t name all your policies “New Policy”) <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-disappointedsmile" alt="Disappointed smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5758.wlEmoticon-disappointedsmile_77EC9C29.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5758.wlEmoticon_2D00_disappointedsmile_5F00_77EC9C29.png" /></p>

<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/7485.image_42E00CF9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/7485.image_5F00_42E00CF9.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/4760.image_thumb_69AE2339.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/4760.image_5F00_thumb_5F00_69AE2339.png" width="447" height="106" /></a></p>

<p><strong>Final note</strong>: <em>The download is provided as an example – use at your own discretion and test first in a lab environment or sandbox to see results.</em></p>

<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ab558e87-be0d-4f26-b993-328b5a1f3360" class="wlWriterEditableSmartContent"><p>Downloadable Content <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1830.Checked-Out-Policies_0644D2F9.ois_export" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1830.Checked_2D00_Out_2D00_Policies_5F00_0644D2F9.ois_5F00_export" target="_blank">Checked-Out-Policies.ois_export</a></p></div>

<p>Thanks for following along – if you want to cut to the chase, just download the provided file and import it into your environment, configure the appropriate pieces, and let it fly.&#160; I hope it helps with the migration.</p>

<p>Till next time…</p>

<p>Happy Automating!</p>]]></content:encoded>
    </item>
    <item>
      <title>Opalis 6.3 Installation Guide</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/opalis-6-3-installation-guide</link>
      <pubDate>Mon, 12 Sep 2011 22:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2011/09/12/opalis-6-3-installation-guide/</guid>
      <description><![CDATA[Hello Readers.&nbsp; This is likely one of my last Opalis related posts as we move forward into...]]></description>
      <content:encoded><![CDATA[<p>Hello Readers.&nbsp; This is likely one of my last Opalis related posts as we move forward into Orchestrator as our main production platform for my group.&nbsp; However, as there are still likely many of you that are starting on the trek of installing your first Opalis instance in your environment for evaluation or production deployment, I thought it would make sense to post my installation guide we have used internally at Microsoft for building out Opalis instances for our group.&nbsp; I&rsquo;ve shared this internally for other groups inside Microsoft that have had success with it, so why not give it freely to you all &ndash; my readers? <img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/8054.wlEmoticon-smile_765CCBBF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/8054.wlEmoticon_2D00_smile_5F00_765CCBBF.png" /></p>
<p><strong>So&hellip;.What&rsquo;s in it Anyway?</strong></p>
<p>Provided for your convenience, here is a sneak peak at what content is in this guide.&nbsp; It is chock full of information that was gathered during our initial deployments internally.&nbsp; Some of this follows along with <a href="https://blogs.technet.com/b/charlesjoy/" target="_blank">Charles Joy&rsquo;s</a> great video&rsquo;s available on his blog so go check those out as well!</p>
<p>Table of Contents</p>
<p><span style="color: #0000ff;" color="#0000ff">1. Infrastructure Requirements for Opalis</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2. Installing the Opalis Core Components</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2.1. Installing the Management Server</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2.2. Creating and Configuring the Database for Opalis</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2.3. Importing the License information for Opalis</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2.4. Upgrading to 6.3</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2.5. Deploying Action Servers from Deployment Manager</span></p>
<p><span style="color: #0000ff;" color="#0000ff">2.6. Deploying Clients from Deployment Manager</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3. Installing the Opalis Operator Console</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3.1. Downloading the Pre-Requisites</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3.2. Preparing for the Console Install</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3.2.1. Extract the Opalis Operator Console Installer</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3.2.2. Install and Configure JDK 6 Update 4</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3.2.3. Extract and Install JBOSS Application Server</span></p>
<p><span style="color: #0000ff;" color="#0000ff">3.3. Setup and Configure the Operator Console</span></p>
<p><span style="color: #0000ff;" color="#0000ff">4. Running the Operator Console</span></p>
<p><span style="color: #0000ff;" color="#0000ff">4.1. Running the Operator Console Interactively</span></p>
<p><span style="color: #0000ff;" color="#0000ff">4.2. Running the Operator Console as a Service</span></p>
<p><span style="color: #0000ff;" color="#0000ff">5. Manual Installation of Opalis Client</span></p>
<p>That&rsquo;s it! Short and simple.&nbsp; If you have any questions, please do not hesitate to reach out and I will do my best to answer or get additional information for you.</p>
<p>And as always,</p>
<p>Happy Automating!</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:292797be-eeac-4d52-a339-24c2177dcf3b" class="wlWriterEditableSmartContent">
<p>Download File: <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/3362.Opalis_Install_Config_4590D56B.docx" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/3362.Opalis_5F00_Install_5F00_Config_5F00_4590D56B.docx" target="_blank">Opalis Installation Guide</a></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>System Center Orchestrator 2012 Beta–Runbook Import Issue</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/system-center-orchestrator-2012-betarunbook-import-issue</link>
      <pubDate>Fri, 05 Aug 2011 19:08:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2011/08/05/system-center-orchestrator-2012-betarunbook-import-issue/</guid>
      <description><![CDATA[Hello readers. My group is already starting to &ldquo;dogfood&rdquo; the beta of System Center...]]></description>
      <content:encoded><![CDATA[<p>Hello readers. My group is already starting to &ldquo;dogfood&rdquo; the beta of System Center Orchestrator 2012.&nbsp; We came up against an issue that is definitely worth talking about in case anyone sees this issue in evaluation.&nbsp; This information could change in the near future so keep in mind that this is specific to the beta at this point.&nbsp; Let&rsquo;s get on to the info!</p>
<p><strong>Setting the Stage</strong></p>
<p>To set the stage for the issue, I need to give you a little background on how the problem surfaced to begin with.&nbsp; This is an interesting one for sure.&nbsp; There are two things I really like about Opalis and Orchestrator.</p>
<ol>
<li>You can &ldquo;tell a story&rdquo; with your activities and runbooks.&nbsp; Each individual activity (ex: Run.Net object) is like a paragraph in a chapter.&nbsp; The runbooks I guess would then be chapters.&nbsp; Following this analogy through to the end, multiple runbooks combined together gives you a book (or novel if you prefer <img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/6114.wlEmoticon-smile_71B58A6F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/6114.wlEmoticon_2D00_smile_5F00_71B58A6F.png" />).&nbsp;&nbsp;&nbsp;&nbsp;</li>
<li>In addition to being very descriptive on how you put the pieces together on the <em>designer palette,</em> you can also put descriptions on your links in between these activities which can provide additional information on what may be happening next, etc.</li>
</ol>
<p>If you notice in the example below, the links between the objects can have descriptive names such as &ldquo;Success&rdquo; or &ldquo;Failure&rdquo; or &ldquo;Go&rdquo; &ndash; essentially anything you want in there.&nbsp; The default is the word &ldquo;Link&rdquo; or whatever you have changed it to.&nbsp; You cannot have simply a &ldquo;blank&rdquo; by inputting&nbsp; a blank in the GUI and hitting enter.&nbsp; It will default back to the previous text that was there.&nbsp; Me being the type of person that wants to ensure my policies are <em>visually appealing</em> I leveraged a &ldquo;hack&rdquo; (<strong>CNTRL+SHIFT+6</strong>) to make the link text disappear and we could have essentially a single &ldquo;underscore&rdquo;.&nbsp; This was something I picked up in an training I was in.&nbsp; This may have proliferated out as it was a great way to clean up your policies so they were more visually appealing.&nbsp; See below for an example.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/3113.image16_2CC35ACC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/3113.image16_5F00_2CC35ACC.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0564.image16_thumb_579BBEDE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0564.image16_5F00_thumb_5F00_579BBEDE.png" width="446" height="87" /></a></p>
<p><strong>So what&rsquo;s the issue?</strong></p>
<p>So the issue comes into play when you want to import your exported Opalis 6.3 workflows into Orchestrator Beta 2012.&nbsp; The XML processing logic that is leveraged by Orchestrator in the new version is not allowing for <span style="color: #0000ff;">CHAR(1)</span> through <span style="color: #0000ff;">CHAR(31)</span> to be processed.&nbsp; Long story short, <strong>CNTRL+SHIFT+6</strong> is in this list of non printable (non-allowable) characters.</p>
<p><strong>How do you know if you have this issue?</strong></p>
<p>So working with <a href="https://blogs.technet.com/b/charlesjoy/" target="_blank">Charles Joy</a>,&nbsp; we (mostly Charles) created this SQL query that will find all offending CHARs that Orchestrator has an issue with and display them in the results to take action on.</p>
<div class="csharpcode"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/8814.image_2DF0D5CB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/8814.image_5F00_2DF0D5CB.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5773.image_thumb_6B9DBD87.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5773.image_5F00_thumb_5F00_6B9DBD87.png" width="612" height="270" /></a></div>
<div class="csharpcode">&nbsp;</div>
<p>The above query yields <em>something</em> like what is displayed below.&nbsp; It will show you the offending CHAR value&nbsp; (in this case it is the <strong>CNTRL+SHIFT+6</strong>) along with the Policy Name that you can find the problem child.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/1067.image_1676219A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/1067.image_5F00_1676219A.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0081.image_thumb_24486795.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0081.image_5F00_thumb_5F00_24486795.png" width="638" height="291" /></a></p>
<p><strong>So how do I update this you ask?</strong></p>
<p><span style="color: #0000ff;" color="#0000ff"><strong>Recommendation 1:</strong></span></p>
<p>Manually.&nbsp; Find all occurrences of the non printable CHARs that are unsupported with the query above, chase them down from there to update your Opalis workflows before you go and export them to re-import them into Orchestrator.</p>
<p><strong><span style="color: #0000ff;" color="#0000ff">Recommendation 2:</span></strong></p>
<p>Don&rsquo;t like recommendation 1 above?&nbsp; Well, there is another couple of queries that <a href="https://blogs.technet.com/b/charlesjoy/" target="_blank">Charles Joy</a> and I worked out for updating our MPSD Opalis lab environment.&nbsp;&nbsp; Two options are presented below because we were trying to take into consideration scenarios where you may have the special character at the beginning of a string or in a case where it is the only thing on a line.</p>
<p><strong>Note</strong>:<em> <span style="color: #ff0000;" color="#ff0000">Run this against a backup DB before running in production.&nbsp; This is a &ldquo;use at your own risk&rdquo; type thing.&nbsp; This isn&rsquo;t reversable so make sure you are testing, retesting, and validating your tests.</span></em></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/7433.image_135B5792.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/7433.image_5F00_135B5792.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/5850.image_thumb_572F8BE9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/5850.image_5F00_thumb_5F00_572F8BE9.png" width="726" height="311" /></a></p>
<p>That&rsquo;s it.&nbsp; The SQL queries are provided in a download for your review and testing.&nbsp; And I mean it&hellip;..test!</p>
<p>Happy Automating!&nbsp; Enjoy Orchestrator!</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:625c3e6f-a78b-4ace-9c4d-3d22a5fb7973" class="wlWriterEditableSmartContent">
<p>Download <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/0576.nonprintable-queries_7E864F8A.zip" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/0576.nonprintable_2D00_queries_5F00_7E864F8A.zip" target="_blank">CHAR-Queries-Opalis</a></p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Opalis and the Internal Microsoft Adoption Story (On Demand Webcast)</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/opalis-and-the-internal-microsoft-adoption-story-on-demand-webcast</link>
      <pubDate>Fri, 01 Jul 2011 10:51:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2011/07/01/opalis-and-the-internal-microsoft-adoption-story-on-demand-webcast/</guid>
      <description><![CDATA[On Tuesday June 28th, Charlie Satterfield and I had a great webcast presentation with a lot of...]]></description>
      <content:encoded><![CDATA[<p>On Tuesday June 28th, Charlie Satterfield and I had a great webcast presentation with a lot of content related to how Microsoft is leveraging Opalis internally.&nbsp; Please click the inline link or the graphic below to view the content.</p>
<p><a title="Opalis and the Internal Microsoft Adoption Story" href="https://bit.ly/iuZz2h" rel="tag" target="_blank"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/8204.image_55855A27.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/8204.image_5F00_55855A27.png" width="564" height="423" /></a></p>
<p><span style="color: #0000ff; font-size: x-small;" color="#0000ff" size="2"><strong>Details</strong></span></p>
<p>This webcast concentrated specifically on the following details:</p>
<ul>
<li><strong>Real world scenarios</strong> we are currently leveraging Opalis for</li>
<ul>
<li>Service Request Automation (overview)</li>
<li>ConfigMgr Role Deployment (Demo)</li>
<li>Patch Tuesday Automation (Demo)</li>
<li>Reach Analysis for Opalis at Microsoft (overview)</li>
</ul>
<li><strong>Architecture</strong> considerations</li>
<ul>
<li>Single Management Server and Single Action Server</li>
<li>Single Management Server and Multiple Action Servers</li>
</ul>
<li><strong>Lessons Learned</strong></li>
<ul>
<li>Moving from simple to scalable / componentized workflows</li>
<li>Leveraging paper specs to build out initial workflow design before development efforts</li>
</ul>
</ul>
<p>This webcast was well received and we believe is a solid hour of great information on how you may look at implementing Opalis and Orchestrator into your own environment.&nbsp; To view the webcast on demand click on the following link: <a title="https://bit.ly/iuZz2h" href="https://bit.ly/iuZz2h">https://bit.ly/iuZz2h</a></p>
<p>&nbsp;</p>
<p><span style="color: #0000ff; font-size: x-small;" color="#0000ff" size="2"><strong>Q &amp; A from the presentation</strong></span></p>
<hr />
<p><strong>Q: </strong>How far along in your process did you realize you needed to go into componentization?</p>
<p><strong>A: </strong>Almost immediately. Our reach workflow showed that if we hadn&rsquo;t componentized our workflows, they wouldn&rsquo;t be very scalable or efficient. <br /><span style="color: #0000ff;" color="#0000ff">(Note: see next Q/A for more information on this). </span></p>
<hr />
<p><strong>Q: </strong>What kind of requirements did you find concerning the number of action servers required to run concurrent policies? Meaning did you need to deploy a certain number of action servers to run the necessary number of simultaneous policies?</p>
<p><strong>A: </strong>The answer to this question is, it depends.&nbsp; To put a finer point on this, the Desktop Management side within MPSD is essentially supporting ~280,000 systems worldwide on a single Opalis Management Server and separate Action Server (both running on Hyper-V as guest VMs).&nbsp; The reason the answer to this question is &ldquo;it depends&rdquo; is mostly due to the fact that there are many ways to slice out how you may execute and design runbooks to accomplish automation in your environment.&nbsp; Do we hit all 280,000 systems from our environment directly from Opalis &ndash; no.&nbsp; We indirectly manage those systems through the use of System Center Configuration Manager (and the System Center suite as a whole for that matter in one way or another).&nbsp; Key detail on how you design your architecture really has to do with what you are doing and how you are going to do it.&nbsp; If you have lots of long running tasks that take several hours to complete, you may be leveraging your Action Servers in a way that will prevent you from scaling efficiently (long running tasks taking up memory and running over long periods of time reducing your ability to push more policies into the queue).&nbsp; <a title="Building Scalable Workflows" href="https://blogs.technet.com/b/jbritt/archive/2011/06/11/building-scalable-workflows-in-opalis.aspx" rel="tag" target="_blank">Building scalable workflows</a> is an important piece of understanding how to optimize your Action Server load.&nbsp; Final note on this is &ndash; mileage may and will vary depending upon what you are doing.&nbsp; Analyze how&nbsp; you are executing and what you are executing in regards to your IT Process Automation efforts.&nbsp; If you can reduce your runbook tasks in to subrunbooks that execute quickly and return back to a main orchestration workflow, you will spend less time waiting on many tasks to complete in a larger single threaded workflow and allow Opalis to complete quicker and more efficiently allowing you to run more workflows on less infrastructure.</p>
<hr />
<p><strong>Q</strong>: Would you say that action server architecture decisions are more location-based than concurrent policy based? So, in deploying additional action servers in a high volume location, then deploying an action server in a location that might have a high latency link with the main datacenter/Opalis Management Server location?</p>
<p><strong>A</strong>: The answer is both :).&nbsp; It depends on how you want to spread the load of your policies and whether different locations are sensitive to certain infrastructure needs (non trusted domains,etc.).&nbsp; Action Server build out can be useful to allow you to have more policies running concurrently but more often it is geographical (as long as your runbooks are built in a scalable fashion).</p>
<hr />
<p>As always, any questions &ndash; hit me up!&nbsp; <img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/88/36/metablogapi/3007.wlEmoticon-smile_6F791A49.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-88-36-metablogapi/3007.wlEmoticon_2D00_smile_5F00_6F791A49.png" /></p>
<p>And of course &ndash; Happy Automating!</p>]]></content:encoded>
    </item>
    <item>
      <title>Opalis @ Microsoft</title>
      <link>https://docs.microsoft.com/archive/blogs/jbritt/opalis-microsoft</link>
      <pubDate>Fri, 24 Jun 2011 15:50:00 GMT</pubDate>
      <dc:creator><![CDATA[Jim Britt [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jbritt/2011/06/24/opalis-microsoft/</guid>
      <description><![CDATA[Please check out the following post for information on an upcoming Webcast I'm participating in on...]]></description>
      <content:encoded><![CDATA[<p>Please check out the following post for information on an upcoming Webcast I'm participating in on Tuesday June 28th, 2011 from 9:30 am&nbsp;- 10:30 am PST where we will be discussing how Opalis is being leveraged within Microsoft.&nbsp; Should be a great discussion!</p>
<p><a href="https://blogs.technet.com/b/system_center_in_action/archive/2011/06/24/opalis-microsoft.aspx?wa=wsignin1.0">https://blogs.technet.com/b/system_center_in_action/archive/2011/06/24/opalis-microsoft.aspx?wa=wsignin1.0</a></p>
<p>Happy Automating!</p>]]></content:encoded>
    </item>
  </channel>
</rss>