in

Microsoft Experts

Memoirs of a goldfish

Cameron McFie

Smile! It is guaranteed to make your day come alive!

May 2008 - Posts

  • Sharepoint Permissions Matrix

    While surfing the Internet for a Sharepoint project I am working on I randomly found an Excel spreadsheet showing all of the roles in sharepoint and what permissions that gives you access to.

    Totally unrelated to what I am working on but I thought it might be handy to keep a copy of as I am sure it will come in handy one day. ;o)

    You can find it at http://code.msdn.microsoft.com/ReferenceTopics/Release/ProjectReleases.aspx?ReleaseId=216 under the Sharepoint 2007 Permissions Matrix link.

    Cam.

  • Error Modifying Distribution Lists in Upgraded HMC4

    When trying to modify settings with a Exchange Distribution List that was added in HMC 3.5 and you have upgraded to HMC 4.0 you may get an error "The specified path is not a distribution list.".

    The problem is that HMC 4.0 checks to see if the group scope is "universal" and the group type is "distribution". It checks this by looking at the groupType attribute on the AD object and making sure it has the value "8" (i.e. Universal Distribution Group).

    This is an example of the error you might get.

    <response>

    <errorContext description="The specified path is not a distribution list."

    code="0x80004005"

    executeSeqNo="39">

    <errorSource namespace="Error Provider"

    procedure="SetError"/>

    <errorSource namespace="Hosted Email 2007"

    procedure="ModifyDistributionList"/>

    </errorContext>

    </response>

    If you followed the Nebo Migration Whitepaper it says to run ImportExchangeObjects.cmd which calls ConvertGlobalToUniversalGroup.vbs. Unfortunately there is an error in the in-place version of ConvertGroup function in the code. Here is my version updating the code so that it doesn't say "Skipping built in MPS group. Moving on to next Group." for every group.

    Function ConvertGroup(objUser)

    Wscript.echo "Converting Group = " & objUser.Name

    On Error Resume Next

    Set re = new regexp

    re.Pattern = "^Admins@"

        'if this is a built in MPS group, skip it.

    If re.Test(objUser.Name) Then

    Err.Number = 42

    ConvertGroup = Err.Number

    Exit Function

    End If

    re.Pattern = "^CSRAdmins@"

    If re.Test(objUser.Name) Then

    Err.Number = 42

    ConvertGroup = Err.Number

    Exit Function

    End If

    ' convert group

    Set objGroup = GetObject ("LDAP://" & objUser.DistinguishedName)

    objGroup.Put "groupType", ADS_GROUP_TYPE_UNIVERSAL_GROUP

    objGroup.SetInfo

    ConvertGroup = err.Number

    End Function

    Posted May 18 2008, 09:56 PM by Cam with no comments
    Filed under: , ,