<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Techibee.com</title>
	<atom:link href="http://techibee.com/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://techibee.com</link>
	<description>A System Administrator&#039;s Blog</description>
	<lastBuildDate>Thu, 02 Feb 2012 17:23:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Power Ping : A script to monitor your server restart by Brian</title>
		<link>http://techibee.com/powershell/power-ping-a-script-to-monitor-your-server-restart/706#comment-8649</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Thu, 02 Feb 2012 17:23:43 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=706#comment-8649</guid>
		<description>Great function, but what about if your WSUS server is pushing multiple groups at different hour intervals and you want to monitor multiple servers.  What if a server hangs in the reboot process?  Example:

8 AM
Server 1
Server 2
Server 3

9 AM
Server 10
Server 11
Server 12

etc...</description>
		<content:encoded><![CDATA[<p>Great function, but what about if your WSUS server is pushing multiple groups at different hour intervals and you want to monitor multiple servers.  What if a server hangs in the reboot process?  Example:</p>
<p>8 AM<br />
Server 1<br />
Server 2<br />
Server 3</p>
<p>9 AM<br />
Server 10<br />
Server 11<br />
Server 12</p>
<p>etc&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PowerShell: Get SCOM groups of a computer account by Sitaram Pamarthi</title>
		<link>http://techibee.com/powershell/powershell-get-scom-groups-of-a-computer-account/1129#comment-8597</link>
		<dc:creator>Sitaram Pamarthi</dc:creator>
		<pubDate>Wed, 01 Feb 2012 16:36:03 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=1129#comment-8597</guid>
		<description>I came across a nice post about listing members of SCOM group using powershell. Please refer to http://om2012.wordpress.com/2012/02/01/opsmgr-2007-powershell-list-group-members for more details.</description>
		<content:encoded><![CDATA[<p>I came across a nice post about listing members of SCOM group using powershell. Please refer to <a href="http://om2012.wordpress.com/2012/02/01/opsmgr-2007-powershell-list-group-members" rel="nofollow">http://om2012.wordpress.com/2012/02/01/opsmgr-2007-powershell-list-group-members</a> for more details.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Check if a application is installed or not using powershell by Sitaram Pamarthi</title>
		<link>http://techibee.com/powershell/check-if-a-application-is-installed-or-not-using-powershell/365#comment-8593</link>
		<dc:creator>Sitaram Pamarthi</dc:creator>
		<pubDate>Wed, 01 Feb 2012 15:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=365#comment-8593</guid>
		<description>Good to know that it saved some time.</description>
		<content:encoded><![CDATA[<p>Good to know that it saved some time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Check if a application is installed or not using powershell by Sampath</title>
		<link>http://techibee.com/powershell/check-if-a-application-is-installed-or-not-using-powershell/365#comment-8379</link>
		<dc:creator>Sampath</dc:creator>
		<pubDate>Mon, 30 Jan 2012 19:26:53 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=365#comment-8379</guid>
		<description>Hey Thanks 

These single liners made my day and that credit goes to you.</description>
		<content:encoded><![CDATA[<p>Hey Thanks </p>
<p>These single liners made my day and that credit goes to you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PowerShell: How to get nested Active Directory group members by Lepide</title>
		<link>http://techibee.com/active-directory/powershell-how-to-get-nested-active-directory-group-members/1297#comment-7609</link>
		<dc:creator>Lepide</dc:creator>
		<pubDate>Fri, 20 Jan 2012 13:07:43 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=1297#comment-7609</guid>
		<description>1: using System;
   2: using System.DirectoryServices;
   3: using System.Collections.Generic;
   4: using System.Text;
   5: using System.Collections.ObjectModel;
   6:  
   7: namespace MyNamespace
   8: {
   9:     public class GetAllUsers
  10:     {
  11:         /// 
  12:         /// This method takes security group alias and fetches list of user alias that are member of this SG
  13:         /// 
  14:         /// Security group alias
  15:         /// List of String
  16:         public List GetADSecurityGroupUsers(String sgAlias)
  17:         {
  18:             string path = &quot;GC://DC=corp,DC=microsoft,DC=com&quot;;
  19:             string filter;
  20:             string filterFormat = &quot;(cn={0})&quot;;
  21:             filter = String.Format(filterFormat, sgAlias);
  22:  
  23:             //Get all the AD directory entries of this security group.
  24:             PropertyCollection properties = CISFLDAP.GetADPropertiesForSingleEntry(path, filter);
  25:  
  26:             List groupMembers= new List();
  27:  
  28:             if (properties != null)
  29:             {
  30:                 //Used to limit AD search of members to only security groups and users.
  31:                 //The filter is built here but only really needed in the recursive method called below.
  32:                 //Was placed here for performance reasons.  Has no affect on AD call in this method.
  33:                 Collection sAMAccountTypes = new Collection();
  34:                 sAMAccountTypes.Add((int)AuthZGlobals.sAMAccountType.SecurityGroup);
  35:                 sAMAccountTypes.Add((int)AuthZGlobals.sAMAccountType.User);
  36:  
  37:                 //Builds the filter based on the sAMAccountTypes in the collection.
  38:                 string sAMAccountFilter = CISFLDAP.MakesAMAccountTypeQueryString(sAMAccountTypes);
  39:  
  40:                 //Look up all the members of this directory entry and look for person data
  41:                 //to add to the collection.
  42:                 groupMembers = GetUsersInGroup(properties, groupMembers, sAMAccountFilter); //GetUsersInGroup do not return anything. 
  43:             }
  44:  
  45:             return groupMembers;
  46:         }
  47:  
  48:         #region GetUsersInGroup
  49:         /// 
  50:         /// Recurses through the group&#039;s member records and collects all the users.
  51:         /// 
  52:         /// The collection of the directory entry&#039;s properties.
  53:         /// List of users found. 
  54:         /// sAMAccountTypes to filter the AD search on.
  55:         private List GetUsersInGroup(PropertyCollection properties, List groupMembers, string filter)
  56:         {
  57:             string pathFormat = &quot;GC://{0}&quot;;
  58:             string memberIdx = &quot;member&quot;;
  59:             string sAMAccountNameIdx = &quot;sAMAccountName&quot;;
  60:             string sAMAccountTypeIdx = &quot;sAMAccountType&quot;;
  61:             string personnelNumberIdx = &quot;extensionAttribute4&quot;;
  62:  
  63:             if (properties[memberIdx] != null)
  64:             {
  65:                 foreach (object property in properties[memberIdx])
  66:                 {
  67:                     string distinguishedName = property.ToString();
  68:  
  69:                     string path = String.Format(pathFormat, distinguishedName);
  70:  
  71:                     //Get the directory entry for this member record.  Filters for only the sAMAccountTypes
  72:                     //security group and user.
  73:                     PropertyCollection childProperties = CISFLDAP.GetADPropertiesForSingleEntry(path, filter);
  74:  
  75:                     if (childProperties != null)
  76:                     {
  77:                         //If the member&#039;s sAMAccountType is User.
  78:                         if ((int)childProperties[sAMAccountTypeIdx].Value == (int)AuthZGlobals.sAMAccountType.User)
  79:                         {
  80:                             //If member is a user then add, else member is a Service Account with no 
  81:                             //personnel number.
  82:                             if (childProperties[personnelNumberIdx].Value != null) 
  83:                                 groupMembers.Add(searchResults.Properties[sAMAccountNameIdx].Value.ToString());
  84:                             else
  85:                             {
  86:                                 //You&#039;ll need to decide if you want to capture the Service Acount info.
  87:                             }
  88:                         }
  89:                         else
  90:                             //RECURSE - Look up all the members of the security group just found.
  91:                             GetUsersInGroup(childProperties, groupMembers, filter); // entry is not declared anywhere
  92:                     }
  93:                 }
  94:             }
  95:         }
  96:  
  97:         #endregion</description>
		<content:encoded><![CDATA[<p>1: using System;<br />
   2: using System.DirectoryServices;<br />
   3: using System.Collections.Generic;<br />
   4: using System.Text;<br />
   5: using System.Collections.ObjectModel;<br />
   6:<br />
   7: namespace MyNamespace<br />
   8: {<br />
   9:     public class GetAllUsers<br />
  10:     {<br />
  11:         ///<br />
  12:         /// This method takes security group alias and fetches list of user alias that are member of this SG<br />
  13:         ///<br />
  14:         /// Security group alias<br />
  15:         /// List of String<br />
  16:         public List GetADSecurityGroupUsers(String sgAlias)<br />
  17:         {<br />
  18:             string path = &#8220;GC://DC=corp,DC=microsoft,DC=com&#8221;;<br />
  19:             string filter;<br />
  20:             string filterFormat = &#8220;(cn={0})&#8221;;<br />
  21:             filter = String.Format(filterFormat, sgAlias);<br />
  22:<br />
  23:             //Get all the AD directory entries of this security group.<br />
  24:             PropertyCollection properties = CISFLDAP.GetADPropertiesForSingleEntry(path, filter);<br />
  25:<br />
  26:             List groupMembers= new List();<br />
  27:<br />
  28:             if (properties != null)<br />
  29:             {<br />
  30:                 //Used to limit AD search of members to only security groups and users.<br />
  31:                 //The filter is built here but only really needed in the recursive method called below.<br />
  32:                 //Was placed here for performance reasons.  Has no affect on AD call in this method.<br />
  33:                 Collection sAMAccountTypes = new Collection();<br />
  34:                 sAMAccountTypes.Add((int)AuthZGlobals.sAMAccountType.SecurityGroup);<br />
  35:                 sAMAccountTypes.Add((int)AuthZGlobals.sAMAccountType.User);<br />
  36:<br />
  37:                 //Builds the filter based on the sAMAccountTypes in the collection.<br />
  38:                 string sAMAccountFilter = CISFLDAP.MakesAMAccountTypeQueryString(sAMAccountTypes);<br />
  39:<br />
  40:                 //Look up all the members of this directory entry and look for person data<br />
  41:                 //to add to the collection.<br />
  42:                 groupMembers = GetUsersInGroup(properties, groupMembers, sAMAccountFilter); //GetUsersInGroup do not return anything.<br />
  43:             }<br />
  44:<br />
  45:             return groupMembers;<br />
  46:         }<br />
  47:<br />
  48:         #region GetUsersInGroup<br />
  49:         ///<br />
  50:         /// Recurses through the group&#8217;s member records and collects all the users.<br />
  51:         ///<br />
  52:         /// The collection of the directory entry&#8217;s properties.<br />
  53:         /// List of users found.<br />
  54:         /// sAMAccountTypes to filter the AD search on.<br />
  55:         private List GetUsersInGroup(PropertyCollection properties, List groupMembers, string filter)<br />
  56:         {<br />
  57:             string pathFormat = &#8220;GC://{0}&#8221;;<br />
  58:             string memberIdx = &#8220;member&#8221;;<br />
  59:             string sAMAccountNameIdx = &#8220;sAMAccountName&#8221;;<br />
  60:             string sAMAccountTypeIdx = &#8220;sAMAccountType&#8221;;<br />
  61:             string personnelNumberIdx = &#8220;extensionAttribute4&#8243;;<br />
  62:<br />
  63:             if (properties[memberIdx] != null)<br />
  64:             {<br />
  65:                 foreach (object property in properties[memberIdx])<br />
  66:                 {<br />
  67:                     string distinguishedName = property.ToString();<br />
  68:<br />
  69:                     string path = String.Format(pathFormat, distinguishedName);<br />
  70:<br />
  71:                     //Get the directory entry for this member record.  Filters for only the sAMAccountTypes<br />
  72:                     //security group and user.<br />
  73:                     PropertyCollection childProperties = CISFLDAP.GetADPropertiesForSingleEntry(path, filter);<br />
  74:<br />
  75:                     if (childProperties != null)<br />
  76:                     {<br />
  77:                         //If the member&#8217;s sAMAccountType is User.<br />
  78:                         if ((int)childProperties[sAMAccountTypeIdx].Value == (int)AuthZGlobals.sAMAccountType.User)<br />
  79:                         {<br />
  80:                             //If member is a user then add, else member is a Service Account with no<br />
  81:                             //personnel number.<br />
  82:                             if (childProperties[personnelNumberIdx].Value != null)<br />
  83:                                 groupMembers.Add(searchResults.Properties[sAMAccountNameIdx].Value.ToString());<br />
  84:                             else<br />
  85:                             {<br />
  86:                                 //You&#8217;ll need to decide if you want to capture the Service Acount info.<br />
  87:                             }<br />
  88:                         }<br />
  89:                         else<br />
  90:                             //RECURSE &#8211; Look up all the members of the security group just found.<br />
  91:                             GetUsersInGroup(childProperties, groupMembers, filter); // entry is not declared anywhere<br />
  92:                     }<br />
  93:                 }<br />
  94:             }<br />
  95:         }<br />
  96:<br />
  97:         #endregion</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PowerShell: Uninstall windows hotfixes(updates) by Sitaram Pamarthi</title>
		<link>http://techibee.com/powershell/powershell-uninstall-windows-hotfixesupdates/1084#comment-7399</link>
		<dc:creator>Sitaram Pamarthi</dc:creator>
		<pubDate>Mon, 16 Jan 2012 10:49:41 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=1084#comment-7399</guid>
		<description>Could you please post the total error message here so that I should be able to tell you where it went wrong?</description>
		<content:encoded><![CDATA[<p>Could you please post the total error message here so that I should be able to tell you where it went wrong?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PowerShell: Uninstall windows hotfixes(updates) by Tank</title>
		<link>http://techibee.com/powershell/powershell-uninstall-windows-hotfixesupdates/1084#comment-7279</link>
		<dc:creator>Tank</dc:creator>
		<pubDate>Fri, 13 Jan 2012 20:48:34 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=1084#comment-7279</guid>
		<description>I have downloaded the script and tried to run it but get an error:

Method invocation failed because [System.Management.ManagementClass] doesn&#039;t contain a method named &#039;Create&#039;.

any ideas as to what may be the problem. I am using PrimalScript 2011.

Thanks
Tank</description>
		<content:encoded><![CDATA[<p>I have downloaded the script and tried to run it but get an error:</p>
<p>Method invocation failed because [System.Management.ManagementClass] doesn&#8217;t contain a method named &#8216;Create&#8217;.</p>
<p>any ideas as to what may be the problem. I am using PrimalScript 2011.</p>
<p>Thanks<br />
Tank</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PowerShell: How to change text to Title Case(first letter to upper case and remaining lower case) by Uppercase the First Letter of a Word &#124; mrbungess.com</title>
		<link>http://techibee.com/powershell/powershell-how-to-change-text-to-title-casefirst-letter-to-upper-case-and-remaining-lower-case/1235#comment-7130</link>
		<dc:creator>Uppercase the First Letter of a Word &#124; mrbungess.com</dc:creator>
		<pubDate>Tue, 10 Jan 2012 18:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=1235#comment-7130</guid>
		<description>[...] A few references that contain more information, here and here. [...]</description>
		<content:encoded><![CDATA[<p>[...] A few references that contain more information, here and here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Enable Windows Firewall Logging in Windows 7 and Windows 2008 R2 by Sitaram Pamarthi</title>
		<link>http://techibee.com/windows-2008/enable-windows-firewall-logging-in-windows-7-and-windows-2008-r2/606#comment-7099</link>
		<dc:creator>Sitaram Pamarthi</dc:creator>
		<pubDate>Tue, 10 Jan 2012 06:30:40 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=606#comment-7099</guid>
		<description>Thank you.. I corrected that.</description>
		<content:encoded><![CDATA[<p>Thank you.. I corrected that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on All about Drive mapping in Group Policy Preferences by Jasen Webster</title>
		<link>http://techibee.com/group-policies/all-about-drive-mapping-in-group-policy-preferences/202#comment-6942</link>
		<dc:creator>Jasen Webster</dc:creator>
		<pubDate>Fri, 06 Jan 2012 20:04:44 +0000</pubDate>
		<guid isPermaLink="false">http://techibee.com/?p=202#comment-6942</guid>
		<description>You can also place the NoBackgroundPolicy DWORD value under the [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Group Policy\{5794DAFD-BE60-433f-88A2-1A31939AC01F}] key and it works, overriding the other registry setting mentioned in this article.  

This leaves me wondering why MS left this option out of the Drive Maps Policy Processing policy, since the other 3 options exist under this policy key as well.</description>
		<content:encoded><![CDATA[<p>You can also place the NoBackgroundPolicy DWORD value under the [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Group Policy\{5794DAFD-BE60-433f-88A2-1A31939AC01F}] key and it works, overriding the other registry setting mentioned in this article.  </p>
<p>This leaves me wondering why MS left this option out of the Drive Maps Policy Processing policy, since the other 3 options exist under this policy key as well.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

