Phoning Pretty

Adventures in Unified Communications
posts - 29, comments - 11, trackbacks - 1

Tuesday, June 16, 2009

ISA 2006 and the fun of a corrupt rule

It always seems like every time one thing if fixed, something else breaks. This morning I was working on Project A and I needed to look something up on our ISA 2006 firewall. While I was there I decided that I would look into, and fix, something odd that was happening with Project B's rule. Well, after fixing the rule into a corrupt state, I now had a Project C to work on as well. Corrupt rules are never fun, but I was able to figure out how to fix it, but I'm sure it's NOT a supported or recommended procedure.

When I was trying to find out exactly what machine we are routing FTP traffic, I wanted to take a look at why my IMAP connections seemed to be getting mail that was MONTHS out of date. Looking up and down the list of rules, I found a duplicate IMAP(S) rule that was pointing to an old IP address of our Exchange 2007 server. I figured that somehow, that might be a reason why I'm not getting the correct e-mail. I clocked into the rule, and changed the internal endpoint to our current Exchange 2010 server, clicked Apply and then OK.

On closing out of the ISA Management Console and looking at my e-mail, I noticed that my Inbox was starting to fill up with alerts from System Center: Operations Manager telling me that there was a problem with the configuration on one of our ISA machines, specifically the one that I was logged into. Side Note: I know I should have been looking at the configuration on the Configuration server, not one of the nodes of the array, but the Configuration server is having problems of its own!!!

