<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/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>Just do I(nformation)T(echnology) : command line</title><link>http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx</link><description>Tags: command line</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Gratis Powershell E-Book</title><link>http://blogs.technet.com/mpriem/archive/2009/03/20/gratis-powershell-e-book.aspx</link><pubDate>Fri, 20 Mar 2009 18:01:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3215739</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3215739.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3215739</wfw:commentRss><description>&lt;p&gt;PowerShell MVP en PowerShell blogger &lt;a href="http://keithhill.spaces.live.com/default.aspx"&gt;Keith Hill&lt;/a&gt; heeft een verzameling van zijn artikelen samengevoegd tot een gratis Ebook. Deze is te vinden op: &lt;a href="http://keithhill.spaces.live.com/blog/cns!5A8D2641E0963A97!6930.entry"&gt;http://keithhill.spaces.live.com/blog/cns!5A8D2641E0963A97!6930.entry&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Veel plezier ermee!&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3215739" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Logparser en Windows 2008 eventlogs</title><link>http://blogs.technet.com/mpriem/archive/2008/09/17/logparser-en-windows-2008-eventlogs.aspx</link><pubDate>Wed, 17 Sep 2008 22:06:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3211136</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3211136.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3211136</wfw:commentRss><description>&lt;P&gt;Logparser is een geweldige tool om van allerlei soorten logs te parsen. Een van de meestgebruikte logs die ik vaak parse met logparser zijn de eventlogs. In Windows Server 2008 zijn er echter wat extra type logs bijgekomen en logparser is nog niet herschreven om hier mee om te gaan. Logparser zoek namelijk in de query string naar keywords als Application of System, maar kan met logs als "Internet Explorer" of "Kernel-Power" uit de Applications and Services sectie van de eventviewer nog niet omgaan.&lt;/P&gt;
&lt;P&gt;Nu is er uiteraard een workarround...&lt;/P&gt;
&lt;P&gt;Je kan namelijk het pad naar de fysieke bestanden opgeven en deze als file parsen. Dit gaat als volgt:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;logparser.exe -i:EVT "Select Count(*)&amp;nbsp;from c:\windows\system32\winevt\logs\Microsoft-Windows-Kernel-Power%4Thermal-Operational.evtx&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Nu is er echter een probleem met 64 bits versies van de OSen... Deze gebruikt namelijk een 'File System Redirector for WOW64' feature die bepaalde filesystem en registry calls afvangt en redirect naar andere folders op het filesysteem. Dit zit logparser in de weg, waardoor deze het pad nooit kan vinden. Hier is echter een oplossing&amp;nbsp; voor. Daar moet je het volgende voor gebruiken:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;logparser.exe -i:EVT "Select Count(*)&amp;nbsp;from c:\windows\sysnative\winevt\logs\Microsoft-Windows-Kernel-Power%4Thermal-Operational.evtx&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Meer over SysNative: &lt;A href="http://msdn.microsoft.com/en-us/library/aa384187(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa384187(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa384187(VS.85).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Enjoy!!!!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3211136" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Logs/default.aspx">Logs</category></item><item><title>Windows Server 2008 - Server Core</title><link>http://blogs.technet.com/mpriem/archive/2007/12/11/windows-server-2008-server-core.aspx</link><pubDate>Tue, 11 Dec 2007 18:29:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127266</guid><dc:creator>mpriem</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127266.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127266</wfw:commentRss><description>&lt;P&gt;&lt;A title="2008 install 1" href="http://www.spurius.nl/wp-content/uploads/2007/12/1.JPG" mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/1.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install" href="http://www.spurius.nl/wp-content/uploads/2007/12/1.JPG" mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/1.JPG"&gt;&lt;/A&gt;Met de release van Windows Server 2008 in het vooruitzicht, wordt het tijd wat meer te weten te komen over dit nieuwe OS. 1 van de belangrijkste wijzigingen in het OS is de mogelijkheid een minimale versie te installeren. En met minimaal, bedoel ik ook echt minimaal. Nagenoeg alles wat eruit gehaald kon worden is eruit gehaald. Zo heb je geen MMC, geen .NET framework, geen explorer met fancy GUI en de enige bureau accessoire is notepad, welke initieel ook niet beschikbaar was, maar onder druk van de betatesters is toegevoegd.&lt;BR&gt;Na installatie van de Server core is het de bedoeling dat er een rol of 'feature' geinstalleerd wordt. Dit artikel zal de installatie van een Server Core Domain Controller behandelen.&lt;/P&gt;
&lt;P&gt;&lt;IMG class=mce_plugin_wordpress_more title=More... height=10 alt=More... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_more moretext=""&gt;&lt;BR&gt;Server Core ondersteunt de installatie van de volgende rollen:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;DHCP&lt;/LI&gt;
&lt;LI&gt;File Server&lt;/LI&gt;
&lt;LI&gt;DNS&lt;/LI&gt;
&lt;LI&gt;Active Directory&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Naast deze rollen kunnen de volgende 'features' geinstalleerd worden.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft Failover Cluster&lt;/LI&gt;
&lt;LI&gt;Network Load Balancing&lt;/LI&gt;
&lt;LI&gt;Subsystem for UNIX-based applications&lt;/LI&gt;
&lt;LI&gt;Backup&lt;/LI&gt;
&lt;LI&gt;Multipath IO&lt;/LI&gt;
&lt;LI&gt;Removable Storage Management&lt;/LI&gt;
&lt;LI&gt;Bitlocker Drive Encryption&lt;/LI&gt;
&lt;LI&gt;Simple Network Management Protocol (SNMP)&lt;/LI&gt;
&lt;LI&gt;WINS&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Installatie van deze extra rollen en features kunnen worden uitgevoerd door gebruik te maken van &lt;A href="http://technet2.microsoft.com/WindowsVista/en/library/9a9fe5ed-5cfb-47f0-99e3-af4ef1442ee71033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/WindowsVista/en/library/9a9fe5ed-5cfb-47f0-99e3-af4ef1442ee71033.mspx?mfr=true"&gt;OCSETUP&lt;/A&gt;, een van de commandline utilities die gebruikt dienen te worden om de server te configureren. Dit geldt voor alle rollen en features, behalve voor de Domain Controller rol. Deze dient, als vanouds, geinstalleerd te worden door DCPROMO in unattend mode te draaien. Voordat ik dat behandel zal ik eerst ingaan op de installatie van Server Core zelf.&lt;/P&gt;
&lt;P&gt;Voor de installatie maak ik gebruik van Release Candidate 1 van Windows Server 2o08 in Virtual PC 2007. Deze is te downloaden via MSDN. Onderstaand "stripverhaal"&amp;nbsp;toont de installatie.&lt;/P&gt;
&lt;P&gt;&lt;A title="2008 install" href="http://www.spurius.nl/wp-content/uploads/2007/12/01.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/01.JPG"&gt;&lt;IMG alt="2008 install" src="http://www.spurius.nl/wp-content/uploads/2007/12/01.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/01.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install" href="http://www.spurius.nl/wp-content/uploads/2007/12/1.JPG" mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/1.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install 2" href="http://www.spurius.nl/wp-content/uploads/2007/12/2.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/2.JPG"&gt;&lt;IMG alt="2008 install 2" src="http://www.spurius.nl/wp-content/uploads/2007/12/2.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/2.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install 3" href="http://www.spurius.nl/wp-content/uploads/2007/12/3.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/3.JPG"&gt;&lt;IMG alt="2008 install 3" src="http://www.spurius.nl/wp-content/uploads/2007/12/3.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/3.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install 4" href="http://www.spurius.nl/wp-content/uploads/2007/12/4.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/4.JPG"&gt;&lt;IMG alt="2008 install 4" src="http://www.spurius.nl/wp-content/uploads/2007/12/4.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/4.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install 5" href="http://www.spurius.nl/wp-content/uploads/2007/12/5.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/5.JPG"&gt;&lt;IMG alt="2008 install 5" src="http://www.spurius.nl/wp-content/uploads/2007/12/5.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/5.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="2008 install 6" href="http://www.spurius.nl/wp-content/uploads/2007/12/6.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/6.JPG"&gt;&lt;IMG alt="2008 install 6" src="http://www.spurius.nl/wp-content/uploads/2007/12/6.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/6.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="Install 2008 7" href="http://www.spurius.nl/wp-content/uploads/2007/12/7.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/7.JPG"&gt;&lt;IMG alt="Install 2008 7" src="http://www.spurius.nl/wp-content/uploads/2007/12/7.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/7.thumbnail.JPG"&gt;&lt;/A&gt;&lt;A title="Install 2008 8" href="http://www.spurius.nl/wp-content/uploads/2007/12/8.JPG" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/8.JPG"&gt;&lt;IMG alt="Install 2008 8" src="http://www.spurius.nl/wp-content/uploads/2007/12/8.thumbnail.JPG" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/8.thumbnail.JPG"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;De installatie is nu voltooit. Nu rest de configuratie en de installatie van de DC rol.&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_page title=...page... height=10 alt=...page... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_page&gt;&lt;/P&gt;
&lt;P&gt;Om de server core te configureren heeft Microsoft een verzameling tools meegelevert, welke niet allemaal even charmant zijn en zeker ook niet erg consistent in syntax. Zo dien je bijvoorbeeld Remote Desktop en Automatic Updates te configureren via een vbscript. Ik persoonlijk vind dat een beetje goedkoop. Het had best een gewone binary kunnen zijn. Ook het feit dat de ene tool de parameters scheidt met een slash en de andere met een minteken, vind ik typerend voor een systeem wat afgeraffelt is en niet iets wat in een nieuw OS zou moeten zitten. Maar goed, we moeten het er nu mee doen.&lt;BR&gt;Het kost te veel tijd om op elke setting in te gaan, maar de volgende settings zorgen voor een redelijk bruikbaar systeem. We beginnen met de configuratie van het netwerk. Hiervoor gebruiken we &lt;A href="http://technet2.microsoft.com/WindowsServer/nl/Library/61427fbd-de1f-4c8a-b613-321f7a3cca6a1043.mspx" target=_blank mce_href="http://technet2.microsoft.com/WindowsServer/nl/Library/61427fbd-de1f-4c8a-b613-321f7a3cca6a1043.mspx"&gt;NETSH&lt;/A&gt;. Het instellen van een ip address, default gateway en dns server voor een interface met naam 2 gaat als volgt:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;netsh interface ipv4 add address name=2 address=192.168.1.100/24 gateway=192.168.1.1&lt;BR&gt;netsh interface ipv4 add dnsserver name=2 address=80.80.80.2&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Vervang dus de name door de interface naam, bijv: "Local Area Connection". De rest&amp;nbsp;spreekt voor zich :)&amp;nbsp;&lt;/P&gt;
&lt;P&gt;De computernaam is te wijzigen met &lt;CODE&gt;netdom renamecomputer %computername% /newName:DC1&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Nu de netwerkinstellingen goed staan is het tijd services als Remote Shell en Remote Desktop te activeren. Ook het OS moet nog geactiveerd worden. Windows Remote Shell activeer je door &lt;CODE&gt;WinRM QuickConfig&lt;/CODE&gt;. Hierna is de server op afstand te beheren door &lt;CODE&gt;WinRS -r:&lt;SERVERNAAM&gt;&lt;/SERVERNAAM&gt;&lt;/CODE&gt;. Remote Desktop en Automatic Updates zijn te configureren met het script SCregEdit.wsf. Gebruik het met de /? optie om alle mogelijkheden te zien. Voor het activeren van Remote Desktop gebruik je &lt;CODE&gt;cscript %systemroot%\System32\SCregEdit.wsf /AR 0&lt;/CODE&gt; en voor Updates gebruik je &lt;CODE&gt;cscript %systemroot%\System32\SCregEdit.wsf /AU 4&lt;/CODE&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A title="2008 config" href="http://www.spurius.nl/wp-content/uploads/2007/12/12.jpg" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/12.jpg"&gt;&lt;IMG class=alignleft alt="2008 config" src="http://www.spurius.nl/wp-content/uploads/2007/12/12.thumbnail.jpg" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/12.thumbnail.jpg"&gt;&lt;/A&gt;&lt;BR&gt;Last, but not least, moet het product nog geactiveerd worden. Dit doe je door slmgr.vbs uit te voeren. Het weergeven van de huidige licentiestatus is &lt;CODE&gt;cscript slmgr.vbs -dli&lt;/CODE&gt;. Het activeren gaat met &lt;CODE&gt;cscript slmgr.vbs -ato&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Nu kan het zijn dat de&amp;nbsp;build die je gebruikt vereist dat je een Key Management Services (KMS) Server beschikbaar hebt om je OS te activeren. Je kan dan proberen dit te omzeilen door de preinstalled key te vervangen met je eigen key, waarna je opnieuw probeert te activeren.&amp;nbsp;Het wijzigen van de key&amp;nbsp;gaat als volgt:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;cscript.exe slmgr.vbs -ipk ABCDE-FGHIJ-KLMNO-PQRST-UVWXY &lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG class=mce_plugin_wordpress_more title=More... height=10 alt=More... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_more moretext=""&gt;&lt;BR&gt;Nu de server de benodigde basisinstellingen heeft, kan de DC rol erop gezet worden. In Windows Server 2008 is er nu onderscheid tussen schrijfbare en read-only domain controllers. Beide typen kunnen geinstalleerd worden op een Server Core installatie. Zoals eerder gemeld, moet Windows Server 2008 net als voorheen gepromoveert worden tot Domain Controller door gebruik te maken van DCpromo in unattended mode te draaien. Dit kan via &lt;A href="http://technet2.microsoft.com/windowsserver2008/en/library/a68eae0d-ec73-4792-9e51-65167c76a4841033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/windowsserver2008/en/library/a68eae0d-ec73-4792-9e51-65167c76a4841033.mspx?mfr=true"&gt;commandlineparameters&lt;/A&gt; of via een text file. De unattend text file heeft een bepaalde syntax zoals &lt;A href="http://technet2.microsoft.com/windowsserver2008/en/library/d2521765-9e7b-44b6-9021-496908f4b9521033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/windowsserver2008/en/library/d2521765-9e7b-44b6-9021-496908f4b9521033.mspx?mfr=true"&gt;HIER&lt;/A&gt; en &lt;A href="http://technet2.microsoft.com/windowsserver2008/en/library/d2521765-9e7b-44b6-9021-496908f4b9521033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/windowsserver2008/en/library/d2521765-9e7b-44b6-9021-496908f4b9521033.mspx?mfr=true"&gt;HIER&lt;/A&gt; staat uitgelegd.&lt;BR&gt;&lt;A title=DCPROMO href="http://www.spurius.nl/wp-content/uploads/2007/12/16.jpg" rel=thumbnail mce_href="http://www.spurius.nl/wp-content/uploads/2007/12/16.jpg"&gt;&lt;IMG class=alignleft alt=DCPROMO src="http://www.spurius.nl/wp-content/uploads/2007/12/16.thumbnail.jpg" mce_src="http://www.spurius.nl/wp-content/uploads/2007/12/16.thumbnail.jpg"&gt;&lt;/A&gt;&lt;BR&gt;Om ADS te installeren inclusief DNS voor een nieuw Forest in Windows 2008 operational level, kan je volstaan met het volgende commando:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;dcpromo /unattend /InstallDns:yes /dnsOnNetwork:yes&lt;BR&gt;/replicaOrNewDomain:domain /newDomain:forest&lt;BR&gt;/newDomainDnsName:test.local /DomainNetbiosName:TEST&lt;BR&gt;/safeModeAdminPassword:FH#3573.cK /forestLevel:3&lt;BR&gt;/domainLevel:3 /rebootOnCompletion:yes&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Na afloop heb je een functionele Server Core writable Domain Controller...&lt;/P&gt;
&lt;P&gt;Enjoy :)&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127266" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/cmd/default.aspx">cmd</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Server+Core/default.aspx">Server Core</category></item><item><title>Mailbox verhuizen met EMS &amp; EMC</title><link>http://blogs.technet.com/mpriem/archive/2007/11/29/mailbox-verhuizen-met-ems-emc.aspx</link><pubDate>Thu, 29 Nov 2007 18:26:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127260</guid><dc:creator>mpriem</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127260.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127260</wfw:commentRss><description>&lt;P&gt;Mailboxen verhuizen is een van die taken die geregeld gedaan worden binnen een Exchange organisatie, maar hoe werkt het precies in Exchange 2007?&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_more title=More... height=10 alt=More... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_more moretext="" mce_src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif"&gt;&lt;BR&gt;In tegenstelling tot Exchange 2003 hebben we nu de mogelijkheid om naast de GUI ook gebruik te maken van een commandline interface, in de vorm van het Move-Mailbox cmdlet. Dit stelt ons in staat op basis van filters source en destination te bepalen. Een leuk voorbeeld is het volgende:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;$db = (Get-ExchangeServer | get-MailboxStatistics | Sort-Object Count | Select-Object Name)[0]&lt;BR&gt;Get-User | ?{$_.City -eq "Zoetermeer"} | Move-Mailbox -TargetDatabase $db&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Deze regels code verplaatsen alle mailboxen van gebruikers uit Zoetermeer naar de database met de minste mailboxen.&lt;/P&gt;
&lt;P&gt;Naast de toevoeging van de shell heeft de move mailbox wizzard in de console een opknapbeurt gekregen. Het schijnt ook dat de achterliggende code beter geintegreerd is met de servercode, dus laten we dat maar aannemen. Wat in ieder geval wel aantoonbaar gewijzigd is zijn de pre-move checks. Voordat een mailbox verhuist wordt werden zaken als rechten en het mailboxtype (wel of geen system mailbox) in Exchange 2000+ ook al gechecked. Wat er nu ook nog gechecked wordt is of de properties van de mailbox ook nog kloppen. Dit zijn checks waar ik eerder ook al aandacht aan heb besteed. De methode Validate() op het mailboxobject wordt aangeroepen en checkt of bijv. de alias geen spaties bevat en of het mail attribute hetzelfde is als het primary proxy address. Voldoet de mailbox niet, vindt er geen move plaats.&lt;BR&gt;Voldoet hij wel, wordt er een MAPI sessie opgezet naar zowel de source als de destination server. De source mailbox wordt getagged met een PR_IN_TRANSIT flag, waarna op de destination server de nieuwe mailbox aangemaakt wordt, ook getagged met de PR_IN_TRANSIT tag. De PR_IN_TRANSIT flag zorgt ervoor dat de mailbox in een soort read-only status terecht komt, wat clients en Exchange weerhoudt wijzigingen te maken op de mailbox. Client wijzigingen worden in het geheugen gemaakt en nieuwe email wordt gequeued. De move vindt plaats door de mailbox als 1 stream te verplaatsen. Tijdens de move worden MAPI berichten gecontroleerd op corruptie en een counter bijgehouden. Het move-process zal proberen corrupte items te repareren, maar zal nooit een corrupt item opslaan in de target mailbox. Vandaar dat het moven van een mailbox dus soms problemen met rules en dergelijke op kan lossen. Of een item wel of niet corrupt is wordt bepaald door de aanwezige MAPI attributen op het bericht te controleren. Voor een move kan je zelf aangeven hoeveel items maximaal corrupt mogen zijn. Als deze waarde overschreden wordt, zal de move ongedaan worden gemaakt. Als de mailbox eenmaal over is, worden de msExchHomeServerName, HomeMDB en HomeMTA properties aangepast op het user object. Het is aan te bevelen de wijzigingen te laten uitvoeren op een GC in de site waar de target Exchange server zich bevindt. De source Exchange server weet van de move en zal MAPI connecties voor de betreffende mailbox doorzetten naar de target Exchange server. Deze zal in AD controleren of de MAPI connectie voor hem bestemt is. Op deze manier zouden mailbox moves bijna seamless moeten zijn. Je kan door blijven werken met Outlook. Het kan echter zijn dat de Outlook vraagt de client te herstarten. Dit is meestal wanneer de client ook doorverwezen wordt naar een nieuwe default Public folder store.&lt;BR&gt;Nu dat de mailbox over is en de AD attributen zijn aangepast zal de source server de mailbox verwijderen en de target server de PR_IN_TRANSIT flag van de mailbox halen. De move is nu voltooit.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127260" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/Exchange+2007/default.aspx">Exchange 2007</category><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category></item><item><title>Powershell 2.0 CTP released</title><link>http://blogs.technet.com/mpriem/archive/2007/11/06/powershell-2-0-ctp-released.aspx</link><pubDate>Tue, 06 Nov 2007 18:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127250</guid><dc:creator>mpriem</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127250.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127250</wfw:commentRss><description>&lt;P&gt;Microsoft heeft een preview versie van Powershell 2.0 gereleased. Naast een lange lijst bugfixes, heeft deze versie ook redelijk wat nieuws onder de zon.&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_more title=More... height=10 alt=More... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_more moretext=""&gt;&lt;BR&gt;Zo zijn er 24 nieuwe cmdlets bij waarbij ik bijvoorbeeld 'Out-GridView' een geweldige vind. Dit geeft een array van soortgelijke objecten weer als een WinForm met een Datagrid control, waarna je de output kunt sorteren, groeperen en meer. Ik pik dit voorbeeld eruit omdat ik zelf ook een soortgelijk script bebruik, welke ooit geschreven is door Mark Van Orsouw (&lt;A href="http://thepowershellguy.com/blogs/posh/" mce_href="http://thepowershellguy.com/blogs/posh/"&gt;the Powershell Guy&lt;/A&gt;).. Een andere toevoeging 'Powershell Remoting' is, wat je in staat stelt een remote shell te benaderen en daar zaken uit te voeren; dit alles in een tabbed interface. Het grappige hieraan is dat 'Powershell Remoting' ook een project is op &lt;A href="http://www.codeplex.com/powershellremoting" mce_href="http://www.codeplex.com/powershellremoting"&gt;codeplex&lt;/A&gt;, wat ik al lange tijd volg en verdomt veel lijkt op waarmee Microsoft nu op de proppen komt. Ik durf de voorzichtige gok wel aan, dat Microsoft deze heren hebben ingelijft heeft om het powershell team bij te staan. De meest geweldige toevoeging vind ik toch wel dat je nu gemakkelijk een nieuwe cmdlet kan schrijven in powershell script. Eerst moest je het programmeren en compileren in .NET.&lt;BR&gt;Verder bevat deze build een aantal nieuwe API's die het ontwikkelaars makkelijker moet maken de Powershell engine in hun software te gebruiken. Meer hierover kan je vinden in de SDK, welke op dezelfde &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&amp;amp;DisplayLang=en"&gt;downloadpagina&lt;/A&gt; als de CTP zelf te vinden is.&lt;/P&gt;
&lt;P&gt;Let wel... Deze build is geen beta.. Het is een Community Technology Preview. Het kan dus nog alle kanten op. Ik heb wel voor de build de &lt;A title="Release Notes" href="http://www.spurius.nl/wp-content/uploads/2007/11/releasenotes.rtf" mce_href="http://www.spurius.nl/wp-content/uploads/2007/11/releasenotes.rtf"&gt;Release Notes&lt;/A&gt; beschikbaar&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127250" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/cmd/default.aspx">cmd</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Tail &amp; Head in Powershell</title><link>http://blogs.technet.com/mpriem/archive/2007/10/30/tail-head-in-powershell.aspx</link><pubDate>Tue, 30 Oct 2007 12:49:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127144</guid><dc:creator>mpriem</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127144.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127144</wfw:commentRss><description>&lt;P&gt;Al jaren verbaas ik me over het feit dat er geen Windows variant is van tail en head (tenminste geen standaard tool in Windows zelf).&lt;BR&gt;Nu eindelijk is het zover... Windows heeft tail functionaliteit zonder teveel moeite.. &lt;/P&gt;
&lt;P&gt;het werkt door handig gebruik te maken van get-content en select-object.&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;tail myfile.txt -l 100&lt;/CODE&gt; = &lt;CODE&gt;gc myfile.txt | select -last 10&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;head myfile.txt 10&lt;/CODE&gt; = &lt;CODE&gt;gc myfile.txt | select -first 10&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;tail -f myfile.txt &lt;/CODE&gt;= &lt;CODE&gt;gc myfile.txt -Wait&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Enjoy!!!&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127144" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Exchange command shell tips</title><link>http://blogs.technet.com/mpriem/archive/2007/05/11/exchange-command-shell-tips.aspx</link><pubDate>Fri, 11 May 2007 12:40:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127136</guid><dc:creator>mpriem</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127136.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127136</wfw:commentRss><description>&lt;P&gt;Voor wanneer je begint met het scripten voor Exchange 2007 wil ik je een aantal tips meegeven:&lt;/P&gt;
&lt;LI&gt;&lt;CODE&gt;quickref&lt;/CODE&gt; opent een hta met een korte beschijving van de meest gebruikte Exchange cmdlets&lt;/LI&gt;
&lt;P&gt;&lt;IMG class=mce_plugin_wordpress_more title=More... height=10 alt=More... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_more moretext="" mce_src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif"&gt;&lt;/P&gt;
&lt;LI&gt;Om scripts toe te laten staan, zul je de Execution policy moeten aanpassen. Om alle scripts toe te laten, gebruik je: 
&lt;P align=left&gt;&lt;CODE&gt;Set-ExecutionPolicy unrestricted&lt;/CODE&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;Exchange Scripts aanroepen bij een scheduled task gaat als volgt:&lt;BR&gt;
&lt;P align=left&gt;&lt;CODE&gt;PowerShell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\Bin\ExShell.Msc1" -Command ."scriptnaam.ps1"&lt;/CODE&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;Set-PSDebug -Trace 2 -Step &lt;/CODE&gt;zet je Exchange shell in debugmode, waardoor je het script stap voor stap kan doorlopen en ziet wat de status is van je variabelen.&lt;/LI&gt;
&lt;LI&gt;Om de scope binnen je shell van local domain naar forest te zetten, gebruik je:&lt;BR&gt;
&lt;P align=left&gt;&lt;CODE&gt;$AdminSessionADSettings.ViewEntireForest=$true&lt;/CODE&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;Om alle properties van een mailboxdatabase te kunnen zien, moet je &lt;CODE&gt;get-mailboxdatabase&lt;/CODE&gt; met de &lt;CODE&gt;-status&lt;/CODE&gt; parameter gebruiken. Wanneer je dit niet doet, zullen eigenschappen zoals de datetime van de laatste backup en de mount-status niet zichtbaar zijn&lt;/LI&gt;
&lt;LI&gt;Om ervoor te zorgen dat je variabelen eerst instantieert voor dat je ze vult gebruik je &lt;CODE&gt;Set-PSDebug -Strict&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;De locale directory van het script krijg je met 
&lt;P align=left&gt;&lt;CODE&gt;Split-path $MyInvocation.Mycommand.Definition&lt;/CODE&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;Als je snel leuke, simpele reports wilt maken, pipe je output dan naar Out-Html&lt;/LI&gt;
&lt;LI&gt;Je kan de Exchange shell alle wijzigingen binnen Exchange laten loggen door het volgende commande te draaien:&lt;BR&gt;
&lt;P align=left&gt;&lt;CODE&gt;Set-ItemProperty HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.Exchange.Management.PowerShell.Admin -Name LogpipelineExecutionDetails -value 1&lt;/CODE&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;Wanneer je in de GUI wijzigingen doet, krijg je vaak het bijhorende powershell commando te zien.&lt;/LI&gt;
&lt;LI&gt;In de setuplogs van Exchange zijn handige one-liners te vinden om een beetje gevoel te krijgen met de shell&lt;/LI&gt;
&lt;LI&gt;Eindig je commando's met -whatif om te zien wat er gebeurt zonder, dat het daadwerkelijk uitgevoerd wordt.&lt;/LI&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127136" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/Exchange+2007/default.aspx">Exchange 2007</category><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Handige one-liners</title><link>http://blogs.technet.com/mpriem/archive/2007/04/23/handige-one-liners.aspx</link><pubDate>Mon, 23 Apr 2007 12:20:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127118</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127118.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127118</wfw:commentRss><description>&lt;P&gt;Heel vaak heb ik een lijstjes moeten genereren van allerlei parameters m.b.t. Active Directory.. Meestal vergeet ik die commando's het moment dat ik ze gebruikt heb. Op de &lt;A href="http://blog.sapien.com/current/2006/11/28/command-line-one-liners.html" mce_href="http://blog.sapien.com/current/2006/11/28/command-line-one-liners.html"&gt;SAPIEN&lt;/A&gt; website vond ik een tijdje terug een zeer handige lijst met one-liners, gepost door Jeffery Hicks, die ik voor het gemak ook maar hieronder gepost heb: &lt;IMG class=mce_plugin_wordpress_more title=More... height=10 alt=More... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_more moretext=""&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;FSMO Roles&lt;/STRONG&gt;&lt;BR&gt;ntdsutilroles Connections "Connect to server %logonserver%" Quit "selectOperation Target" "List roles for conn server" Quit Quit Quit&lt;BR&gt;&lt;STRONG&gt;Domain Controllers&lt;/STRONG&gt;&lt;BR&gt;Nltest /dclist:%userdnsdomain%&lt;BR&gt;&lt;STRONG&gt;Domain Controller IP Configuration &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -domain %userdnsdomain% -o rdn') do psexec \\%i ipconfig /all&lt;BR&gt;&lt;STRONG&gt;Hotfix info&lt;BR&gt;&lt;/STRONG&gt;wmic qfe&lt;BR&gt;&lt;STRONG&gt;Stale computer accounts &lt;/STRONG&gt;&lt;BR&gt;dsquery computer domainroot -stalepwd 180 -limit 0&lt;BR&gt;&lt;STRONG&gt;Stale user accounts &lt;/STRONG&gt;&lt;BR&gt;dsquery user domainroot -stalepwd 180 -limit 0&lt;BR&gt;&lt;STRONG&gt;Disabled user accounts &lt;/STRONG&gt;&lt;BR&gt;dsquery user domainroot -disabled -limit 0&lt;BR&gt;&lt;STRONG&gt;AD Database disk usage &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -domain %userdnsdomain% -o rdn') do dir \\%i\admin$\ntds&lt;BR&gt;&lt;STRONG&gt;Global Catalog Servers from DNS &lt;/STRONG&gt;&lt;BR&gt;dnscmd %logonserver% /enumrecords %userdnsdomain% _tcp | find /i "3268"&lt;BR&gt;&lt;STRONG&gt;Global Catalog Servers from AD &lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=Configuration,DC=forestRootDomain" -filter "(&amp;amp;(objectCategory=nTDSDSA)(options:1.2.840.113556.1.4.803:=1))"&lt;BR&gt;&lt;STRONG&gt;Users with no logon script &lt;/STRONG&gt;&lt;BR&gt;dsquery * domainroot -filter"(&amp;amp;(objectCategory=Person)(objectClass=User)(!scriptPath=*))"-limit 0 -attr sAMAccountName sn givenName pwdLastSet distinguishedName&lt;BR&gt;&lt;STRONG&gt;User accounts with no pwd required &lt;/STRONG&gt;&lt;BR&gt;dsquery * domainroot -filter "(&amp;amp;(objectCategory=Person)(objectClass=User)(userAccountControl:1.2.840.113556.1.4.803:=32))"&lt;BR&gt;&lt;STRONG&gt;User accounts with no pwd expiry &lt;/STRONG&gt;&lt;BR&gt;dsquery * domainroot -filter"(&amp;amp;(objectCategory=Person)(objectClass=User)(userAccountControl:1.2.840.113556.1.4.803:=65536))"&lt;BR&gt;&lt;STRONG&gt;User accounts that are disabled &lt;/STRONG&gt;&lt;BR&gt;dsquery * domainroot -filter "(&amp;amp;(objectCategory=Person)(objectClass=User)(userAccountControl:1.2.840.113556.1.4.803:=2))"&lt;BR&gt;&lt;STRONG&gt;DNS Information &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -domain %userdnsdomain% -o rdn') do dnscmd %i /info&lt;BR&gt;&lt;STRONG&gt;DNS Zone Detailed information &lt;/STRONG&gt;&lt;BR&gt;dnscmd /zoneinfo %userdnsdomain%&lt;BR&gt;&lt;STRONG&gt;Garbage Collection and tombstone &lt;/STRONG&gt;&lt;BR&gt;dsquery * "cn=Directory Service,cn=WindowsNT,cn=Services,cn=Configuration,DC=forestRootDomain" -attrgarbageCollPeriod tombstoneLifetime&lt;BR&gt;&lt;STRONG&gt;Netsh authorised DHCP Servers &lt;/STRONG&gt;&lt;BR&gt;netsh dhcp show server&lt;BR&gt;&lt;STRONG&gt;DSQuery authorised DHCP Servers &lt;/STRONG&gt;&lt;BR&gt;Dsquery * "cn=NetServices,cn=Services,cn=Configuration, DC=forestRootDomain" -attr dhcpServers&lt;BR&gt;&lt;STRONG&gt;DHCP server information &lt;/STRONG&gt;&lt;BR&gt;netsh dhcp server \\DHCP_SERVER show all&lt;BR&gt;&lt;STRONG&gt;DHCP server dump &lt;/STRONG&gt;&lt;BR&gt;netsh dhcp server \\DHCP_SERVER dump&lt;BR&gt;&lt;STRONG&gt;WINS serer information &lt;/STRONG&gt;&lt;BR&gt;Netsh wins server \\WINS_SERVER dump&lt;BR&gt;&lt;STRONG&gt;Group Policy Verification Tool &lt;/STRONG&gt;&lt;BR&gt;gpotool.exe /checkacl /verbose&lt;BR&gt;&lt;STRONG&gt;AD OU membership &lt;/STRONG&gt;&lt;BR&gt;dsquery computer -limit 0&lt;BR&gt;&lt;STRONG&gt;AD OU membership &lt;/STRONG&gt;&lt;BR&gt;dsquery user -limit 0&lt;BR&gt;&lt;STRONG&gt;List Service Principal Names &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -domain %userdnsdomain% -o rdn') do setspn -L %i&lt;BR&gt;&lt;STRONG&gt;Compare DC Replica Object Count &lt;/STRONG&gt;&lt;BR&gt;dsastat ?s:DC1;DC2;... ?b:Domain ?gcattrs:objectclass ?p:999&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_page title=...page... height=10 alt=...page... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_page&gt;&lt;BR&gt;&lt;STRONG&gt;Check AD ACLs &lt;/STRONG&gt;&lt;BR&gt;acldiag dc=domainTree&lt;BR&gt;&lt;STRONG&gt;NTFRS Replica Sets &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -domain %userdnsdomain% -o rdn') do ntfrsutl sets %i&lt;BR&gt;&lt;STRONG&gt;NTFRS DS View &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -domain %userdnsdomain% -o rdn') do ntfrsutl ds %i&lt;BR&gt;&lt;STRONG&gt;Domain Controllers per site &lt;/STRONG&gt;&lt;BR&gt;Dsquery * "CN=Sites,CN=Configuration,DC=forestRootDomain" -filter (objectCategory=Server)&lt;BR&gt;&lt;STRONG&gt;DNS Zones in AD &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -o rdn') do Dsquery * -s %i domainroot -filter (objectCategory=dnsZone)&lt;BR&gt;&lt;STRONG&gt;Enumerate DNS Server Zones &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server -o rdn') do dnscmd %i /enumzones&lt;BR&gt;&lt;STRONG&gt;Subnet information &lt;/STRONG&gt;&lt;BR&gt;Dsquery subnet ?limit 0&lt;BR&gt;&lt;STRONG&gt;List Organisational Units &lt;/STRONG&gt;&lt;BR&gt;Dsquery OU&lt;BR&gt;&lt;STRONG&gt;ACL on all OUs &lt;/STRONG&gt;&lt;BR&gt;For /f "delims=|" %i in ('dsquery OU') do acldiag %i&lt;BR&gt;&lt;STRONG&gt;Domain Trusts &lt;/STRONG&gt;&lt;BR&gt;nltest /domain_trusts /v&lt;BR&gt;&lt;STRONG&gt;Print DNS Zones &lt;/STRONG&gt;&lt;BR&gt;dnscmd DNSServer /zoneprint DNSZone&lt;BR&gt;&lt;STRONG&gt;Active DHCP leases &lt;/STRONG&gt;&lt;BR&gt;For /f %i in (DHCPServers.txt) do for /f "delims=- " %j in ('"netshdhcp server \\%i show scope | find /i "active""') do netsh dhcp server\\%i scope %j show clientsv5&lt;BR&gt;&lt;STRONG&gt;DHCP Server Active Scope Info&lt;/STRONG&gt;&lt;BR&gt;For /f %i in (DHCPServers.txt) do netsh dhcp server \\%i show scope | find /i "active"&lt;BR&gt;&lt;STRONG&gt;Resolve DHCP clients hostnames &lt;/STRONG&gt;&lt;BR&gt;for /f "tokens=1,2,3 delims=," %i in (Output from 'Find Subnets fromDHCP clients') do @for /f "tokens=2 delims=: " %m in ('"nslookup %j |find /i "Name:""') do echo %m,%j,%k,%i&lt;BR&gt;&lt;STRONG&gt;Find two online PCs per subnet &lt;/STRONG&gt;&lt;BR&gt;Echo. &amp;gt; TwoClientsPerSubnet.txt &amp;amp; for /f "tokens=1,2,3,4delims=, " %i in ('"find /i "pc" 'Output from Resolve DHCP clientshostnames'"') do for /f "tokens=3 skip=1 delims=: " %m in ('"Find /i /c"%l" TwoClientsPerSubnet.txt"') do If %m LEQ 1 for /f %p in ('"ping -n1 %i | find /i /c "(0% loss""') do If %p==1 Echo %i,%j,%k,%l&lt;BR&gt;&lt;STRONG&gt;AD Subnet and Site Information &lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=Subnets,CN=Sites,CN=Configuration,DC=forestRootDomain" -attr cn siteObject description location&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_page title=...page... height=10 alt=...page... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_page&gt;&lt;BR&gt;&lt;STRONG&gt;AD Site Information &lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=Sites,CN=Configuration,DC=forestRootDomain" -attr cn description location -filter (objectClass=site)&lt;BR&gt;&lt;STRONG&gt;Printer Queue Objects in AD &lt;/STRONG&gt;&lt;BR&gt;dsquery * domainroot -filter "(objectCategory=printQueue)" -limit 0&lt;BR&gt;&lt;STRONG&gt;Group Membership with user details &lt;/STRONG&gt;&lt;BR&gt;dsget group "groupDN" -members | dsget user -samid -fn -mi -ln -display -empid -desc -office -tel -email -title -dept -mgr&lt;BR&gt;&lt;STRONG&gt;Total DHCP Scopes &lt;/STRONG&gt;&lt;BR&gt;find /i "subnet" "Output from DHCP server information" | find /i "subnet"&lt;BR&gt;&lt;STRONG&gt;Site Links and Cost&lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=Sites,CN=Configuration,DC=forestRootDomain" -attr cn costdescription replInterval siteList -filter (objectClass=siteLink)&lt;BR&gt;&lt;STRONG&gt;Time gpresult &lt;/STRONG&gt;&lt;BR&gt;timethis gpresult /v&lt;BR&gt;&lt;STRONG&gt;Check time against Domain &lt;/STRONG&gt;&lt;BR&gt;w32tm /monitor /computers:ForestRootPDC&lt;BR&gt;&lt;STRONG&gt;Domain Controller Diagnostics &lt;/STRONG&gt;&lt;BR&gt;dcdiag /s:%logonserver% /v /e /c&lt;BR&gt;&lt;STRONG&gt;Domain Replication Bridgeheads &lt;/STRONG&gt;&lt;BR&gt;repadmin /bridgeheads&lt;BR&gt;&lt;STRONG&gt;Replication Failures from KCC &lt;/STRONG&gt;&lt;BR&gt;repadmin /failcache&lt;BR&gt;&lt;STRONG&gt;Inter-site Topology servers per site &lt;/STRONG&gt;&lt;BR&gt;Repadmin /istg * /verbose&lt;BR&gt;&lt;STRONG&gt;Replication latency &lt;/STRONG&gt;&lt;BR&gt;repadmin /latency /verbose&lt;BR&gt;&lt;STRONG&gt;Queued replication requests &lt;/STRONG&gt;&lt;BR&gt;repadmin /queue *&lt;BR&gt;&lt;STRONG&gt;Show connections for a DC &lt;/STRONG&gt;&lt;BR&gt;repadmin /showconn *&lt;BR&gt;&lt;STRONG&gt;Replication summary &lt;/STRONG&gt;&lt;BR&gt;Repadmin /replsummary&lt;BR&gt;&lt;STRONG&gt;Show replication partners &lt;/STRONG&gt;&lt;BR&gt;repadmin /showrepl * /all&lt;BR&gt;&lt;STRONG&gt;All DCs in the forest &lt;/STRONG&gt;&lt;BR&gt;repadmin /viewlist *&lt;BR&gt;&lt;STRONG&gt;ISTG from AD attributes &lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=NTDS Site Settings,CN=siteName,CN=Sites,CN=Configuration,DC=forestRootDomain" -attr interSiteTopologyGenerator&lt;BR&gt;&lt;STRONG&gt;Return the object if KCC Intra/Inter site is disabled for each site &lt;/STRONG&gt;&lt;BR&gt;Dsquery site | dsquery * -attr * -filter "(|(Options:1.2.840.113556.1.4.803:=1)(Options:1.2.840.113556.1.4.803:=16))"&lt;BR&gt;&lt;STRONG&gt;Find all connection objects &lt;/STRONG&gt;&lt;BR&gt;dsquery * forestRoot -filter (objectCategory=nTDSConnection) ?attr distinguishedName fromServer whenCreated displayName&lt;BR&gt;&lt;STRONG&gt;Find all connection schedules &lt;/STRONG&gt;&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_page title=...page... height=10 alt=...page... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_page&gt;&lt;BR&gt;adfind -b "cn=Configuration,dc=qraps,dc=com,dc=au" -f "objectcategory=ntdsConnection" cn Schedule -csv&lt;BR&gt;&lt;STRONG&gt;Software Information for each server &lt;/STRONG&gt;&lt;BR&gt;for /f %i in (Output from 'Domain Controllers') do psinfo \\%i &amp;amp;filever \\%i\admin$\explorer.exe \\%i\admin$\system32\vbscript.dll\\%i\admin$\system32\kernel32.dll \\%i\admin$\system32\wbem\winmgmt.exe\\%i\admin$\system32\oleaut32.dll&lt;BR&gt;&lt;STRONG&gt;Check Terminal Services Delete Temp on Exit flag&lt;/STRONG&gt;&lt;BR&gt;For /f %i in (Output from 'Domain Controllers') do Reg query"\\%i\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer" /v DeleteTempDirsOnExit&lt;BR&gt;&lt;STRONG&gt;For each XP workstation, query the current site and what Group Policy info &lt;/STRONG&gt;&lt;BR&gt;@dsquery * domainroot -filter"(&amp;amp;(objectCategory=Computer)(operatingSystem=Windows XPProfessional))" -limit 0 -attr cn &amp;gt; Workstations.txt &amp;amp; @For /f%i in (Workstations.txt) do @ping %i -n 1 &amp;gt;NUL &amp;amp; @if ErrorLevel0 If NOT ErrorLevel 1 @Echo %i &amp;amp; for /f "tokens=3" %k in ('"regquery "\\%i\hklm\software\microsoft\windows\currentversion\grouppolicy\history" /v DCName | Find /i "DCName""') do @for /f %m in('"nltest /server:%i /dsgetsite | find /i /v "completedsuccessfully""') do @echo %i,%k,%m&lt;BR&gt;&lt;STRONG&gt;Information on existing GPOs &lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=Policies,CN=System,domainRoot" -filter"(objectCategory=groupPolicyContainer)" -attr displayName cnwhenCreated gPCFileSysPath&lt;BR&gt;&lt;STRONG&gt;Copy all Group Policy .pol files &lt;/STRONG&gt;&lt;BR&gt;for /f "tokens=1-8 delims=\" %i in ('dir /b /s\\%userdnsdomain%\sysvol\%userdnsdomain%\policies\*.pol') do @echo copy\\%i\%j\%k\%l\%m\%n\%o %m_%n.pol&lt;BR&gt;&lt;STRONG&gt;Domain Controller Netlogon entries &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server /o rdn') do echo %i &amp;amp; reg query\\%i\hklm\system\currentcontrolset\services\netlogon\parameters&lt;BR&gt;&lt;STRONG&gt;WINS Statistics &lt;/STRONG&gt;&lt;BR&gt;for /f "tokens=1,2 delims=," %i in (WINSServers.txt) do netsh wins server \\%i show statistics&lt;BR&gt;&lt;STRONG&gt;WINS Record counts per server &lt;/STRONG&gt;&lt;BR&gt;for /f "tokens=1,2 delims=," %i in (WINSServers.txt) do netsh wins server \\%i show reccount %i&lt;BR&gt;&lt;STRONG&gt;WINS Server Information &lt;/STRONG&gt;&lt;BR&gt;for /f "tokens=2 delims=," %i in (WINSServers.txt) do netsh wins server \\%i show info&lt;BR&gt;&lt;STRONG&gt;WINS Server Dump &lt;/STRONG&gt;&lt;BR&gt;for /f "tokens=2 delims=," %i in (WINSServers.txt) do netsh wins server \\%i dump&lt;BR&gt;&lt;STRONG&gt;WINS Static Records per Server &lt;/STRONG&gt;&lt;BR&gt;netsh wins server \\LocalWINSServer show database servers={} rectype=1&lt;BR&gt;&lt;STRONG&gt;Find policy display name given the GUID&lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=Policies,CN=System,DC=domainRoot" -filter (objectCategory=groupPolicyContainer) -attr Name displayName&lt;BR&gt;&lt;STRONG&gt;Find empty groups&lt;/STRONG&gt;&lt;BR&gt;dsquery * -filter "&amp;amp;(objectCategory=group)(!member=*)" -limit 0-attr whenCreated whenChanged groupType sAMAccountNamedistinguishedName memberOf&lt;BR&gt;&lt;STRONG&gt;Find remote NIC bandwidth &lt;/STRONG&gt;&lt;BR&gt;wmic /node:%server% path Win32_PerfRawData_Tcpip_NetworkInterface GET Name,CurrentBandwidth&lt;BR&gt;&lt;STRONG&gt;Find remote free physical memory &lt;/STRONG&gt;&lt;BR&gt;wmic /node:%Computer% path Win32_OperatingSystem GET FreePhysicalMemory&lt;BR&gt;&lt;STRONG&gt;Find remote system information &lt;/STRONG&gt;&lt;BR&gt;SystemInfo /s %Computer%&lt;BR&gt;&lt;STRONG&gt;Disk statistics, including the number of files on the filesystem &lt;/STRONG&gt;&lt;BR&gt;chkdsk /i /c&lt;BR&gt;&lt;IMG class=mce_plugin_wordpress_page title=...page... height=10 alt=...page... src="http://www.spurius.nl/wp-includes/js/tinymce/themes/advanced/images/spacer.gif" width="100%" name=mce_plugin_wordpress_page&gt;&lt;BR&gt;&lt;STRONG&gt;Query IIS web sites &lt;/STRONG&gt;&lt;BR&gt;iisweb /s %Server% /query "Default Web Site"&lt;BR&gt;&lt;STRONG&gt;Check port state and connectivity &lt;/STRONG&gt;&lt;BR&gt;portqry -n %server% -e %endpoint% -v&lt;BR&gt;&lt;STRONG&gt;Forest/Domain Functional Levels &lt;/STRONG&gt;&lt;BR&gt;ldifde -d cn=partitions,cn=configuration,dc=%domain% -r"(|(systemFlags=3)(systemFlags=-2147483648))" -lmsds-behavior-version,dnsroot,ntmixeddomain,NetBIOSName -p subtree -fcon&lt;BR&gt;&lt;STRONG&gt;Forest/Domain Functional Levels &lt;/STRONG&gt;&lt;BR&gt;dsquery * cn=partitions,cn=configuration,dc=%domain% -filter"(|(systemFlags=3)(systemFlags=-2147483648))" -attrmsDS-Behavior-Version Name dnsroot ntmixeddomain NetBIOSName&lt;BR&gt;&lt;STRONG&gt;Find the parent of a process &lt;/STRONG&gt;&lt;BR&gt;wmic path Win32_Process WHERE Name='notepad.exe' GET Name,ParentProcessId&lt;BR&gt;&lt;STRONG&gt;Lookup SRV records from DNS &lt;/STRONG&gt;&lt;BR&gt;nslookup -type=srv _ldap._tcp.dc._msdcs.{domainRoot}&lt;BR&gt;&lt;STRONG&gt;Find when the AD was installed &lt;/STRONG&gt;&lt;BR&gt;dsquery * cn=configuration,DC=forestRootDomain -attr whencreated -scope base&lt;BR&gt;&lt;STRONG&gt;Enumerate the trusts from the specified domain &lt;/STRONG&gt;&lt;BR&gt;dsquery * "CN=System,DC=domainRoot" -filter "(objectClass=trustedDomain)" -attr trustPartner flatName&lt;BR&gt;&lt;STRONG&gt;Find a DC for each trusted domain &lt;/STRONG&gt;&lt;BR&gt;for /f "skip=1" %i in ('"dsquery * CN=System,DC=domainRoot -filter(objectClass=trustedDomain) -attr trustPartner"') do nltest /dsgetdc:%i&lt;BR&gt;&lt;STRONG&gt;Check the notification packages installed on all DCs &lt;/STRONG&gt;&lt;BR&gt;for /f %i in ('dsquery server /o rdn') do @for /f "tokens=4" %m in('"reg query\\%i\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v"Notification Packages" | find /i "Notification""') do @echo %i,%m&lt;BR&gt;&lt;STRONG&gt;List ACLs in SDDL format &lt;/STRONG&gt;&lt;BR&gt;setacl -on %filepath% -ot file -actn list -lst f:sddl&lt;BR&gt;&lt;STRONG&gt;Find out if a user account is currently enabled or disabled &lt;/STRONG&gt;&lt;BR&gt;dsquery user DC=%userdnsdomain:.=,DC=% -name %username% | dsget user -disabled -dn&lt;BR&gt;&lt;STRONG&gt;Find servers in the domain &lt;/STRONG&gt;&lt;BR&gt;dsquery * domainroot -filter "(&amp;amp;(objectCategory=Computer)(objectClass=Computer)(operatingSystem=*Server*))" -limit 0&lt;BR&gt;&lt;STRONG&gt;Open DS query window &lt;/STRONG&gt;&lt;BR&gt;rundll32 dsquery,OpenQueryWindow&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127118" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.technet.com/mpriem/archive/tags/command+line/default.aspx">command line</category><category domain="http://blogs.technet.com/mpriem/archive/tags/cmd/default.aspx">cmd</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Active+Directory/default.aspx">Active Directory</category></item></channel></rss>