Added the ability to stamp mailboxes with a mailbox plan as well as those
mailboxes that have no mailbox plan assigned yet. The following SQL statement will 'upgrade' the user data to work with the new exchange 2010 SP2 provider. Ensure you replace the variables with values that matches your environment. DECLARE @NetBIOSDomain nvarchar(20) DECLARE @ExchangeOrgRoot nvarchar(256) SET @NetBIOSDomain = 'MYDOMAIN' SET @ExchangeOrgRoot = 'CN=First Organization,CN=Microsoft Exchange,CN=Services, CN=Configuration,DC=mydomain,DC=local' UPDATE ExchangeAccounts SET SamAccountName = @NetBIOSDomain+'\'+AccountName WHERE AccountID IN (SELECT AccountID FROM ExchangeAccounts WHERE AccountType IN (3,7) AND SamAccountName = '') INSERT INTO ServiceItemProperties (ItemID, PropertyName, PropertyValue) (SELECT SP.ItemID, 'AddressBookPolicy', PV = 'CN='+SP.PropertyValue+' Address Policy,CN=AddressBook Mailbox Policies,' + @ExchangeOrgRoot FROM ServiceItemProperties AS SP WHERE (PropertyName = 'OrganizationID') AND (ItemID IN (SELECT ItemID FROM ServiceItemProperties AS ServiceItemProperties_1 WHERE (PropertyName = 'GlobalAddressList') AND (PropertyValue <> '')))) UPDATE SP SET PropertyValue='CN='+SP2.PropertyValue+' Rooms,CN=All Address Lists ,CN=Address Lists Container,'+@ExchangeOrgRoot FROM ServiceItemProperties AS SP JOIN ServiceItemProperties AS SP2 ON SP.ItemID = SP2.ItemID AND SP.PropertyName='RoomsAddressList' WHERE (SP2.PropertyName = 'OrganizationID') AND (SP2.ItemID IN (SELECT ItemID FROM ServiceItemProperties AS ServiceItemProperties_1 WHERE (PropertyName = 'GlobalAddressList') AND (PropertyValue <> '')))
This commit is contained in:
parent
80672a555f
commit
43b73aee66
15 changed files with 469 additions and 36 deletions
|
@ -1,4 +1,19 @@
|
|||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens'))
|
||||
USE [${install.database}]
|
||||
GO
|
||||
|
||||
-- update database version
|
||||
DECLARE @build_version nvarchar(10), @build_date datetime
|
||||
SET @build_version = N'${release.version}'
|
||||
SET @build_date = '${release.date}T00:00:00' -- ISO 8601 Format (YYYY-MM-DDTHH:MM:SS)
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Versions] WHERE [DatabaseVersion] = @build_version)
|
||||
BEGIN
|
||||
INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date)
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens'))
|
||||
BEGIN
|
||||
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False')
|
||||
END
|
||||
|
@ -2390,6 +2405,75 @@ GO
|
|||
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeAccountByMailboxPlanId')
|
||||
BEGIN
|
||||
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeAccountByMailboxPlanId]
|
||||
(
|
||||
@ItemID int,
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
|
||||
IF (@MailboxPlanId < 0)
|
||||
BEGIN
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.MailboxPlanId IS NULL AND
|
||||
E.AccountType IN (1,5)
|
||||
RETURN
|
||||
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.MailboxPlanId = @MailboxPlanId AND
|
||||
E.AccountType IN (1,5)
|
||||
RETURN
|
||||
END'
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeMailboxPlan')
|
||||
BEGIN
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue