<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Brian Redmond's Weblog : Exchange and Messaging</title><link>http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx</link><description>Tags: Exchange and Messaging</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Interesting Performance Monitoring Tool - Download on microsoft.com</title><link>http://blogs.technet.com/btrst4/archive/2005/02/04/367388.aspx</link><pubDate>Sat, 05 Feb 2005 00:40:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:367388</guid><dc:creator>btrst4</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/btrst4/comments/367388.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=367388</wfw:commentRss><description>&lt;p&gt;I recently found a tool that can help do performance analysis on servers in your environment.&amp;nbsp; This tool gathers the data from the Performance Monitor and does some level of analysis to help diagnose issues.&amp;nbsp; It is especially good at IIS 6.0 and Active Directory.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Link:&amp;nbsp; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=61a41d78-e4aa-47b9-901b-cf85da075a73&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=61a41d78-e4aa-47b9-901b-cf85da075a73&amp;amp;DisplayLang=en&lt;/a&gt;&lt;/p&gt; &lt;p&gt;From the Overview:&lt;/p&gt; &lt;p&gt;&lt;em&gt;Service Performance Advisor is a server performance diagnostic tool developed to diagnose root causes of performance problems in a Microsoft® Windows Server™ 2003 operating system, particularly performance problems for Internet Information Services (IIS) 6.0 and the Active Directory® directory service. Server Performance Advisor measures the performance and use of resources by your computer to report on the parts that are stressed under workload.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=367388" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Being+goofy/default.aspx">Being goofy</category></item><item><title>Consulting from home...</title><link>http://blogs.technet.com/btrst4/archive/2004/10/26/247863.aspx</link><pubDate>Tue, 26 Oct 2004 16:29:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:247863</guid><dc:creator>btrst4</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/btrst4/comments/247863.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=247863</wfw:commentRss><description>&lt;p&gt;I have posted on this Blog recently about life in MCS.&amp;nbsp; This probably holds true for consulting engagements in general.&amp;nbsp; Setting a comfortable travel schedule is really important when you are on the road all the time.&amp;nbsp; On the other hand, this travel schedule would need to be negotiated with the client.&amp;nbsp; In my case, that negotiation is not done by me, so I have very little to say in that.&amp;nbsp; Once things get rolling and you get acquainted with the client, you can probably figure out a good way to balance this.&lt;/p&gt; &lt;p&gt;Working from home is an interesting idea.&amp;nbsp; On paper it seems to make sense.&amp;nbsp; If you are writing documentation, why would you need to be at the client's location?&amp;nbsp; Depending on your situation, you may get more interuptions at a client site than from little kids at home!&amp;nbsp; For short periods this might work, but in the long run, I believe a big part of consulting is building relationships with the customer.&amp;nbsp; Having face time to discuss the issues and iron out questions can go a long way in building a deeper level of trust.&amp;nbsp; If you are at home all the time, they tend to forget about you and start to stop seeing the value.&amp;nbsp; You could do this here and there, but not all the time.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=247863" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Being+goofy/default.aspx">Being goofy</category></item><item><title>Information about my current MIIS/Exchange project</title><link>http://blogs.technet.com/btrst4/archive/2004/10/22/246310.aspx</link><pubDate>Fri, 22 Oct 2004 17:59:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:246310</guid><dc:creator>btrst4</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/btrst4/comments/246310.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=246310</wfw:commentRss><description>&lt;p&gt;My current project is using MIIS to assist with an Exchange Resource Forest. The company has decided to run Exchange in the headquarters and each sub-Company would maintain their own Active Directory for login and security.&amp;nbsp; The Exchange forest has placeholder accounts (mailboxes) that the external accounts have rights to.&lt;/p&gt; &lt;p&gt;MIIS is responsible for two things:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Synchronize the GALs from each sub-company to the central Exchange Resource Forest.&lt;/li&gt; &lt;li&gt;Provision mailboxes when new accounts arrive on the sub-company Active Directories.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;It is an interesting project with some intriguing problems.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Access to sub-company AD's&lt;/strong&gt;:&amp;nbsp; In most cases, the sub-companies do not want to give access to their AD from the central MIIS server. We could certainly refine the access to read-only at certain containers, but there are still firewalls and other political factors that override.&amp;nbsp; In our case, we will likely ask the sub-company to export only the necessary data needed to an ADAM instance that can buffer some of the above issues.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Migration status&lt;/strong&gt;:&amp;nbsp; Initially, the primary data source for the user data is on the legacy side.&amp;nbsp; Once the users are migrated, my data flow rules need to switch directions for certain attributes.&amp;nbsp; We decided to add a "migration status" field that would be used in our MIIS logic to help customize the attribute flow presedence and direction.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;External account IDs/SIDs&lt;/strong&gt;:&amp;nbsp; In order to permission the mailboxes, we obviously need a trust in place, but we also need the user account and/or the user SID from the sub-company AD.&amp;nbsp; The can prove challenging depending on how you are permissioning.&amp;nbsp; The permission process is also slightly different for a brand spanking new mailbox compared to one that already exists on the store.&lt;/p&gt; &lt;p&gt;Once the migration is over, the whole thing becomes a lot easier.&amp;nbsp; With something this large, it could take a long time....&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=246310" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>What it is like to work for MCS...</title><link>http://blogs.technet.com/btrst4/archive/2004/10/16/243394.aspx</link><pubDate>Sat, 16 Oct 2004 23:41:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:243394</guid><dc:creator>btrst4</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/btrst4/comments/243394.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=243394</wfw:commentRss><description>&lt;p&gt;I got a question asking what it is like to work for Microsoft Consulting Services.&amp;nbsp; This may very well be one of my friends messing with me, but regardless, I thought it might be worth telling some stories now and then.&lt;/p&gt; &lt;p&gt;The particular question was about work/life balance.&amp;nbsp; There is no sugar coating here; there is very little balance a lot of the time.&amp;nbsp; The key is that you find a way to catch up now and then.&amp;nbsp; There are some time periods where you have to learn something new or you are developing something beyond your regular engagement.&amp;nbsp; During these times, you work a full day with the client and a full day that night with everything else.&lt;/p&gt; &lt;p&gt;Sooner or later, it catches up with you and you need to find a way to slow things down.&amp;nbsp; For the most part, the job asks for as much as you are willing to give.&amp;nbsp; I really enjoy the work, but I could use a break now and then.&amp;nbsp;I have a wife and two wonderful girls (4 and 6) who need me to be around.&amp;nbsp; Luckily, we have a pretty flexible travel policy, so I am able to be home a good amount of time.&lt;/p&gt; &lt;p&gt;This is still the place for me and a great place to work.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=243394" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Being+goofy/default.aspx">Being goofy</category></item><item><title>AD uses different attirbute names from what shows up in ADUC</title><link>http://blogs.technet.com/btrst4/archive/2004/10/13/242065.aspx</link><pubDate>Thu, 14 Oct 2004 04:20:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:242065</guid><dc:creator>btrst4</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/btrst4/comments/242065.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=242065</wfw:commentRss><description>&lt;p&gt;For the non-LDAP people, this cause quite a bit of confusion.&amp;nbsp; First name is "givenName" and Last name is "sn."&amp;nbsp; Street in ADUC is "streetAddress" in AD (of course, there is also a 'street' attribute to add to the confusion!).&lt;/p&gt; &lt;p&gt;There is a &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/user_object_user_interface_mapping.asp"&gt;page on MSDN&lt;/a&gt;&amp;nbsp; that explains the mapping; this link is your friend.&lt;/p&gt; &lt;p&gt;By the way, ADUC is now a word in my vocabulary.&amp;nbsp; It is pronounced "a duck."&amp;nbsp; I recommend using this pronunciation.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=242065" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>Just update the schema and quit worrying about it!!!</title><link>http://blogs.technet.com/btrst4/archive/2004/10/13/242064.aspx</link><pubDate>Thu, 14 Oct 2004 04:12:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:242064</guid><dc:creator>btrst4</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/btrst4/comments/242064.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=242064</wfw:commentRss><description>&lt;p&gt;I am a little sick and tired about hearing that people are tentative about modifying the Active Directory schema!&amp;nbsp; Maybe this is Microsoft's fault since we put so many warnings up about doing this.&amp;nbsp; I say modify it like crazy.&amp;nbsp; In fact, I think we should all add a schema attribute called "i-modified-the-AD-schema-try-and-stop-me" to our Active Directory.&lt;/p&gt; &lt;p&gt;Seriously, it is OK to extend the schema as long as you follow the best practices.&amp;nbsp; Here are some important things to remember:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Even if you are only extending the schema for an internal application (something you are not selling), you should still follow proper practices like you are selling it.&amp;nbsp; If you use attribute names or OIDs that end up appearing in future Microsoft products or 3rd party products, you could end up with conflict. &lt;li&gt;Do not store data in AD that is changing frequently.&amp;nbsp; Frequently changing data belongs in a database. &lt;li&gt;Prefix your attributes with a lower case company name and a hyphen (e.g. - "fabrikam-shoeSizeEurope"). &lt;li&gt;Obtain an registered OID for your schema changes.&amp;nbsp; This can be done with various ISO Name Registration Authorities or from Microsoft. Info &lt;a href="http://msdn.microsoft.com/library/en-us/ad/ad/obtaining_an_object_identifier.asp"&gt;here&lt;/a&gt;. &lt;li&gt;Select a proper syntax (data type) for your attributes.&amp;nbsp; If the item is true/false type data, use Boolean and not a text field.&amp;nbsp; If the data is numeric, use Integer. &lt;li&gt;For simplicity, keep the cn and the ldapDisplayName of your attribute the same.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Update the schema using one of the following methods:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;LDIF scripts.&amp;nbsp; This is generally the best method. &lt;li&gt;Programatically.&amp;nbsp; MSDN has some good samples. &lt;li&gt;Using the MMC schema mgmt. snap-in.&amp;nbsp; Let's face it, you might only be adding a couple items and not need to distribute this beyond your company.&amp;nbsp; This might be the easiest method in some cases.&amp;nbsp; Keep in mind that you might need to register the "schmmgmt.dll" on the machine if the snap-in is not available.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Want to see your new attributes in ADUC?&amp;nbsp; You might need to write some code, but it can be done.&amp;nbsp; &lt;a href="http://msdn.microsoft.com/library/en-us/ad/ad/extending_the_user_interface_for_directory_objects.asp"&gt;More info here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#a52a2a"&gt;Go for it!&amp;nbsp; &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;...Of course, you should still test things properly and have a good backup.&amp;nbsp; If you have a complex forest and you are highly concerned, you could isolate a DC schema master (it would have no replication partners) and test your extensions there.&amp;nbsp; In case of failure, you could kill that DC and seize the schema master role back on the other DC's.&amp;nbsp; Kind of a complex procedure and I would only attempt this if I was comfortable.&amp;nbsp; In the end, if you follow best practices, extending the schema should be a safe procedure.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=242064" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>Sorry, but I have been busy</title><link>http://blogs.technet.com/btrst4/archive/2004/10/13/242063.aspx</link><pubDate>Thu, 14 Oct 2004 04:08:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:242063</guid><dc:creator>btrst4</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/btrst4/comments/242063.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=242063</wfw:commentRss><description>What ends up happening is that I start a new project and get horribly busy and have no time to post.&amp;nbsp; I ended up making a bunch of notes of good things to post, so I have a little backlog of things.&amp;nbsp; Expect a bunch here over the next couple days.&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=242063" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Being+goofy/default.aspx">Being goofy</category></item><item><title>Using the jpegPhoto attribute in AD - Part II</title><link>http://blogs.technet.com/btrst4/archive/2004/09/07/226323.aspx</link><pubDate>Tue, 07 Sep 2004 18:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:226323</guid><dc:creator>btrst4</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/btrst4/comments/226323.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=226323</wfw:commentRss><description>&lt;p&gt;The previous post (&lt;a href="http://weblogs.asp.net/btrst4/archive/2004/08/30/222629.aspx"&gt;http://weblogs.asp.net/btrst4/archive/2004/08/30/222629.aspx&lt;/a&gt;) on this topic showed you how to import picture data into AD. This post shows you how to retieve the data and write it back out to a file. It might be more realistic to retrieve the data from AD and display it in a portal. I'm sure someone could adapt this code to do this quite easily.&amp;nbsp; If you know how, please post or email me.&lt;/p&gt; &lt;p&gt;Basically, this is the reverse of the previous code using System.DirectoryServices then System.IO.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Here is the code:&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;font face="Courier New" size="2"&gt;Imports System.IO&lt;br /&gt;Imports System.DirectoryServices&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Module Module1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Main()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim outFile As System.IO.FileStream&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim binaryData() As Byte&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strFileName As String&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strFileName = "c:\PictureExportedFromAD.jpg"&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Connect to AD&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strDN As String = "CN=Joe User,OU=Employees,DC=company,DC=local"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strDCName As String = "DC-01"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim myUser As New System.DirectoryServices.DirectoryEntry("LDAP://" &amp;amp; strDCName &amp;amp; "/" &amp;amp; strDN)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Retrieve picture into byte array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim byteArray As Byte()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byteArray = myUser.Properties("jpegPhoto").Value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myUser.Close()&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Open file to export (delete if exists)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If File.Exists(strFileName) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File.Delete(strFileName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFile = New System.io.FileStream(strFileName, FileMode.CreateNew, FileAccess.ReadWrite)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Loop through bytes and write to file&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim singleByte As Byte&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each singleByte In byteArray&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFile.WriteByte(singleByte)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFile.Close()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br /&gt;End Module&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=226323" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>If you exporting to AD/Exchange with MIIS, you might need to disable the RUS</title><link>http://blogs.technet.com/btrst4/archive/2004/08/26/221003.aspx</link><pubDate>Thu, 26 Aug 2004 20:41:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:221003</guid><dc:creator>btrst4</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/btrst4/comments/221003.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=221003</wfw:commentRss><description>&lt;p&gt;I was working on a project recently and the Exchange 2003 Recipient Update Service (RUS) was adding X.400 addresses and other junk to my mail enabled users.&amp;nbsp; I was basically mail enabling a bunch of users in AD to synchronize the GAL with another email system.&amp;nbsp; I could certainly configure the recipient policies on the server, but for these users, it made the most sense to disable the RUS for these particular objects.&lt;/p&gt; &lt;p&gt;The equivalent for this is to un-check the "Automatically update e-mail addresses based on recipient policy" on the object in AD.&amp;nbsp; This is quite simple to handle in export attribute flow from MIIS.&amp;nbsp; Just set the "&lt;strong&gt;msExchPoliciesExcluded&lt;/strong&gt;" attribute on the object to a constant = "{&lt;strong&gt;26491CFC-9E50-4857-861B-0CB8DF22B5D7}&lt;/strong&gt;".&amp;nbsp; You can set a value in attribute flow to a constant by using the Advanced attribute flow setting.&amp;nbsp; This will keep the RUS's hands off your objects.&lt;/p&gt; &lt;p&gt;Pretty cool.&amp;nbsp; More details in this KB article:&amp;nbsp;&amp;nbsp; &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;318072"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;318072&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The article also notes that you are now responsible for these attributes once you set this:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;mail&lt;/li&gt; &lt;li&gt;proxyAddresses&lt;/li&gt; &lt;li&gt;textEncodedORAddress&lt;/li&gt; &lt;li&gt;msExchPoliciesIncluded&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Of course, this should not be used across the board.&amp;nbsp; In many cases, you need the RUS to take care of properly stamping attributes.&amp;nbsp; Use with care.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=221003" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>Oh mighty Scriptomatic!!!</title><link>http://blogs.technet.com/btrst4/archive/2004/08/17/216034.aspx</link><pubDate>Tue, 17 Aug 2004 23:12:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:216034</guid><dc:creator>btrst4</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/btrst4/comments/216034.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=216034</wfw:commentRss><description>&lt;p&gt;I guess I can write WMI scripts if I have to, but it sure is nice to find samples to do the work.&amp;nbsp; I guess I thought most people were aware (and lived by) the Scriptomatic Utility.&amp;nbsp; I have had a few questions about WMI lately and this excellent utility came to the rescue.&lt;/p&gt; &lt;p&gt;Basically you browse many of the WMI classes available and it will create runable scripts for you.&amp;nbsp; Download here:&amp;nbsp; &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;familyid=9ef05cbd-c1c5-41e7-9da8-212c414a7ab0"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;familyid=9ef05cbd-c1c5-41e7-9da8-212c414a7ab0&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;It is also worth mentioning a newer Scriptomatic for ADSI.&amp;nbsp; I have not used this one, but if it is half as good as the WMI one, it will be a good utility to have on hand.&amp;nbsp; &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=39044e17-2490-487d-9a92-ce5dcd311228&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=39044e17-2490-487d-9a92-ce5dcd311228&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Go be a Scriptomanic!!!&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=216034" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>Cool Performance Monitor tools</title><link>http://blogs.technet.com/btrst4/archive/2004/08/12/213498.aspx</link><pubDate>Thu, 12 Aug 2004 17:31:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:213498</guid><dc:creator>btrst4</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/btrst4/comments/213498.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=213498</wfw:commentRss><description>&lt;p&gt;If you have ever used Windows Performance Monitor and had trouble changing the time period for really big perf log files, there is a helpful tool for you.&amp;nbsp; I have often driven myself crazy trying to squeeze that time window down to the hour I want and gone crazy.&amp;nbsp; The link below points to a few helpful tools for performance monitoring.&amp;nbsp; Relog.exe is the tool that will help you create a new perf log file with a subset time period from a larger file.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Logman.exe&lt;/strong&gt;:&amp;nbsp; Allows you to remotely manage perf logging on servers and manage centrally.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Relog.exe&lt;/strong&gt;.&amp;nbsp; Allows you to create new perf log files with changed counters, time period, log file type, etc.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Typeperf.exe&lt;/strong&gt;.&amp;nbsp; Allows you to get perf data from a server in a command window.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;303133"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;303133&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=213498" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>Changing Exchange server OU's</title><link>http://blogs.technet.com/btrst4/archive/2004/06/28/167959.aspx</link><pubDate>Mon, 28 Jun 2004 20:38:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:167959</guid><dc:creator>btrst4</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/btrst4/comments/167959.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=167959</wfw:commentRss><description>&lt;P&gt;If you change the OU membership of your Exchange 2000 servers, you may run into a common issue. This issue might be benign, but the events in the event log certainly are disconcerting.&amp;nbsp; The article (&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;271335"&gt;271335&lt;/A&gt;) explains in detail. &lt;/P&gt;
&lt;P&gt;After you move Exchange servers into a new OU, you might see the following events:&lt;/P&gt;
&lt;P&gt;Event ID: 9186 &lt;BR&gt;Source: MSExchangeSA &lt;BR&gt;Type: Warning &lt;BR&gt;Category: General &lt;BR&gt;Description: &lt;BR&gt;Microsoft Exchange System Attendant has detected that the local computer is not a member of group 'cn=Exchange Domain Servers,cn=Users,dc=microsoft,dc=com'. System Attendant is going to add the local computer into the group. &lt;BR&gt;The current members of the group are 'CN=SERVERNAME,OU=NEWOU,DC=microsoft,DC=com; '. &lt;/P&gt;
&lt;P&gt;-and- &lt;/P&gt;
&lt;P&gt;Event ID: 9187 &lt;BR&gt;Source: MSExchangeSA &lt;BR&gt;Type: Error &lt;BR&gt;Category: General &lt;BR&gt;Description: &lt;BR&gt;Microsoft Exchange System Attendant failed to add the local computer as a member of the DS group object 'cn=Exchange Domain Servers,cn=Users,dc=microsoft,dc=com'. &lt;BR&gt;Please stop all the Microsoft Exchange services, add the local computer into the group manually and restart all the services.&lt;/P&gt;
&lt;P&gt;The article explains what you should do, depending on what else you are seeing.&lt;/P&gt;
&lt;P&gt;This brings up an interesting topic to discuss.&amp;nbsp; What types of OU's should I setup for my Exchange servers?&amp;nbsp; Of course, the answer is always, "it depends."&amp;nbsp; A very common design (picture below) is to break out the servers into different types.&amp;nbsp; This allows you to set a base company policy at the top level Server OU.&amp;nbsp; Then each server of various kinds can be locked down differently if needed.&amp;nbsp; We often see people placing a single policy object to all servers.&amp;nbsp; Certainly all servers are not the same and a policy setting on an IIS server may not make sense on an Exchange cluster node (and vice-versa).&lt;/P&gt;
&lt;P&gt;&lt;IMG height=400 alt="" src="http://www.brianredmond.com/Misc/ou.jpg" width=400&gt;&lt;/IMG&gt; &lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=167959" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category><category domain="http://blogs.technet.com/btrst4/archive/tags/Identity+Management/default.aspx">Identity Management</category></item><item><title>"Access is denied" is so frustrating!!!</title><link>http://blogs.technet.com/btrst4/archive/2004/06/08/151165.aspx</link><pubDate>Tue, 08 Jun 2004 22:50:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:151165</guid><dc:creator>btrst4</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/btrst4/comments/151165.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=151165</wfw:commentRss><description>&lt;P&gt;Grrr....&amp;nbsp; I spent a bunch of time recently troubleshooting one of these, so I thought I'd share in case it saves someone else some trouble.&lt;/P&gt;
&lt;P&gt;We setup some Exchange 2003 servers on Windows 2003.&amp;nbsp; Some clustered and some not.&amp;nbsp; In a number of places, we would get &amp;#8220;Access is denied&amp;#8221; messages and error ID c0070005.&amp;nbsp; In the most critical case, we saw it when trying to join a second node to our cluster.&amp;nbsp; Since access was denied, we could not continue.&amp;nbsp; We would also see it when using Exchange System Manager and accessing some of the properties of a server.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course, we checked all the usual stuff and the accounts in question had all the rights you could possibly want.&lt;/P&gt;
&lt;P&gt;In the end, it was caused by permissions on a particular registry entry:&amp;nbsp; HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\SecurePipeServers\winreg&lt;/P&gt;
&lt;P&gt;This registry key is used by a number of different things and often impacts remote registry access, performance counter access, etc.&amp;nbsp; In our case, the LOCAL SERVICE account did not have read permissions on this reg key.&amp;nbsp; Many of the things we were trying to do were really being performed by the local service.&amp;nbsp; I did some google searching and it seems that some security scanners will remove this permission to stop certain issues.&amp;nbsp; I was never able to determine if this was the root cause for us because the security people would not tell us anything.&amp;nbsp; Refused to come out of their boxes I guess....&amp;nbsp; :)&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=151165" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category></item><item><title>What is the Exchange Intelligent Message Filter?</title><link>http://blogs.technet.com/btrst4/archive/2004/05/18/134057.aspx</link><pubDate>Tue, 18 May 2004 17:06:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:134057</guid><dc:creator>btrst4</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/btrst4/comments/134057.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=134057</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#a52a2a&gt;SPAM, SPAM, SPAM&lt;/FONT&gt;&lt;/STRONG&gt;.&amp;nbsp; This is always a hot topic for Email Administrators.&amp;nbsp; For all of the good work you do in the messaging world, users will only see the SPAM they get and complain.&amp;nbsp; It really can be a big nuisance to a worker and hinder productivity.&amp;nbsp; There are a ton of technologies out there to help resolve this.&amp;nbsp; Some are server based and some are client based.&amp;nbsp; It is likely that a combination of approaches will be necessary to fight this problem.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:mswterms w:st="on"&gt;Microsoft Exchange&lt;/st1:mswterms&gt; 2003 has some methods for SPAM prevention built-in.&amp;nbsp; This includes sender filtering, connection filtering, real time block lists, etc.&amp;nbsp; There are also a number of 3rd party technologies that integrate with Exchange 2003 to handle SPAM filtering.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;When SP1 for Exchange 2003 is released, Microsoft will be releasing a technology called &amp;#8220;&lt;STRONG&gt;&lt;EM&gt;Exchange Intelligent Message Filter&lt;/EM&gt;&lt;/STRONG&gt;&amp;#8221; or IMF.&amp;nbsp; Intelligent Message Filter is based on Microsoft &lt;STRONG&gt;&lt;EM&gt;SmartScreen&lt;/EM&gt;&lt;/STRONG&gt; Technology from Microsoft Research. SmartScreen technology enables Intelligent Message Filter to distinguish between legitimate e-mail messages and unsolicited commercial e-mail or other junk e-mail. SmartScreen tracks over 500,000 e-mail characteristics based on data from hundreds of thousands of &lt;st1:mswterms w:st="on"&gt;MSN&lt;/st1:mswterms&gt;&amp;#174;&amp;nbsp;Hotmail&amp;#174; subscribers who volunteered to classify millions of e-mail messages as legitimate or as spam.&amp;nbsp; &amp;nbsp; &lt;A href="http://www.microsoft.com/exchange/techinfo/security/imfoverview.asp"&gt;More info&lt;/A&gt;: http://www.microsoft.com/exchange/techinfo/security/imfoverview.asp&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Spam Confidence Level&lt;/EM&gt;&lt;/STRONG&gt; (or SCL) is a rating assigned by SPAM prevention technologies to determine the likelihood that the given message is SPAM.&amp;nbsp; This allows client technologies to setup rules based on the level of SCL.&amp;nbsp; Some users will have different thresholds for the level of SCL they are willing to accept.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;How do I get this?&amp;nbsp; Prior to the release, the licensing has not been determined.&amp;nbsp; It is likely to be offered to Software Assurance customers at a minimum.&amp;nbsp; Once it is released, you will get&amp;nbsp;a clear picture of how it can be licensed.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=134057" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category></item><item><title>Backup, backup, backup.  Exchange and VSS backup information</title><link>http://blogs.technet.com/btrst4/archive/2004/05/14/131940.aspx</link><pubDate>Fri, 14 May 2004 17:59:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:131940</guid><dc:creator>btrst4</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.technet.com/btrst4/comments/131940.aspx</comments><wfw:commentRss>http://blogs.technet.com/btrst4/commentrss.aspx?PostID=131940</wfw:commentRss><description>&lt;P&gt;Obviously, backing up your Exchange server is quite critical.&amp;nbsp; Unfortunately, there is no magic solution to the process to backing up Exchange.&amp;nbsp; Here are a couple types of approaches:&lt;/P&gt;
&lt;P&gt;1. Simple ntbackup process.&amp;nbsp; Ntbackup is made to work directly with the Exchange IS and safely backup Exchange storage groups while they are online.&amp;nbsp; It also backs up the current set of transaction logs.&amp;nbsp; After completion, the transaction logs are flushed and the backed up tlogs are removed. During the restore, if you have multiple backups, you need to be aware of the "Last Backup Set" and the Exchange recovery process. More info: &lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;232938&amp;amp;Product=exch2003"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;232938&amp;amp;Product=exch2003&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;2. VSS Integrated backup.&amp;nbsp; With Windows 2003 Server, the Volume Shadow Copy Service (VSS) was introduced.&amp;nbsp; This allows hardware vendors to backup data such as databases and open files without possible data corruption.&amp;nbsp; A number of hardware vendors support this for things like snapshots and BCV's.&amp;nbsp; This requires Windows 2003, Exchange 2003, supported backend hardware, and a supported backup program.&amp;nbsp; In Windows 2003, ntbackup uses VSS as well, though it can be disabled if needed.&lt;/P&gt;
&lt;P&gt;Getting VSS to work can be difficult due to the 3rd party software integration and the "newness" of the technology.&amp;nbsp; Working closely with the backup provider is key here.&amp;nbsp; Generally, the troubleshooting must start from this angle.&lt;/P&gt;
&lt;P&gt;Here are some helpful hints:&lt;/P&gt;
&lt;P&gt;- Turn on VSS debugging: You must add the following reg keys.&lt;BR&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing]&lt;BR&gt;"TraceFile"="c:\\trace.txt"&lt;BR&gt;"TraceLevel"=dword:ffffffff&lt;BR&gt;"TraceEnterExit"=dword:00000001&lt;BR&gt;"TraceToFile"=dword:00000001&lt;BR&gt;"TraceToDebugger"=dword:00000000&lt;BR&gt;"TraceFileLineInfo"=dword:00000001&lt;BR&gt;"TraceForceFlush"=dword:00000000&lt;/P&gt;
&lt;P&gt;- Command line tools:&amp;nbsp; vssadmin.exe, volperf.exe.&lt;/P&gt;
&lt;P&gt;- KB article: &lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;822896&amp;amp;Product=exch2003"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;822896&amp;amp;Product=exch2003&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Keep in mind that VSS is also used to shared folders.&amp;nbsp; It is the same underlying technology, however the the Shadow Copies for Shared Folders technology is more related to self service file recovery.&amp;nbsp; More info &lt;A href="http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/windowsServ/2003/all/techref/en-us/w2k3tr_vss_what.asp"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=131940" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/btrst4/archive/tags/Exchange+and+Messaging/default.aspx">Exchange and Messaging</category></item></channel></rss>