<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>PowerShell for Active Directory</title><link>http://powershell.com/cs/forums/197.aspx</link><description>Moderated by PowerShell experts &lt;a href="http://powershell.com/cs/content/experts.aspx#jakub-jares"&gt;Jakub Jareš&lt;/a&gt; and &lt;a href="http://powershell.com/cs/content/experts.aspx#jason-yoder"&gt;Jason Yoder&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>AD group member count - Memory issue</title><link>http://powershell.com/cs/forums/thread/23676.aspx</link><pubDate>Fri, 24 May 2013 02:30:54 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23676</guid><dc:creator>ddan</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/23676.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23676</wfw:commentRss><description>&lt;p&gt;Hi Guys,&lt;/p&gt;
&lt;p&gt;Im attempting to write a script that does a count of users in specific groups &amp;amp; regions. So basically if the group is part of specific OU then do a Get-QADGroupMember and increment the number of users for that region.&lt;/p&gt;
&lt;p&gt;My script works fine but I seem to be running out of memory and the the processing slows right down, I end up having to stop it.&lt;/p&gt;
&lt;p&gt;I tried to put a&amp;nbsp;[System.GC]::Collect() in my loop but that didnt seem to help, unless im using it incorrectly, can you pls advise how to make this more efficient memory wise.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;Here is a cut down version of my code:&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;
&lt;p&gt;
&lt;p&gt;foreach ($Group in $GroupMembers){&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch ($Group)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=A,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region1++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=B,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region2++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=C,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region3++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=D,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region4++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=E,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region5++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=F,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region6++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {[Regex]::IsMatch($Group.DN,&amp;quot;(?i)OU=G,OU=X,DC=Y,DC=Z$&amp;quot;)} {Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -DontUseDefaultIncludedProperties -type user | ForEach-Object {$Region7++}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; default {$UnknownRegion += Get-QADGroupMember -Identity $Group.sAMAccountName -Indirect -Connection $conn -ShowProgress -SizeLimit 0 -type user | select {$_.name}, {$_.sAMAccountName}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Want to "nest" a list in another Format-List</title><link>http://powershell.com/cs/forums/thread/23633.aspx</link><pubDate>Tue, 21 May 2013 16:02:52 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23633</guid><dc:creator>rkruse</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/23633.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23633</wfw:commentRss><description>&lt;p&gt;I have the command below that will give me a nice display of PrimarySMTP and other SMTP addresses (as well as the X400/500 addresses). The problem is that the proxyAddresses are listed as a long text block and I cannot find a way to display them as a list. Can I output a &amp;quot;Format-List&amp;quot; inside of another &amp;quot;Format-List&amp;quot; to pull this off?&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;get-qAdUser&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#8a2be2;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8a2be2;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8a2be2;font-size:xx-small;"&gt;SamAcctNameHere...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;font face="Consolas" size="1" color="#0000ff"&gt;&lt;font face="Consolas" size="1" color="#0000ff"&gt;&lt;font face="Consolas" size="1" color="#0000ff"&gt;
&lt;p&gt;Select-Object&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="1" color="#0000ff"&gt;&lt;font face="Consolas" size="1" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="1" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#000080;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#000080;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#000080;font-size:xx-small;"&gt;-Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#8a2be2;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8a2be2;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8a2be2;font-size:xx-small;"&gt;primarySMTPaddress&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;@{Name&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#8b0000;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8b0000;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8b0000;font-size:xx-small;"&gt;&amp;#39;ListOfOthers&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;;Expression&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;{&lt;font face="Consolas" size="1"&gt;&lt;font face="Consolas" size="1"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="1"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-family:Consolas;color:#ff4500;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#ff4500;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#ff4500;font-size:xx-small;"&gt;$_&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;proxyAddresses &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;-join&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#8b0000;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8b0000;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#8b0000;font-size:xx-small;"&gt;&amp;quot;,&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;}} &lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#a9a9a9;font-size:xx-small;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;font-size:xx-small;"&gt;&lt;font face="Consolas" size="1"&gt;&lt;font face="Consolas" size="1"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas" size="1"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:xx-small;"&gt;Format-List &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Copying user with PowerShell as i copy using mouse right click and copy</title><link>http://powershell.com/cs/forums/thread/23673.aspx</link><pubDate>Thu, 23 May 2013 21:25:04 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23673</guid><dc:creator>predatorsnir</dc:creator><slash:comments>0</slash:comments><comments>http://powershell.com/cs/forums/thread/23673.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23673</wfw:commentRss><description>&lt;p&gt;i need copy user with powershell.&lt;/p&gt;
&lt;p&gt;new-aduser snirf -AccountPassword (Read-Host &amp;quot;New Password&amp;quot; -AsSecureString)&lt;/p&gt;
&lt;p&gt;But what I need to write to it will copy &amp;nbsp;another user with groups and OU&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks to all helpers&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>List Ad Groups With Same Attributes</title><link>http://powershell.com/cs/forums/thread/23650.aspx</link><pubDate>Wed, 22 May 2013 17:11:01 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23650</guid><dc:creator>ewheeler619</dc:creator><slash:comments>5</slash:comments><comments>http://powershell.com/cs/forums/thread/23650.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23650</wfw:commentRss><description>&lt;p&gt;Hello I&amp;#39;m wondering how I can user powershell to show me a list of AD groups with the same attributes to locations within the same domain&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>All Users Report</title><link>http://powershell.com/cs/forums/thread/22903.aspx</link><pubDate>Fri, 19 Apr 2013 09:25:14 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22903</guid><dc:creator>rishi.vohra</dc:creator><slash:comments>44</slash:comments><comments>http://powershell.com/cs/forums/thread/22903.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22903</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;
&lt;p align="left" dir="ltr"&gt;Dear,&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;I am looking for a script that could generate ALL users report which should include:&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;DN, CN, FirstName, LastName, DisplayName, Email , TelephoneNumber, Mobile, Description, Office ,pwdLastSet, pwage, whenCreated, strAccountExpirationDate, userAccountControl, lastLogonTimeStamp, Disabled, Itsage, Site&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;　&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;I have a script which does give me few attribute, what Can I add more in my scipt to generate other attributes?&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;Here&amp;#39;s my script:&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;--------------------------&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$NumDays = 0&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$LogDir = &amp;quot;e:\script\User-Accounts.csv&amp;quot;&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$currentDate = [System.DateTime]::Now&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$currentDateUtc = $currentDate.ToUniversalTime()&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$lltstamplimit = $currentDateUtc.AddDays(- $NumDays)&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$lltIntLimit = $lltstampLimit.ToFileTime()&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$adobjroot = [adsi]&amp;#39;&amp;#39;&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$objstalesearcher = New-Object System.DirectoryServices.DirectorySearcher($adobjroot)&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$objstalesearcher.filter = &amp;quot;(&amp;amp;(objectCategory=person)(objectClass=user)(lastLogonTimeStamp&amp;lt;=&amp;quot; + $lltIntLimit + &amp;quot;))&amp;quot;&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$users = $objstalesearcher.findall() | select `&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;@{e={$_.properties.cn};n=&amp;#39;Display Name&amp;#39;},`&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;@{e={$_.properties.samaccountname};n=&amp;#39;Username&amp;#39;},`&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;@{e={[datetime]::FromFileTimeUtc([int64]$_.properties.lastlogontimestamp[0])};n=&amp;#39;Last Logon&amp;#39;},`&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;@{e={[string]$adspath=$_.properties.adspath;$account=[ADSI]$adspath;$account.psbase.invokeget(&amp;#39;AccountDisabled&amp;#39;)};n=&amp;#39;Account Is Disabled&amp;#39;}&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;$users | Export-CSV -NoType $LogDir&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;------------------------------------------&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;Thanks&lt;/p&gt;
&lt;p align="left" dir="ltr"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-family:Calibri;font-size:x-small;"&gt;&lt;span style="font-family:Calibri;font-size:x-small;"&gt;
&lt;p align="left" dir="ltr"&gt;　&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Compare something in the notes field</title><link>http://powershell.com/cs/forums/thread/23428.aspx</link><pubDate>Mon, 13 May 2013 09:18:54 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23428</guid><dc:creator>Barry2408</dc:creator><slash:comments>1</slash:comments><comments>http://powershell.com/cs/forums/thread/23428.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23428</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I like to compare a value in the notes field of my Active Directory.&lt;/p&gt;
&lt;p&gt;In sample Code: &lt;br /&gt;if (notes field cotains at Office == &amp;quot;branchoffice&amp;quot;){&lt;/p&gt;
&lt;p&gt;&amp;nbsp;go on}&lt;/p&gt;
&lt;p&gt;else {leave}&lt;/p&gt;
&lt;p&gt;Any idea? I dont know how to get the Content ouf of the notes field...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks a lot!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Deploying a msi and registry via GPO</title><link>http://powershell.com/cs/forums/thread/23447.aspx</link><pubDate>Mon, 13 May 2013 16:59:08 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23447</guid><dc:creator>anettaj77</dc:creator><slash:comments>1</slash:comments><comments>http://powershell.com/cs/forums/thread/23447.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23447</wfw:commentRss><description>&lt;p&gt;I need to write a script that would first install sslvpn client then apply a registry change onto laptops.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Here&amp;#39;s the batch file that is not working:&lt;/p&gt;
&lt;p&gt;ECHO OFF&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;:&amp;nbsp;INSTALLS Fortinet VPN Client&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;::IF NOT ERRORLEVEL 1 GOTO UNINSTALL&lt;br /&gt;::GOTO END&lt;/p&gt;
&lt;p&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;:&amp;nbsp;IF VPN CLIENT PRESENT - GOTO END - DO NOTHING&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/p&gt;
&lt;p&gt;:CHECK IF VPN CLIENT IS PRESENT&lt;br /&gt;IF EXIST &amp;quot;C:\Program Files (x86)\Fortinet\INSTALL1.DAT&amp;quot; GOTO END&lt;br /&gt;IF EXIST &amp;quot;C:\Program Files\Fortinet\INSTALL1.DAT&amp;quot; GOTO END&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;:&amp;nbsp;INSTALLS VPN CLIENT&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/p&gt;
&lt;p&gt;&lt;a&gt;\\domain name\NETLOGON\dir name\sslvpnclient.msi&lt;/a&gt; /quiet&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;:&amp;nbsp;PLACES INSTALL.DAT FILE AT LOCATION&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/p&gt;
&lt;p&gt;ECHO VPNCLIENT INSTALLED!!! &amp;gt; &amp;quot;C:\Program Files\Fortinet\INSTALL1.DAT&amp;quot;&lt;br /&gt;ECHO VPNCLIENT INSTALLED!!! &amp;gt; &amp;quot;C:\Program Files (x86)\Fortinet\INSTALL1.DAT&amp;quot;&lt;/p&gt;
&lt;p&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;:&amp;nbsp;Run the Registry File&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;/p&gt;
&lt;p&gt;regedit.exe &amp;quot;&lt;a&gt;\\domainnam\NETLOGON\dir name\registry\test.reg&lt;/a&gt;&amp;quot; &lt;/p&gt;
&lt;p&gt;Any ideas?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Searching entire AD for disabled accounts</title><link>http://powershell.com/cs/forums/thread/23044.aspx</link><pubDate>Fri, 26 Apr 2013 14:53:54 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23044</guid><dc:creator>budlight4u</dc:creator><slash:comments>6</slash:comments><comments>http://powershell.com/cs/forums/thread/23044.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23044</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m new to Powershell. &amp;nbsp;Any assistance in discovering the error or my mistake in the script would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;I have a simple PS script that I intend to run and discover all disabled accounts in AD residing in various different OUs.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I run the script with&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;pre&gt;&lt;code&gt;powershell -ExecutionPolicy ByPass -File script.ps1&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;Here is the entire script and the error generated is in the bottom of the script&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;pre&gt;&lt;code&gt;

$strfilter = &amp;quot;(&amp;amp;(objectClass=user)(objectCategory=person))&amp;quot;

$objDomain = New-Object System.DirectoryServices.DirectoryEntry

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = &amp;quot;Subtree&amp;quot;
$objSearcher.PropertiesToLoad.Add(&amp;quot;cn&amp;quot;) | Out-Null
$objSearcher.PropertiesToLoad.Add(&amp;quot;member&amp;quot;) | Out-Null
$objSearcher.PropertiesToLoad.Add(&amp;quot;proxyAddresses&amp;quot;) | Out-Null
$objSearcher.PropertiesToLoad.Add(&amp;quot;displayName&amp;quot;) | Out-Null
$objSearcher.PropertiesToLoad.Add(&amp;quot;distinguishedname&amp;quot;) | Out-Null
$objSearcher.PropertiesToLoad.Add(&amp;quot;useraccountcontrol&amp;quot;) | Out-Null
 
$users = $objSearcher.FindAll() 
foreach ($user in $users) 
{ 
&amp;quot;Testing $($user.properties.item(&amp;quot;&amp;quot;distinguishedname&amp;quot;&amp;quot;))&amp;quot;
&amp;quot;UAC: $($user.useraccountcontrol)&amp;quot; 
if($user.useraccountcontrol -band 2)  
{ write-host -foregroundcolor red &amp;quot;`t account is disabled&amp;quot; }  
ELSE  
{ write-host -foregroundcolor green &amp;quot;`t account is not disabled&amp;quot; } 

}





PS C:\&amp;gt; powershell -ExecutePolicy ByPass -file .\gcnaccounts.ps1
Missing expression after unary operator &amp;#39;-&amp;#39;.
At line:1 char:2
+ - &amp;lt;&amp;lt;&amp;lt;&amp;lt; ExecutePolicy ByPass -file .\gcnaccounts.ps1
    + CategoryInfo          : ParserError: (-:String) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingExpressionAfterOperator

PS C:\&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Need help in getting a special AD Group</title><link>http://powershell.com/cs/forums/thread/23338.aspx</link><pubDate>Wed, 08 May 2013 12:42:20 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23338</guid><dc:creator>Barry2408</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/23338.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23338</wfw:commentRss><description>&lt;p&gt;Hi experts ;-)&lt;/p&gt;
&lt;p&gt;I&amp;#39;m having a Problem with searching a special Active Directory Group:&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve build two Groups: Info and Test. Info is a Distribution Group. Test a Security Group.&lt;/p&gt;
&lt;p&gt;I tried to get the Info Group by using: 1. Get-ADGroup -Identity Info and&amp;nbsp; 2.Get-ADGroup -Identity Test&lt;/p&gt;
&lt;p&gt;Results:&lt;/p&gt;
&lt;p&gt;1. Cannot find an object with identity: &amp;#39;Info&amp;#39; under: &amp;#39;DC=example,DC=de&amp;#39;&lt;/p&gt;
&lt;p&gt;2. Works fine and Shows me the Group Infos.&lt;/p&gt;
&lt;p&gt;So, is there a difference by using Get-ADGroup for Security Groups and Distribution Grpups?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks a lot for your hel!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Help with Get-ADComputer</title><link>http://powershell.com/cs/forums/thread/23315.aspx</link><pubDate>Tue, 07 May 2013 17:21:05 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23315</guid><dc:creator>hQWeedEater</dc:creator><slash:comments>4</slash:comments><comments>http://powershell.com/cs/forums/thread/23315.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23315</wfw:commentRss><description>&lt;p&gt;This is the bit I run&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;get-adcomputer -SearchBase &amp;quot;OU=Department,DC=Company,DC=de,DC=us&amp;quot; -filter &amp;quot;Passwordlastset -lt &amp;#39;2/7/2013&amp;#39;&amp;quot; -properties *| Select name,distinguishedName,passwordlastset | Export-Csv &amp;quot;C:\Report.csv&amp;quot; -notypeinformation&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Using DistinguishedName it returns something like&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="height:15.0pt;width:608pt;"&gt;
&lt;p&gt;CN=ZJIC-8VZQPC1,OU=Department,OU=Company,DC=My,DC=domain&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is it possible to to have it only return the OU&amp;#39;s and not the DC&amp;#39;s and CN? Or even better have it pull only the department OU information into the CSV? &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m very new to PowerShell so any advice would be greatly appreciated.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Reset domain user and unlock</title><link>http://powershell.com/cs/forums/thread/23205.aspx</link><pubDate>Thu, 02 May 2013 11:43:50 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23205</guid><dc:creator>Efe</dc:creator><slash:comments>7</slash:comments><comments>http://powershell.com/cs/forums/thread/23205.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23205</wfw:commentRss><description>&lt;p&gt;&lt;span class="hps"&gt;Hi&lt;/span&gt;, &lt;span class="hps"&gt;I have&lt;/span&gt; &lt;span class="hps"&gt;a problem&lt;/span&gt; &lt;span class="hps"&gt;I need&lt;/span&gt; &lt;span class="hps"&gt;a script that can&lt;/span&gt; &lt;span class="hps"&gt;reset the&lt;/span&gt; &lt;span class="hps"&gt;password&lt;/span&gt; &lt;span class="hps"&gt;to unlock a&lt;/span&gt; &lt;span class="hps"&gt;domain&lt;/span&gt; &lt;span class="hps"&gt;user&lt;/span&gt;.&lt;br /&gt;&lt;span class="hps"&gt;Do it&lt;/span&gt; &lt;span class="hps"&gt;from a&lt;/span&gt; &lt;span class="hps"&gt;form&lt;/span&gt; &lt;span class="hps"&gt;with buttons.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hps"&gt;Thanks for the help&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>$null as string instead of verbal from csv</title><link>http://powershell.com/cs/forums/thread/23127.aspx</link><pubDate>Tue, 30 Apr 2013 09:48:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23127</guid><dc:creator>eizhak9</dc:creator><slash:comments>4</slash:comments><comments>http://powershell.com/cs/forums/thread/23127.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=23127</wfw:commentRss><description>&lt;p&gt;
 
  
 

&lt;/p&gt;
&lt;p dir="LTR"&gt;Import-module ActiveDirectory&amp;nbsp; &lt;/p&gt;
&lt;p dir="LTR"&gt;Import-CSV &amp;quot;C:\info2.csv&amp;quot;
| % { &lt;/p&gt;
&lt;p dir="LTR"&gt;$User = $_.dname &lt;/p&gt;
&lt;p dir="LTR"&gt;$OfficePhone = $_.OfficePhone&lt;/p&gt;
&lt;p dir="LTR"&gt;$MobilePhone = $_.MobilePhone&lt;/p&gt;
&lt;p dir="LTR"&gt;$departmen = $_.departmen&lt;/p&gt;
&lt;p dir="LTR"&gt;$Fax = $_.Fax&lt;/p&gt;
&lt;p dir="LTR"&gt;Set-ADUser $User
-OfficePhone $OfficePhone
-MobilePhone $MobilePhone
-departmen $departmen&lt;/p&gt;
&lt;p dir="LTR"&gt;# Next PowerShell Command need Quest Add-in&lt;/p&gt;
&lt;p dir="LTR"&gt;Set-ADUser $User
-Fax $Fax -HomePhone $null&lt;/p&gt;
&lt;p dir="LTR"&gt;Set-QADUser $User
-facsimileTelephoneNumber $Fax&lt;/p&gt;
&lt;p dir="LTR"&gt;}&lt;/p&gt;
&lt;p dir="LTR"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="LTR"&gt;here is some of the csv , &lt;/p&gt;
&lt;p dir="LTR"&gt;
 
  
 

&lt;/p&gt;
&lt;table style="height:54px;" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;dname&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;departmen&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;OfficePhone&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;MobilePhone&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;Fax&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;someone&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;BO&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;&amp;nbsp;+972-3-xxxxx&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;$null&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="LTR"&gt;&amp;nbsp;+972-3-xxxxx&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p dir="RTL"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="LTR"&gt;
 
  Normal
  0
  
  
  
  
  false
  false
  false
  
  EN-US
  X-NONE
  HE
  
   
   
   
   
   
   
   
   
   
  
  
   
   
   
   
   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 



&lt;/p&gt;
&lt;p dir="LTR"&gt;now the MobilePhone is blank if i leave it blank i get error, and on oder users i just want to wipe there info so i lay the null,&lt;/p&gt;
&lt;p dir="LTR"&gt;if i just use &amp;quot;Set-ADUser $User
-Fax $Fax -HomePhone $null&amp;quot; it work grate but the problame with MobilePhone is that some employed dont have MobilePhone and so have, and power shell aperntly use the $null in csv as a string.&lt;img src="http://powershell.com/cs/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.16.64/ankor.jpg" alt="" /&gt;&lt;/p&gt;
&lt;table style="height:37px;" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p dir="LTR"&gt;
 
  Normal
  0
  
  
  
  
  false
  false
  false
  
  EN-US
  X-NONE
  HE
  
   
   
   
   
   
   
   
   
   
  
  
   
   
   
   
   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 



&lt;/p&gt;
&lt;p&gt;
 
  Normal
  0
  
  
  
  
  false
  false
  false
  
  EN-US
  X-NONE
  HE
  
   
   
   
   
   
   
   
   
   
  
  
   
   
   
   
   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 



&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Need listing of who is not a member of one of several groups</title><link>http://powershell.com/cs/forums/thread/22962.aspx</link><pubDate>Mon, 22 Apr 2013 21:07:42 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22962</guid><dc:creator>Sproe</dc:creator><slash:comments>6</slash:comments><comments>http://powershell.com/cs/forums/thread/22962.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22962</wfw:commentRss><description>&lt;p&gt;We have a number of groups that are tied to Group Policy Preferences that map drives, one each of these groups and policies per department.&amp;nbsp; What I need to know is who is not a member of any of those groups, thus not getting any mapped drives policy.&lt;/p&gt;
&lt;p&gt;All of the groups start with &amp;quot;MappedDrives&amp;quot;, for instance I belong to MappedDrives-IS.&amp;nbsp; If I were going to address this in English, I&amp;#39;d say, who is not a member of any group starting with MappedDrives.&lt;/p&gt;
&lt;p&gt;How would I do that in the Active Directory module of PowerShell?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>UserLastLogon - In a txt file</title><link>http://powershell.com/cs/forums/thread/22973.aspx</link><pubDate>Tue, 23 Apr 2013 11:35:59 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22973</guid><dc:creator>rishi.vohra</dc:creator><slash:comments>3</slash:comments><comments>http://powershell.com/cs/forums/thread/22973.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22973</wfw:commentRss><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I am trying to get Users Last Logon using a test file in which I have users SAM accounts&lt;/p&gt;
&lt;p&gt;Below is my script-&lt;/p&gt;
&lt;p&gt;----------------------------------------&lt;/p&gt;
&lt;p&gt;import-csv users.csv | Get-QADUser -id {$_.csvColumnName} | select name,LastLogonTimestamp|&lt;br /&gt;&amp;nbsp;export-csv users1.csv&lt;/p&gt;
&lt;p&gt;-----------------------------------------------&lt;/p&gt;
&lt;p&gt;But this is not working. Can somebody help&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Execute adamsync from another host</title><link>http://powershell.com/cs/forums/thread/22852.aspx</link><pubDate>Wed, 17 Apr 2013 16:38:51 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22852</guid><dc:creator>svizzero81</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/22852.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22852</wfw:commentRss><description>&lt;p&gt;Hi all,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;How can I remotely execute adamsync command?&lt;/p&gt;
&lt;p&gt;Use the following command:&lt;/p&gt;
&lt;p&gt;Invoke-Command -ComputerName hostname -SCriptBlock {c:\Windows\ADAM\adamsync /sync hostname:389 &amp;quot;ou=people,dc=example,dc=com&amp;quot; /creds DOMAIN Administrator Password} -Credential $cred&lt;/p&gt;
&lt;p&gt;Error Logs:&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;Ldap error occured. ldap_get_next_page_s: Operations Error.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Extended Info: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1.&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;If I run my script locally:&lt;/p&gt;
&lt;p&gt;c:\Windows\ADAM\adamsync /sync hostname:389 &amp;quot;ou=people,dc=example,dc=com&amp;quot; /creds DOMAIN Administrator Password&lt;/p&gt;
&lt;p&gt;It works correctly.&lt;/p&gt;
&lt;p&gt;BR&lt;/p&gt;
&lt;p&gt;Marco&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Delete Bulk Computers</title><link>http://powershell.com/cs/forums/thread/22788.aspx</link><pubDate>Mon, 15 Apr 2013 15:10:26 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22788</guid><dc:creator>rishi.vohra</dc:creator><slash:comments>9</slash:comments><comments>http://powershell.com/cs/forums/thread/22788.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22788</wfw:commentRss><description>&lt;p&gt;Hi Dear,&lt;/p&gt;
&lt;p&gt;I am looking for a way to delete multiple computer objects from a txt file. &lt;/p&gt;
&lt;p&gt;I was able to get script to Disable Bulk Computers, but I am finding it hard to get for deletion&lt;/p&gt;
&lt;p&gt;I have been trying with VBscript but not 100% satisfied with it&lt;/p&gt;
&lt;p&gt;Can you please help?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Get User run as services from computers in Active directory | need help with error</title><link>http://powershell.com/cs/forums/thread/22628.aspx</link><pubDate>Tue, 09 Apr 2013 09:10:03 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22628</guid><dc:creator>eizhak9</dc:creator><slash:comments>10</slash:comments><comments>http://powershell.com/cs/forums/thread/22628.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22628</wfw:commentRss><description>&lt;p&gt;i have this scriptworking grate&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;i wish to echo the computers name that have this error&lt;/p&gt;
&lt;p&gt;Get-WMIObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)&lt;br /&gt;At C:\c\Get-Services-RunAs-User-From-AD.ps1:17 char:1&lt;br /&gt;+ Get-WMIObject Win32_Service -ComputerName $strComputer | Where-Object{$_.StartNa ...&lt;br /&gt;+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidOperation: (:) [Get-WmiObject], COMException&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand&lt;/p&gt;
&lt;p&gt;by echo the $strComputer as the real name in the loop&lt;/p&gt;
&lt;p&gt;here is the script it working 100 % (you my need to open RPC and WMI i use PSexec withthis command:&lt;/p&gt;
&lt;p&gt;PsExec @filterterd.txtt netsh firewall add portopening TCP 135 RPC enable subnet )&lt;/p&gt;
&lt;p&gt;#start of the code :&lt;/p&gt;
&lt;p&gt;$username = read-host &amp;quot;Set User Name&amp;nbsp; like admin With no Space&amp;quot;&lt;br /&gt;&lt;br /&gt;Import-Module activedirectory&lt;br /&gt;If (Test-Path .\AllWindows.csv) { Remove-Item AllWindows.csv }&lt;br /&gt;&lt;br /&gt;Get-ADComputer -Filter * -Property * | Where-Object{$_.OperatingSystem -like &amp;#39;*server*&amp;#39; } | Select-Object Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion | Export-CSV AllWindows.csv -NoTypeInformation -Encoding UTF8&lt;br /&gt;&lt;br /&gt;$comp = import-csv .\AllWindows.csv&lt;br /&gt;$comp.name &amp;gt;filterterd.txt&lt;br /&gt;&lt;br /&gt;If (Test-Path .\resulet.txt) { Remove-Item resulet.txt }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Import-CSV .\AllWindows.csv | % {&lt;br /&gt;$strComputer = $_.name&lt;br /&gt;Get-WMIObject Win32_Service -ComputerName $strComputer | Where-Object{$_.StartName -match $username } | Sort-Object -Property StartName | Format-Table SystemName, Name, StartName, Description -auto -ErrorAction SilentlyContinue | Out-File resulet.txt -Encoding utf8 &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;#end code&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>using Quest CMDlets to return all groups that contain disabled users</title><link>http://powershell.com/cs/forums/thread/20528.aspx</link><pubDate>Wed, 12 Dec 2012 17:09:19 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:20528</guid><dc:creator>Ands7</dc:creator><slash:comments>10</slash:comments><comments>http://powershell.com/cs/forums/thread/20528.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=20528</wfw:commentRss><description>&lt;p&gt;Hi all, i have a new question :)&lt;/p&gt;
&lt;p&gt;i wish to return all the groups in a domain that have disabled members. I&amp;#39;ve looked at doing this via Get-Qadgroup | Get-Qadgroupmember but i couldn&amp;#39;t get it to work. So i ended up doing it this way instead:&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;b&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;
&lt;p&gt;get-qaduser&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;font face="Courier New" size="2" color="#5f9ea0"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;this sort of works in that I get a list of disabled users and their memberof value - this may not be ideal in that i don&amp;#39;t get their indirect list of groups.&lt;/span&gt;&lt;/p&gt;
&lt;/b&gt;&lt;i&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;-SearchAttributes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt; @{useraccountcontrol&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#ff0000;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#ff0000;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#ff0000;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#800000;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#800000;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#800000;"&gt;&amp;quot;514&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;} | &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;Select-Object&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;-Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt; samaccountname,useraccountcontrol,memberof &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:x-small;"&gt;However, if i add the following to the end I get a System.Object instead of the value. is there something i need to do to export this properly?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:x-small;"&gt;| &lt;b&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;Export-Csv&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#5f9ea0;"&gt;-notype&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#800000;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#800000;"&gt;&lt;span style="font-size:x-small;font-family:Courier New;color:#800000;"&gt;usersUAC.csv&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#800000;"&gt;many thanks as always everyone! :)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#800000;"&gt;Andrew&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Foreach assistence with import-csv</title><link>http://powershell.com/cs/forums/thread/22675.aspx</link><pubDate>Wed, 10 Apr 2013 19:14:29 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22675</guid><dc:creator>tac306</dc:creator><slash:comments>3</slash:comments><comments>http://powershell.com/cs/forums/thread/22675.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22675</wfw:commentRss><description>&lt;p&gt;Hello...I am somewhat new to the PS inner workings and thought I could ease my way into it by tackling, what I hoped, would be a simple starting project.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We have a multitude of AD users who, during the onboarding process, did not get home directories or drives assigned. The folders and permissions have actually been created so it&amp;#39;s a somewhat simple process of using the set-aduser -homedirectory -homedrive.&lt;/p&gt;
&lt;p&gt;I have exported the affected users into a txt file in which it just lists their name (which is their loginID). No filtering is needed on it. What I&amp;#39;m trying to do is create a variable called $name and have that pull the name of each item from the txt file and use in the get and set-aduser commands.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What I have so far is:&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;Import-Module ActiveDirectory&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$namefile = &amp;quot;c:\scripts\homedirectory\users.txt&amp;quot;&lt;/p&gt;
&lt;p&gt;$name = Import-Csv $namefile | foreach ??????&lt;/p&gt;
&lt;p&gt;Get-ADUser -Identity $name |&lt;/p&gt;
&lt;p&gt;Set-ADUser -HomeDirectory &amp;quot;\\server\path\$name&amp;quot; -HomeDrive &amp;quot;I:&amp;quot;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Am I going about this in the right way? I figure the foreach command is what I need just can&amp;#39;t seem to get it right.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Thanks in advance to anyone who can assist.&lt;/div&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Theres gota be a better way! ??? GetADGroupMember</title><link>http://powershell.com/cs/forums/thread/22625.aspx</link><pubDate>Tue, 09 Apr 2013 07:14:54 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22625</guid><dc:creator>ddan</dc:creator><slash:comments>5</slash:comments><comments>http://powershell.com/cs/forums/thread/22625.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22625</wfw:commentRss><description>&lt;p&gt;Hi, I need to write a script that will go through an AD-group and get all the users from its sub-groups. For each user I require the following details:&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;distinguishedName&lt;/p&gt;
&lt;p&gt;upn&lt;/p&gt;
&lt;p&gt;name&lt;/p&gt;
&lt;p&gt;samaccountname&lt;/p&gt;
&lt;p&gt;2x business related attributes&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;The details need to be pumped to a csv file.&lt;/p&gt;
&lt;p&gt;The problem is the group currently has circa 200K users and it is envisaged that will eventually get out to 1.2Mill users!&lt;/p&gt;
&lt;p&gt;Running get-adusergroupmember is good, but has restrictions (and does not seem to get me all the object info i need). So I wrote a script that combines get-adusergroupmember to populate sub-groups and then use an ldap lookup to grab the user info.&lt;/p&gt;
&lt;p&gt;I am a relative novice when it comes to PS so wanted to ask the guru&amp;#39;s out there for advice on how to make it more efficient? or if I am on the right track. My script thus far declares a shedload of variables and im wondering if theres gota be a better way??? My script is below, note I have cut out alot of the variables and lines as its so repitive and too long. I will end up having a line(and assoc variables) for each letter of the alphabet. Hope that makes sense. Thanks in advance!&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;
&lt;p&gt;$GroupMembers = @()&lt;/p&gt;
&lt;p&gt;$SubGroupMembers1 = @()&lt;/p&gt;
&lt;p&gt;$SubGroupMembers4 = @()&lt;/p&gt;
&lt;p&gt;$SubGroupMembersA = @()&lt;/p&gt;
&lt;p&gt;$SubGroupMembersB = @()&lt;/p&gt;
&lt;p&gt;$SubGroupMembersC = @()&lt;/p&gt;
&lt;p&gt;$SubGroupMembersD = @()&lt;/p&gt;
&lt;p&gt;$GroupNames1 = @()&lt;/p&gt;
&lt;p&gt;$csvA = @(); $csvB = @();$csvC = @(); $csvD = @()&lt;/p&gt;
&lt;p&gt;remove-item C:\Scripts\results_1.csv -force&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$GroupMembers = Get-ADGroupMember -identity &amp;quot;group name&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if($GroupMembers)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; foreach ($member in $GroupMembers){$SubGroupMembers1 += Get-ADGroupMember -identity $member.SamAccountName}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; } &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if($SubGroupMembers1)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;foreach ($member1 in $SubGroupMembers1)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; switch ($member1)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {$member.name -like &amp;quot;a*&amp;quot;} {$SubGroupMembersA += Get-ADGroupMember -identity $member1.SamAccountName -recursive}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {$member.name -like &amp;quot;b*&amp;quot;} {$SubGroupMembersB += Get-ADGroupMember -identity $member1.SamAccountName -recursive}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {$member.name -like &amp;quot;c*&amp;quot;} {$SubGroupMembersC += Get-ADGroupMember -identity $member1.SamAccountName -recursive}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {$member.name -like &amp;quot;d*&amp;quot;} {$SubGroupMembersD += Get-ADGroupMember -identity $member1.SamAccountName -recursive}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #switch statement will continue for each letter of the alphabet&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; default {Write-Host &amp;ldquo;Unknown Group&amp;rdquo;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;foreach ($memberA in $SubGroupMembersA) {$csvA += [ADSI] &amp;quot;LDAP://$memberA&amp;quot;| select {$_.name}, {$_.sAMAccountName}, {$_.Attribute1}, {$_.userPrincipalName}, {$_.Attribute2},{$_.distinguishedName}}&lt;/p&gt;
&lt;p&gt;foreach ($memberB in $SubGroupMembersB) {$csvB += [ADSI] &amp;quot;LDAP://$memberA&amp;quot;| select {$_.name}, {$_.sAMAccountName}, {$_.Attribute1}, {$_.userPrincipalName}, {$_.Attribute2},{$_.distinguishedName}}&lt;/p&gt;
&lt;p&gt;foreach ($memberC in $SubGroupMembersA) {$csvC += [ADSI] &amp;quot;LDAP://$memberA&amp;quot;| select {$_.name}, {$_.sAMAccountName}, {$_.Attribute1}, {$_.userPrincipalName}, {$_.Attribute2},{$_.distinguishedName}}&amp;nbsp;&lt;/p&gt;
&lt;p&gt;foreach ($memberD in $SubGroupMembersA) {$csvD += [ADSI] &amp;quot;LDAP://$memberA&amp;quot;| select {$_.name}, {$_.sAMAccountName}, {$_.Attribute1}, {$_.userPrincipalName}, {$_.Attribute2},{$_.distinguishedName}}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;#foreach statement will continue for each letter of the alphabet&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$csvA | Export-Csv -NoTypeInformation c:\scripts\results_A.csv &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$csvB | Export-Csv -NoTypeInformation c:\scripts\results_B.csv &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$csvC | Export-Csv -NoTypeInformation c:\scripts\results_C.csv &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$csvD | Export-Csv -NoTypeInformation c:\scripts\results_D.csv &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;#csv&amp;#39;s created for each letter of the alphabet&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Get-QADObject Memory Issues</title><link>http://powershell.com/cs/forums/thread/22586.aspx</link><pubDate>Thu, 04 Apr 2013 18:00:27 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22586</guid><dc:creator>Sam</dc:creator><slash:comments>5</slash:comments><comments>http://powershell.com/cs/forums/thread/22586.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22586</wfw:commentRss><description>&lt;p&gt;Good Afternoon,&lt;/p&gt;
&lt;p class="p1"&gt;I&amp;#39;m tried looking around the web for this issue, but have not been able to find a definite solution.&lt;/p&gt;
&lt;p class="p1"&gt;QUICK OVERVIEW: My company had to change email servers. In the process we migrated just under 4,000 users to the new email system. As a transition phase during the migration a contact was created for each user with the new email address. The user account was then pointed to forward mail to this contact. I wrote a Powershell 3.0 script using the Quest AD Module to delete the contacts and update the corresponding user account with the new email information. The script works excellent on a small scale, but starts throwing &amp;quot;Out of Memory&amp;quot; errors when it gets to about 600+ users. I&amp;#39;m not sure what I&amp;#39;m missing or how to catch / fix this memory leak. Any recommendations would be greatly appreciated.&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;ATTEMPTED SOLUTIONS: The script initually did everything under 1 function: export the contacts with all attributes (my failsafe in case something went horribly wrong), found the user account that corresponds to the contact, exported user info (again failsafe), deleted contact, updated user, export the user with the new settings. After reading on the few forums I found that were relevant, I tried implementing Clear-Variable, [GC]::Collect(), Remove-Variable throughout the script, but did not see any impact on the memory usage. Under this initial script, I was using about 1.6GB of RAM about 1/3 into the script. The code for the script I&amp;#39;m posint below is version 6. In this one I&amp;#39;m Including all properties on my queries for the export purposes. In previous versions I was only selecting the properies I needed, but then had to do another Get-QADObject/User with full properties for the export. In the end, the script crashed with the &amp;quot;Out of Memory&amp;quot; error regardless of whether I was getting all properies or only the selected ones. I also played around with different PageSize settings and setting it to 25 seemed to speed the process up the most, but had no noticeable impact on the memory consumption. In one version of the script I even tried a While (contacts exist) { process accounts with SizeLimit &amp;#39;250&amp;#39;}. During the testing phase I wasn&amp;#39;t actually makeing the changes, just moving the contacts to another OU. In theory I though that setting the size limit would fix my issue, but it had no impact to the overall result.&lt;/p&gt;
&lt;p class="p1"&gt;I finally broke the script into functions and pipelined the whole process (see code below: code has been slightly modified to hide true variable values and condense comments and custom messages).&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;ERROR MESSAGES: These are the error messages I&amp;#39;m receiving. As you can see, the system has plenty of RAM available, but the script is using ~ 1.4GB. I&amp;#39;m not 100% sure what the 2nd part of the error means. I&amp;#39;m assuming that it resulted in the memory running out and the variable not containing any more data for that iteration of the script.&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;img alt="Error Message" src="http://powershell.com/cs/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.02.98.63/Full-Error-_2D00_-with-RM.PNG" /&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;SCRIPT CODE:&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;#requires -version 3&lt;/p&gt;
&lt;p class="p1"&gt;## Load Quest Snappin&lt;/p&gt;
&lt;p class="p1"&gt;Add-PSSnapin Quest.ActiveRoles.ADManagement -ErrorAction silentlycontinue&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## ***** Declare Variables *****&lt;/p&gt;
&lt;p class="p1"&gt;## Containers&lt;/p&gt;
&lt;p class="p1"&gt;$global:contact_OU = &amp;quot;ou=MIGRATION,ou=CONTACTS,ou=OFFICE,ou=DEPT,dc=SUBDOMAIN,dc=DOMAIN,dc=COM&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;$global:unmatched_OU = &amp;quot;ou=Unmatched,ou=MIGRATION,ou=CONTACTS,ou=OFFICE,ou=DEPT,dc=SUBDOMAIN,dc=DOMAIN,dc=COM&amp;quot;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## Reporting Variables&lt;/p&gt;
&lt;p class="p1"&gt;$global:report_path = &amp;quot;C:\AD\Email Cleanup&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;$global:timeStamp = Get-Date -UFormat &amp;quot;%H%M_%d-%m-%d-%Y&amp;quot;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## Get-QAD Object Splat Variables&lt;/p&gt;
&lt;p class="p1"&gt;$user_splat = @{&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; OrganizationalUnit = &amp;quot;ou=USERS,ou=DEPT,ou=COMPANY,dc=SUBDOMAIN,dc=DOMAIN,dc=COM&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; LdapFilter = &amp;quot;(!(DisplayName=*.ADM))&amp;quot; ## Do not include admin accounts&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; IncludeAllProperties = $true&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; SizeLimit = &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; ShowProgress = $true&lt;/p&gt;
&lt;p class="p1"&gt;} # end $user_splat&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;$contact_splat = @{&lt;/p&gt;
&lt;p class="p1"&gt;Type = &amp;quot;Contact&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; OrganizationalUnit = $contact_OU&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; LdapFilter = &amp;quot;(mail=*@newEmail.com)&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; IncludeAllProperties = $true&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; SearchScope = &amp;quot;OneLevel&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; SizeLimit = &amp;quot;0&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; PageSize = &amp;quot;25&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; ShowProgress = $true&lt;/p&gt;
&lt;p class="p1"&gt;} # end $contact_splat&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## Write-Out colors.&amp;nbsp; Some color variables have been removed to shorten the code being posted.&lt;/p&gt;
&lt;p class="p1"&gt;$gc_colors = @{&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; ForegroundColor = &amp;quot;Yellow&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; BackgroundColor = &amp;quot;DarkGreen&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;} # end splat $gc_colors&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;cls&lt;/p&gt;
&lt;p class="p1"&gt;## ***** Get Reports *****&lt;/p&gt;
&lt;p class="p1"&gt;function Get_Reports ($obj, $fileName) {&lt;/p&gt;
&lt;p class="p1"&gt;## Export the objects&lt;/p&gt;
&lt;p class="p1"&gt;$report = $timeStamp + &amp;quot;_&amp;quot; + $fileName&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;$obj | Export-Csv &amp;quot;$report_path\$report.csv&amp;quot; -Append -NoTypeInformation&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;return $obj&lt;/p&gt;
&lt;p class="p1"&gt;} # end function Get_Reports&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## ***** Update Users *****&lt;/p&gt;
&lt;p class="p1"&gt;function Process_Users ($contact) {&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; if (!($user = Get-QADUser @user_splat -LogonName $contact.mailNickname)) {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Host &amp;quot;*******************************************************&amp;quot; @unmatched_colors&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Host @unmatched_colors $contact.Name &amp;quot; Could not be matched to a user account.&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Host &amp;quot;*******************************************************&amp;quot; @unmatched_colors&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; try {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; #Write-Host &amp;quot;******************* Moving ************************&amp;quot; $contact.Name&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Move-QADObject -Identity $contact.Name -NewParentContainer $unmatched_OU -ErrorAction &amp;#39;Stop&amp;#39; -ErrorVariable $moveError&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; } catch [System.OutOfMemoryException] {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Warning &amp;quot;Out of RAM&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; $errorTime = Get-Date -UFormat &amp;quot;%d-%m-%d-%Y_%H%M&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Host &amp;quot;Memory Error:&amp;quot; $errorTime | Out-File &amp;quot;$report_path\Function_Report_$timeStamp.txt&amp;quot; -Append&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Throw &amp;quot;Memory Error&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; } catch {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Warning &amp;quot;Error moving contact&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Get_Reports $contact &amp;quot;Error_Unmatched_Users&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; } finally {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Get_Reports $contact &amp;quot;Unmatched_Contacts&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; } # end finally&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; } # end if (!(Get-QADUser)&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; else {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## Set variables&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; $new_email = $contact.PrimarySMTPAddress&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## Generate Report prior to cleanup&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Get_Reports $user &amp;quot;Pre-Cleanup_Users&amp;quot;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; try {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## Remove contact so that the new email address can be set as the primary address for the user.&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Remove-QADObject -Identity $contact.name -Force&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## Process user accounts&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; $user | Set-QADUser -ObjectAttributes @{altRecipient=&amp;#39;&amp;#39;; msExchHomeServerName=&amp;#39;&amp;#39;; homeMDB=&amp;#39;&amp;#39;; targetAddress=&amp;quot;$new_email&amp;quot;}`&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Add-QADProxyAddress -Type &amp;quot;SMTP&amp;quot; -Address $new_email -Primary ` &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Remove-QADProxyAddress -Pattern &amp;quot;*@oldemail1.com&amp;quot;`&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Remove-QADProxyAddress -Pattern &amp;quot;*@oldemail2.com&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; } catch [System.OutOfMemoryException] {&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Warning &amp;quot;Out of RAM&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; $errorTime = Get-Date -UFormat &amp;quot;%d-%m-%d-%Y_%H%M&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Host &amp;quot;Memory Error:&amp;quot; $errorTime | Out-File &amp;quot;$report_path\Function_Report_$timeStamp.txt&amp;quot; -Append&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Throw &amp;quot;Memory Error&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; } catch {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Warning &amp;quot;Error moving user&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Get_Reports $user &amp;quot;Error_Users&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; &amp;nbsp; } finally {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## Generate report after user changes have been applied&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; Get-QADUser $user.Name | % {Get_Reports $_ &amp;quot;Post-Cleanup_Users&amp;quot;}&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; &amp;nbsp; } # end finally&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; } # end else&lt;/p&gt;
&lt;p class="p1"&gt;} # end function Process_Users&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## Function to create pop-up message(s) with information about the script and initiate the rest of the functions if the user chooses to do so.&lt;/p&gt;
&lt;p class="p1"&gt;function Notifications {&lt;/p&gt;
&lt;p class="p1"&gt;$script_description = &amp;quot;This script will go through Active Directory and match ... {script description}.&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;Do you wish to proceed?&amp;quot;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; $a = New-Object -ComObject wscript.shell&lt;/p&gt;
&lt;p class="p1"&gt;$proceed = $a.popup($script_description,0,&amp;quot;Script Description&amp;quot;,4)&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; if ($proceed -eq 6) {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; ## Answered &amp;quot;Yes&amp;quot;, proceed with script&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; Write-Host &amp;quot;YES&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; Write-Host &amp;quot;Processing Contacts and Users&amp;quot;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; ## Process users&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; Get-QADObject @contact_splat | %{Get_Reports $_ &amp;quot;Contacts&amp;quot;} | % {Process_Users $_}&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; Invoke-Item $report_path&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; } # end if&lt;/p&gt;
&lt;p class="p1"&gt;else {&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; ## Answered &amp;quot;NO&amp;quot; exit script.&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; Write-Host &amp;quot;*** Exiting Script ***&amp;quot;&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp; } # end else &amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;} # end function Notifications&lt;/p&gt;
&lt;p class="p1"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p1"&gt;## Run the notification and give the user an option to terminate program before executing.&lt;/p&gt;
&lt;p class="p1"&gt;Notifications&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Exporting User Objects to a CSV file ready for importing again?</title><link>http://powershell.com/cs/forums/thread/22251.aspx</link><pubDate>Tue, 19 Mar 2013 21:21:48 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22251</guid><dc:creator>Swatto</dc:creator><slash:comments>4</slash:comments><comments>http://powershell.com/cs/forums/thread/22251.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22251</wfw:commentRss><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I am extremely new to powershell but I am working on a script to export user objects from AD - effectively taking a backup of them and then I would like to be able to restore them using csvde or something from the CSV.&amp;nbsp; The trouble is the export-csv puts all stuff about activeroles server etc in it and my csvde command does not work when importing the CSV file.&amp;nbsp; Please can you provide assistance as to why this occurs? I can only think the Export-CSV command is doing something &amp;#39;clever&amp;#39; with the user object.&lt;/p&gt;
&lt;p&gt;My Code:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Add-PSSnapin quest.activeroles.admanagement | Out-Null&lt;br /&gt;Connect-QADService | Out-Null&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;$Users = Get-QADUser -SearchRoot &amp;#39;OU=SwattosUsers,DC=swatto,DC=home&amp;#39; -Sizelimit 0&lt;br /&gt;foreach ($User in $Users)&lt;br /&gt;{&lt;br /&gt;$Username = $User.sAMAccountName&lt;br /&gt;$Date = Get-Date -f dd.MM.yy_hh.mm.ss&lt;br /&gt;[string]$Foldername = &amp;quot;$Username.$Date&amp;quot;&lt;br /&gt;New-Item -Path c:\ArchivedUsers -ItemType Directory -Name $Foldername | Out-Null&lt;br /&gt;$User | export-CSV &amp;quot;c:\ArchivedUsers\$Foldername\$Username.csv&amp;quot; -NoTypeInformation&lt;br /&gt;}&lt;br /&gt;Read-Host&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thanks for any help you can provide&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Exporting ouput</title><link>http://powershell.com/cs/forums/thread/22232.aspx</link><pubDate>Tue, 19 Mar 2013 15:58:30 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22232</guid><dc:creator>rishi.vohra</dc:creator><slash:comments>7</slash:comments><comments>http://powershell.com/cs/forums/thread/22232.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22232</wfw:commentRss><description>&lt;p&gt;Dear All,&lt;/p&gt;
&lt;p&gt;I have this script which gathers inactive computer objects since last 90 days&lt;/p&gt;
&lt;p&gt;How can I extact this on to a csv file? Not sure what other code will be added&lt;/p&gt;
&lt;p&gt;here&amp;#39;s my script-&lt;/p&gt;
&lt;p&gt;----------------------------&lt;/p&gt;
&lt;p&gt;# SCRIPT INFORMATION&lt;/p&gt;
&lt;p&gt;# NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;:&amp;nbsp;InactiveComputerObjects.ps1&lt;br /&gt;# VERSION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;:&amp;nbsp;1.0&lt;br /&gt;# DESCRIPTION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;Finds all computer objects in Active Directory that have not been used since X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; number of days &lt;br /&gt;# Complany&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;HCL &lt;br /&gt;# Last Modified&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03/13/2013&lt;br /&gt;# Last Modified by&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rishi Vohra (&lt;a href="mailto:rishiv@hcl.com"&gt;rishiv@hcl.com&lt;/a&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function FindComputers( [int]$AgeThreshold, [string]$SearchBase ) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImportModule &amp;quot;activedirectory&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $CurrentTimeZone = GetCurrentTimeZone $true &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $DateNow = Get-Date #Time and date in local timezone &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $DateNowUtc = [System.DateTime]::UtcNow #Convert to UTC time &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $DateFilter = $DateNowUtc.AddDays(-$AgeThreshold) #Subtract specified days &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $DateFilterFileTime = $DateFilter.ToFileTime() # Generate the filter date in Windows ticks since 12:00 midnight January 1, 1601 C.E. UTC. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;Current time is $DateNow $CurrentTimeZone.&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;Current UTC time is $DateNowUtc. This is the base for all further calculations against Active Directory.&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;$AgeThreshold days has been set as threshold for the criteria ($DateNowUtc - $AgeThreshold = $DateFilter).&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;Computer objects with attribute `&amp;quot;lastLogonTimestamp`&amp;quot; greater than or equal to $DateFilter will meet criteria.&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Build LDAP filter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $LdapFilter = &amp;quot;(lastLogonTimestamp&amp;lt;=$DateFilterFileTime)&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Build SearchBase &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ($SearchBase -eq &amp;quot;&amp;quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $SearchBase = GetDefaultNamingContext &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;Active Directory connection details:`n `t Search filter = $LdapFilter `n `t SearchBase = $SearchBase&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;Performing query...&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Query Active Directory for objects that meets date criteria &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Computers = Get-ADComputer -LDAPFilter $LdapFilter -SearchBase $SearchBase -Properties lastLogonTimestamp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($Computers -is [object]) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($computer in $Computers) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Handle each computer object that meets criteria &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ComputerDate = [System.DateTime]::FromFileTimeUtc($computer.lastLogonTimestamp) #Convert data to human readable format, UTC time. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;$computer, $ComputerDate&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output &amp;quot;No matching records found.&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;} &lt;br /&gt;&amp;nbsp;&lt;br /&gt;Function ImportModule([string]$ModuleName) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Imports a module if it is not loaded in the current session &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Usage: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImportModule &amp;quot;&amp;lt;modulename&amp;gt;&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Example: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImportModule &amp;quot;activedirectory&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [bool]$ModuleIsLoaded = $False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $LoadedModules = Get-Module | Select Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ($LoadedModules -is [object]) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #One or more modules are loaded &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForEach ($Module in $LoadedModules) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ModuleLower = $Module.Name.ToLower() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ($ModuleLower -eq $ModuleName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #The module we are searching for is already imported. Create flag. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ModuleIsLoaded = $True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ($ModuleIsLoaded -eq $False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Some modules currently imported but not $ModuleName. Let&amp;#39;s import it. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Import-Module $ModuleName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #No modules currently imported. Let&amp;#39;s import it. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Import-Module $ModuleName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;} &lt;br /&gt;&amp;nbsp;&lt;br /&gt;Function GetDefaultNamingContext() &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Returns the Default Naming Context in the current domain as System.DirectoryServices.PropertyValueCollection. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Example of a Default Naming Context: &amp;quot;DC=bekaertcorp, DC=Local&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $dirEntry = [System.DirectoryServices.DirectoryEntry](&amp;quot;&lt;a&gt;LDAP://RootDSE&lt;/a&gt;&amp;quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $dnc = $dirEntry.defaultNamingContext &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $dnc &lt;br /&gt;} &lt;br /&gt;&amp;nbsp;&lt;br /&gt;Function GetCurrentTimeZone([bool]$ShortenDisplayName) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Returns the DisplayName or short DisplayName of current timezone as string. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Example of a DisplayName: (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Example of a short DisplayName: (UTC+01:00) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Input: $TRUE or $FALSE &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # $TRUE returns a shortened DisplayName while $FALSE returns the full DisplayName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $TimeZone = [System.TimeZoneInfo]::Local &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $TimeZoneName = $TimeZone.DisplayName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $TimeZoneShortName = $TimeZoneName.Substring(0,$TimeZoneName.IndexOf(&amp;quot;)&amp;quot;)+1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ($ShortenDisplayName -eq $FALSE) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return $TimeZoneName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return $TimeZoneShortName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;} &lt;br /&gt;&amp;nbsp;&lt;br /&gt;Function Output([string]$textline) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $textline &lt;br /&gt;} &lt;br /&gt;&amp;nbsp;&lt;br /&gt;# Script configuration &lt;br /&gt;# Fill in the details below. &lt;br /&gt;#-------------------------- &lt;br /&gt;[int]$NumberOfDays = 90 &lt;br /&gt;[string]$SearchRoot = &amp;quot;&amp;quot; &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;FindComputers $NumberOfDays $SearchRoot #Start script&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Need IP address and Mac address and Names of all printers connected to domain</title><link>http://powershell.com/cs/forums/thread/22228.aspx</link><pubDate>Tue, 19 Mar 2013 13:43:36 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22228</guid><dc:creator>rishi.vohra</dc:creator><slash:comments>29</slash:comments><comments>http://powershell.com/cs/forums/thread/22228.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22228</wfw:commentRss><description>&lt;p&gt;Dear all,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am trying to get a script which can fetch Names + IP + Mac addess of all the printers connected to Domain&lt;/p&gt;
&lt;p&gt;we have 1600 Printers and 80 sites&lt;/p&gt;
&lt;p&gt;I have got hold of few but I need to do the modification everytime and change the servername&lt;/p&gt;
&lt;p&gt;Is there any possbile solution?&lt;/p&gt;
&lt;p&gt;I am very new to scripting and very much interested in keeping this handy&lt;/p&gt;
&lt;p&gt;This comes as a gentle request&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>An ADSI interface and Method question.</title><link>http://powershell.com/cs/forums/thread/22268.aspx</link><pubDate>Wed, 20 Mar 2013 13:20:23 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22268</guid><dc:creator>EBrant</dc:creator><slash:comments>7</slash:comments><comments>http://powershell.com/cs/forums/thread/22268.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=197&amp;PostID=22268</wfw:commentRss><description>&lt;p&gt;Hello All&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Hello&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Can someone please help me with the following question? In some respects it is a little unusual and quirky.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;I understand what went wrong and how to fix it, but there is an element I am a bit unclear on (the interesting bit),&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;I have a hunch but not certain, help most appreciated.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I am dealing with Microsoft Active Directory and the [ADSI] DirectoryServices.DirectoryEntry and [ADSISEARCHER] DirectoryServices.DirectorySearcher interfaces to AD.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Now let&amp;rsquo;s say I have&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;AD Domain called MyDomain.net&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Three OU&amp;rsquo;s called under MyDoamin (Windows 2003 R2)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;OU1 &lt;br /&gt;OU2&lt;br /&gt;Groups&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Under OU1 there are two users&lt;br /&gt;User1&lt;br /&gt;User2&lt;br /&gt;&lt;br /&gt;Under OU2 there are two users&lt;br /&gt;User3&lt;br /&gt;User4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Under the Groups OU there are two three groups&lt;br /&gt;Group1&lt;br /&gt;Group2&lt;br /&gt;Group3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Now let&amp;rsquo;s say the following users are members of the following groups&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Group1 members &lt;br /&gt;User1 under OU1&lt;br /&gt;User2 under OU1&lt;br /&gt;User3 under OU2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Therefore the key here is that User3 under OU2 is a member of Group1 alongside Users1 and 2 from OU1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Now I want to remove any users from Group1 &amp;ldquo;as long as the user is under OU1 and no other OU&amp;rdquo;, therefore the result should be that Group1 ends up with just User3.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I realise I can do this with the Quest AD cmdlets, but I want to focus on how I initially did it using [ADSI] why it went wrong and how I resolved it, and therein my question (coming later).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;So my initial code was &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$OU&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://OU=OU1,DC=MyDomain,DC=net&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$ObjectType&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;(&amp;amp;(objectCategory=Person)(objectClass=User))&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; [&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008080;font-size:10pt;"&gt;DirectoryServices.DirectorySearcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;]&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.SearchRoot&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$OU&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;Filter&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$ObjectType&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Users&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.FindAll()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;in&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Users&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;) {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupNames&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.PSBase.Properties.memberof | &lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#5f9ea0;font-size:10pt;"&gt;where&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$_&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;-match&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;CN=Group1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;})&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupName&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;in&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupNames&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;) {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.PSBase.Properties.memberof | &lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#5f9ea0;font-size:10pt;"&gt;where&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$_&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;-match&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;CN=Group1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;}) &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupObj&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;=[&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008080;font-size:10pt;"&gt;ADSI&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;]&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://$GroupName&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupObj&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.Remove(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://$user&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;First off, if you look at the result of $Users&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;It returns only the users accounts under OU1 as designed, i.e. it returns a collection of object of type &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;System.DirectoryServices.SearchResult which I know are cut down objects and if you want the actual object you need to use the GetDirectoryEntry() method, but I will come to this later.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;If I run the above script the result will be that all users (including User3 under OU2) will be removed from the group, and not just the collection of users I am working on in the foreach loop i.e. &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$user&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Users&lt;/span&gt;&lt;span style="color:#000000;"&gt;) as we know $Users only contains search results from users under OU1, so I am thinking why did it process a user (user3) under OU2 when it was not even in the collection of $Users.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;So I am thinking perhaps the following line &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;&lt;br /&gt;$GroupObj&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.Remove(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://$user&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;br /&gt;i.e. the $User part is acting on the Class &amp;lsquo;user&amp;rsquo; rather than the particular instance of the class e.g. the user in question under OU1 which is why it removed all users. However I do not see why as the LDAP://$user should pick out and attach to a particular instance as each instance of $user represents a specific user in my collection&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;So then I take a closer look at $user it returns the following to the console&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;Path&lt;br /&gt;----&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;LDAP://CN=User1,OU=OU1,DC=mydomain,DC=net&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;br /&gt;Properties&lt;br /&gt;----------&lt;br /&gt;{blah blah }&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Path&lt;br /&gt;----&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;LDAP://CN=User2,OU=OU1,DC=mydomain,DC=net&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;Properties&lt;br /&gt;----------&lt;br /&gt;{blah blah }&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;That looks OK, &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;again no mention at all of User3 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;So then I do the following&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$OU&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://OU=Users,OU=OU1,DC=MyDomain,DC=net&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$ObjectType&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;(&amp;amp;(objectCategory=Person)(objectClass=User))&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; [&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008080;font-size:10pt;"&gt;DirectoryServices.DirectorySearcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;]&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.SearchRoot&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$OU&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;Filter&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$ObjectType&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Users&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Searcher&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#8b4513;font-size:10pt;"&gt;FindAll&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;in&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$Users&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;) {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupNames&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.PSBase.Properties.memberof | &lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#5f9ea0;font-size:10pt;"&gt;where&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$_&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;-match&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;CN=Group1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;})&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupName&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;in&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupNames&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;) {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; (&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.PSBase.Properties.memberof | &lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#5f9ea0;font-size:10pt;"&gt;where&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$_&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;-match&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;CN=Group1&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;}) &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$UserObj&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;font-size:10pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$user&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; | &lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#5f9ea0;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$_&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.GetDirectoryEntry()} | &lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#5f9ea0;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$_&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.distinguishedName&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupObj&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;=[&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008080;font-size:10pt;"&gt;ADSI&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;]&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://$GroupName&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupObj&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.Remove(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;LDAP://$UserObj&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;This time the script works as expected and only removes Users under OU1 (User1 and User1) from Group1 and not users under OU2 (User3).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I realise with the second example I am getting the actual user object (as opposed to a cut down searcher result) from AD with the GetDirectoryEntry() method, but I did not think this was necessary; &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;as event before invoking the GetDirectoryEntry() method each $user only represents one user and always under OU1 (event if is only a &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;System.DirectoryServices.SearchResult object)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Perhaps without using GetDirectoryEntry() the following might work&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#800080;font-size:10pt;"&gt;$GroupObj&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;.Remove(&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&amp;quot;$($User.path)&amp;quot;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:10pt;"&gt;)&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#800000;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Not tested that one yet.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Any advice on the mechanics of the above and how/why in the first example all users are remove from the group would be most welcome.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Thanks&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Ernie&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>