Logging into the Configuration server, I opened up the Management Console and noticed that the rule I had edited was missing a bunch of information. Clicking on it (right or left) brought up an error dialog stating that "there is not enough memory to perform the action." After much fumbling and scrolling up and down, I realized that the name of the corrupt rule was the same as one farther down on the list, and when I changed the IP, the rules ended up being exactly the same. This led to the node pushing the change up to the configuration server before it was really sure that it SHOULD, and so, I am stuck with this dumb ghost rule. Since I know that I couldn't affect the corrupt rule, I decided to change the name of the good rule, so they wouldn't match! Brilliant!!! (:

Things weren't quite that simple, however, and when I made any changes to anything else on the server, I wasn't able to commit the changes! I kept getting an error that the corrupt rule needed more information before the changes could be saved. Oops! I even tried Exporting the rule set, removing the offending rule from the XML file, and then Importing it back in, but I ran into the same error.

It was time to bite the bullet and following the somewhat sparse directions from this forum post, I fired up ADAM ADSI Edit to remove the offending rule, once and for all.

Even though the directions weren't the best, it was enough for me to get there, so I'll post a little bit more coherent account:

  • Log into the machine that's hosting the ADAM database.
  • Open the ADAM ADSI Edit application by clicking "Start -> All Programs -> ADAM -> ADAM ADSI Edit"
  • Right-click the ADAM ADSI Edit node in the tree pane, and select "Connect to…"
  • Leave the Server name the default value of "localhost" and change the Port to "2171"
  • Select the Distinguished name (DN) or naming context: radio button and enter "CN=FPC2" into the box
  • Click OK.
  • In the tree pane, expand the My Connection [localhost:2171] node, and then the following nodes:
    • CN=FPC2
    • CN=Array-Root
    • CN=Arrays
    • CN={GUID of affected Array}
    • CN=ArrayPolicy
    • CN=PolicyRules
  • Once in the right set of Policy Rules, find the GUID of the offending rule and delete it
  • Restart the Microsoft ISA Server Storage service to re-populate the cache
  • Profit!

NOTE: I am pretty sure this is NOT supported. Any time you mess with ANY of the raw editing tools, you stand a big chance of messing things up beyond recovery. DO NOT USE these steps if you are not willing to accept total failure as a possible case.

posted @ Tuesday, June 16, 2009 3:07 PM | Feedback (0) | Filed Under [ IT Work Windows Server Platform Team ]

Wednesday, April 29, 2009

Setting up a Domino Web Access redirect page

I've been working with Domino and Lotus for a fairly short amount of time, but every time I have to touch it, I find myself gritting my teeth. I've been a Microsoft Exchange admin for a while, but I have a bunch of experience with several different e-mail platforms. While I am not as familiar with many of them as I am with Exchange, I can set up systems, start e-mail flow, provision users and just generally get by. One of the things that helps me do this is the rich environment of help and documentation that exists out on the Internet. Sometimes the gems of wisdom lurk in forums, sometimes they are on a product's support site, but more often than not, someone else has run into the same problem that I am having. This makes me feel a lot more comfortable and at home with a product, when I know that other people are actually using it and willing to SHARE their experiences.

Well, IBM, you have earned my ire in a bad way!

The situation is that one of Domino 8.0.1 systems I'm managing needed to have Domino Web Access set up so that the end user didn't have to know the whole long URL to his or her mail database file. In Microsoft Exchange 2003, 2007, and now 2010, this is a built in feature that, for the most part, works out of the box. So long as the user is configured for Outlook Web Access, they just have to navigate to a website that was installed on the server by default, enter in valid credentials, and off we go.

This is not the case, however for Domino Web Access. By default, once the user is configured to use DWA, they have to type in an exact URL pointing to his or her specific mail database file. I had known this and just ignored it, since Domino didn't install with any web sites enabled as default, but the client wants people to be able to test the DWA experience without having to know that information. So began the journey (my Google searches):

"how to create a lotus notes login page"
"how to create a login page for DWA"
"how to create a login page for Domino web access"

Now, these searches didn't really net me anything useful, so I headed over to IBM's web site and went to the Documentation section to do some digging. After drilling down, I found this page with some helpful steps:

Setting up Domino Web Access Redirect

The Domino Web Access Redirect template (IWAREDIR.NTF) is in the Domino data directory. To set up Domino Web Access Redirect:

  1. Create an application using the IWAREDIR.NTF template.
  2. In the IBM® Lotus® Notes® client, open the application that you created.
  3. Click Setup and follow the prompts to set up Domino Web Access Redirect.

Note If you select MailServer as the Redirection Type under Server Settings, the common name of the Domino mail server must be the same as its fully-qualified TCP/IP domain name. For example, if the mail server field in the Person document is set to serverA/domainA, the server's TCP/IP fully-qualified domain name must be serverA.lotus.com.

Now, I have to say, this was a WTF moment. Once more, I know that I'm not an expert, but I like to think that I can figure things out. This set of instructions, however, left something to be desired. After poking around on the server, I found the template, and with a right-click, I found that "New..." wasn't an option. How am I supposed to create an application?!?!? More Googleing:

"lotus domino create new application from template"
"lotus domino create new application template"

Which led me to this page with some more detailed instructions on completing the FIRST step in the previous set of instructions:

1. Open the Notes client.

2. Choose File-Application-New. The New Application box appears.

3. In the New Application box, select the Blank Composite Application template from the Template list.

4. Enter a title in the Title field. The File name is also created for you from your title. You may change the file name if you wish.

5. Click OK. A blank composite application container appears with a message that the application does not have any content

6. Choose Action-Edit Application to open the Composite Application Editor and begin working on your composite application. You can use the Composite Application Editor to edit the pages, components, and basic properties of a composite application

This set of instructions is not perfect, but I can steal at least the first two, verbatim, and then monkey around with the settings until I manage to create the new application! Woo! Now I'm getting somewhere...

posted @ Wednesday, April 29, 2009 11:43 AM | Feedback (0) | Filed Under [ Platform Team ]

Thursday, April 16, 2009

Introduction to Database Availability Groups - Full of WIN! (UPDATED)

Basic Overview

Now that Exchange 2010 has been released to beta, it's now time to talk about all the fun things that we've been working on and working with. To start off with, I want to point everyone over to the actual Exchange 2010 Official site.

Now that I've pointed you at the bits, let's get into some details about Database Availability Groups or "The DAG" as it's called! To start off with, it's a pretty simple concept. The DAG uses Windows Failover Clustering Services and a NEW component in Microsoft Exchange, called Active Manager, to allow automatic failover and uses continuous replication to keep copies of a Mailbox database floating on servers other than the one actually hosting the "active" copy. This is VERY simplistic, but I want to gloss over the details for a moment to build up to the details later. What this means is that now, we can host a bunch of copies of a Mailbox database on several servers (up to 16 servers can be in one DAG) and thanks to the magic of continuous replication, the log files are shipped and we can have multiple, concurrent copies of the database. In the event of a failure, Exchange 2010 "promotes" one of the copies of the database to "active" status and the Mailbox role then takes up the task of serving up the mailboxes on that database. Each database maintains separate status, so one server can host copies of multiple databases and only have some of those copies active at one time. This can be confusing, so let's draw a diagram (ooo, pictures!):

This USED to be a Visio Drawing

In this diagram, we have three servers, and three copies of each database, one on each server. The "active" database copy is the one with the star. The flow of data from the "active" copy to the "passive" copies is concurrent.

Hopefully, it's clear that a copy of each Mailbox database is hosted on two other servers in this scenario. There are actually several reasons for this, and let's start talking about some cases. In the first one, let's say that we lose MBDB01. In this case, it's just a simple failover and the next preferred server will elevate and start hosting the mailboxes (and for those of you wondering, YES you can set the preferred failover scheme, for example, if you want it to go 1, 3, 2 instead of 1, 2, 3, you can set that). That is a pretty simple case, why else would you want so many copies? In this case, we could use this type of architecture to fail a server, apply patches, and avoid nasty maintenance downtime, but will still be protected if one of the other servers fails during that time. Good 'ole double redundancy. The third case for maintaining at least three copies is that ensures that there are always enough servers in the DAG, up and running, to allow a quorum for the underlying cluster.

 This ALSO used to be a Visio Drawing

All of the mailboxes are hosted on one server, BUT, you are still able to have users access their e-mail, without long, expensive restores or complicated reconfiguration of your DNS or network!

How it actually works

Earlier on, I mentioned that the DAG uses Windows Failover Clustering and continuous replication to build the copies of the database. What is actually happening is (to me at least) much more interesting. The Windows Failover Clustering service is installed just for the purposes of the automatic failover. The way the databases are treated and how they are handled it much like the Exchange 2007 features of CCR with a few of the SCR features thrown in for good measure. One of the big differences between the DAG and CCR is that you can configure the number of database copies which allows you to make full use of the Clustering components. One of the reasons why I used the three server example, above, is because this is what Microsoft has recommended for the cluster to properly determine quorum decisions. You can get by with only two copies, but at least three is the recommended minimum.

One of the great features of using a DAG is that it is completely managed from Exchange. What this means is that when you are configuring the clustering you don't have to be a clustering wizard or HA guru to set it up correctly. Exchange 2010 takes care of all the configuration for you, and as my co-worker Devin says, this is a HUGE win.

What people are saying and doing

All this talk about clustering and data redundancy brings up an interesting conversation that is currently floating around, and that is, with a sufficiently robust DAG structure, do you still have a need for on-site backups? This has opened up a whole can of worms, and I can say that I feel confident that using a properly designed DAG scheme can easily replace many of the functions of standard backups. There are still areas that I would feel more comfortable with a reliable set of backups (database corruption or total site failure), but the DAG can mitigate some of the risks.

That being said, the way that we currently are using our DAG is a little bit different than the scenario I laid out above. To get even more complicated, I have plans to modify our structure to take advantage of Network Load Balancing and turning our current structure into one that it aimed at a high amount of availability! Here's the planned structure:

 THis was the third Visio Drawing.

In this particular case, the plan is to basically mirror the servers using NLB to serve up one logical endpoint for the CAS, HT and UM roles (with the Hub Transport have to be careful to exclude the HT to HT traffic from the NLB, but that's a topic for another post). With that in place, and using the DAG to take care of two copies of a single database, we expand our ability to perform maintenance with minimal downtime to our internal clients while also providing a high amount of uptime in the case of a failure.

EDIT: It looks like, according to Microsoft, the combination of Windows Failover Clustering and Network Load Balancing is NOT SUPPORTED. They also say that it won't work, but I want to give it a try, anyway. This is a big pain since for a small to medium size business, you want to reduce the number of servers you have. This is what the documentation actually has to say:

 

Unlike Exchange 2007, where clustered mailbox servers required dedicated hardware, Mailbox servers in a DAG can host other Exchange roles (Client Access, Hub Transport, Unified Messaging), providing full redundancy of Exchange services and data with just two servers.

 

So, now I've talked about the DAG and what it can do, but there is quite a bit more. I'll follow this up shortly with some more advanced features like lag copies, off-site replication and other fun things!

posted @ Thursday, April 16, 2009 4:36 PM | Feedback (0) | Filed Under [ Platform Team ]

Tuesday, March 03, 2009

Migrating OCS 2007 to OCS 2007 R2 (Part 1 of Many)

With all the nifty features and functions that are available in the new version of OCS, I can't really see a reason to hold back and NOT migrate. Being the type of company that we are, it's important to keep up with the latest products and show that we can make them work. That being said, sometimes it's hard to hit the ground running when you don't have a large customer base for that type of work.

One of the struggles with any small company is that with the limited resources available, sometimes you can't set up a whole new lab environment just to test the new software. In my case, my work on other paying projects put a lot of internal IT projects on hold. This is not to say that the projects were being ignored, just that they took a much lower priority than I would have liked to assigned them.

My current project of love and devotion is our migration as a company to Office Communications Server 2007 R2, which was recently released. This is a big deal to me, being a Unified Communications consultant, so I've taken the time at work and at home to learn about what needs to be done.

I don't want to sit here and outline all the dinky step-by-step screen shots, since I'm sure that there are other sites out there that have those. What I'd rather do is outline the thought process and planning steps that are required for the migration.

Okay, on to the fun stuff... Let's talk about migration paths!

Supported Migration Paths

Microsoft has put a bunch of OCS 2007 R2 documentation on Technet, but none of it is available for download, so I'll just sum up some of the recommendations and provide the link so that you can get more detail about them on the site. Oh, wait... There isn't any more detail!

To start off with, there are two supported upgrade or migration paths:

  • Side-by-side migration
  • Uninstall/reinstall

Side-by-side Migration

This is the one that sounded like a really good idea for us, due to my limited time to ensure that everything was set up correctly. In this scenario, you stand up a second pool in the same Forest and then migrate users at your leisure.

Pros:

  • You have the ability to deploy the environment and validate/test it before you deploy it
  • It could be done with minimal downtime for users, theoretically no loss of service
  • Pool co-existence allows for cross communication and migration

 

Uninstall/reinstall

For this install, the process is dead simple. You remove all the old stuff, and you install the new stuff. Of course, there are more steps to it than that, but the idea is pretty simple. I didn't think that this would be a good fit for us because of the downtime that would be incurred. Okay, who am I kidding? I didn't want to take the time to listen to people complain about downtime. I think we, as a company, could handle it

Pros:

  • It minimizes the use of extra hardware (rebuild on the same platform)
  • The installation is simplified when dealing with back ends (more on this in the details)
  • This is a good chance to completely rebuild and redesign your OCS infrastructure

 

The Devil is in the Details

When the dust settles, it's all comes down to what actually the details of the situation are. In the case of migrating any production system from one version to another, there are going to be a host of issues and minor settings that can either slip through the cracks, or come back to bite you, later. The details always start out as a high level overview and then drill down to individual check boxes and radio buttons.

In Part 2, I'll cover the details of the Side-by-side Migration and in Part 3 I'll cover the Uninstall/reinstall details. More to follow!

posted @ Tuesday, March 03, 2009 1:41 PM | Feedback (0) |

Wednesday, January 28, 2009

Setting Up Blog Clients to Post to Subtext

So many of the posts I put up are informational in that I found out something that I want to be able to find if it happens again. This post isn't much different.

Here at 3Sharp, we use the blogging platform Subtext. It's not my favorite platform in the world, but I understand the reasons why we use it. That being said, I'm going to get to the meat of this post. First up, posting using applications other than the web console. To post to Subtext, you have to make sure to use the right provider. With Subtext, that's MetaWebBlog.

Once you've set that, the URL that has to be entered to post is:

http://<blog URL>/<User Name>/services/MetaBlogAPI.aspx

This wasn't exactly hard to find; it seems lots of people want to try to connect to it using blog clients. I just want to make sure that I have the information handy when co-workers ask, "how do I use this thingy again?"

posted @ Wednesday, January 28, 2009 2:31 PM | Feedback (0) |

Tuesday, December 23, 2008

OCS 2007 R2 Has Arrived

Woo! Now I can talk about it! It looks like Office Communications Server 2007 R2 has been officially blessed and released to manufacturer (RTM)! Once I get my grubby little hands on it, I'll be posting pictures and how I have things set up, but I wanted to mention a couple of things that are key (to me) in this release:

  • 64-bit only
  • Officially supported on Server 2008
  • Simplified Edge role management and existence
  • Management improvements
    • Additions to the MMC snap in to support new features (Conference Attendant, Application Sharing, etc..)
    • Administrative tools now have a separate install (I can put them on my remote workstation)
    • Automatic and Push updates to ALL devices (Roundtable, Phone Edition, OC 2007 R2)
  • Improved Certificate Wizard and Management (I haven't seen this yet, but it is my favorite on paper)

 

Now that I have that little list, I can start to go through the Planning and Architecture and build a NEW OCS design based on the new goodies. I'll post a diagram as soon as I have it ready.

posted @ Tuesday, December 23, 2008 2:33 PM | Feedback (0) |

Thursday, December 11, 2008

Office Communications Server 2007 R2 - A First Look

You name it and OCS can do it. I know that might be reaching a bit, but I've been looking into the new features that R2 will bring to the table, and it is really quite impressive. I've been working with OCS 2007 for about a year now, and while I've been impressed, there are some cases where I've had to say, "well, OCS really isn't a product for that arrangement," or, "it's still early in the product life-cycle, it'll get better." Now, most of those phrases are going to go away and will be replaced with comments like, "yes, OCS can do that, and that, too."

 

  • Consolidated Edge Server -- This is a big deal. In the old release, you had to plan for a number of boxes to provide services to external users. Even if you had all of the services hosted on the same box, you had to have a couple of externally accessible IP addresses to assign to those roles, and some of the roles did not play nice with one another.
  • Improved Archiving (IM separate from Voice records)
    • Better integration with 3rd party tools -- I don't think people are quite as touchy as right after Enron and all the other corporate fallout, but better integration with existing archiving and compliance tools was needed before a lot of health care and legal companies would ever consider a tool like OCS.
  • Support for SCOM -- This is a BIG deal for larger companies that have a great deal invested in System Center. When you have a central tool for monitoring the health of your infrastructure, you like everything that makes up that infrastructure to play nice with it.
  • Support for Virtualization in some roles -- While this is nothing new (we've virtualized all the roles before with only minor snags), having that virtualization be officially supported and given the golden stamp really makes this an attractive solution for companies that want to consolidate devices (Read: people who want to get rid of PBXs and move to a consolidated communications platform. Now you can do it with an even SMALLER footprint!)
  • The core experience is still MMC based with added functionality for new features -- This is something of a two-edged sword. It's nice that things won't be changing too much when it comes to how OCS is managed, but it really lacks a lot of the things that other Microsoft is moving towards. Where's the PowerShell? The interface reminds me a lot more of Exchange 2003 than Exchange 2007 (meaning that it is not intuitive or organized logically). With my complaints out of the way, I'll toss a little bone and point out that at least they've updated Certificate Management (Hey Exchange 2007... C'mon, make it at least a LITTLE bit easier to do certificates right!!!).
  • Huge reporting (performance and usage) improvements -- I was watching a video where some of the reporting was being demonstrated and I have to say that I was quite impressed. With the tools available, it will be a lot easier to justify your OCS implementation (and upgrades) when you can show just how much people are using the tools you are providing.

 

This is by no means an exhaustive list, but this is a quick start of the things to come with the new release. I garnished these points from watching a video here. There are a bunch more OCS 2007 R2 videos, and I can't wait until it hits RTM so I can install and play with it!

posted @ Thursday, December 11, 2008 6:36 PM | Feedback (2) | Filed Under [ OCS Platform Team ]

Friday, December 12, 2008

Exchange 2007 and Disabled Mailboxes

This is an information post, designed to make some information available to myself and others. I did NOT discover this but I thought it was something pretty important.

When disabling an Exchange 2007 mailbox, it sometimes will not automatically show up in the "Recipient Configuration | Disconnected Mailbox" bucket. It takes running the command:

  clean-mailboxdatabase <mailbox database>  

Once that command is run, you can reconnect it or do whatever you need to it. Thanks Missy and Amit (If you want the full explanation and pictures, click here)!

posted @ Friday, December 12, 2008 2:03 AM | Feedback (0) | Filed Under [ IT Work Platform Team ]

OCS, why are you breaking my heart?

Well, after a bit of time spent on Microsoft's campus, I have 8 Tanjay devices with the latest and greatest firmware. I used a Tanjay device (a Polycom CX700 IP Phone) for a number of months, and while I didn't have a ton of voice communications with it, I loved the ones I had. There are a few complaints that I have about the device, but they deal more with the form-factor than functionality. What I wanted to note was something more tangible (pun intended) than complaints. What I wanted to mention is a reminder that the Tanjay devices are Enterprise Voice extensions. They are devices that are supposed to sit on your desk and replace that silly little phone you have there with a Office Communicator client that provides the rich client experience that OCS 2007 is supposed to provide.

What does this mean to the average Joe User? Well, to give a real-life example, I was just talking about how I have 8 devices with hot-off-the-press firmware and a desire to get them up and running. Even before my co-worker and I went to Microsoft to get the update, we were having a debate about why his devices were not able to connect earlier today. After banging the issues about for a while, he was convinced that it was a certificate issue. I was a little bit more skeptical, simply for the fact that it didn't "feel" right. I was willing to come back to the office later, with the upgraded devices and look into it.

After trying to log in with the fresh devices, I was willing to admit that something was wrong. After poking around, I found that in some cases, autoenrollment of domain users and devices was disabled, and so I enabled it using GPO. Thinking hard about it, what this does is tells a device that is logging in with a domain account that it's okay to request a certificate from the domain CA and where that CA is. Sadly (at least for Devin), this didn't correct the issue. I sat and thought about it while I worked on something else, and when I finished with that, I decided to start back at square one and walk through setting up a Tanjay device for the first time. A quick web search and I ran across the problem (I didn't really "run across it.." It was more of a "the answer slapped me in the face and called me stupid"). Reading this post on a blog, I noticed that you have to enable the user for Enterprise Voice. Right now, we switched all of our users to Remote Call Control so we could use the connection with our Mitel 3300 ICP phone PBX.

Long story short, now our users have a choice between a Tanjay device and RCC. This is actually kind of a tough one for me, since I really like how RCC keeps track of my phone communications. I've been having trouble with some phone companies, and having the automatic tracking of who I call when is really helpful. I'll just have to see how things play out once I build our new OCS environment.

posted @ Friday, December 12, 2008 1:38 AM | Feedback (0) | Filed Under [ OCS Phone Stuff ]

Wednesday, October 29, 2008

Looks like it's NOT 64-bit

So, there's been all this hooplah (created by me) about the MacBook Pro that I'm using at the moment. I have been really enjoying my time spent with it, and I've been able to overlook some of the minor issues that I've run into. I do wish that it had more RAM. I do wish that Excel could open my timesheet. I do wish that I could easily sync offline files (Paul tipped me on a product, but I don't want to write about it until I've fully tested it).

Those are all small issues, but what I've run into now is bigger than that. Apparently, I am running a 32 bit operating system <pausing for the collective gasps>! I made the attempt to create a new virtual machine running Windows Server 2008, so that I could run a couple of the management tools that I can't run in OSX. My attempt resulted in this screen:Picture 1.png

Shocking, I know. Now, I also understand that with a smaller amount of RAM in my system, it's really not a big deal to not have all 64 bits of addressable space, but the outrage is justified. In doing some research, I found out that the chip that was shipped was 64 bit CAPABLE, just not ENABLED. I'm not going to futz around and try and make it work, but that is something that I want to make sure my next hardware purchase can handle. I know this sounds silly, but I try to research these things, and I've walked away from buying hardware because it lacked a single feature that I wanted. NOTE: This should be taken with a hearty understanding that a) this is a WORK laptop and that I didn't pay for it and b) I am very grateful for the chance to use it and experience the goodness that is a MacBook Pro.

That all being said, I'm off to dig up my 32 bit version of Windows Server 2008 to install. Whee!

posted @ Wednesday, October 29, 2008 3:56 PM | Feedback (0) | Filed Under [ IT Work Windows Server ]

Powered by: