2009-11-24 14 views

回答

2

我有一个创建基于另一个系统的用户,所以我不能确切地这一切粘贴在这里为我们的用户码 - 其中大部分是不会让你们感受到 - 但是这是它的核心:

[在VB对不起:-) - 也是在这里张贴VB当我发现我需要使用“//”表示注释,使格式正确]

Public Sub CreateNewUser() 
    Dim s as mscrm.CrmService = GetMyService() 
    Dim newUser as New mscrm.systemuser() 
    With newUser 
    .domainname = "domain\user" 
    .firstname = "Stan" 
    .lastname = "Molda" 
    //set anything else you want here 
    End With 
    Dim userGuid as guid = s.Create(newUser) 

    //Next we need to assign the user a role 
    AssignRole(userGuid) 

    //Finally we need to assign them to the correct Time Zone 
    SetUserTimeZone(userGuid) 
End Sub 

Public Sub AssignRole(g as Guid) 
    Dim s as mscrm.CrmService = GetMyService() 
    Dim req As New mscrm.AssignUserRolesRoleRequest() 
    req.UserId = g 
    req.RoleIds = New Guid() {GetTheGuidForMyPrimaryRole()} 
    s.Execute(req) 
End Sub 

Public Sub SetUserTimeZone(g as Guid) 
    Dim s as mscrm.CrmService = GetMyService() 
    Dim r As New mscrm4.RetrieveUserSettingsSystemUserRequest() 
    r.ColumnSet = New mscrm3.AllColumns() 
    r.EntityId = New Guid(g) 
    Dim resp As mscrm.RetrieveUserSettingsSystemUserResponse = CType(s.Execute(r), mscrm.RetrieveUserSettingsSystemUserResponse) 
    Dim settings As mscrm.usersettings = CType(resp.BusinessEntity, mscrm.usersettings) 
    settings.timezonecode = New mscrm.CrmNumber 
    settings.timezonecode.Value = OUR_TIME_ZONE_CONSTANT 
    Dim update As New mscrm.UpdateUserSettingsSystemUserRequest() 
    update.Settings = settings 
    update.UserId = g 
    s.Execute(update) 
End Sub 
+0

嘿Brendon做得很好很好,完美的解决方案,我想知道为什么没有人更关心它是否有用...谁曾问过这个问题应该真的点击回答问题... –

相关问题