
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lead, Follow, or Move &#187; Windows Server 2003</title>
	<atom:link href="http://www.leadfollowmove.com/archives/tag/windows-server-2003/feed" rel="self" type="application/rss+xml" />
	<link>http://www.leadfollowmove.com</link>
	<description>Adam Bell on Deployment, Automation, PowerShell et al</description>
	<lastBuildDate>Thu, 22 Apr 2010 14:34:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Microsoft Access Based Enumeration</title>
		<link>http://www.leadfollowmove.com/archives/windows-server-2003/microsoft-access-based-enumeration</link>
		<comments>http://www.leadfollowmove.com/archives/windows-server-2003/microsoft-access-based-enumeration#comments</comments>
		<pubDate>Tue, 16 Sep 2008 03:37:48 +0000</pubDate>
		<dc:creator>Adam Bell</dc:creator>
				<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Access Based Enumeration]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.leadfollowmove.com/?p=249</guid>
		<description><![CDATA[Have you ever had one of those moments in IT, when you discover a tool, and a light bulb goes on inside your head, and you say to yourself &#8220;I&#8217;ve needed this for ages! This really fixes issue X&#8221;? I&#8217;ve had that a few times (maybe I need to get out more?), and one of [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever had one of those moments in IT, when you discover a tool, and a light bulb goes on inside your head, and you say to yourself &#8220;I&#8217;ve needed this for ages! This really fixes issue X&#8221;?</p>
<p>I&#8217;ve had that a few times (maybe I need to get out more?), and one of those times was a few years ago with a tool from Microsoft, named as only MS can: <b>Windows Server 2003 Access Based Enumeration</b> or ABE. I took it for granted that everyone knew about this great tool, and was using it. That was until I suggested to a client that it may help his corporate share restructering project, and he looked at me blankly. In fact the more people I&#8217;ve mentioned this to, the more blank looks I&#8217;ve got. So, if you&#8217;ve not heard of it you&#8217;re probably asking what the damned thing does?</p>
<p>ABE, is a very small <a title="Microsoft Downloads: Access Based Enumeration" target="_blank" href="http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=04a563d9-78d9-4342-a485-b030ac442084&amp;displaylang=en">download</a> from Microsoft, that provides a piece of functionality everyone has been wishing for since, well NT4 in my case. Basically when you have a user connect to a shared folder, and they are browsing within that folder structure, if they don&#8217;t have permission to a folder/file then they just don&#8217;t see it. Gone are the previous issues of getting access denied messages, followed by helpdesk calls to clarify if they <i>should</i> be allowed in to Folder Y. Great huh?</p>
<p>As part of installing <i>ABEUI.msi</i>you have the following options:<br />
<div id="attachment_251" class="wp-caption alignnone" style="width: 310px"><a href="http://www.leadfollowmove.com/wp-content/uploads/abe-conf.png"><img src="http://www.leadfollowmove.com/wp-content/uploads/abe-conf-300x242.png" alt="Configuration choice during installation" title="Access Based Configuration - Installation" width="300" height="242" class="size-medium wp-image-251" /></a><p class="wp-caption-text">Configuration choice during installation</p></div></p>
<p>Post installation changes can be made through CLI using <strong>abecmd.exe</strong> or through a tab on the share&#8217;s property dialog:<br />
<div id="attachment_255" class="wp-caption alignnone" style="width: 233px"><a href="http://www.leadfollowmove.com/wp-content/uploads/abe-props.png"><img src="http://www.leadfollowmove.com/wp-content/uploads/abe-props-223x300.png" alt="Options for configuration ABE on the Property sheet of the share folder" title="Access Based Enumeration - Property Tab" width="223" height="300" class="size-medium wp-image-255" /></a><p class="wp-caption-text">Options for configuration ABE on the Property sheet of the share folder</p></div></p>
<p>Acess Based Enumeration requires Windows Server 2003 with Service Pack 1. It&#8217;s not required on Windows Server 2008, because the behaviour is already included, but is not configurable. Finally ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leadfollowmove.com/archives/windows-server-2003/microsoft-access-based-enumeration/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows 2003 DNS Server rights issue</title>
		<link>http://www.leadfollowmove.com/archives/powershell/windows-2003-dns-server-rights-issue</link>
		<comments>http://www.leadfollowmove.com/archives/powershell/windows-2003-dns-server-rights-issue#comments</comments>
		<pubDate>Wed, 27 Feb 2008 14:45:11 +0000</pubDate>
		<dc:creator>Adam Bell</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Active Directory]]></category>

		<guid isPermaLink="false">http://www.leadfollowmove.com/archives/powershell/windows-2003-dns-server-rights-issue</guid>
		<description><![CDATA[Apparently there is a permissions issue regarding hosting DNS zones in the ForestDNSZones, or DomainDNSZones partitions in Server 2003. I haven&#8217;t looked to see if this has been resolved in 2008. The issue and solution is detailed in Microsoft KB939090. This issue occurs because of the permissions that are set in the Active Directory directory [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently there is a permissions issue regarding hosting DNS zones in the <strong>ForestDNSZones</strong>, or <strong>DomainDNSZones</strong> partitions in Server 2003. I haven&#8217;t looked to see if this has been resolved in 2008. The issue and solution is detailed in <a title="Microsoft Support: KB article 939090" href="http://support.microsoft.com/kb/939090">Microsoft KB939090</a>.</p>
<blockquote><p>
This issue occurs because of the permissions that are set in the Active Directory directory service&#8230;.<br />
The members of the DnsAdmins group do not have permissions on the following application partitions:<br />
CN=MicrosoftDNS,DC=ForestDNSZones,DC=Domain&#8230;<br />
CN=MicrosoftDNS,DC=DomainDNSZones,DC=Domain&#8230;
</p></blockquote>
<p>The documented solution is to edit your Active Directory with ADSIEdit and go in to fix the problem:</p>
<blockquote><p>
To resolve this issue, set permissions for the DnsAdmins group on the DomainDNSZones application partition and on the ForestDNSZones application partition.
</p></blockquote>
<p>We have taken a pretty close look at manipulating permissions in AD with PowerShell before, covering:<br />
<a title="Lead, Follow, or Move: Active Directory Standard Rights" href="http://www.leadfollowmove.com/archives/powershell/active-directory-permissions-standard-rights">Standard Rights</a><br />
<a title="Lead, Follow, or Move: Removing ACE's from Active Directory" href="http://www.leadfollowmove.com/archives/powershell/removing-aces-from-active-directory-with-powershell">Removing Rights in AD</a><br />
<a title="Lead, Follow, or Move: Inheritance and Propagation in Active Directory" href="http://www.leadfollowmove.com/archives/powershell/inheritance-and-propagation-in-active-directory-permissions">Inheritance and Propagation</a><br />
<a title="Lead, Follow, or Move:Extended Rights in Active Directory" href="http://www.leadfollowmove.com/archives/powershell/extended-rights-in-active-directory">Extended Rights</a><br />
and <a title="Lead, Follow, or Move: Control Access Rights in Active Directory" href="http://www.leadfollowmove.com/archives/powershell/control-access-rights-in-active-directory">Controlling Access Rights in AD</a></p>
<p>We&#8217;re going to build a function similar to Add-DsAce.ps1 we used in the Standard Rights post, but this time we&#8217;re going to use a slightly different constructor, so that we can apply the correct inheritance. We want this to affect &#8220;This object and all Child Objects&#8221;, which means we need to use:</p>
<div class="quickcodenoclick"><code><br />
[System.DirectoryServices.ActiveDirectorySecurityInheritance]&quot;SelfAndChildren&quot;<br />
</code></div>
<p>So, our modified function looks like this:<br />
<a class="quickcode" title="Code" href="javascript:toggleLayer('quickcode2292');">Add-DsAce2.ps1</a></p>
<div id="quickcode2292" class="quickcode"><code><br />
#&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;&#45;-<br />
function Add-DsAce<br />
#&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;&#45;-<br />
{<br />
Param (<br />
&nbsp;&nbsp;$DSobject,<br />
&nbsp;&nbsp;$Identifier,<br />
&nbsp;&nbsp;$DSrights,<br />
&nbsp;&nbsp;$AccessType = &quot;Allow&quot;,<br />
&nbsp;&nbsp;$Inheritance<br />
&nbsp;&nbsp;)<br />
&nbsp;&nbsp;# GetAccessRules: Explicit ACE&#039;s, Inherited ACE&#039;s, TargetType<br />
&nbsp;&nbsp;$account = New-Object system.security.principal.ntaccount($Identifier)<br />
&nbsp;<br />
&nbsp;&nbsp;# Retrieve the SID - as a manual step you can check it&#039;s not empty :)<br />
&nbsp;&nbsp;$sid = $account.translate([system.security.principal.securityidentifier])<br />
&nbsp;<br />
&nbsp;&nbsp;$Inheritance = [System.DirectoryServices.ActiveDirectorySecurityInheritance]&quot;SelfAndChildren&quot;<br />
&nbsp;&nbsp;$ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($account, $DSrights, $AccessType, $Inheritance)<br />
&nbsp;&nbsp;$DSobject.psbase.get_objectsecurity().AddAccessRule($ace)<br />
&nbsp;&nbsp;$DSobject.psbase.CommitChanges()<br />
}<br />
#&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;&#45;-<br />
</code></div>
<p>Now that we have the ability to modify the AD, and presuming we dot source the newly created function we could do the following:</p>
<div class="quickcodenoclick"><code><br />
$root = [adsi]&quot;&quot;<br />
$ForestDNSZones = [adsi](&quot;LDAP://DC=ForestDNSZones,&quot;+$root.distinguishedName)<br />
$DomainDNSZones = [adsi](&quot;LDAP://CN=MicrosoftDNS, DC=DomainDNSZones,&quot;+$root.distinguishedName)<br />
&nbsp;<br />
Add-DSace $ForestDNSZones &quot;DNSAdmins&quot; &quot;GenericAll&quot;<br />
Add-DSAce $DomainDNSZones &quot;DNSAdmins&quot; &quot;GenericAll&quot;<br />
</code></div>
<p>Basically, we&#8217;ve bound to AD via ADSI so that we can dynamically provide the domain DN, and the two locations in AD we want to apply the ACE to. Then it&#8217;s just a matter of passing the created function the parameters needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leadfollowmove.com/archives/powershell/windows-2003-dns-server-rights-issue/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
