<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8441548</id><updated>2012-01-26T09:44:41.389-05:00</updated><category term='How to'/><category term='performance'/><category term='TS Gateway'/><category term='Exchange 2007'/><category term='Active Directory Domain Service'/><category term='health check'/><title type='text'>Exchange Admin Web Log</title><subtitle type='html'>Day to day happenings of a messaging admin.  I'll discuss best practices, problems, and resolutions that I come across as I work with Active Directory, Exchange 2007, Exchange 2003, Office Communications Server, clusters, Archiving Products, and SMTP gateways.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://teoheras.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8441548.post-1181853224816399519</id><published>2010-09-08T08:14:00.001-04:00</published><updated>2010-09-08T08:15:28.980-04:00</updated><title type='text'>Trun off OWA Autocomplete / nickname cache</title><content type='html'>How do you reset the autocomplete function of Outlook Web Access or Outlook Web App?&lt;br /&gt;&lt;a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvrclients/thread/c6b3b3bf-c904-4e77-89e6-7b7850290ab7"&gt;http://social.technet.microsoft.com/Forums/en-US/exchangesvrclients/thread/c6b3b3bf-c904-4e77-89e6-7b7850290ab7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-1181853224816399519?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1181853224816399519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1181853224816399519'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2010/09/trun-off-owa-autocomplete-nickname.html' title='Trun off OWA Autocomplete / nickname cache'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-3682312502487584435</id><published>2010-09-05T20:02:00.002-04:00</published><updated>2010-09-05T20:14:52.069-04:00</updated><title type='text'>MSExchangeUM 1038</title><content type='html'>I was getting a strange MSExchangeUM 1038 error when trying to start MSExchangUM after enabling the UM startup mode to Dual Mode. The error in the event log was: No certificate was found.&lt;br /&gt;&lt;br /&gt;Per this technet article, Exchange should automatically retrieve the right certificate - it will even create self-signed certificates if none exist:&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd425192(office.13).aspx"&gt;http://technet.microsoft.com/en-us/library/dd425192(office.13).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But this was not happening for me.  Maybe the article is missing a step, but in order to be able to use the certificate, I had to assign the certificate UM capabilities using the command:&lt;br /&gt;Enable-exchangecertificate -tumbprint &lt;thumbpring&gt; -services UM&lt;br /&gt;&lt;br /&gt;- To get the thumbprint of the cert you need to enable use the command get-exchangecertificate&lt;br /&gt;&lt;br /&gt;After this, I was able to start the MSExchangeUM service.&lt;br /&gt;&lt;br /&gt;Note:  In order for this work with OCS, a cert from a CA trusted by the OCS server(s) and Exchange must be used or the self-signed cert must be installed on the OCS server.&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-3682312502487584435?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/3682312502487584435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/3682312502487584435'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2010/09/msexchangeum-1038.html' title='MSExchangeUM 1038'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-7132892655828115343</id><published>2009-02-26T15:19:00.001-05:00</published><updated>2009-02-26T15:19:55.616-05:00</updated><title type='text'>How to use MFCMAPI</title><content type='html'>Link to Microsoft's documentation on how to use MFCMAPI:&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb508857.aspx"&gt;http://technet.microsoft.com/en-us/library/bb508857.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-7132892655828115343?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/7132892655828115343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/7132892655828115343'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2009/02/how-to-use-mfcmapi.html' title='How to use MFCMAPI'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-1869494099441354157</id><published>2008-11-02T14:20:00.001-05:00</published><updated>2008-11-02T14:41:25.912-05:00</updated><title type='text'>Undoing the effects of set-casmailbox</title><content type='html'>The cmdlet set-casmailbox can be used to configure Outlook Web Access segmentation for individual users. As an example, you can disable the premium client for a particular mailbox through the following command:&lt;br /&gt;set-casmailbox teod -owapremiumclientenabled:$false&lt;br /&gt;&lt;br /&gt;However, what happens is that all the other segmentation features get disabled. You can see this by running the following command:&lt;br /&gt;get-casmailbox teod format-list&lt;br /&gt;*** OUTPUT*********************************&lt;br /&gt;OWARemindersAndNotificationsEnabled : False&lt;br /&gt;OWAPremiumClientEnabled : False&lt;br /&gt;OWASpellCheckerEnabled : False&lt;br /&gt;*********************************************&lt;br /&gt;Behind the scenes, the set-casmailbox cmdlet is setting a value on the AD attribute, msExchMailboxFolderSet which controls mailbox segmentation. So, to reset this back to default, set this attribute to $Null, or Not Set either through ADSI Edit or through Powershell. Alternatively, you can enable all the settings by setting the value of msExchMailboxFolderSet to 2147483647.&lt;br /&gt;&lt;br /&gt;In production, you should find out what segmentation settings you want for a particular subset of users, configure those settings on one user, and then copy the value from the attribute: msExchMailboxFolderSet, to all of the users that require segmented OWA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-1869494099441354157?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1869494099441354157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1869494099441354157'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/11/undoing-effects-of-set-casmailbox.html' title='Undoing the effects of set-casmailbox'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-941586973261874167</id><published>2008-10-29T16:28:00.000-04:00</published><updated>2008-10-29T16:29:07.596-04:00</updated><title type='text'>Exchange 2007 Video Series</title><content type='html'>&lt;a href="http://msexchangeteam.com/videos/default.aspx"&gt;http://msexchangeteam.com/videos/default.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-941586973261874167?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/941586973261874167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/941586973261874167'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/exchange-2007-video-series.html' title='Exchange 2007 Video Series'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-4782620347867854046</id><published>2008-10-29T16:27:00.000-04:00</published><updated>2008-10-29T16:28:41.305-04:00</updated><title type='text'>Exchange 2007 SP1 SCC</title><content type='html'>I found a blog that details how to configure an Exchange 20078 SCC with iSCSI:&lt;br /&gt;&lt;a href="http://www.shudnow.net/2008/03/13/exchange-2007-sp1-scc-using-server-2008-starwind-iscsi-part-1/"&gt;http://www.shudnow.net/2008/03/13/exchange-2007-sp1-scc-using-server-2008-starwind-iscsi-part-1/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-4782620347867854046?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/4782620347867854046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/4782620347867854046'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/exchange-2007-sp1-scc.html' title='Exchange 2007 SP1 SCC'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-4291384085548649996</id><published>2008-10-27T13:33:00.001-04:00</published><updated>2008-10-27T15:58:14.956-04:00</updated><title type='text'>Create Managed Distribution Groups through powershell</title><content type='html'>I recently had to create 85 managed groups; groups where users manage their memembership (instead of admins). I wrote a powershell script to create the groups, mail-enable them, set the managedby attribute, and associated AD permissions.&lt;br /&gt;&lt;br /&gt;I created an csv with the following headings:&lt;br /&gt;Alias , DisplayName, ManagedBy&lt;br /&gt;*The ManagedBy field must contain a DN&lt;br /&gt;&lt;br /&gt;Add-PSSnapin Quest.ActiveRoles.ADManagement&lt;br /&gt;[array]$group_info = import-csv "C:\group_info.csv"&lt;br /&gt;$group_info ForEach-Object {&lt;br /&gt;$gname = $_.dispname&lt;br /&gt;$gdesc = $gname&lt;br /&gt;$gAlias = $_.Alias&lt;br /&gt;$gsam = $gAlias&lt;br /&gt;$gmanager = $_.managedby&lt;br /&gt;$gmanager = "CN=De Las Heras\, Teo,CN=Users,DC=Company,DC=org"&lt;br /&gt;#For Debugging, write out the variables (tab delimited)&lt;br /&gt;# Write-Host $gname, `t,$gAlias, `t, $gmanager&lt;br /&gt;$objOU = [ADSI]"OU=Groups,DC=Company,DC=ORG"&lt;br /&gt;$gcn = "cn=" + $gname&lt;br /&gt;$objGroup = $objOU.Create("group", $gcn)&lt;br /&gt;$objGroup.Put("sAMAccountName", $gsam)&lt;br /&gt;$objGroup.Put("groupType", "-2147483646")&lt;br /&gt;$objGroup.Put("description", $gdesc)&lt;br /&gt;$objGroup.Put("displayName", $gname)&lt;br /&gt;$objGroup.Put("mailnickname", $gsam)&lt;br /&gt;$objGroup.put("managedby", $gmanager)&lt;br /&gt;$objGroup.setinfo()&lt;br /&gt;add-qadpermission -service 'servername' $gname -Account 'Company\tdelasheras' -Rights 'WriteProperty' -Property 'Member'&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-4291384085548649996?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/4291384085548649996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/4291384085548649996'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/create-managed-distribution-groups.html' title='Create Managed Distribution Groups through powershell'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-1270331298597788308</id><published>2008-10-21T21:37:00.003-04:00</published><updated>2008-10-22T13:41:23.471-04:00</updated><title type='text'>Powershell - Get status of Exchange databases</title><content type='html'>The Exchange Management Shell (EMS) provides a way to output the status of Exchange Databases through the command, get-mailboxdatabase. Note that you must include the -status switch in order to get the proper output.&lt;br /&gt;get-mailboxdatabase select Mounted - will give you nothing.&lt;br /&gt;The correct command is&lt;br /&gt;get-mailboxdatabase -status Select Name, Mounted, LastFullBackup&lt;br /&gt;&lt;br /&gt;I have a small script I wrote that get's the status of all the databases in my organization and sends me an e-mail if a database is dismounted. I have the script running as a scheduled task. Here it is:&lt;br /&gt;**Save this a a .ps1 file ** It'll need to be signed as well&lt;br /&gt;&lt;br /&gt;function Send-Mail&lt;br /&gt;{&lt;br /&gt;Param($sbj,$msg,$to,[switch]$html)&lt;br /&gt;$SmtpClient = new-object system.net.mail.smtpClient&lt;br /&gt;$MailMessage = New-Object system.net.mail.mailmessage&lt;br /&gt;$SmtpClient.Host = 'relayserver'&lt;br /&gt;$mailmessage.from = &lt;a href="mailto:"&gt;'fromme@company.com'&lt;/a&gt;&lt;br /&gt;$mailmessage.To.add($to)&lt;br /&gt;$mailmessage.Subject = $sbj&lt;br /&gt;if($html)&lt;br /&gt;{&lt;br /&gt;$mailmessage.IsBodyHtml = 1&lt;br /&gt;$mailmessage.Body = $msg&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;$mailmessage.Body = $msg&lt;br /&gt;}&lt;br /&gt;$smtpclient.Send($mailmessage)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function exch-status {&lt;br /&gt;get-mailboxdatabase -status %{$DBName = $_.Name; $DBMounted = $_.Mounted; $DBBackup = $_.LastFullBackup}&lt;br /&gt;&lt;br /&gt;if ($DBMounted -eq $False )&lt;br /&gt;{&lt;br /&gt;$Message = "The database $DBName is unmounted. Please page Sys Admin immediately."&lt;br /&gt;Send-Mail 'Exchange DB Unmounted' $Message &lt;a href="mailto:"&gt;'copmpanyops@company.com'&lt;/a&gt;&lt;br /&gt;}&lt;br /&gt;$DateToday = Get-Date&lt;br /&gt;if($DBBackup.day -lt $DateToday.day)&lt;br /&gt;{&lt;br /&gt;Message = "It's been 24 hours since a full backup completed successfully."&lt;br /&gt;Send-Mail 'Full Backup has not run' $Message &lt;a href="mailto:"&gt;'copmpanyops@company.com'&lt;/a&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;exch-status&lt;br /&gt;****End of Script ****&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-1270331298597788308?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1270331298597788308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1270331298597788308'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/powershell-status-of-databases.html' title='Powershell - Get status of Exchange databases'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-8439151894372093873</id><published>2008-10-18T15:46:00.001-04:00</published><updated>2008-10-18T19:13:45.913-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory Domain Service'/><category scheme='http://www.blogger.com/atom/ns#' term='TS Gateway'/><category scheme='http://www.blogger.com/atom/ns#' term='How to'/><title type='text'>Windows 2008 Step-by-Step Guides</title><content type='html'>&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=518d870c-fa3e-4f6a-97f5-acaf31de6dce&amp;amp;DisplayLang=en#filelist"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=518d870c-fa3e-4f6a-97f5-acaf31de6dce&amp;amp;DisplayLang=en#filelist&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-8439151894372093873?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/8439151894372093873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/8439151894372093873'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/windows-2008-step-by-step-guides.html' title='Windows 2008 Step-by-Step Guides'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-322135330679809840</id><published>2008-10-18T08:44:00.000-04:00</published><updated>2008-10-18T09:26:43.480-04:00</updated><title type='text'>Exchange Availability Service</title><content type='html'>Free/Busy Tutorial:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/deva/archive/2008/10/13/tutorial-free-busy-data.aspx"&gt;http://blogs.msdn.com/deva/archive/2008/10/13/tutorial-free-busy-data.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The availability serive replaced the free/busy PF from Exchange 2003. To see how many availability services exist:&lt;br /&gt;get-autodiscovervirtualdirectory&lt;br /&gt;&lt;br /&gt;Basically, Exchange publishes the availability service through a Service Connection Point in Active Directory. The location of the Service Connection Point is in the serviceBindingInformation attribute on the following object:&lt;br /&gt;CN=DC1,CN=Autodiscover,CN=Protocols,CN=DC1,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Litware Inc,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=litwareinc,DC=com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Test the Exchange Availability Service:&lt;br /&gt;Test-OutlookWebServices -id:user1@contoso.com -TargetAddress: &lt;a href="mailto:user2@contoso.com"&gt;user2@contoso.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the service is not functioning, it's easy to rebuild:&lt;br /&gt;Remove-autodiscovervirtualdirectory&lt;br /&gt;New-Autodiscovervirtualdirectory&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-322135330679809840?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/322135330679809840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/322135330679809840'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/exchange-availability-service.html' title='Exchange Availability Service'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-1105811010958063901</id><published>2008-10-18T08:40:00.000-04:00</published><updated>2008-10-18T08:44:19.801-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='health check'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2007'/><title type='text'>Exchange 2007 - Healthy Configuration</title><content type='html'>Exchange 2007 System Requirements (note: Page File should be RAM + 10 MB):&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/aa996719.aspx"&gt;http://technet.microsoft.com/en-us/library/aa996719.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Memory Requirements (note: minimum memory / # of storage groups):&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb738124(EXCHG.80).aspx"&gt;http://technet.microsoft.com/en-us/library/bb738124(EXCHG.80).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Steps to mitigate excessive paging:&lt;br /&gt;&lt;a href="http://blogs.technet.com/mikelag/archive/2008/10/17/steps-to-help-mitigate-excessive-paging-and-working-set-trimming-issues.aspx"&gt;http://blogs.technet.com/mikelag/archive/2008/10/17/steps-to-help-mitigate-excessive-paging-and-working-set-trimming-issues.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-1105811010958063901?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1105811010958063901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/1105811010958063901'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2008/10/exchange-2007-healthy-configuration.html' title='Exchange 2007 - Healthy Configuration'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-116016195334764468</id><published>2006-10-06T15:08:00.000-04:00</published><updated>2006-10-06T15:12:35.190-04:00</updated><title type='text'>Unable to establish email address</title><content type='html'>I came across the following problem today:&lt;br /&gt;http://support.microsoft.com/?id=905809&lt;br /&gt;&lt;br /&gt;Basically, after applying Windows 2003 SP1, only server local admins are able to establish SMTP addresses for objects (contacts, mailboxes, etc...).  The error the user was getting was:&lt;br /&gt;"An Exchange Server could not be found in the domain".&lt;br /&gt;&lt;br /&gt;The jist is that non-local admins are not allowed to query for the status of the system attendant.&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-116016195334764468?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/116016195334764468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/116016195334764468'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/10/unable-to-establish-email-address.html' title='Unable to establish email address'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-115446622638259529</id><published>2006-08-01T17:02:00.000-04:00</published><updated>2006-08-01T17:03:46.740-04:00</updated><title type='text'>A closer look at DSAccess</title><content type='html'>Neil Hobson has posted an article to msexchange.org that covers in detail the dsaccess process.  I learned that you can tell Exchange 2003 to not connect to a GC that is also a PDC.  As Neil explains it, the PDC can become overwhelmed at times (password changes).&lt;br /&gt;&lt;br /&gt;Key: HKLM\System\CurrentControlSet\Services\MSExchangeDSAccess\Profiles\Default&lt;br /&gt;Value: MinUserDC&lt;br /&gt;Type: REG_DWORD&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-115446622638259529?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/115446622638259529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/115446622638259529'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/08/closer-look-at-dsaccess.html' title='A closer look at DSAccess'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114788932520990394</id><published>2006-05-17T14:08:00.000-04:00</published><updated>2006-05-17T14:08:45.953-04:00</updated><title type='text'>FSMO Role Placement</title><content type='html'>Good article on FSMO role lacement within AD.&lt;br /&gt;http://www.windowsdevcenter.com/pub/a/windows/2004/06/15/fsmo.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114788932520990394?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114788932520990394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114788932520990394'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/05/fsmo-role-placement.html' title='FSMO Role Placement'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114384024736036864</id><published>2006-03-31T15:20:00.000-05:00</published><updated>2006-03-31T16:24:07.773-05:00</updated><title type='text'>What to do when a database won't mount</title><content type='html'>I came across the following site today while troubleshooting a database in the Recovery Storage Group that wouldn't mount.&lt;br /&gt;What to do when an Exchange Store won't mount&lt;br /&gt;http://www.microsoft.com/technet/prodtechnol/exchange/2003/wontmount.mspx&lt;br /&gt;&lt;br /&gt;The odd thing is that removing the database from the RSG and then re-adding it allowed me to mount the database without a problem.&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114384024736036864?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114384024736036864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114384024736036864'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/03/what-to-do-when-database-wont-mount.html' title='What to do when a database won&apos;t mount'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114357013311947125</id><published>2006-03-28T12:27:00.000-05:00</published><updated>2006-03-28T13:45:18.876-05:00</updated><title type='text'>Exchange 2003 Tunning - Back End Servers</title><content type='html'>I'm creating a build doc for all the Exchange 2003 mailbox servers.  The servers will each hold 4000 mailboxes, and have 4 GB of memory.  Here's what I'll be manually tunning:&lt;br /&gt;&lt;br /&gt;1. Optimize Memory Usage&lt;br /&gt;Heap Manager&lt;br /&gt;- Minimizes VM fragmentation by increasing the amount of free space required before the heap manager frees up memory (default is 0)&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager&lt;br /&gt;Value Name:  HeapDeCommitFreeBlockThreshold&lt;br /&gt;Radix:       Decimal&lt;br /&gt;Value Type:  REG_DWORD&lt;br /&gt;Value Data:  262144 (0x00040000 in hex)&lt;br /&gt;&lt;br /&gt;Virtual Address Space&lt;br /&gt;- 3GB allocates 3 GB of virtual address space to user mode.  The number after userva is the amount of memory in megabytes (MB) that will be allocated to each process.&lt;br /&gt;Edit the Boot.ini File.  &lt;br /&gt;multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3gb /userva=3030&lt;br /&gt;&lt;br /&gt;2. Align I/O with Storage Track Boundaries (All SAN attached drives)&lt;br /&gt;- Prevent a possible 20% performance hit due to track skipping&lt;br /&gt;C:\&gt;Diskpar –s drivenumber &lt;br /&gt;Respond to both warnings by typing y&lt;br /&gt;Please specify starting offset (in sectors): 128&lt;br /&gt;Please specify partition length: [Pressing Enter will default to the max length] &lt;br /&gt;&lt;br /&gt;3. Optimize NTBAckup&lt;br /&gt;- optimize the data throughput.&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Ntbackup\BackupEngineIf BackupEngine is missing, run ntbackup once.&lt;br /&gt;Logical Disk Buffer Size = 64&lt;br /&gt;Max Buffer Size = 1024&lt;br /&gt;Max Num Tape Buffers = 16&lt;br /&gt;&lt;br /&gt;4. Improve Refresh time of mailbox configuration&lt;br /&gt;- Mailbox limits are permissions will take effect faster (default is 2 hours)&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem&lt;br /&gt;Value name: Reread Logon Quotas Interval&lt;br /&gt;Dta Type: REG_DWORD&lt;br /&gt;Radix:   Decimal&lt;br /&gt;Value data: 1200 (20 Minutes)&lt;br /&gt;&lt;br /&gt;Value name: Mailbox Cache Age Limit&lt;br /&gt;Data Type: REG_DWORD&lt;br /&gt;Radix:  Decimal&lt;br /&gt;Value data: 1200 (20 Minutes)&lt;br /&gt;&lt;br /&gt;5. Move TEMP/TMP folders to RAID 1 partition&lt;br /&gt;- Exchange uses TMP folders for mailbox moves&lt;br /&gt;&lt;br /&gt;6. Increase ESE Buffer Size&lt;br /&gt;- To optimize Virtual Memory useage by ESE, EXBPA recommends that servers with more that 2 GB of memory set the following:&lt;br /&gt;Start the Active Directory Service Interfaces (ADSI) Edit utility.&lt;br /&gt;Under Configuration Container, expand CN=Configuration, DC=example, DC=com. &lt;br /&gt;Expand CN=Services, expand CN=Microsoft Exchange, expand CN=OrganizationName, expand CN=Administrative Groups, expand CN=First Administrative, expand CN=Servers, and then expand CN=servername. &lt;br /&gt;Under CN=servername, right-click CN=InformationStore, and then click Properties. &lt;br /&gt;In the Select which properties to view list, click Both. &lt;br /&gt;In the Select a property to view list, click msExchESEParamCacheSizeMax&lt;br /&gt;In the Edit Attribute box, type 311296 (1.2 GB)&lt;br /&gt;&lt;br /&gt;7. Increase Transaction Log Buffers&lt;br /&gt;- Increasing the size will provide better performance when multiple transactions are occuring (ideal for corporate environments).  EXBPA recommends that if this value be changed to 9000.&lt;br /&gt;Under Configuration Container, expand CN=Configuration, DC=example, DC=com. &lt;br /&gt;Expand CN=Services, expand CN=Microsoft Exchange, expand CN=OrganizationName, expand CN=Administrative Groups, expand CN=First Administrative, expand CN=Servers, and then expand CN=servername. &lt;br /&gt;Under CN=servername, right-click CN=InformationStore, right-click CN=&lt;StorageGroupName&gt;, and then click Properties&lt;br /&gt;In the Select a property to view list, click msExchESEParamLogBuffers&lt;br /&gt;In the Edit Attribute box, type 9000&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114357013311947125?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114357013311947125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114357013311947125'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/03/exchange-2003-tunning-back-end-servers.html' title='Exchange 2003 Tunning - Back End Servers'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114313589325422780</id><published>2006-03-23T12:41:00.000-05:00</published><updated>2006-03-23T12:45:18.370-05:00</updated><title type='text'>Account Expires Attribute</title><content type='html'>I came across a posting today where someone wanted to set the account expires attribute to never using LDIFDE.  It can be done using ldifde and using the ds tools.&lt;br /&gt;********************************************&lt;br /&gt;LDIFDE or how I learned to love DS tools&lt;br /&gt;********************************************&lt;br /&gt;C:\&gt;ldifde -d "ou=test,dc=lab,dc=com" -s dcname -r "(&amp;(cn=*))" -l accountexpires -f accExpires.txt&lt;br /&gt;&lt;br /&gt;Here's what you'll get&lt;br /&gt;----- Begin File: proxies.txt-----&lt;br /&gt;dn: CN=Heras, Teo,ou=test,dc=lab,dc=com&lt;br /&gt;changetype: add&lt;br /&gt;accountExpires: 9223372036854775807 &lt;br /&gt;----- End File-----&lt;br /&gt;&lt;br /&gt;Edit the file so it looks like this:&lt;br /&gt;----- Begin File: proxies.txt -----&lt;br /&gt;dn: CN=Heras, Teo,ou=test,dc=lab,dc=com&lt;br /&gt;changetype: modify &lt;---- change from add to modify&lt;br /&gt;replace: accountExpires &lt;---- This was added&lt;br /&gt;accountExpires: 0 &lt;----- this means never&lt;br /&gt;- &lt;---This is critical and the log file will tell you&lt;br /&gt;----- End File -----&lt;br /&gt;&lt;br /&gt;Finally, import the changes&lt;br /&gt;&lt;br /&gt;c:\ldifde -i -f proxies.txt -s dcname -j c:-i means import, -j c:&lt;br /&gt;********************************************&lt;br /&gt;DS Tools&lt;br /&gt;********************************************&lt;br /&gt;dsquery user "ou=NoExpireDate,dc=lab,dc=com" | dsmod user -acctExpires Never&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114313589325422780?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114313589325422780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114313589325422780'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/03/account-expires-attribute.html' title='Account Expires Attribute'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114305810759903757</id><published>2006-03-22T15:00:00.000-05:00</published><updated>2006-03-22T15:08:27.613-05:00</updated><title type='text'>WMI Monitoring Script</title><content type='html'>I came into a situation where there are several Exchange servers without any monitoring.  While software is procured, I created the following script to do some basic monitoring of Exchange services and disk space (to make sure circular logging doesn't kill the server).  I have the script running as a scheduled task every 15 minutes.  The script will create a log file every time it runs.  If one of the thresholds is reached, an email is sent.&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;Const ForAppending=8&lt;br /&gt;Const ForReading=1&lt;br /&gt;Const ForWritting=2&lt;br /&gt;Dim strComputer&lt;br /&gt;Dim objWMIService&lt;br /&gt;Dim propValue&lt;br /&gt;Dim objItem&lt;br /&gt;Dim SWBemlocator&lt;br /&gt;Dim UserName&lt;br /&gt;Dim Password&lt;br /&gt;Dim colItems&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'Create Log file&lt;br /&gt;Set objFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;strPath = "C:\WMI Monitoring\"&lt;br /&gt;strFileName =  "server_status" &amp; Hour(Now) &amp; Minute(Now) &amp; ".log"&lt;br /&gt;strFullName = objFSO.BuildPath(strPath, strFileName)&lt;br /&gt;Set objFile = objFSO.CreateTextFile(strFullName)&lt;br /&gt;objFile.Close&lt;br /&gt;Set objFile = objFSO.OpenTextFile(strFullName, ForWritting)&lt;br /&gt;'Build array of servers&lt;br /&gt;arrServers = Array("exchange01", "exchange02")&lt;br /&gt;&lt;br /&gt;'username and password&lt;br /&gt;strUserName = "Administrator"&lt;br /&gt;strPassword = "Password1"&lt;br /&gt;&lt;br /&gt;For Each strComputer In arrServers&lt;br /&gt; Err.Clear&lt;br /&gt; 'WScript.Echo strComputer&lt;br /&gt; ObjFile.writeline  "===================================="&lt;br /&gt; ObjFile.writeline  "Computer: "&amp; strComputer&lt;br /&gt; ObjFile.writeline  "===================================="&lt;br /&gt; Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")&lt;br /&gt; Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",strUserName,strPassword)&lt;br /&gt;  If Err.Number = "-2147023174" Then&lt;br /&gt;   strAlertItem = Err.Description &lt;br /&gt;   strAlertThreshold = "!!"&lt;br /&gt;   Call SendAlert(strComputer, strAlertItem, strAlertThreshold)&lt;br /&gt;   Err.Clear&lt;br /&gt;  End If&lt;br /&gt;  If Err.Number &lt;&gt; 0 Then&lt;br /&gt;   objFile.WriteLine "Error Connecting: " &amp; Err.Number &amp; " " &amp; Err.Description&lt;br /&gt;   Err.Clear&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;'*****************************************************************************************************&lt;br /&gt; 'Check Logical Disk&lt;br /&gt;''*****************************************************************************************************&lt;br /&gt; Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48)&lt;br /&gt; objfile.WriteLine "Checking Free Disk Space"&lt;br /&gt; For Each objItem In colItems&lt;br /&gt;  If InStr(objItem.Description, "Fixed Disk") Then&lt;br /&gt;   strAlertItem = objItem.DeviceID &amp; ", " &amp; objItem.Description&lt;br /&gt;   intFreeSpace = objItem.FreeSpace&lt;br /&gt;   intFreeSpace = intFreeSpace/1048576 &lt;br /&gt;   strAlertThreshold = "Free SPace: " &amp; CLng(intFreeSpace) &amp; " MB"&lt;br /&gt;   'If there are less than 200 MB of Free Disk Space then send out an alert&lt;br /&gt;   If intFreeSpace &lt; 200 Then&lt;br /&gt;    Call SendAlert(strComputer, strAlertItem, strAlertThreshold)&lt;br /&gt;   End If&lt;br /&gt;   objfile.WriteLine strAlertItem&lt;br /&gt;   objFile.WriteLine strAlertThreshold &lt;br /&gt;   objFile.writeline " " &lt;br /&gt;  End If&lt;br /&gt; Next&lt;br /&gt;'*****************************************************************************************************&lt;br /&gt; 'Check Status of Services&lt;br /&gt;'*****************************************************************************************************&lt;br /&gt; Set colItems = objWMIService.ExecQuery("Select * from Win32_Service",,48)&lt;br /&gt; objfile.WriteLine "Checking Exchange Services"&lt;br /&gt; For Each objItem in colItems&lt;br /&gt;  If InStr(objItem.Displayname, "Exchange") Then&lt;br /&gt;   If InStr(objItem.Displayname, "Sync") Then&lt;br /&gt;    'WScript.Echo objItem.DisplayName&lt;br /&gt;   ElseIf InStr(objItem.Displayname, "Lotus") Then&lt;br /&gt;    'WScript.Echo objItem.Displayname&lt;br /&gt;   ElseIf InStr(objItem.Displayname, "Mailbox Manager") Then&lt;br /&gt;    'WScript.Echo objItem.Displayname&lt;br /&gt;   Else&lt;br /&gt;    objfile.WriteLine "DisplayName: " &amp; objItem.DisplayName&lt;br /&gt;    objfile.WriteLine "Name: " &amp; objItem.Name&lt;br /&gt;    objfile.WriteLine "State: " &amp; objItem.State&lt;br /&gt;    objfile.WriteLine "Status: " &amp; objItem.Status&lt;br /&gt;    objfile.WriteLine " "&lt;br /&gt;    If objItem.State = "Stopped" Then&lt;br /&gt;     strAlertItem = objItem.Name &amp; ":"&lt;br /&gt;     strAlertThreshold = objItem.State&lt;br /&gt;     Call SendAlert(strComputer, strAlertItem, strAlertThreshold)&lt;br /&gt;    End If&lt;br /&gt;   End If&lt;br /&gt;  End If&lt;br /&gt; Next&lt;br /&gt;strAlertItem = " "&lt;br /&gt;strAlertThreshold = " "&lt;br /&gt;Set objWMIService = Nothing&lt;br /&gt;Next&lt;br /&gt;objfile.Close&lt;br /&gt;Set objFSO = Nothing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'*****************************************************************************************************&lt;br /&gt;'Send Alerts Via Email&lt;br /&gt;'*****************************************************************************************************&lt;br /&gt;Function SendAlert(strComputer, strAlertItem, strAlertThreshold)&lt;br /&gt;'WScript.Echo "Sent Alert"&lt;br /&gt;Set objEmail = CreateObject("CDO.Message")&lt;br /&gt;objEmail.From = strComputer &amp; "@company.org"&lt;br /&gt;objEmail.To = "teo@inventrix.net;5551212@pager.net"&lt;br /&gt;objEmail.Subject = "Server Alert"&lt;br /&gt;strText = strComputer &amp; " is having the following problems: " &amp; strAlertItem &amp; strAlertThreshold&lt;br /&gt;objFile.WriteLine "********************** ALERT SENT ********************************"&lt;br /&gt;objEmail.TextBody = strText&lt;br /&gt;objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2&lt;br /&gt;objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "nsmail01"&lt;br /&gt;objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25&lt;br /&gt;objEmail.Configuration.Fields.Update&lt;br /&gt;objEmail.Send&lt;br /&gt;End Function&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114305810759903757?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114305810759903757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114305810759903757'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/03/wmi-monitoring-script.html' title='WMI Monitoring Script'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114089679521204920</id><published>2006-02-25T14:45:00.000-05:00</published><updated>2006-02-25T14:46:35.223-05:00</updated><title type='text'>Microsoft Logos</title><content type='html'>I just found the following link on Microsofts site. If your certified in Microsoft technology, there's a new way to download logos.&lt;br /&gt;&lt;a href="https://www.certificationlogobuilder.com/default.aspx"&gt;https://www.certificationlogobuilder.com/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114089679521204920?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114089679521204920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114089679521204920'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/microsoft-logos.html' title='Microsoft Logos'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114053555268505055</id><published>2006-02-21T09:55:00.000-05:00</published><updated>2006-02-21T10:25:52.860-05:00</updated><title type='text'>How to recreate Exchange IIS virtual directories</title><content type='html'>Brian Posey wrote an article that is worth taking note of. He explains how to recreate the IIS virtual directories for OWA. This can be useful if there is corruption in the metabase, or if data deletion occurs to the files and folders needed.&lt;br /&gt;Link to the article:&lt;br /&gt;&lt;a href="http://searchexchange.techtarget.com/general/0,295582,sid43_gci1167561,00.html?track=NL-368&amp;ad=541160"&gt;http://searchexchange.techtarget.com/general/0,295582,sid43_gci1167561,00.html?track=NL-368&amp;amp;ad=541160&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Overview of steps:&lt;br /&gt;1. Backup IIS - This will ensure that further damage isn't done&lt;br /&gt;2. Delete all the IIS virtual directories&lt;br /&gt;a. Exadmin, Exchange, ExchWeb, Microsoft-Server-ActiveSync, OMA, and Public directories.&lt;br /&gt;3. Delete the DS2MB metadata using Metabase Exploerer (IIS Resource Kit)&lt;br /&gt;a. DS2MB stands for Directory Service to Metabase. It exists to bring over configuration information from AD to IIS. Remember that some OWA administration is actually done through ESM. Those changes come over with the help of DS2MB. I'm assuming that when DS2MB is deleted, the virtual directories are repopulated using the information in AD.&lt;br /&gt;4. Restart the System Attendant and/or reboot the server to recreate the virtual directories.&lt;br /&gt;5. Reset permissions on the ExchWeb virtual directory.&lt;br /&gt;a. The article recommends enabling anonymous access and integrated Windows authentication on the ExchWeb directory. Anonymous access was already enabled when I tried this in my lab, and Integrated Windows Authentication was not needed.&lt;br /&gt;&lt;br /&gt;KB Articles:&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=240105"&gt;Overview of DS2MB&lt;/a&gt;&lt;br /&gt;&lt;a href="https://premier.microsoft.com/default.aspx?scid=kb;en-us;883380"&gt;How to reset default virtual directories that are required to Provide Outlook Web Access, Exchange ActiveSync, and OMA&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114053555268505055?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114053555268505055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114053555268505055'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/how-to-recreate-exchange-iis-virtual.html' title='How to recreate Exchange IIS virtual directories'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114046371109523994</id><published>2006-02-20T14:25:00.000-05:00</published><updated>2006-02-20T14:28:31.113-05:00</updated><title type='text'>Delegating Admin Tasks</title><content type='html'>I'm a big fan of delegating only the admin rights that people need. It's easier to just give everyone full rights, but that's not very Elegant. Anyway, I read an article at ActiveDir.org today that corvers how to create a taskpad to delegate common administrative tasks.&lt;br /&gt;&lt;a href="http://www.activedir.org/article.aspx?aid=84"&gt;http://www.activedir.org/article.aspx?aid=84&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114046371109523994?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114046371109523994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114046371109523994'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/delegating-admin-tasks.html' title='Delegating Admin Tasks'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-114019624949194783</id><published>2006-02-17T12:04:00.000-05:00</published><updated>2006-02-17T12:10:49.503-05:00</updated><title type='text'>HP Remote Management / ILO</title><content type='html'>Had an issue today where we needed to change the IP address of the ILO card.  Normally, this can be done through one of two ways:&lt;br /&gt;1. Through the ILO interface&lt;br /&gt;     a. https://iloipaddress&lt;br /&gt;2. By rebooting the server and pressing F8&lt;br /&gt;&lt;br /&gt;Neither of these methods was an option which allowed us to find a Utility from HP called "HP Lights-Out Online Configuration Utility."  Its basically a command line tool that takes an XML file as input for ILO configuration settings.  To get the utility to work, we had to install the following:&lt;br /&gt;1. HP Proliant iLO Advanced and Enhanced System Management Controller Driver&lt;br /&gt;2. HP Proliant Integrated Lights-Out Management Interface Driver&lt;br /&gt;3. HP Lights-Out Online Configuration Utility&lt;br /&gt;4. HP Insight Diagnostics Online Edition&lt;br /&gt;&lt;br /&gt;Not sure which ones are needed, but the utility wouldn't work untill we installed all of the above.&lt;br /&gt;Steps to change IP address:&lt;br /&gt;1. C:\&gt;hponcfg /w ilo_ip.xml - Exports configuration&lt;br /&gt;2. Edit ilo_ip.xml to reflect new IP address&lt;br /&gt;3. C:\&gt;hponcfg /f ilo_ip.xml - Imports configuration&lt;br /&gt;&lt;br /&gt;In the documentation, I also saw that this could be used to change the password.&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-114019624949194783?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114019624949194783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/114019624949194783'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/hp-remote-management-ilo.html' title='HP Remote Management / ILO'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113995386659204545</id><published>2006-02-14T16:45:00.000-05:00</published><updated>2006-02-15T09:42:47.610-05:00</updated><title type='text'>Troubleshooting mail delivery and queues</title><content type='html'>Had an issue late this afternoon where the queue "messages awaiting directory lookup" had over 5K messages in it. I wanted to point to the following documents which detail how to troubleshoot each queue:&lt;br /&gt;Troubleshooting Mail Flow and SMTP&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/exchange/guides/E2k3TransnRouting/32e85e48-1a58-46c3-8f0d-f94df467ad41.mspx"&gt;Exchange Transport and Routing Guide&lt;/a&gt;&lt;br /&gt;Modifying Logging Settings for MSExchangeTransport&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/exchange/guides/E2k3TransnRouting/daa02886-ee3d-4e29-95d1-511c57401899.mspx"&gt;Exchange Transport and Routing Guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically, Queue buildup in "messages awaiting directory lookup" is related to AD connectivity. Here's a couple of ways to test AD connectivity:&lt;br /&gt;telnet dcname 389 / 3268 (dc / gc)&lt;br /&gt;lpd dcname 389 / 3268 (dc / gc)&lt;br /&gt;dcdiag dcname&lt;br /&gt;&lt;br /&gt;It turns out that one of the sites only has a single domain controller, which was probably overwhelmed. Lesson: Exchange needs at least two domain controllers local to it's site. Connectivity re-established by itself, but the queue continued to grow. We tried restarting the SMTP service, but it was stuck in a stopping state.  There's a couple options available for this situation:&lt;br /&gt;1. Force the smtpsvc to stop:&lt;br /&gt;sc stop smtpsvc /force&lt;br /&gt;&lt;br /&gt;2. Issue an iisreset /restart command which will bring down all the services related to inetinfo.exe (including SMTP).&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/003ed2fe-6339-4919-b577-6aa965994a9b.mspx"&gt;IIS Library&lt;/a&gt;&lt;br /&gt;It's important to note that if IISreset cannot bring down inetinfo.exe gracefully, then it will force it to stop.  This can be avoided by providing the /noforce switch.&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113995386659204545?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113995386659204545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113995386659204545'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/troubleshooting-mail-delivery-and.html' title='Troubleshooting mail delivery and queues'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113958414885231490</id><published>2006-02-10T09:34:00.000-05:00</published><updated>2006-10-27T15:18:56.356-04:00</updated><title type='text'>DSTools</title><content type='html'>************************************************************************************&lt;br /&gt;Consolidate Two Groups&lt;br /&gt;************************************************************************************&lt;br /&gt;I came across two queries that I wanted to pass along.  The first allows you to consolidate groups. The query was posted by Mike Thommes who found it in a posting by Jerold Schulman. Here is my modified version&lt;br /&gt;Groups:&lt;br /&gt;Source1&lt;br /&gt;Source2&lt;br /&gt;GrpConsolidate&lt;br /&gt;&lt;br /&gt;Queries:&lt;br /&gt;dsquery group -name GrpConsolidate **gets the DN of the target group&lt;br /&gt;dsget group %groupdn% -members **get the members of the group&lt;br /&gt;findstr /I /V /L /G:&lt;path&gt; **regardless of case, print only lines that do NOT contain a match, and search strings literally, in file&lt;br /&gt;dsmod group %groupdn% -addmbr **addms members to the group&lt;br /&gt;&lt;br /&gt;Below is a combinations of these scripts to get everything to work.&lt;br /&gt;&lt;br /&gt;c:\&gt;dsquery group -name GrpConsolidate dsget group -members &gt; c:\temp\target_group_members.txt&lt;br /&gt;&lt;br /&gt;c:\&gt;dsget group %sourcegroupdn% -members findstr /I /V /L /G:c:\temp\target_group_members.txt dsmod group &lt;%targetgroupdn% -addmbr&lt;br /&gt;&lt;br /&gt;The second query was from a request I made to the Exchange newsgroup on www.sunbelt.com.  I needed to find a generic way to populate a group from a text file with SMTP addresses.  Here's what Joe Richards (Joeware), and Michael B. Smith helped me develop:&lt;br /&gt;************************************************************************************&lt;br /&gt;END&lt;br /&gt;************************************************************************************&lt;br /&gt;&lt;br /&gt;************************************************************************************&lt;br /&gt;Copy A Group&lt;br /&gt;************************************************************************************&lt;br /&gt;c:\&gt;dsquery group -name [groupname]&lt;br /&gt;-This will give you the dn of both groups&lt;br /&gt; &lt;br /&gt;c:\&gt;dsget group [sourcegroupdn] -members &gt; c:\source_group_members.txt&lt;br /&gt;- exports the DN of all the members to a text file&lt;br /&gt;&lt;br /&gt;c:\&gt;for /f %i IN (source_group_members.txt) do dsmod group [targetgroupdn] -addmbr %i&lt;br /&gt;- parses through the text file and adds each DN to the variable %i, then the value of %i is passed to the dsmod query.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;************************************************************************************&lt;br /&gt;END&lt;br /&gt;************************************************************************************&lt;br /&gt;&lt;br /&gt;************************************************************************************&lt;br /&gt;Create a group from a list of SMTP addresses&lt;br /&gt;************************************************************************************&lt;br /&gt;&lt;br /&gt;-- ReadSMTP.cmd --&lt;br /&gt;for /f %%V in (smtp.txt) do dsquery * forestroot -q -filter "&amp;(objectCategory=user)(proxyaddresses=smtp:%%V)" -attr distinguishedName &gt;&gt; UserDN.txt&lt;br /&gt;-- ReadSMTP.cmd --&lt;br /&gt;&lt;br /&gt;-- FillGroup.cmd --&lt;br /&gt;for /F "delims=;" %%V in (userdn.txt) do dsmod group "[Group DN]" -addmbr %%V -q&lt;br /&gt;-- FillGroup.cmd --&lt;br /&gt;&lt;br /&gt;The same could be done using adfind and admod from www.joeware.net.  I decided to use the ds* tools because they don't required the download and I wanted to keep it simple.  Basically, I needed to hand this task off to another admin and I thought a script might complicate things.&lt;br /&gt;************************************************************************************&lt;br /&gt;END&lt;br /&gt;************************************************************************************&lt;br /&gt;&lt;br /&gt;************************************************************************************&lt;br /&gt;How to use DSAdd to create multiple accounts.&lt;br /&gt;************************************************************************************&lt;br /&gt;&lt;br /&gt;******************************&lt;br /&gt;      Userdn.txt&lt;br /&gt;******************************&lt;br /&gt;CN=CHETest13,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest14,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest15,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest16,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest17,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest18,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest19,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;CN=CHETest20,CN=Users,DC=labb,dc=contoso,dc=org&lt;br /&gt;******************************&lt;br /&gt;     Userdn.txt&lt;br /&gt;******************************&lt;br /&gt;&lt;br /&gt;C:\&gt;for /f %i IN (userdn.txt) do dsadd user %i -pwd Password1&lt;br /&gt;************************************************************************************&lt;br /&gt;END&lt;br /&gt;************************************************************************************&lt;br /&gt;&lt;br /&gt;On a side note, if there is a space in the DN, you'll have to specify no delimeter (the default delimeter is a space)&lt;br /&gt;C:\&gt;for /f "delim=" %i IN (userdn.txt) do dsadd user %i -pwd Password1&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113958414885231490?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113958414885231490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113958414885231490'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/dstools.html' title='DSTools'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113944676038350213</id><published>2006-02-08T18:39:00.000-05:00</published><updated>2006-02-09T13:46:58.170-05:00</updated><title type='text'>Transaction Logs</title><content type='html'>If a backup is completing successfully, Exchange will flush all logs that have been committed to the database. So normally, all committed transaction logs will be flushed if:&lt;br /&gt;1. All databases in the Storage Group are backed up&lt;br /&gt;2. All databases in the Storage Group are mounted during the backup&lt;br /&gt;&lt;br /&gt;The store determines what logs will be deleted by looking at the first log that has not yet been committed and deleting all log files previous to that. You can view the first uncommitted transaction log by running eseutil /mk on the checkpoint file.&lt;br /&gt;&lt;br /&gt;After the backup completes, ESE Event ID 224 will be logged telling you what series of transaction logs will be deleted: If eseutil /mk E01.chk outputs E010000G then E0100005 - E010000F will be deleted. The purging process is sequential and will purge all log files in the series with one caveat - the purge process will stop if it goes to delete a log file that is missing. So in the above example, if log E010000A is missing, then only logs E0100005 - E0100009 will be deleted. In this scenario, after the next backup, Exchange will again try and purge all log files that have been committed. This time eseutil /mk E01.chk outputs E01000016 as the uncommitted log file and therefore E010000B - E0100015 will be purged.&lt;br /&gt;&lt;br /&gt;If transaction logs are not purging, sooner or later you'll run out of disk space. If you have to create space in a hurry do not move the log files, compress them (in my lab I've seen 3 GB worth of log files compress to 1.5 GB). For recovery scenarios and for the purge process to complete successfully, do not move the transaction logs.&lt;br /&gt;&lt;br /&gt;Transaction logging in Exchange server 2003:&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/exchange/guides/UseE2k3RecStorGrps/d42ef860-170b-44fe-94c3-ec68e3b0e0ff.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/exchange/guides/UseE2k3RecStorGrps/d42ef860-170b-44fe-94c3-ec68e3b0e0ff.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using ESEUTIL to determine which transaction logs have been committed:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/182961"&gt;http://support.microsoft.com/kb/182961&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How to remove Exchange server transaction logs:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/240145"&gt;http://support.microsoft.com/kb/240145&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113944676038350213?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113944676038350213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113944676038350213'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/transaction-logs.html' title='Transaction Logs'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113942756826119801</id><published>2006-02-08T13:28:00.000-05:00</published><updated>2006-02-08T14:39:28.326-05:00</updated><title type='text'>Message Restrictions and Size Limits</title><content type='html'>Interesting read about how Exchange applies message restrictions / size limits.&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/exchange/2003/insider/Message_Restrictions.mspx"&gt;Exchange Insider&lt;/a&gt;&lt;br /&gt;It's important to note that for internal messages, the restriction setting on individual accounts trumps global settings.&lt;br /&gt;For Internet email, global settings are applied: &lt;a href="http://support.microsoft.com/?kbid=322679"&gt;322679&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113942756826119801?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113942756826119801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113942756826119801'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/message-restrictions-and-size-limits.html' title='Message Restrictions and Size Limits'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113934747247847865</id><published>2006-02-07T16:24:00.000-05:00</published><updated>2006-02-07T16:24:32.490-05:00</updated><title type='text'>Free IPod...??</title><content type='html'>Hey [friend's name], Check out this site ipods.freepay.com&lt;br /&gt;Click here: &lt;a href="http://ipods.freepay.com/?r=27443572"&gt;http://ipods.freepay.com/?r=27443572&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113934747247847865?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113934747247847865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113934747247847865'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/free-ipod.html' title='Free IPod...??'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113882163393093924</id><published>2006-02-01T14:14:00.000-05:00</published><updated>2006-02-01T14:49:55.703-05:00</updated><title type='text'>Designing Storage for Exchange 2003</title><content type='html'>Exchange Storage Design&lt;br /&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;The point of proper storage design is to ensure that each users gets enough IOPS. Consider the IOPS that the storage can provide:&lt;br /&gt;* RAID 10 ( 2R 1W)  RAID 5 (4R 1W)&lt;br /&gt;* 15K rpm disks - 180 IO/second Before Controller&lt;br /&gt;-Maximum Throughput = 180 X 80% (buffer) X .75 (RAID Factor) = 108 IO/second&lt;br /&gt;-RAID 10 Factor = (R + W)/(R + 2W)&lt;br /&gt;-RAID 5 Factor = (R + W)/(R + 4W)&lt;br /&gt;* 10 Disks at RAID 10 - 1080 IO/second (Max IO/second that the disk will give you)&lt;br /&gt;Using the example above, 1000 users would be able to receive 1.08 IOPS each.&lt;br /&gt;&lt;br /&gt;JetStress can also be used to verify that 10 (15K RPM) disks at RAID 10 successfully sustain 1080 IOPS. Increasing the threadcount of JetStress will determine the most IOPS that those 10 disks can give you. As the thread count is increased, it's expected that the IOPS will not go above 1080.&lt;br /&gt;&lt;br /&gt;Also, don't forget to consider IOs per database (since databases will be on seperate disks). If you pace 500 users on one database and 1500 on another, you will not achieve the required IOPS/user.&lt;br /&gt;&lt;br /&gt;How many disks are needed?&lt;br /&gt;To work this backwards we would need to following information:&lt;br /&gt;* Mailboxes per server 1000&lt;br /&gt;* Users I/O profile - 1.5 * IOPS = 1000 * 1.5 = 1500&lt;br /&gt;*Read ratio(4 / (2+1) = .8&lt;br /&gt;*Write Ratio (1 - .8) = .2&lt;br /&gt;*RAID PENALTY for RAID 10 - 2 - Each write requires 2 disk I/O&lt;br /&gt;&lt;br /&gt;(IOPS X Read Ratio) + [RAID Penalty](IOPS X Write Ratio)&lt;br /&gt;-------------------------------------------&lt;br /&gt;Spindle Speed Behind Controller (180)&lt;br /&gt;&lt;br /&gt;*Result = 1800 / 180 = 10&lt;br /&gt;&lt;br /&gt;Teo&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Links:&lt;br /&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2004/10/11/240868.aspx"&gt;Exchange Team Blog - Disk Sizing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2004/11/03/251743.aspx"&gt;Exchange Team Blog - Disk IO&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.petri.co.il/sizing_exchange_part_2.htm"&gt;Petri - Exchange Sizing&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113882163393093924?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113882163393093924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113882163393093924'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/02/designing-storage-for-exchange-2003.html' title='Designing Storage for Exchange 2003'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113858466477161545</id><published>2006-01-29T20:24:00.000-05:00</published><updated>2006-02-26T22:46:24.316-05:00</updated><title type='text'>Exchange 2003 bandwidth requirements</title><content type='html'>I did some research over the weekend into the bandwidth requirements of&lt;br /&gt;Exchange 2003 and Outlook 2003. Microsoft published an Operation paper titled "10 things to think about". Here they recommend using the following for a ballpark estimate:&lt;br /&gt;Regular MAPI clients&lt;br /&gt;# of concurrent users * 2.5 Kbps&lt;br /&gt;&lt;br /&gt;Heavy MAPI clients&lt;br /&gt;# of concurrent users * 3 Kbps&lt;br /&gt;&lt;br /&gt;I noted some technology considerations below. I was also able to find&lt;br /&gt;two white papers on traffic analysis; one by Citrix and the other by&lt;br /&gt;Microsoft. Finally, I jotted down my initial thoughts.&lt;br /&gt;&lt;br /&gt;-- TECHNOLOGY CONSIDERATIONS --&lt;br /&gt;&lt;br /&gt;Exchange 2003 Considerations&lt;br /&gt;* LDAP searches directed at Global Catalog servers. By default, Exchange will refer Outlook clients to LDAP servers in the Exchange servers local site for directory access.&lt;br /&gt;* Public Folder replication (unable to predict)&lt;br /&gt;* OWA usage - Based on readings a single Outlook client, based on a&lt;br /&gt;heavy profile, could require as much as 15 Kb/s per client (see white&lt;br /&gt;paper below)&lt;br /&gt;&lt;br /&gt;Outlook 2003 Considerations&lt;br /&gt;* Every environment is different depending on the users profile (think of&lt;br /&gt;IOPS when considering storage)&lt;br /&gt;* Improved MAPI communication - Data is compressed and more data per&lt;br /&gt;packet sent that in previous versions of Outlook. (only when working with&lt;br /&gt;Exchange 2003).&lt;br /&gt;* A single Outlook client, based on a heavy profile,&lt;br /&gt;could require as much as 10 Kb/s per client (see white paper below)&lt;br /&gt;* Cached mode has been designed to work over WAN links and tolerate&lt;br /&gt;latency. However, it does require synchronization of an OST and OAB&lt;br /&gt;(offline address book). This could result in high network utilization&lt;br /&gt;if many users connect to Exchange at the same time and/or synchronize&lt;br /&gt;their mail at the same time.&lt;br /&gt;&lt;br /&gt;* OAB (Offline Address Book) - In a large organization, the OAB can be&lt;br /&gt;several MB's in size (38 MB in my current environment). This can grow&lt;br /&gt;significantly large when PKI is implemented. In addition there are multiple scenarios where Exchange forces all users to execute a full download:&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;[LN];839826"&gt;KB839826&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Desktop search engines&lt;br /&gt;* We've had some problems with the Google and MSN desktop&lt;br /&gt;search engine. When these applications try and index a user's&lt;br /&gt;mailbox, they'll execute as many connections as possible. Eventually one&lt;br /&gt;desktop can put the load of 100 clients (just while indexing a single mailbox).&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=905184"&gt;KB905184&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- WHITE PAPERS --&lt;br /&gt;Citrix Traffic Analysis&lt;br /&gt;&lt;a href="http://support.citrix.com/servlet/KbServlet/download/3761-102-10819/Meta"&gt;Citrix Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Traffic Analysis &lt;a href="http://www.microsoft.com/technet/prodtechnol/exchange/2003/clinettraf.mspx"&gt;&lt;br /&gt;M$ Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-- LINKS --&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/exchange/2003/top10perf.mspx"&gt;Top 10 things to Consider&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- MY THOUGHTS --&lt;br /&gt;One approach could be to work with the current Exchange adminstrators to&lt;br /&gt;try and establish 3 basic user profiles. Then&lt;br /&gt;hopefully make some basic bandwidth estimates and work with the network&lt;br /&gt;team on creating a flexible network plan. As the migration&lt;br /&gt;moves forward that plan could be adjusted based on trends.&lt;br /&gt;&lt;br /&gt;Another approach could be to look at WAN accelerators&lt;br /&gt;&lt;a href="http://h18006.www1.hp.com/products/storageworks/efswanaccelerator/"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113858466477161545?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113858466477161545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113858466477161545'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/01/exchange-2003-bandwidth-requirements.html' title='Exchange 2003 bandwidth requirements'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113812088657556144</id><published>2006-01-24T11:38:00.000-05:00</published><updated>2006-01-29T22:10:24.843-05:00</updated><title type='text'>LegacyExchangeDN</title><content type='html'>-- Mail Routing --&lt;br /&gt;The routing of mail to Exchange recipients is done with the LegacyExchangeDN attribute.  Messages sent are stamped with the senders LegacyExchangeDN.&lt;br /&gt;&lt;br /&gt;-- Migrations --&lt;br /&gt;With any version of Exchange, when the mailbox is moved, it's LegacyExchangeDN is overwritten to represent the new location in the directory.  Because of routing explanation above, this breaks replyability.  Normally, this is fixed by adding an X.500 proxy address that represents the LegacyExchangeDN.  Exchange 2003 SP1 does this to all mailboxes moved between administrative groups.&lt;br /&gt;&lt;br /&gt;-- Disaster Recovery --&lt;br /&gt;A great article on the role that the attribute LegacyExchangeDN plays in a disaster recovery scenario.&lt;br /&gt;&lt;a href="http://www.msexchange.org/tutorials/Understanding-LegacyExchangeDN.html"&gt;MSExchange.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113812088657556144?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113812088657556144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113812088657556144'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/01/legacyexchangedn.html' title='LegacyExchangeDN'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113717892680949050</id><published>2006-01-13T13:55:00.000-05:00</published><updated>2006-01-13T14:02:06.820-05:00</updated><title type='text'>Finding where a user was deleted</title><content type='html'>A blog I review posted 3 steps that show who deleted a user account.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;adfind -default -showdel -f (isdeleted=TRUE) -gc&lt;/li&gt;&lt;br /&gt;&lt;li&gt;repadmin /showobjmeta dcname deletedobjectDN find /i "isdeleted"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Eventcomb to find event id in security logs.&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;a. psloglist \\dcname security -i 630 -a date. &lt;/ul&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;a href="http://marcusoh.blogspot.com/2006/01/finding-where-user-was-deleted.html#links"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113717892680949050?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113717892680949050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113717892680949050'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/01/finding-where-user-was-deleted.html' title='Finding where a user was deleted'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113647953058859205</id><published>2006-01-05T11:41:00.000-05:00</published><updated>2006-02-21T10:36:28.360-05:00</updated><title type='text'>Cached Mode, Security Groups, and Paged Pool Memory</title><content type='html'>The Exchange team's &lt;a href="http://blogs.technet.com/exchange"&gt;blog &lt;/a&gt; has an interesting article which goes into detail about security tokens, and how much paged pool memory they consume.  If you have users in more than 80 security groups, it can impact performance.  Read more by following the link below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2006/01/03/416840.aspx"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113647953058859205?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113647953058859205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113647953058859205'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2006/01/cached-mode-security-groups-and-paged.html' title='Cached Mode, Security Groups, and Paged Pool Memory'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113450889237612127</id><published>2005-12-13T16:18:00.000-05:00</published><updated>2006-02-07T12:19:21.820-05:00</updated><title type='text'>Log Parser</title><content type='html'>I came across a great article about Log parser from Exchange &amp; Outlook Administrator (Windows IT Pro). It described the log parser tool and how to use it on a variety of logs. &lt;br /&gt;The first thing I thought about was gathering statistics about OWA useage. I used the following query that I got from Technet:&lt;br /&gt;logparser "SELECT TO_STRING(time, 'HH') AS Hour, COUNT(*) AS Hits INTO MyChart.jpg FROM ex*.log GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -o:CHART -chartType:ColumnClustered -chartTitle:"Hourly Hits" -groupSize:420x280&lt;br /&gt;This outputs a great JPEG that shows you hits per hour.&lt;br /&gt;&lt;br /&gt;I went to the Logpaerser forum to try and get some help in modifying the query so that I could get unique logons per hour.  Here is what Daniel Einspanjer helped me develop &lt;a href="http://www.logparser.com/instantforum33/shwmessage.aspx?ForumID=2&amp;MessageID=3314&amp;TopicPage=&amp;Post=True&amp;AutoApprove=false"&gt;Forum Link&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;First, create the two sql files:&lt;br /&gt;QAuthenticationv2(1).sql&lt;br /&gt;SELECT&lt;br /&gt;TO_STRING(time, 'HH') AS Hour,&lt;br /&gt;COUNT(*) AS Hits,&lt;br /&gt;cs-username&lt;br /&gt;INTO STDOUT&lt;br /&gt;FROM c:\owa_logs\*&lt;br /&gt;WHERE&lt;br /&gt;(cs-username IS NOT NULL)&lt;br /&gt;AND&lt;br /&gt;(sc-status = 200)&lt;br /&gt;GROUP BY Hour, cs-username&lt;br /&gt;&lt;br /&gt;QAuthenticationv2(2).sql&lt;br /&gt;SELECT&lt;br /&gt;Hour,&lt;br /&gt;SUM(Hits) AS Hits&lt;br /&gt;INTO Authenticationv2.gif&lt;br /&gt;FROM STDIN&lt;br /&gt;GROUP BY Hour&lt;br /&gt;&lt;br /&gt;Then execute them as follows:&lt;br /&gt;c:\logparser&gt;Logparser.exe file:QAuthenticationv2(1).sql -i:IISW3C -o:CSV | LogParser.exe -i:CSV file:QAuthenticationv2(2).sql -o:CHART -charttype:Columnclustered&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/community/columns/profwin/pw0505.mspx#EFAA"&gt;TechNet&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;amp;displaylang=en"&gt;Logparser Download&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.logparser.com/"&gt;http://www.logparser.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/1932266526/ref=ase_larkware-20/104-2371175-7046359?s=books&amp;amp;amp;v=glance&amp;n=283155&amp;amp;tagActionCode=larkware-20"&gt;Log Parser Book&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113450889237612127?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113450889237612127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113450889237612127'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/12/log-parser.html' title='Log Parser'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-113095495215083750</id><published>2005-11-02T13:07:00.000-05:00</published><updated>2006-01-24T11:24:51.776-05:00</updated><title type='text'>Exchange 2000 &amp; 2003 - Message Tracking Logs</title><content type='html'>Two KB articles that help interpret Message Tracking Logs:&lt;br /&gt;&lt;a href="http://support.microsoft.com/?id=821905"&gt;KB821905&lt;/a&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;246965"&gt;KB246965&lt;/a&gt;&lt;br /&gt;A website that Explains what the ID's in the Message Tracking Logs mean:&lt;br /&gt;&lt;a href="http://www.swinc.com/resource/exchange2003/appendixa.asp"&gt;Swinc&lt;/a&gt;&lt;br /&gt;Finally, a script that will report on all the Message Tracking Logs&lt;br /&gt;&lt;a href="http://www.outlookexchange.com/articles/glenscales/mtrackrs.asp"&gt;Outlook Exchange&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-113095495215083750?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113095495215083750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/113095495215083750'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/11/exchange-2000-2003-message-tracking.html' title='Exchange 2000 &amp; 2003 - Message Tracking Logs'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112991653279307755</id><published>2005-10-21T13:31:00.000-04:00</published><updated>2005-10-21T13:42:12.813-04:00</updated><title type='text'>Gmail Signature</title><content type='html'>Just wanted to post a link to a site that will create graphic signatures.&lt;br\&gt;&lt;br /&gt;&lt;a href="http://gsig.brightdev.com/index.php"&gt;Link&lt;/a&gt;&lt;br\&gt;&lt;br /&gt;&lt;br /&gt;Here's the code for mine:&lt;br\&gt;&lt;br /&gt;&lt;a href="mailto:teoheras@gmail.com"&gt;&lt;img alt="GSig" src="http://gsig.brightdev.com/2/teoheras.png" /&gt;&lt;/a&gt;&lt;br\&gt;&lt;br /&gt;Forum:&lt;br /&gt;[EMAIL=teoheras@gmail.com][IMG]http://gsig.brightdev.com/2/teoheras.png[/IMG][/EMAIL]&lt;br /&gt;&lt;br\&gt;&lt;br /&gt;Webpage:&lt;br /&gt;&amp;lt;a href="mailto:teoheras@gmail.com"&amp;gt;&amp;lt;img alt="GSig" src="http://gsig.brightdev.com/2/teoheras.png" /&amp;gt;&amp;lt;/a&amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112991653279307755?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112991653279307755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112991653279307755'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/10/gmail-signature.html' title='Gmail Signature'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112965223479108051</id><published>2005-10-18T12:13:00.000-04:00</published><updated>2005-10-18T12:17:14.803-04:00</updated><title type='text'>Unable to move mailbox - access denied</title><content type='html'>I've found that I cannot move mailboxes using ESM or ADUC from my laptop. I get access denied. I know I have access because I can successfully move mailboxes when logged on to the Exchange server. I found this article online that explains and resolves this issue.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=886700"&gt;http://support.microsoft.com/?kbid=886700&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112965223479108051?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112965223479108051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112965223479108051'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/10/unable-to-move-mailbox-access-denied.html' title='Unable to move mailbox - access denied'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112958387464456351</id><published>2005-10-17T17:15:00.000-04:00</published><updated>2005-10-17T17:17:54.650-04:00</updated><title type='text'>Urlscan Exchange 2003 Windows 2003 SP1</title><content type='html'>&lt;p&gt;I finally fixed the problem I encountered with OWA and urlscan after installling Windows 2003 SP1.  Basically I was getting page cannot be found errors.  I found that owalogon.asp was being denied by the urlscan template that I copied from an MS KB article.  Here are the KB articles that I would recommend to anyone installing URLScan:&lt;br /&gt;&lt;br /&gt;How to configure the urlscan tool&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=326444"&gt;http://support.microsoft.com/?kbid=326444&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;URLScan tool may cause problems in Outlook Web Access&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=325965"&gt;http://support.microsoft.com/?kbid=325965&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DO use the urlscan template listed here&lt;br /&gt;Fine-tunning and known issues when you use the Urlscan utility in an Exchange 2003 environment&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=823175"&gt;http://support.microsoft.com/?kbid=823175&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;**Do NOT** use the urlscan template listed in this KB - This is what broke OWA with Windows 2003 SP1&lt;br /&gt;IIS lockdown and URLScan configurations in an Exchange environment&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=309508"&gt;http://support.microsoft.com/?kbid=309508&lt;/a&gt;&lt;br /&gt;In the authors defense, the template is for Exchange 2000.  It worked fine with Exchange 2003 until I installed Windows 2003 SP1.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112958387464456351?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112958387464456351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112958387464456351'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/10/urlscan-exchange-2003-windows-2003-sp1.html' title='Urlscan Exchange 2003 Windows 2003 SP1'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112670273282610267</id><published>2005-09-14T08:57:00.000-04:00</published><updated>2005-09-14T08:58:52.830-04:00</updated><title type='text'>Exchange Administrator w/o local administrator rights</title><content type='html'>Someone posted a question asking how you could delegate the Exchange Administrator role but not make them a member of the local administrators group on the server.  Exchange 2003 SP1 requires this other wise you get an error with ID no: c10308a2.  Microsoft has released the following KB article that allows you to circumvent this. &lt;br /&gt; &lt;br /&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;905809&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112670273282610267?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112670273282610267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112670273282610267'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/09/exchange-administrator-wo-local.html' title='Exchange Administrator w/o local administrator rights'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112482239942162208</id><published>2005-08-23T14:35:00.000-04:00</published><updated>2005-09-09T16:10:28.223-04:00</updated><title type='text'>Exporting and Importing Proxy addresses</title><content type='html'>We've been doing alot of modifications to the proxy addresses of our user accounts via scripts.  We also had an ADC issue which caused roughly 1/3 of our mailboxes to become disconnected.  This was especiallly problematic because when you reconnect a mailbox it's proxy addresses are re-generated and any custom/friendly addresses are lost.  So, I think it's a good idea to document a simple way to export and import proxy addresses.  This will also work for any other attribute.&lt;br /&gt;Here's how:&lt;br /&gt;&lt;br /&gt;Ldifde -d "DC=domain,DC=com" -s DC_Name -r "(&amp;(mailnickname=*))" -l proxyAddresses -f proxies.txt&lt;br /&gt;&lt;br /&gt;The query above will generate the following output to proxies.txt&lt;br /&gt;----- Begin File: proxies.txt-----&lt;br /&gt;dn: CN=Teo\, Heras,OU=Users,DC=lab,DC=microsoft,DC=com&lt;br /&gt;changetype: add&lt;br /&gt;proxyAddresses: X400:c=US;a= ;p=Microsoft;o=Lab;s=Heras;g=Teo;&lt;br /&gt;proxyAddresses: SMTP:Teo_Heras@microsoft.com&lt;br /&gt;----- End File-----&lt;br /&gt;&lt;br /&gt;Additional attributes besides proxy addresses should be added next to "-l" (comma seperated).  &lt;br /&gt;&lt;br /&gt;Reimporting will require the manipulation of the output file as follows:&lt;br /&gt;----- Begin File: proxies.txt -----&lt;br /&gt;dn: CN=Teo Heras,OU=Users,OU=West Chester,OU=Corporate,DC=cablelab,DC=comcastlab,DC=com&lt;br /&gt;changetype: modify &lt;---- change from add to modify&lt;br /&gt;replace: proxyAddresses  &lt;---- This was added&lt;br /&gt;proxyAddresses: SMTP:Teo_Heras@Comcast.com&lt;br /&gt;proxyAddresses: X500:/O=Comcastlaborg/OU=Lab-CDC/cn=Recipients/cn=theras0000&lt;br /&gt;proxyAddresses: X400:c=US;a= ;p=Comcastlaborg;o=Lab-CDC;s=Heras;g=Teo;&lt;br /&gt;-   &lt;---This is critical and the log file will tell you&lt;br /&gt;----- End File -----&lt;br /&gt;&lt;br /&gt;Finally, we'll import the file by doing the following:&lt;br /&gt;c:\ldifde -i -f proxies.txt -s my_dc -j c:-i means import, -j c:\ is the path to log file&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A large file may be hard to modiy, so I wrote a script that parses through the log file and writes the attributes back to AD.  There are definately better alternatives (such as restoring AD to a lab and using VB to synchronize attributes), but it's useful to see how to parse through the output and use VBScript functions to pull the values you need.&lt;br /&gt;&lt;br /&gt;----------SCRIPT----------&lt;br /&gt;'This script will parse through the ldif export:&lt;br /&gt;'and write back the proxy addresses&lt;br /&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;Const ForReading = 1&lt;br /&gt;Const ADS_PROPERTY_UPDATE = 2&lt;br /&gt;'Define Proxy address Array&lt;br /&gt;Dim arrProxyAddresses&lt;br /&gt;Dim arrToWrite()&lt;br /&gt;Dim objFSO, objDictionary, objTextFile, strTextfile, arrTextFile, strTextLine, objUser, strPriMail&lt;br /&gt;Dim strUsrDN,strProxyAddresses, colKeys, strKey, intsize, strProxyAddress, intPriMailCount&lt;br /&gt;Dim strUserDNLen, intFirstPipeLoc, intSecPipeLoc, intProxyLength, strProxyAddressArr, intFullProxyLen&lt;br /&gt;&lt;br /&gt;set objFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set objDictionary = CreateObject("Scripting.Dictionary")&lt;br /&gt;set objTextFile = objFSO.OpenTextFile("c:\proxies.txt", ForReading)&lt;br /&gt;strTextfile = objTextFile.ReadAll&lt;br /&gt;'Fills each array entry with a line from the LDIF export.&lt;br /&gt;arrTextfile = Split(strTextfile, VbCrLf)&lt;br /&gt;&lt;br /&gt;'Loop through array and fill dictionary object&lt;br /&gt;For Each strTextLine In arrTextfile&lt;br /&gt;  'The logic below leaves strUsrDN populated until a blank line is detected&lt;br /&gt;  'A blank line means the next entry is being read.&lt;br /&gt;  If InStr(strTextLine, "dn:") Then&lt;br /&gt;   strUsrDN = strTextLine&lt;br /&gt;  Elseif InStr(strTextLine, "proxyAddresses:") Then&lt;br /&gt;    &lt;br /&gt;    'Ensure that the line doesn't just contain proxyaddress:  I've seen notepad break this line placing the value on the line below.&lt;br /&gt;    If Len(strTextLine) = 16 Then&lt;br /&gt;     MsgBox "Error on " &amp; strUsrDN&lt;br /&gt;     WScript.Quit&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    'Check for a primay smtp address&lt;br /&gt;    If instr(strTextLine, "SMTP:") Then&lt;br /&gt;     intPriMailCount = 1&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    'As long as a proxy address is detected, append all proxy addresses found&lt;br /&gt;    'The loop begins by checking whether or not the strProxyAddresses field is blank&lt;br /&gt;    If strProxyAddresses = "" Then&lt;br /&gt;    'Write the first proxy address without the delimeter.  Otherwise when we call the split&lt;br /&gt;    'Function we will have a null value for the firs one.&lt;br /&gt;     strProxyAddresses = strTextLine&lt;br /&gt;    Else&lt;br /&gt;     strProxyAddresses = strProxyAddresses &amp; "|" &amp; strTextLine&lt;br /&gt;    End If&lt;br /&gt;  Elseif strTextLine = "" Then&lt;br /&gt;    'Check that the user object has a primary smtp address to apply&lt;br /&gt;    If intPriMailCount = 0 Then&lt;br /&gt;     MsgBox strUsrDN &amp; " does not have a primary SMTP address."&lt;br /&gt;     WScript.Quit&lt;br /&gt;    End If&lt;br /&gt;    'When a blank line is detected it means the first LDIF entry has been read.&lt;br /&gt;     'write to the dictionary object and clear all variables&lt;br /&gt;    objDictionary.add strUsrDN, strProxyAddresses&lt;br /&gt;    'Clear out variables.  When empty they are used for validation and they should be empty when the&lt;br /&gt;    'loop begins.&lt;br /&gt;    strProxyAddresses = ""&lt;br /&gt;    strUsrDN = ""&lt;br /&gt;    intPriMailCount = 0&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;'Loop through dictinary object, parse content, and write to user account.&lt;br /&gt;colKeys = objDictionary.keys&lt;br /&gt;For Each strKey In colKeys&lt;br /&gt;'Parse through the userDN value&lt;br /&gt; strUserDNLen = Len(strKey)&lt;br /&gt; strUsrDN = Mid(strKey, 5, strUserDNLen)&lt;br /&gt; strProxyAddresses = objDictionary.Item(strKey)&lt;br /&gt; arrProxyAddresses = Split(strProxyAddresses, "|")&lt;br /&gt; intsize = 0&lt;br /&gt; For Each strProxyAddress In arrProxyAddresses&lt;br /&gt;  'Strip "proxyaddress:" - the length of proxyaddress: is 17&lt;br /&gt;  strProxyAddress = Mid(strProxyAddress, 17, Len(strProxyAddress))&lt;br /&gt;  'Proxy addresses have to be written as an array, so after stripping out the&lt;br /&gt;  'proxyaddress: string we'll create a new array with the values needed&lt;br /&gt;  ReDim Preserve arrToWrite(intsize)&lt;br /&gt;  arrToWrite(intsize) = strProxyAddress&lt;br /&gt;  'Keep track of the primary proxy address so that it can be written to the mail attribute later&lt;br /&gt;  If instr(strProxyAddress, "SMTP:") Then&lt;br /&gt;   'Use Mid to strip out SMTP:&lt;br /&gt;   strPriMail = Mid(strProxyAddress,6,Len(strProxyaddress))&lt;br /&gt;  End If&lt;br /&gt;  intsize = intsize + 1&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; 'Here's what I'll be writing to the user object&lt;br /&gt;  Set objUser = GetObject("LDAP://" &amp; strUsrDN)&lt;br /&gt;  MsgBox "Writing to " &amp; objUser.DistinguishedName&lt;br /&gt;  objUser.putex ADS_PROPERTY_UPDATE,"proxyAddresses", arrToWrite&lt;br /&gt;  objUser.SetInfo&lt;br /&gt;  objuser.put "mail", strPrimail&lt;br /&gt;  objUser.SetInfo&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;----- End Script -----&lt;br /&gt;&lt;br /&gt;KB Articles:&lt;br /&gt;How to Modify a User's E-mail addresses by Using Ldifde&lt;br /&gt;http://support.microsoft.com/?kbid=313823&lt;br /&gt;&lt;br /&gt;How to import and Export Directory Objects to Active Directory&lt;br /&gt;http://support.microsoft.com/kb/q237677/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112482239942162208?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112482239942162208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112482239942162208'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/08/exporting-and-importing-proxy.html' title='Exporting and Importing Proxy addresses'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112448356953140240</id><published>2005-08-19T16:15:00.000-04:00</published><updated>2005-08-19T16:41:47.543-04:00</updated><title type='text'>Running a Hard Recovery on a database</title><content type='html'>We recently had a scenario where an administrator had tried to restore a full and an incremental backup. He escalated the problem to us when he couldn't see the data from his incremental backup. It turned out that a hard recovery was ran after his full backup restored. Oddly enough, most vendors have the hard recovery process run by default after every recovery. On Backup Exec, for example, this process is identified as a check next to the box labled 'Commit Logs.'&lt;br /&gt;&lt;br /&gt;A hard recovery is the process that brings a restored database back to a consistent state (administrator intervention is required). A typical hard recovery of a database is the restoration of a full backup or a full and differential backup of the information store. During the recovery process the administrator manually begins log file replay either through the ESEUTIL /cc command or the backup program interface (‘Last Backup Set’ in NTBackup). ESEUTIL /cc must be run from within the folder where Restore.env resides (eseutil /cc {restore.env path}). ESEUTIL /cc looks for instructions in the Restore.env file. Prior to beginning a hard recovery of a database, make sure that all database files and transaction logs have been backed up. If backups are not completing successfully, then it may be necessary to shut down the information store and copy the database and transaction log files to an alternate location. This way, if the database is damaged in any way, it can be restored to the same state it was before.&lt;br /&gt;&lt;br /&gt;Once a hard recovery is performed, the database header is changed and all other log files will be useless. The hard recovery process changes the header information on the database and only the log files from this point forward can be re-played. For this reason, it is critical that the stores not be mounted until you are sure that there are no other restores that need to take place. If, after mounting the database, you find you need to restore other log files, you will have to restore the backups to an alternate location and EXMerge the data into the production database. Otherwise, you risk further downtime by re-running your restore process and loosing the data that was written to the database(s) once the stores were mounted. Once a satisfactory restore has been performed on a database, a full backup must be run.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112448356953140240?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112448356953140240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112448356953140240'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/08/running-hard-recovery-on-database.html' title='Running a Hard Recovery on a database'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112448246474471980</id><published>2005-08-15T16:12:00.000-04:00</published><updated>2005-08-19T16:14:24.750-04:00</updated><title type='text'>CIS Benchmark for Exchange 2003</title><content type='html'>I just read on http://www.e2ksecurity.com/ (Paul Robichaux blog) that the CIS Benchmark for Exchange 2003 document has been released.  It covers how to harden an Exchange 2003 server environment.&lt;br /&gt;&lt;br /&gt;http://www.cisecurity.org/bench_exchange.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112448246474471980?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112448246474471980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112448246474471980'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/08/cis-benchmark-for-exchange-2003.html' title='CIS Benchmark for Exchange 2003'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112300064502828840</id><published>2005-08-02T11:39:00.000-04:00</published><updated>2005-08-02T12:49:15.226-04:00</updated><title type='text'>Overcomming Recovery Storage Group Limitation</title><content type='html'>The Recovery Storage Group (RSG) works great for recovering deleted items to a production database.  The limitation is that the mailbox has not been moved or deleted (purged) from the original database.  The Recovery Storage Group process compares two attributes before allowing a restore of mailbox items from the restored database to the production database: The msExchMailboxGUID (read only) one the mailbox and msExchOrigMDB on the database in the RSG.  &lt;br /&gt;&lt;br /&gt;Dealing with a deleted mailbox:&lt;br /&gt;A mailbox's GUID (msExchMailboxGUID) is the same for the life of the mailbox.  Restoring a deleted (purged) mailbox by recreating it will not not allow the RSG to connect the new maibolx to the mailbox that exists in the restored database.  The new recreated mailbox has a new GUID and it cannot be changed to match the old one (the msExchMailboxGUID is a read only attribute).  Microsoft recommends the following steps:&lt;br /&gt;1. Add the database the mailbox was in before it was purged to the RSG&lt;br /&gt;2. Restore the databse to the Recovery Storage Group&lt;br /&gt;3. Mount and then dismount the database in the RSG (this will ensure that the database is in a clean shutdown state eseutil /mh databasename.edb&lt;br /&gt;4. Create a new Storage Group and Database ensuring that the file names for the new database are identicle to those of the database in the RSG.  Then dismount the database.&lt;br /&gt;5. Copy the .stm and .edb files from the RSG location to the path of the new database.&lt;br /&gt;6. In the properties of the new database (through ESM) place a check mark next to the box (this database can be over written by a restore).&lt;br /&gt;7. Mount the database, connect mailbox to an AD account, Exmerge the data out of the recovered mailbox and into the new mailbox.&lt;br /&gt;&lt;br /&gt;Dealing with a mailbox that was moved:&lt;br /&gt;A database in the RSG will have an attribute called msExchOrigMDB set to the distinguished name of the original database.  If a mailbox has been moved to another database the only backup available may be of the database before the mailbox was moved.  To restore items Microsoft recommends the following steps:&lt;br /&gt;1. Move the mailbox back to the original database&lt;br /&gt;2. Modify the msExchOrgiMDB attribute so that it lists the DN of the database that now holds the mailbox in question.&lt;br /&gt;&lt;br /&gt;Related KB Articles:&lt;br /&gt;http://www.microsoft.com/technet/prodtechnol/exchange/guides/UseE2k3RecStorGrps/71dd4ae1-2a64-4411-804b-33b5972c8493.mspx&lt;br /&gt;http://www.microsoft.com/technet/prodtechnol/exchange/guides/UseE2k3RecStorGrps/71dd4ae1-2a64-4411-804b-33b5972c8493.mspx&lt;br /&gt;http://support.microsoft.com/?id=824126#XSLTH4144121122120121120120&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112300064502828840?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112300064502828840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112300064502828840'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/08/overcomming-recovery-storage-group.html' title='Overcomming Recovery Storage Group Limitation'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112118723370517401</id><published>2005-07-12T12:28:00.000-04:00</published><updated>2005-07-12T12:53:53.743-04:00</updated><title type='text'>Messages appear in folder titled 'Top of Information Store'</title><content type='html'>We had an issue where serveral users had reached their mailbox limits but where reporting that they had manually cleaned their mailboxes.  What we eventually found was that users had somehow dragged messages into the root of the Outlook hierarchy 'Mailbox - User Name.'  We found this by searching for all messages larger than 1 KB (Advanced Search) and seeing that they resided in a folder named 'Top of Information Store.'  Besides searching and deleting the messages (from within the search box) there is another way to see what messages exist in the 'Top of Information Store.'&lt;br /&gt;1.Find mbdvu32.exe in the Tools\ExAllTools\MDBVU32 directory on the Exchange CD&lt;br /&gt;2. Exedute mbdvu32.exe&lt;br /&gt;3. Click OK to clear the first window that pops up.&lt;br /&gt;4. Make sure that the correct profile is slected in the 'Choose Profile' windows&lt;br /&gt;5. Click on the MDB menu option.&lt;br /&gt;6. Click on the OpenMessageStore option.&lt;br /&gt;7. Make sure that "Mailbox- [user's full name]" is selected and click on Open.&lt;br /&gt;8. Click on the MDB menu option again.&lt;br /&gt;9. Click Open Root Folder.&lt;br /&gt;10. In the Child Folders box - double click on "Top of Information Store".&lt;br /&gt;11. In the window to the right, titled 'Messages in Folder' you will be see all the messages that the user has dragged into the top of the Outlook hierarchy.&lt;br /&gt;&lt;br /&gt;Thanks goes out to the people at MS Exchange Blog and their article below.  It actually shows how to fix OOF problems using the same utility.&lt;br /&gt;http://hellomate.typepad.com/exchange/2003/10/when_oof_doesnt.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112118723370517401?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112118723370517401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112118723370517401'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/07/messages-appear-in-folder-titled-top.html' title='Messages appear in folder titled &apos;Top of Information Store&apos;'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-112005755348276685</id><published>2005-06-29T11:02:00.000-04:00</published><updated>2005-07-06T08:43:35.463-04:00</updated><title type='text'>Places I've been</title><content type='html'>I found a cools site today that allowed me to color in a world map detailing the places I'be been.&lt;br /&gt;&lt;br /&gt;&lt;img width="400" height="200" src="http://www.world66.com/myworld66/visitedCountries/worldmap?visited=USMXCOPTESUKKWAECNSGTHAU"&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="http://www.world66.com/myworld66"&gt;create your own visited country map&lt;/a&gt;&lt;br /&gt; or check our &lt;a href="http://www.world66.com/europe/italy/veneto/venice"&gt;Venice travel guide&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-112005755348276685?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112005755348276685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/112005755348276685'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/06/places-ive-been.html' title='Places I&apos;ve been'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-111633748935770678</id><published>2005-05-17T09:40:00.000-04:00</published><updated>2005-05-17T09:44:49.363-04:00</updated><title type='text'>Moving Exchange Between OU's</title><content type='html'>I've had conversations in the past as to wether or not the computer account belonging to an Exchange 200x server can be moved between OU's.  This can be the case if you add the server to the domain before creating the computer account.  This causes the computer account to be created in the default computers OU.  Another scenario is the restructuring of OU's either for security or Group Policy administration.  Whatever the scenario is, the answer is that the Exchange computer account can be moved, but the System Attendant generates Event ID 9186 and Event ID 9187 errors.  The KB article below explains how to resolve this.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;271335&amp;sd=ee"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;271335&amp;sd=ee&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-111633748935770678?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111633748935770678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111633748935770678'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/05/moving-exchange-between-ous.html' title='Moving Exchange Between OU&apos;s'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-111540784662786739</id><published>2005-05-06T15:27:00.000-04:00</published><updated>2005-05-06T15:30:46.633-04:00</updated><title type='text'>Recommended Storage Group Configuration</title><content type='html'>Microsoft has come out with new guidance regarding the configuration of Storage Groups and database for Exchange 2003.  The article below recommends that all 5 Storage Groups be created with a mailbox store in each one (if needed).  This has changed from the old recommendation that a single Storage Group be filled with databases before creating other storage groups.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;890699"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;890699&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-111540784662786739?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111540784662786739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111540784662786739'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/05/recommended-storage-group.html' title='Recommended Storage Group Configuration'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-111383191489665196</id><published>2005-04-18T09:43:00.000-04:00</published><updated>2005-04-18T09:45:14.896-04:00</updated><title type='text'>Exmon</title><content type='html'>Microsoft has released a tool that provides the ability to gather real-time data bout the user experience when connected to Exchange.  This tool should be especially useful when establishing a baseline and troubleshooting.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9A49C22E-E0C7-4B7C-ACEF-729D48AF7BC9&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=9A49C22E-E0C7-4B7C-ACEF-729D48AF7BC9&amp;amp;displaylang=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-111383191489665196?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111383191489665196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111383191489665196'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/04/exmon.html' title='Exmon'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-111270525294886933</id><published>2005-04-05T08:44:00.000-04:00</published><updated>2005-04-05T08:47:32.946-04:00</updated><title type='text'>Remove delegated security</title><content type='html'>Once a user or group is delegated access, it's necessary to remove the access manually.  Microsoft has released a tool that will undo the process that delegation goes through.  DSRevoke.exe will traverse all the ACL's in the domain and remove access for the user(s) or group(s) specified.&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=77744807-c403-4bda-b0e4-c2093b8d6383&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=77744807-c403-4bda-b0e4-c2093b8d6383&amp;amp;displaylang=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-111270525294886933?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111270525294886933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111270525294886933'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/04/remove-delegated-security.html' title='Remove delegated security'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-111221968168526098</id><published>2005-03-30T16:46:00.000-05:00</published><updated>2005-03-30T16:54:41.686-05:00</updated><title type='text'>ADModify.net saves the day</title><content type='html'>In the team I work in, alot of scripting is done.  Today, we had a problem whereby a script was not successfully adding the X400 addresses to user accounts.  The "drop dead time" came and when for these modifications, and we were going to have to do them manually.  Luckily, we top a minute to look at ADModify.net and saw that it can modify any AD attribute, even multivalued ones.  The X400 address addtions happened immediately, and a huge headache was avoided.&lt;br /&gt;&lt;br /&gt;ADModify.net can be found here:&lt;br /&gt;&lt;a href="http://workspaces.gotdotnet.com/ADModify"&gt;http://workspaces.gotdotnet.com/ADModify&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And just so it gets indexed: Mass modifications of proxyAddresses multivalue attribute&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-111221968168526098?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111221968168526098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111221968168526098'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/03/admodifynet-saves-day.html' title='ADModify.net saves the day'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-111221872104475119</id><published>2005-03-30T16:38:00.000-05:00</published><updated>2005-03-30T16:38:41.046-05:00</updated><title type='text'>Exchange 12 in 2006</title><content type='html'>&lt;a href="http://news.com.com/New+Microsoft+Exchange+due+out+in+2006/2100-1012_3-5647236.html"&gt;"Andy Lees, corporate vice president of marketing for Microsoft's server and tools business, revealed the ship date Tuesday."&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-111221872104475119?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111221872104475119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/111221872104475119'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/03/exchange-12-in-2006.html' title='Exchange 12 in 2006'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-110926402522457998</id><published>2005-02-24T11:52:00.000-05:00</published><updated>2005-02-24T11:53:45.226-05:00</updated><title type='text'>Entourage causes excess Exchange 2003 transaction logs</title><content type='html'>I found this in one of the mailing lists I subscribe to:&lt;br /&gt;&lt;br /&gt;There is no external KB article at this time, as far as I know.  The hotfix readme shows the KB article as &lt;a title="http://support.microsoft.com/?kbid=" href="http://support.microsoft.com/?kbid=889525"&gt;http://support.microsoft.com/?kbid=889525&lt;/a&gt;, which doesn't exist.  The hotfix number is the same -- 889525.&lt;br /&gt;&lt;br /&gt;I am running Exchange 2003 SP1, don't know if one is in the works for Exchange 2000.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-110926402522457998?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110926402522457998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110926402522457998'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/02/entourage-causes-excess-exchange-2003.html' title='Entourage causes excess Exchange 2003 transaction logs'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-110805911565389207</id><published>2005-02-10T13:01:00.000-05:00</published><updated>2005-02-10T13:11:55.653-05:00</updated><title type='text'>KANA and Exchange SMTP Communication</title><content type='html'>We've finally resolved a problem we were having with our Kana software and our Exchange 2003 migration.  The issue began when we replaced our Exchange 5.5 SMTP servers with Exchange 2003.  Messages that would normally come in fine from our Kana web form began comming in garbled.  At first we thought it could be the message format.  Playing with the message format settings revealed that if we set the content type to plain text and the character type to ASCII then the message body would come in fine except for the xml code.  At this point we were getting the xml code that was normally in the message body as an attachment.&lt;br /&gt;&lt;br /&gt;What we were able to resolve is that by still having Exchange 5.5 servers as bridgehead servers, our messages where being spun through different protocols (SMTP to RPC to SMTP again).  When we tried to use only SMTP communication the messages came in fine.  We tested and verified this by putting the mailboxes that were receiving KANA emails directly on the SMTP servers (no more RPC communication).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-110805911565389207?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110805911565389207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110805911565389207'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/02/kana-and-exchange-smtp-communication.html' title='KANA and Exchange SMTP Communication'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-110796031671107041</id><published>2005-02-09T09:42:00.000-05:00</published><updated>2005-02-09T09:45:16.710-05:00</updated><title type='text'>Reprint of a great AD book</title><content type='html'>I just read that the book "Inside Active Directory" has a second edition comming out.  I thought the first book was great and went into great detail about the inner workings of AD.  The second book is going to cover the changes to AD in Windwos 2003.  I would definately recommend the material to anyone who deals with AD on a day-to-day basis.  It is however, too in-depth for just basic administration of accounts.&lt;br /&gt;&lt;br /&gt;Here's the authors website:&lt;br /&gt;&lt;a href="http://www.kouti.com/"&gt;http://www.kouti.com/&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-110796031671107041?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110796031671107041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110796031671107041'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/02/reprint-of-great-ad-book.html' title='Reprint of a great AD book'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-110728024281952412</id><published>2005-02-01T12:47:00.000-05:00</published><updated>2005-02-01T12:50:42.820-05:00</updated><title type='text'>Copy Exchange 5.5 Distribution Lists</title><content type='html'>There are many tools and scripts out there to copy multiple DL's (Distribution Lists) from one 5.5 org to another org (AD).  However, if you come across a situation where you only need to copy one Distribution List here is a quick method.  You can basically log into the Exchange Org using Outlook 2003 and choose the DL from the GAL.  Then expand the group membership and copy all the members to the AD screen that you would use to create a new DL in AD.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-110728024281952412?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110728024281952412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110728024281952412'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/02/copy-exchange-55-distribution-lists.html' title='Copy Exchange 5.5 Distribution Lists'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8441548.post-110668626370551168</id><published>2005-01-25T14:57:00.000-05:00</published><updated>2005-01-25T15:51:03.706-05:00</updated><title type='text'>Tranfer relay settings</title><content type='html'>Today we had a situation where we needed to transfer about 900 relay settings from Exchange 5.5 servers to Exchange 2003 servers.   We were able to do this by using a script called ipsec.vbs from the exalltools download.  This download is available here.&lt;br /&gt;For just ipsec.vbs&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=286d2818-08b3-496d-8b0d-c2b628a3ef16&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=286d2818-08b3-496d-8b0d-c2b628a3ef16&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;For exalltools&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e0f616c6-8fa4-4768-a3ed-cc09aef7b60a&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=e0f616c6-8fa4-4768-a3ed-cc09aef7b60a&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8441548-110668626370551168?l=teoheras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110668626370551168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8441548/posts/default/110668626370551168'/><link rel='alternate' type='text/html' href='http://teoheras.blogspot.com/2005/01/tranfer-relay-settings.html' title='Tranfer relay settings'/><author><name>Teo De Las Heras</name><uri>http://www.blogger.com/profile/13888716519668814976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
