SCOM: Change alert owner fails from non AD joined machine

In System Center Operations Manager 2007 R2 (SCOM) alerts and warnings are generated and collected in the ‘Active Alerts’ view. A useful function is the ability to assign an alert to a user, this enables the IT department to delegate the alerts to specific administrators. This way a storage administrator can solve the storage problems, and the DBA’s can solve database alerts.

In the properties of an alert (or warning) a field Owner is present. Next to the field a button ‘Change’ which opens a search dialog for looking up users in Active Directory. Although the AD search is optional (you can type each value without verification) you do need a domain joined computer for this feature.

Blog1

When the Change button is used on a non-domain joined computer an error is generated.

“The program cannot open the required dialog box because no locations can be found. Close this message, and try again.”

Blog2

The details of the errors show the cause of the error:

In System Center Operations Manager 2007 R2 (SCOM) alerts and warnings are generated and collected in the ‘Active Alerts’ view. A useful function is the ability to assign an alert to a user, this enables the IT department to delegate the alerts to specific administrators. This way a storage administrator can solve the storage problems, and the DBA’s can solve database alerts.
In the properties of an alert (or warning) a field Owner is present. Next to the field a button ‘Change’ which opens a search dialog for looking up users in Active Directory. Although the AD search is optional (you can type each value without verification) you do need a domain joined computer for this feature.

When the Change button is used on a non-domain joined computer an error is generated.
“The program cannot open the required dialog box because no locations can be found. Close this message, and try again.”

The details of the errors show the cause of the error:
Date: 20-4-2011 9:24:46
Application: System Center Operations Manager 2007 R2
Application Version: 6.1.7221.0
Severity: Error
Message:

System.ArgumentException: De waarde valt niet binnen het verwachte bereik.
   bij System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   bij Microsoft.EnterpriseManagement.Mom.Internal.UI.Wrappers.ADBrowserDialog.Initialize(BrowserDialogType type, Int64 lParentWindow, Boolean MultiSelect)
   bij Microsoft.EnterpriseManagement.Mom.UI.AlertPropertyDialog.ChangeOwnerButtonClick(Object sender, EventArgs e)
   bij System.Windows.Forms.Control.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bij System.Windows.Forms.Control.WndProc(Message& m)
   bij System.Windows.Forms.ButtonBase.WndProc(Message& m)
   bij System.Windows.Forms.Button.WndProc(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bij System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   bij System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   bij System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
   bij System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   bij System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   bij System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   bij Microsoft.EnterpriseManagement.Mom.UI.AlertView.<>c__DisplayClass22.b__1f(Object , ConsoleJobEventArgs )
   bij Microsoft.EnterpriseManagement.Mom.Internal.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent component, EventHandler`1 job, Object sender, ConsoleJobEventArgs args)

The solution to the problem? Use a domain-joined computer (or wait for a fix).

Ingmar Verheij