<?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>Shariq Sheikh &#124; Port 389 &#187; Active Directory</title>
	<atom:link href="http://www.shariqsheikh.com/blog/index.php/category/ad/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shariqsheikh.com/blog</link>
	<description>- activity of Active Directory and the rest</description>
	<lastBuildDate>Thu, 22 Jul 2010 17:01:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Reviewing few very useful adds in Quest AD Cmdlets v1.4</title>
		<link>http://www.shariqsheikh.com/blog/index.php/201007/reviewing-few-very-useful-adds-in-quest-ad-cmdlets-v1-4/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/201007/reviewing-few-very-useful-adds-in-quest-ad-cmdlets-v1-4/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 16:08:09 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/201007/reviewing-few-very-useful-adds-in-quest-ad-cmdlets-v1-4/</guid>
		<description><![CDATA[Whereas most of newly added cmdlets focus on&#160; PKI and Email Address Management in v1.4, there are a few cmdlets and handful of new parameters that ought to come in very handy with your AD tasks. Below I review a few that I think are some great adds : When you are enumerating a large [...]]]></description>
			<content:encoded><![CDATA[<p>Whereas most of newly added cmdlets focus on&nbsp; PKI and Email Address Management in <a href="http://www.shariqsheikh.com/blog/index.php/201007/quest-ad-cmdlets-a-k-a-active-roles-management-shell-version-1-4-gets-released/">v1.4</a>, there are a few cmdlets and handful of new parameters that ought to come in very handy with your AD tasks. Below I review a few that I think are some great adds :</p>
<p>When you are enumerating a large number of objects in shell (without outputting results into a file), you might just want to have a quick idea of the ‘total’ number of objects meeting the criteria of you query.</p>
<p><strong>Get-QADProgressPolicy</strong></p>
<p>“displays a progress bar for long-running commands”</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/progress_bar.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="progress_bar" border="0" alt="progress_bar" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/progress_bar_thumb.png" width="904" height="80"/></a></p>
<p>This progress bar overlays (highlights in and out) as your query is running. It also appears when you are performing a count using the measure-object cmdlet or the “.count” switch</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/progress_bar2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="progress_bar2" border="0" alt="progress_bar2" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/progress_bar2_thumb.png" width="904" height="104"/></a></p>
<p>You can set the progress bar setting and its threshold with</p>
<blockquote><p>Set-QADProgressPolicy -ShowProgress $true -ProgressThreshold 2</p>
</blockquote>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } -->The –activity parameter when relying on the progress bar allows you tag each line of progress with a number so that lengthy process is a bit more obvious with respect to the process to one or more cmdlet’s retrieved results.</p>
<p><span style="text-decoration: underline"><span style="color: #cccccc"><font color="#808040">Some new parameters :</font></span></span></p>
<p>Five new parameters for Get-QADUser</p>
<p><em>ExpiredFor </em></p>
<p><em>Inactive</em></p>
<p><em>InactiveFor</em></p>
<p><em>NotLoggedOnFor</em></p>
<p><em>PasswordNotChangedFor</em></p>
<p>Four new parameters for Get-QADComputer</p>
<p><em>Inactive </em></p>
<p><em>InactiveFor</em></p>
<p><em>NotLoggedOnFor</em></p>
<p><em>PasswordNotChangedFor</em></p>
<p>But what mechanism decides the “inactivity” benchmark to ask cmdlet to retrieve that information ?</p>
<p><em>You do.</em></p>
<p><strong>Get-QADInactiveAccountsPolicy</strong></p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/inactivepolicy1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="inactivepolicy1" border="0" alt="inactivepolicy1" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/inactivepolicy1_thumb.png" width="904" height="73"/></a></p>
<p>You can change these settings,</p>
<blockquote><div class="csharpcode">Set-QADInactiveAccountsPolicy -AccountExpiredPeriod 0 -AccountNotLoggedOnPeriod 30 –PasswordNotChangedPeriod 120</div>
</blockquote>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>Note : These settings are profile specific so ones you define these thresholds they will stay there until you change those settings again.</p>
<p>The<strong> NotLoggedOnPeriod</strong> is probably based on the LastLogonTimeStamp, but I will check and edit this post if its any different. If it is, remember it may not be accurate and should only be used for estimation. The LastLogonTimeStamp gets updated from the LastLogon (DC specific attribute) based on a 9-14 day swing period.</p>
<p>Also :</p>
<blockquote><p>“This parameter overrides the logon-related inactivity condition of the Inactive or InactiveFor parameter. Thus, if the NotLoggedOnFor value of 60 is supplied in conjunction with the InactiveFor value of 30, the cmdlet searches for accounts that are expired for 30 or more days, or have the password age of 30 or more days, or have not been used to log on for 60 or more days.”</p>
</blockquote>
<p>Previously if you had to use the Get-QADGroupMember cmdlet to retrieve the enabled accounts only, you had to pass the LDAPFilter, now you can use the same –enabled and –disabled parameter as you could with Get-QADUser cmdlet since v1.3.</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/groupmemberdisabled.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="groupmemberdisabled" border="0" alt="groupmemberdisabled" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/07/groupmemberdisabled_thumb.png" width="904" height="104"/></a></p>
<p>This and much more. All details can be found <a href="http://wiki.powergui.org/index.php/QAD_cmdlets_reference">here</a>.</p>
<p>The folks who develop these cmdlets and work on adding new parameters do take the feedback very seriously. I have myself asked and gotten couple of requests met. You can do the <a href="http://powergui.org/thread.jspa?threadID=11225&amp;tstart=0">same</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F201007%2Freviewing-few-very-useful-adds-in-quest-ad-cmdlets-v1-4%2F&amp;linkname=Reviewing%20few%20very%20useful%20adds%20in%20Quest%20AD%20Cmdlets%20v1.4">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/201007/reviewing-few-very-useful-adds-in-quest-ad-cmdlets-v1-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quest AD Cmdlets a.k.a Active Roles Management Shell version 1.4 gets released</title>
		<link>http://www.shariqsheikh.com/blog/index.php/201007/quest-ad-cmdlets-a-k-a-active-roles-management-shell-version-1-4-gets-released/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/201007/quest-ad-cmdlets-a-k-a-active-roles-management-shell-version-1-4-gets-released/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 21:55:12 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/201007/quest-ad-cmdlets-a-k-a-active-roles-management-shell-version-1-4-gets-released/</guid>
		<description><![CDATA[From version 1.2 with 49 cmdlets, to version 1.3 with 63 cmdlets and now on to version 1.4 that has 32 new cmdlets making it total of 95. Here are the new cmdlets in v1.4 : • Get-QADLocalCertificateStore • New-QADLocalCertificateStore • Remove-QADLocalCertificateStore • Get-QADCertificate • Where-QADCertificate • Add-QADCertificate • Import-QADCertificate • Show-QADCertificate • Edit-QADCertificate • [...]]]></description>
			<content:encoded><![CDATA[<p>From version 1.2 with 49 cmdlets, to version 1.3 with 63 cmdlets and now on to version 1.4 that has 32 new cmdlets making it total of 95.</p>
<p>Here are the new cmdlets in v1.4 :</p>
<p>• Get-QADLocalCertificateStore<br />
• New-QADLocalCertificateStore<br />
• Remove-QADLocalCertificateStore<br />
• Get-QADCertificate<br />
• Where-QADCertificate<br />
• Add-QADCertificate<br />
• Import-QADCertificate<br />
• Show-QADCertificate<br />
• Edit-QADCertificate<br />
• Export-QADCertificate<br />
• Remove-QADCertificate<br />
• Remove-QADPrivateKey<br />
• Get-QADCertificateRevocationList<br />
• Add-QADCertificateRevocationList<br />
• Import-QADCertificateRevocationList<br />
• Export-QADCertificateRevocationList<br />
• Remove-QADCertificateRevocationList<br />
• Get-QADPKIObject<br />
• Publish-QADCertificate<br />
• Unpublish-QADCertificate<br />
• Publish-QADCertificateRevocationList<br />
• Unpublish-QADCertificateRevocationList<br />
• Add-QADProxyAddress<br />
• Set-QADProxyAddress<br />
• Remove-QADProxyAddress<br />
• Clear-QADProxyAddress<br />
• Enable-QADEmailAddressPolicy<br />
• Disable-QADEmailAddressPolicy<br />
• Set-QADProgressPolicy<br />
• Get-QADProgressPolicy<br />
• Set-QADInactiveAccountsPolicy<br />
• Get-QADInactiveAccountsPolicy</p>
<p>With tons of new parameters and bug fixes. All details can be found under ‘ARMS Build History’ text file under the zip file.</p>
<p><a title="http://www.quest.com/powershell/activeroles-server.aspx" href="http://www.quest.com/powershell/activeroles-server.aspx">http://www.quest.com/powershell/activeroles-server.aspx</a></p>
<p>Also Dmitry Sotnikov tweeted regarding the updated cmdlet references wiki :</p>
<p><a title="http://wiki.powergui.org/index.php/QAD_cmdlets_reference" href="http://wiki.powergui.org/index.php/QAD_cmdlets_reference">http://wiki.powergui.org/index.php/QAD_cmdlets_reference</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F201007%2Fquest-ad-cmdlets-a-k-a-active-roles-management-shell-version-1-4-gets-released%2F&amp;linkname=Quest%20AD%20Cmdlets%20a.k.a%20Active%20Roles%20Management%20Shell%20version%201.4%20gets%20released">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/201007/quest-ad-cmdlets-a-k-a-active-roles-management-shell-version-1-4-gets-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create Active Directory Delegations Report with PowerGUI</title>
		<link>http://www.shariqsheikh.com/blog/index.php/201006/create-active-directory-delegations-report-with-powergui/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/201006/create-active-directory-delegations-report-with-powergui/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 16:30:24 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/201006/creating-active-directory-delegations-report-with-powergui/</guid>
		<description><![CDATA[Often times you need to analyze your existing permissions (delegations) on your AD Objects within your domain/forest, perhaps you have just taken over an administrative role over AD and would like to quickly surface information regarding what group and user accounts have certain rights across the board in a pertinent domain. With PowerGUI and Kirk [...]]]></description>
			<content:encoded><![CDATA[<p>Often times you need to analyze your existing permissions (delegations) on your AD Objects within your domain/forest, perhaps you have just taken over an administrative role over AD and would like to quickly surface information regarding what group and user accounts have certain rights across the board in a pertinent domain. With PowerGUI and Kirk Munro’s “Reporting” PowerPack, you can generate nicely formatted HTML files (that expand and collapse) for each object that has delegated permissions within AD.</p>
<p>1. <a href="http://powergui.org/downloads.jspa">Download PowerGUI 2.1 from here</a></p>
<p>2. <a href="http://powergui.org/entry.jspa?externalID=2423&amp;categoryID=52">Get the Advanced Reporting PowerPack from here</a></p>
<p>3. Launch PowerGUI and import Advanced Reporting PowerPack</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/ImportPowerPack.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ImportPowerPack" border="0" alt="ImportPowerPack" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/ImportPowerPack_thumb.png" width="644" height="337"/></a></p>
<p>4. Click on the root node, go to New and click on the ‘Script Node’ sub-menu option</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/CreateScriptNode.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="CreateScriptNode" border="0" alt="CreateScriptNode" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/CreateScriptNode_thumb.png" width="644" height="285"/></a></p>
<p>5. Name your script in the Title bar and type the following cmdlet in the body of the script</p>
<div class="csharpcode">
<pre class="alt">Get-QADObject -Type organizationalUnit -SecurityMask dacl | Get-QADPermission</pre>
</div>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/TypeCmd.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="TypeCmd" border="0" alt="TypeCmd" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/TypeCmd_thumb.png" width="644" height="180"/></a> 6. By hitting OK the report will run. From the Action Pane (right) click on the ‘Create Report’ link, name the report and add the desired attribute you would like to export on the report</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/Report.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Report" border="0" alt="Report" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/Report_thumb.png" width="644" height="252"/></a></p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/IncludeReport.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="IncludeReport" border="0" alt="IncludeReport" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/IncludeReport_thumb.png" width="644" height="271"/></a> 7.&nbsp; Hit OK and and your HTML based report will be saved by default in your Documents\PowerGUI Exports folder.</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/ReportHTML.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ReportHTML" border="0" alt="ReportHTML" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/06/ReportHTML_thumb.png" width="537" height="484"/></a>You can create all sorts of reports from your AD, do any modifications to your scripts, the format how the Report Pack creates the HTML report and how it generates the data. Download PowerGUI and the Reporting PowerPack and start playing with it.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F201006%2Fcreate-active-directory-delegations-report-with-powergui%2F&amp;linkname=Create%20Active%20Directory%20Delegations%20Report%20with%20PowerGUI">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/201006/create-active-directory-delegations-report-with-powergui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell : How to rename Groups in bulk ?</title>
		<link>http://www.shariqsheikh.com/blog/index.php/201005/powershell-how-to-rename-groups-in-bulk/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/201005/powershell-how-to-rename-groups-in-bulk/#comments</comments>
		<pubDate>Tue, 04 May 2010 15:23:17 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/201005/powershell-how-to-rename-groups-in-bulk/</guid>
		<description><![CDATA[Often times there is a need to standardized Groups’ naming convention such as with migrations, when you don’t have a rich migration tool that can conform the names or when you don’t have a AD proxy management tool such as ARS in your normal provisioning process. Using Quest Cmdlets with PowerShell to rename groups is [...]]]></description>
			<content:encoded><![CDATA[<p>Often times there is a need to standardized Groups’ naming convention such as with migrations, when you don’t have a rich migration tool that can conform the names or when you don’t have a AD proxy management tool such as ARS in your normal provisioning process. Using Quest Cmdlets with PowerShell to rename groups is a snap. There are numerous ways you can fit the Cmdlets and different parameters to meet your need. In this post, I show you a few ways I have used to rename groups in bulk.</p>
<p>Following is an example where all (or most of your groups have a company name as prefix and now that the migration has occurred you would like to strip the company name out.</p>
<p>First, lets take a quick inventory to define your scope;</p>
<blockquote><p>Get-QADGroup -Name companyname* -sizelimit 0 | ft name, SamAccountName</p>
</blockquote>
<p>You can also define a specific OU to target a specific location;</p>
<blockquote><p>Get-QADGroup -name companyname* -searchscope <span class="str">&#8220;onelevel&#8221;</span> -searchroot <span class="str">&#8220;ou=Groups,ou=,dc=mydomain,dc=int&#8221;</span> -sizelimit 0</p>
</blockquote>
<p>Note that the ‘companyname’ string is the number of characters i.e 11 is what we are manipulating and stripping out here;</p>
<blockquote><p>Get-QADGroup -name companyname* -searchscope <span class="str">&#8220;onelevel&#8221;</span> -searchroot <span class="str">&#8220;ou=Groups,ou=,dc=mydomain,dc=int&#8221;</span> -sizelimit 0 | Rename-QADObject -newName {$_.name.substring(11)} -whatif | Set-QADGroup -samAccountName {$_.samAccountName.substring(11)} -whatif</p>
</blockquote>
<p></p>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } -->Always use the –whatif parameter to confirm what changes you are about to make before you process the change. If needed, export the results out to a CSV by adding the export-csv cmdlet at the end.&nbsp; Note, in above the piping “|” can be written on the same line, ignore the wrapping due the site layout.</p>
<p>Similarly, you can chose to rename to rename by adding a new name or after you have stripped out the name completely, you can add a new prefix to your groups</p>
<blockquote><p>Get-QADGroup -searchscope <span class="str">&#8220;onelevel&#8221;</span> -searchroot <span class="str">&#8220;ou=Groups,ou=,dc=mydomain,dc=int&#8221;</span> -sizelimit 0 | FOREACH {Rename-QADObject $_ -newName (<span class="str">&#8220;IT-&#8221;</span> + $_.name)} </p>
</blockquote>
<p></p>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } -->Above query will grab all the Groups from the defined path and will add “IT-“ as the prefix to all groups. Make sure to append the –samAccountName command to ensure that rename happens properly.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F201005%2Fpowershell-how-to-rename-groups-in-bulk%2F&amp;linkname=PowerShell%20%3A%20How%20to%20rename%20Groups%20in%20bulk%20%3F">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/201005/powershell-how-to-rename-groups-in-bulk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PowerShell : How do I fix displayName attribute for all users in Active Directory ?</title>
		<link>http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-fix-displayname-attribute-for-all-users-in-active-directory/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-fix-displayname-attribute-for-all-users-in-active-directory/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 22:16:25 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[One-liner]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-fix-displayname-attribute-for-all-users-in-active-directory/</guid>
		<description><![CDATA[For small shops that do not leverage automated provisioning tools, they face challenge in keeping the attributes for Users and other objects in AD standardized. For similar situation, recently I was asked from Access Control team if there is an easy way to fix the displayName attribute for all users or to fill in the [...]]]></description>
			<content:encoded><![CDATA[<p>For small shops that do not leverage automated provisioning tools, they face challenge in keeping the attributes for Users and other objects in AD standardized. For similar situation, recently I was asked from Access Control team if there is an easy way to fix the displayName attribute for all users or to fill in the display name where its missing based on the Users’ first and last name. The answer is a simple PowerShell one-liner using Quest Cmdlets.</p>
<p>Using <strong><em>Get-QADUser</em></strong> cmdlet, you can define the location of all your users using the –searchlevel parameter or you can sweep the whole directory for all user accounts. And then pipe the results to the <em>foreach</em> and use <em><strong>Set-QADuser</strong></em> to fix the display names (in this example) based on the users’ first and last name</p>
<div id="codeSnippetWrapper">
<pre class="csharpcode">Get-QADUser mydomain.int/users -sl 0 | <span class="kwrd">foreach</span> {Set-QADUser $_ -DisplayName (<span class="str">"{0} {1}"</span> -f $_.firstname,$_.lastname)}</pre>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
</div>
<p>The –sl 0 parameter defines the limit of users to 0.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F201002%2Fpowershell-how-do-i-fix-displayname-attribute-for-all-users-in-active-directory%2F&amp;linkname=PowerShell%20%3A%20How%20do%20I%20fix%20displayName%20attribute%20for%20all%20users%20in%20Active%20Directory%20%3F">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-fix-displayname-attribute-for-all-users-in-active-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell : How do I check Active Directory Tombstone Lifetime ?</title>
		<link>http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-check-active-directory-tombstone-lifetime/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-check-active-directory-tombstone-lifetime/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 03:45:38 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-check-active-directory-tombstone-lifetime/</guid>
		<description><![CDATA[What is Active Directory Tombstone Lifetime (TSL) ? The tombstone lifetime in an Active Directory forest determines how long a deleted object (called a “tombstone”) is retained in Active Directory Domain Services (AD DS). The tombstone lifetime is determined by the value of the tombstoneLifetime attribute on the Directory Service object in the configuration directory [...]]]></description>
			<content:encoded><![CDATA[<p>What is Active Directory Tombstone Lifetime (TSL) ?</p>
<blockquote><p>The tombstone lifetime in an Active Directory forest determines how long a deleted object (called a “tombstone”) is retained in Active Directory Domain Services (AD DS). The tombstone lifetime is determined by the value of the <strong>tombstoneLifetime</strong> attribute on the Directory Service object in the configuration directory partition.</p></blockquote>
<p>Directory Services veteran and MVP Joe Richards has <a href="http://blog.joeware.net/2010/02/05/1896/">published a short blog entry</a> demystifying the confusion a <a href="http://technet.microsoft.com/en-us/library/cc784932%28WS.10%29.aspx">technet article</a> has caused in regards to how to go about figuring a TSL on a particular domain. Note that new forests that are installed with Windows Server 2003 with SP1 and up have a default tombstone lifetime of 180 days.</p>
<p>Joe shares his ADFIND tool to lookup the current value of the TSL attribute (irrespective of what OS was used to build the forest). Note that as Joe pointed out if this attribute is not set (i.e empty value) then the TSL is 60 days. Here I show you how to lookup the TSL with PowerShell.</p>
<p>Using Quest cmdlets :</p>
<blockquote><p>Get-QADbject “CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=yourdomain,DC=int” includeallproperties | Select TombstoneLifetime</p></blockquote>
<p>And with using native AD cmdlets (of ADWS) in Windows Server 2008 R2 :</p>
<blockquote><p>Get-ADObject -Identity “CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=R2,DC=lab” -properties tombstonelifetime</p></blockquote>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/02/TSL.png"><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="TSL" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2010/02/TSL_thumb.png" border="0" alt="TSL" width="900" height="145" /></a></p>
<p>Also within PowerShell, you can also use ADSI to lookup the TSL value.</p>
<blockquote><p>[ADSI]$config=LDAP://cn=Directory Service,cn=Windows NT,cn=Services,cn=Configuration,DC=R2,dc=lab</p></blockquote>
<blockquote><p>$config.TombstoneLifetime</p></blockquote>
<p>Also, here is how you can use DSQUERY from the Windows Support Tools to lookup the TSL.</p>
<blockquote><p>dsquery * “CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=R2,DC=lab” -scope base –attr</p>
<p>tombstonelifetime</p></blockquote>
<p>Note that I have used my test forest’s DN of R2.lab in above examples, be sure to replace the values with your forest’s DN. Above query should be typed in one line.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F201002%2Fpowershell-how-do-i-check-active-directory-tombstone-lifetime%2F&amp;linkname=PowerShell%20%3A%20How%20do%20I%20check%20Active%20Directory%20Tombstone%20Lifetime%20%3F">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/201002/powershell-how-do-i-check-active-directory-tombstone-lifetime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time Synchronization for Virtualized DCs</title>
		<link>http://www.shariqsheikh.com/blog/index.php/200912/time-synchronization-for-virtualized-dcs/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/200912/time-synchronization-for-virtualized-dcs/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 21:48:03 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Hyper-V]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/200912/time-synchronization-for-virtualized-dcs/</guid>
		<description><![CDATA[As usual a good conversation spurred on ActiveDir on a much discussed scenario of virtualizing your DCs while be varied of the known pitfalls. While virtualized DCs are fully supported on either competing virtualization solution by Microsoft, one known subject I would like to highlight here is the proper time synchronization. You must make sure [...]]]></description>
			<content:encoded><![CDATA[<p>As usual a good conversation spurred on ActiveDir on a much discussed scenario of virtualizing your DCs while be varied of the known pitfalls. While virtualized DCs are fully supported on either competing virtualization solution by Microsoft, one known subject I would like to highlight here is the proper time synchronization. You must make sure that your PDCe gets its time from an external time source and other DCs follow the PDCe. All DCs (including PDCe) must not sync their time with the virtualization host, whether its VMware ESX or that of Hyper-V. It was discussed how by default the VMware’s VM settting does not have the time synchronization enabled by default, and my brief look at the Hyper-V’s VM suggested that it is. In any case, you must make sure that setting is disabled, thus VM does sync its time with its host.</p>
<p>VMware time setting from the VMware tools within the VM:</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/VMwareTS.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="VMwareTS" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/VMwareTS_thumb.png" border="0" alt="VMwareTS" width="383" height="339" /></a></p>
<p>Or under the VM settings from VIC :</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/VMwareTS2.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="VMwareTS2" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/VMwareTS2_thumb.png" border="0" alt="VMwareTS2" width="632" height="384" /></a></p>
<p>Hyper-V setting from the VM settings :</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/HyperVTS.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="HyperV-TS" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/HyperVTS_thumb.png" border="0" alt="HyperV-TS" width="682" height="363" /></a></p>
<p>A great resource to refer to, to learn how to configure an authoritative time source for your DCs – see this KB <a title="http://support.microsoft.com/kb/816042" href="http://support.microsoft.com/kb/816042">http://support.microsoft.com/kb/816042</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F200912%2Ftime-synchronization-for-virtualized-dcs%2F&amp;linkname=Time%20Synchronization%20for%20Virtualized%20DCs">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/200912/time-synchronization-for-virtualized-dcs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is DNS Cache Locking in Windows Server 2008 R2 ?</title>
		<link>http://www.shariqsheikh.com/blog/index.php/200912/what-is-dns-cache-locking-in-windows-server-2008-r2/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/200912/what-is-dns-cache-locking-in-windows-server-2008-r2/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:23:14 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[DNS]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/200912/what-is-dns-cache-locking-in-windows-server-2008-r2/</guid>
		<description><![CDATA[One of the DNS improvements in Windows Server 2008 R2 is DNS Cache Locking in which if configured the cache entries are not allowed to be modified for the percentage of TTL. Cache locking is a new security feature available with Windows Server® 2008 R2 that allows you to control whether or not information in [...]]]></description>
			<content:encoded><![CDATA[<p>One of the DNS improvements in Windows Server 2008 R2 is DNS Cache Locking in which if configured the cache entries are not allowed to be modified for the percentage of TTL.</p>
<blockquote><p>Cache locking is a new security feature available with Windows Server® 2008 R2 that allows you to control whether or not information in the DNS cache can be overwritten. When a recursive DNS server responds to a query, it will cache the results obtained so that it can respond quickly if it receives another query requesting the same information. The period of time the DNS server will keep information in its cache is determined by the Time to Live (TTL) value for a resource record. Until the TTL period expires, information in the cache might be overwritten if updated information about that resource record is received. If an attacker successfully overwrites information in the cache, they might be able to redirect traffic on your network to a malicious site.</p>
<p>Cache locking is configured as a percent value. For example, if the cache locking value is set to 50, then the DNS server will not overwrite a cached entry for half of the duration of the TTL. By default, the cache locking percent value is 100. This means that cached entries will not be overwritten for the entire duration of the TTL. The cache locking value is stored in the <strong>CacheLockingPercent</strong> registry key. If the registry key is not present, then the DNS server will use the default cache locking value of 100. </p>
</blockquote>
<p>You can configure the CacheLocking with DNSCMD utility from the command line (launched under elevated rights).</p>
<pre>dnscmd /Config /CacheLockingPercent &lt;percent&gt;</pre>
<p>You may also check the current percentage set for this setting with the /info switch of DNSCMD.</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/DNScachelocking.png"><img title="DNScachelocking" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="167" alt="DNScachelocking" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/DNScachelocking_thumb.png" width="511" border="0"/></a> </p>
<p>With above, the pertinent DWORD registry key is created under <strong>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DNS\Parameters</strong></p>
<p>However, in real world you push down this registry key via Group Policy Preferences to all your DNS servers. Values for the key are shown below.</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/DNScachelocking11.png"><img title="DNScachelocking1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="575" alt="DNScachelocking1" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/DNScachelocking1_thumb1.png" width="827" border="0"/></a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F200912%2Fwhat-is-dns-cache-locking-in-windows-server-2008-r2%2F&amp;linkname=What%20is%20DNS%20Cache%20Locking%20in%20Windows%20Server%202008%20R2%20%3F">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/200912/what-is-dns-cache-locking-in-windows-server-2008-r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell : How many users were created in an office since x number of days ?</title>
		<link>http://www.shariqsheikh.com/blog/index.php/200912/powershell-how-many-users-were-created-in-an-office-since-x-number-of-days/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/200912/powershell-how-many-users-were-created-in-an-office-since-x-number-of-days/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 00:12:02 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/200912/powershell-how-many-users-were-created-in-an-office-since-x-number-of-days/</guid>
		<description><![CDATA[A request came in from the Access Control team requesting that they be provided with the users that have been created in a particular office since last 90 days. As usual, PowerShell (with QAD cmdlets) has very simple one liners you can retrieve this information with. You may also use this to export this data [...]]]></description>
			<content:encoded><![CDATA[<p>A request came in from the Access Control team requesting that they be provided with the users that have been created in a particular office since last 90 days. As usual, PowerShell (with QAD cmdlets) has very simple one liners you can retrieve this information with.</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/GeUsersCreatedinlast90days.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="Ge-UsersCreatedinlast90days" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/GeUsersCreatedinlast90days_thumb.png" border="0" alt="Ge-UsersCreatedinlast90days" width="982" height="67" /></a></p>
<p>You may also use this to export this data to a CSV file. Notice that when using the export-csv cmdlet you must choose the ‘select’ and define the attributes that should be exported. Format-Table (aliased above as FT) is used to display the information on the console.</p>
<blockquote><p>GetQADUser-sizelimit 0 | where{$_.whencreated -gt (get-date).adddays(-90)}| select Name,WhenCreated,DN | Export-csv c:\Users90days.csv</p></blockquote>
<p>There is always a couple of ways to accomplish the same task with further fine tuning your query. As you can see that above query would grab all the users in the domain, going by their whenCreated attribute and present you the pertinent users.</p>
<p>You can define the OU to search with the –searchroot parameter.</p>
<blockquote><p>Get-QADUser –Searchroot ‘test.mydomain.int/Users/Chicago/’ | where{$_.whencreated -gt (get-date).adddays(-90)}</p></blockquote>
<p>Alternatively, if you would to like find users account that have been modified since x number of days, you can try something like this.</p>
<blockquote><p>$OU = &lt;OU PATH&gt;<br />
Get-QADUser -LastChangedAfter (get-date).adddays(-7) -search $OU -sl 0 | ft name,whenchanged</p></blockquote>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F200912%2Fpowershell-how-many-users-were-created-in-an-office-since-x-number-of-days%2F&amp;linkname=PowerShell%20%3A%20How%20many%20users%20were%20created%20in%20an%20office%20since%20x%20number%20of%20days%20%3F">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/200912/powershell-how-many-users-were-created-in-an-office-since-x-number-of-days/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Server 2008 R2 Features Poster</title>
		<link>http://www.shariqsheikh.com/blog/index.php/200912/windows-server-2008-r2-features-poster/</link>
		<comments>http://www.shariqsheikh.com/blog/index.php/200912/windows-server-2008-r2-features-poster/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 19:05:57 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Posters]]></category>

		<guid isPermaLink="false">http://www.shariqsheikh.com/blog/index.php/200912/windows-server-2008-r2-features-poster/</guid>
		<description><![CDATA[Previously I had posted the 2003 AD and 2008 Features jigsaw posters, Mike Kline informed me that there is now a 2008 R2 Features poster. You can download the 44x24in poster from here]]></description>
			<content:encoded><![CDATA[<p>Previously I had posted the <a href="http://www.shariqsheikh.com/blog/index.php/200909/is-there-an-active-directory-visual-illustrationdiagram/" target="_blank">2003 AD and 2008 Features jigsaw posters</a>, Mike Kline informed me that there is now a 2008 R2 Features poster.</p>
<p><a href="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/08R2jigsaw2.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="08R2jigsaw" src="http://www.shariqsheikh.com/blog/wp-content/uploads/2009/12/08R2jigsaw_thumb1.png" border="0" alt="08R2jigsaw" width="819" height="449" /></a></p>
<p>You can download the 44x24in poster from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=64A5CC28-F8A1-4B30-A4A2-455C65BDA8D7&amp;displaylang=en" target="_blank">here</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.shariqsheikh.com%2Fblog%2Findex.php%2F200912%2Fwindows-server-2008-r2-features-poster%2F&amp;linkname=Windows%20Server%202008%20R2%20Features%20Poster">Share/Bookmark</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.shariqsheikh.com/blog/index.php/200912/windows-server-2008-r2-features-poster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
