325 lines
13 KiB
Plaintext
325 lines
13 KiB
Plaintext
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
// Constants
|
|
|
|
typedef enum RenameOption
|
|
{
|
|
admtDoNotRename,
|
|
admtRenameWithPrefix,
|
|
admtRenameWithSuffix,
|
|
}
|
|
RenameOption;
|
|
|
|
typedef enum PasswordOption
|
|
{
|
|
admtPasswordFromName,
|
|
admtComplexPassword,
|
|
admtCopyPassword,
|
|
}
|
|
PasswordOption;
|
|
|
|
typedef enum ConflictOptions
|
|
{
|
|
admtIgnoreConflicting = 0x00,
|
|
admtReplaceConflicting = 0x01,
|
|
admtRenameConflictingWithPrefix = 0x02,
|
|
admtRenameConflictingWithSuffix = 0x03,
|
|
admtRemoveExistingUserRights = 0x10,
|
|
admtRemoveExistingMembers = 0x20,
|
|
admtMoveReplacedAccounts = 0x40,
|
|
}
|
|
ConflictOptions;
|
|
|
|
typedef enum DisableOption
|
|
{
|
|
admtEnableTarget = 0x00,
|
|
admtDisableSource = 0x01,
|
|
admtDisableTarget = 0x02,
|
|
admtTargetSameAsSource = 0x04,
|
|
}
|
|
DisableOption;
|
|
|
|
typedef enum SourceExpiration
|
|
{
|
|
admtNoExpiration = -1
|
|
}
|
|
SourceExpiration;
|
|
|
|
typedef enum TranslateOption
|
|
{
|
|
admtTranslateReplace,
|
|
admtTranslateAdd,
|
|
admtTranslateRemove,
|
|
}
|
|
TranslateOption;
|
|
|
|
typedef enum ReportType
|
|
{
|
|
admtReportMigratedAccounts,
|
|
admtReportMigratedComputers,
|
|
admtReportExpiredComputers,
|
|
admtReportAccountReferences,
|
|
admtReportNameConflicts,
|
|
}
|
|
ReportType;
|
|
|
|
typedef enum DataOptions
|
|
{
|
|
admtNone,
|
|
admtData,
|
|
admtFile,
|
|
admtDomain,
|
|
admtRecurse = 0x0100,
|
|
admtFlattenHierarchy = 0x0000,
|
|
admtMaintainHierarchy = 0x0200,
|
|
}
|
|
DataOptions;
|
|
|
|
// forward references
|
|
|
|
interface IUserMigration;
|
|
interface IGroupMigration;
|
|
interface IComputerMigration;
|
|
interface ISecurityTranslation;
|
|
interface IServiceAccountEnumeration;
|
|
interface IReportGeneration;
|
|
|
|
// IMigration
|
|
|
|
[
|
|
object,
|
|
uuid(FFA0E908-9849-4CFC-803E-F6A8ACF704A6),
|
|
dual,
|
|
helpstring("IMigration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IMigration : IDispatch
|
|
{
|
|
[id( 1), propput] HRESULT TestMigration([in] VARIANT_BOOL bTest);
|
|
[id( 1), propget] HRESULT TestMigration([out, retval] VARIANT_BOOL* pbTest);
|
|
[id( 2), propput] HRESULT IntraForest([in] VARIANT_BOOL bIntraForest);
|
|
[id( 2), propget] HRESULT IntraForest([out, retval] VARIANT_BOOL* pbIntraForest);
|
|
[id( 3), propput] HRESULT SourceDomain([in] BSTR bstrDomain);
|
|
[id( 3), propget] HRESULT SourceDomain([out, retval] BSTR* pbstrDomain);
|
|
[id( 4), propput] HRESULT SourceOu([in] BSTR bstrOu);
|
|
[id( 4), propget] HRESULT SourceOu([out, retval] BSTR* pbstrOu);
|
|
[id( 5), propput] HRESULT TargetDomain([in] BSTR bstrDomain);
|
|
[id( 5), propget] HRESULT TargetDomain([out, retval] BSTR* pbstrDomain);
|
|
[id( 6), propput] HRESULT TargetOu([in] BSTR bstrOu);
|
|
[id( 6), propget] HRESULT TargetOu([out, retval] BSTR* pbstrOu);
|
|
[id( 7), propput] HRESULT RenameOption([in] long lOption);
|
|
[id( 7), propget] HRESULT RenameOption([out, retval] long* plOption);
|
|
[id( 8), propput] HRESULT RenamePrefixOrSuffix([in] BSTR bstrPrefixOrSuffix);
|
|
[id( 8), propget] HRESULT RenamePrefixOrSuffix([out, retval] BSTR* pbstrPrefixOrSuffix);
|
|
[id( 9), propput] HRESULT PasswordOption([in] long lOption);
|
|
[id( 9), propget] HRESULT PasswordOption([out, retval] long* plOption);
|
|
[id(10), propput] HRESULT PasswordServer([in] BSTR bstrServer);
|
|
[id(10), propget] HRESULT PasswordServer([out, retval] BSTR* pbstrServer);
|
|
[id(11), propput] HRESULT PasswordFile([in] BSTR bstrPath);
|
|
[id(11), propget] HRESULT PasswordFile([out, retval] BSTR* pbstrPath);
|
|
[id(12), propput] HRESULT ConflictOptions([in] long lOptions);
|
|
[id(12), propget] HRESULT ConflictOptions([out, retval] long* plOptions);
|
|
[id(13), propput] HRESULT ConflictPrefixOrSuffix([in] BSTR bstrPrefixOrSuffix);
|
|
[id(13), propget] HRESULT ConflictPrefixOrSuffix([out, retval] BSTR* pbstrPrefixOrSuffix);
|
|
[id(14), propput] HRESULT UserPropertiesToExclude([in] BSTR bstrProperties);
|
|
[id(14), propget] HRESULT UserPropertiesToExclude([out, retval] BSTR* pbstrProperties);
|
|
[id(15), propput] HRESULT GroupPropertiesToExclude([in] BSTR bstrProperties);
|
|
[id(15), propget] HRESULT GroupPropertiesToExclude([out, retval] BSTR* pbstrProperties);
|
|
[id(16), propput] HRESULT ComputerPropertiesToExclude([in] BSTR bstrProperties);
|
|
[id(16), propget] HRESULT ComputerPropertiesToExclude([out, retval] BSTR* pbstrProperties);
|
|
[id(17)] HRESULT CreateUserMigration([out, retval] IUserMigration** pitfUserMigration);
|
|
[id(18)] HRESULT CreateGroupMigration([out, retval] IGroupMigration** pitfGroupMigration);
|
|
[id(19)] HRESULT CreateComputerMigration([out, retval] IComputerMigration** pitfComputerMigration);
|
|
[id(20)] HRESULT CreateSecurityTranslation([out, retval] ISecurityTranslation** pitfSecurityTranslation);
|
|
[id(21)] HRESULT CreateServiceAccountEnumeration([out, retval] IServiceAccountEnumeration** pitfServiceAccountEnumeration);
|
|
[id(22)] HRESULT CreateReportGeneration([out, retval] IReportGeneration** pitfReportGeneration);
|
|
};
|
|
|
|
// IUserMigration
|
|
|
|
[
|
|
object,
|
|
uuid(ED07BCE9-5968-4BE8-BE85-E976C93AD2CC),
|
|
dual,
|
|
helpstring("IUserMigration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IUserMigration : IDispatch
|
|
{
|
|
[id(1), propput] HRESULT DisableOption([in] long lOption);
|
|
[id(1), propget] HRESULT DisableOption([out, retval] long* plOption);
|
|
[id(2), propput] HRESULT SourceExpiration([in] long lExpiration);
|
|
[id(2), propget] HRESULT SourceExpiration([out, retval] long* plExpiration);
|
|
[id(3), propput] HRESULT MigrateSIDs([in] VARIANT_BOOL bMigrate);
|
|
[id(3), propget] HRESULT MigrateSIDs([out, retval] VARIANT_BOOL* pbMigrate);
|
|
[id(4), propput] HRESULT TranslateRoamingProfile([in] VARIANT_BOOL bTranslate);
|
|
[id(4), propget] HRESULT TranslateRoamingProfile([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id(5), propput] HRESULT UpdateUserRights([in] VARIANT_BOOL bUpdate);
|
|
[id(5), propget] HRESULT UpdateUserRights([out, retval] VARIANT_BOOL* pbUpdate);
|
|
[id(6), propput] HRESULT MigrateGroups([in] VARIANT_BOOL bMigrate);
|
|
[id(6), propget] HRESULT MigrateGroups([out, retval] VARIANT_BOOL* pbMigrate);
|
|
[id(7), propput] HRESULT UpdatePreviouslyMigratedObjects([in] VARIANT_BOOL bUpdate);
|
|
[id(7), propget] HRESULT UpdatePreviouslyMigratedObjects([out, retval] VARIANT_BOOL* pbUpdate);
|
|
[id(8), propput] HRESULT FixGroupMembership([in] VARIANT_BOOL bFix);
|
|
[id(8), propget] HRESULT FixGroupMembership([out, retval] VARIANT_BOOL* pbFix);
|
|
[id(9)] HRESULT Migrate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
|
|
[id(10), propput] HRESULT MigrateServiceAccounts([in] VARIANT_BOOL bMigrate);
|
|
[id(10), propget] HRESULT MigrateServiceAccounts([out, retval] VARIANT_BOOL* pbMigrate);
|
|
};
|
|
|
|
// IGroupMigration
|
|
|
|
[
|
|
object,
|
|
uuid(A29D4925-B16A-4E89-9328-BF50999C8EDD),
|
|
dual,
|
|
helpstring("IGroupMigration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IGroupMigration : IDispatch
|
|
{
|
|
[id(1), propput] HRESULT MigrateSIDs([in] VARIANT_BOOL bMigrate);
|
|
[id(1), propget] HRESULT MigrateSIDs([out, retval] VARIANT_BOOL* pbMigrate);
|
|
[id(2), propput] HRESULT UpdateGroupRights([in] VARIANT_BOOL bUpdate);
|
|
[id(2), propget] HRESULT UpdateGroupRights([out, retval] VARIANT_BOOL* pbUpdate);
|
|
[id(3), propput] HRESULT UpdatePreviouslyMigratedObjects([in] VARIANT_BOOL bUpdate);
|
|
[id(3), propget] HRESULT UpdatePreviouslyMigratedObjects([out, retval] VARIANT_BOOL* pbUpdate);
|
|
[id(4), propput] HRESULT FixGroupMembership([in] VARIANT_BOOL bFix);
|
|
[id(4), propget] HRESULT FixGroupMembership([out, retval] VARIANT_BOOL* pbFix);
|
|
[id(5), propput] HRESULT MigrateMembers([in] VARIANT_BOOL bMigrate);
|
|
[id(5), propget] HRESULT MigrateMembers([out, retval] VARIANT_BOOL* pbMigrate);
|
|
[id(6), propput] HRESULT DisableOption([in] long lOption);
|
|
[id(6), propget] HRESULT DisableOption([out, retval] long* plOption);
|
|
[id(7), propput] HRESULT SourceExpiration([in] long lExpiration);
|
|
[id(7), propget] HRESULT SourceExpiration([out, retval] long* plExpiration);
|
|
[id(8), propput] HRESULT TranslateRoamingProfile([in] VARIANT_BOOL bTranslate);
|
|
[id(8), propget] HRESULT TranslateRoamingProfile([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id(9)] HRESULT Migrate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
|
|
};
|
|
|
|
// IComputerMigration
|
|
|
|
[
|
|
object,
|
|
uuid(FE808F47-442A-48E0-B9BB-471843C01018),
|
|
dual,
|
|
helpstring("IComputerMigration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IComputerMigration : IDispatch
|
|
{
|
|
[id( 1), propput] HRESULT TranslationOption([in] long lOption);
|
|
[id( 1), propget] HRESULT TranslationOption([out, retval] long* plOption);
|
|
[id( 2), propput] HRESULT TranslateFilesAndFolders([in] VARIANT_BOOL bTranslate);
|
|
[id( 2), propget] HRESULT TranslateFilesAndFolders([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 3), propput] HRESULT TranslateLocalGroups([in] VARIANT_BOOL bTranslate);
|
|
[id( 3), propget] HRESULT TranslateLocalGroups([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 4), propput] HRESULT TranslatePrinters([in] VARIANT_BOOL bTranslate);
|
|
[id( 4), propget] HRESULT TranslatePrinters([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 5), propput] HRESULT TranslateRegistry([in] VARIANT_BOOL bTranslate);
|
|
[id( 5), propget] HRESULT TranslateRegistry([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 6), propput] HRESULT TranslateShares([in] VARIANT_BOOL bTranslate);
|
|
[id( 6), propget] HRESULT TranslateShares([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 7), propput] HRESULT TranslateUserProfiles([in] VARIANT_BOOL bTranslate);
|
|
[id( 7), propget] HRESULT TranslateUserProfiles([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 8), propput] HRESULT TranslateUserRights([in] VARIANT_BOOL bTranslate);
|
|
[id( 8), propget] HRESULT TranslateUserRights([out, retval] VARIANT_BOOL* pbTranslate);
|
|
[id( 9), propput] HRESULT RestartDelay([in] long lTime);
|
|
[id( 9), propget] HRESULT RestartDelay([out, retval] long* plTime);
|
|
[id(10)] HRESULT Migrate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
|
|
};
|
|
|
|
// ISecurityTranslation
|
|
|
|
[
|
|
object,
|
|
uuid(E7330F07-E140-43C3-A082-9DDE98CED9F4),
|
|
dual,
|
|
helpstring("ISecurityTranslation Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISecurityTranslation : IDispatch
|
|
{
|
|
[id( 1), propput] HRESULT TranslationOption([in] long lOption);
|
|
[id( 1), propget] HRESULT TranslationOption([out, retval] long* lOption);
|
|
[id( 2), propput] HRESULT TranslateFilesAndFolders([in] VARIANT_BOOL bTranslate);
|
|
[id( 2), propget] HRESULT TranslateFilesAndFolders([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 3), propput] HRESULT TranslateLocalGroups([in] VARIANT_BOOL bTranslate);
|
|
[id( 3), propget] HRESULT TranslateLocalGroups([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 4), propput] HRESULT TranslatePrinters([in] VARIANT_BOOL bTranslate);
|
|
[id( 4), propget] HRESULT TranslatePrinters([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 5), propput] HRESULT TranslateRegistry([in] VARIANT_BOOL bTranslate);
|
|
[id( 5), propget] HRESULT TranslateRegistry([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 6), propput] HRESULT TranslateShares([in] VARIANT_BOOL bTranslate);
|
|
[id( 6), propget] HRESULT TranslateShares([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 7), propput] HRESULT TranslateUserProfiles([in] VARIANT_BOOL bTranslate);
|
|
[id( 7), propget] HRESULT TranslateUserProfiles([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 8), propput] HRESULT TranslateUserRights([in] VARIANT_BOOL bTranslate);
|
|
[id( 8), propget] HRESULT TranslateUserRights([out, retval] VARIANT_BOOL* bTranslate);
|
|
[id( 9), propput] HRESULT SidMappingFile([in] BSTR bstrFile);
|
|
[id( 9), propget] HRESULT SidMappingFile([out, retval] BSTR* pbstrFile);
|
|
[id(10)] HRESULT Translate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
|
|
};
|
|
|
|
// IServiceAccountEnumeration
|
|
|
|
[
|
|
object,
|
|
uuid(4AC4E39B-A2E8-4CA4-B54F-6BE9D8046C9B),
|
|
dual,
|
|
helpstring("IServiceAccountEnumeration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IServiceAccountEnumeration : IDispatch
|
|
{
|
|
[id(1)] HRESULT Enumerate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
|
|
};
|
|
|
|
// IReportGeneration
|
|
|
|
[
|
|
object,
|
|
uuid(146D20A6-2093-4A58-97EC-E4D092124410),
|
|
dual,
|
|
helpstring("IReportGeneration Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IReportGeneration : IDispatch
|
|
{
|
|
[id(1), propput] HRESULT Type([in] long lType);
|
|
[id(1), propget] HRESULT Type([out, retval] long* plType);
|
|
[id(2), propput] HRESULT Folder([in] BSTR bstrFolder);
|
|
[id(2), propget] HRESULT Folder([out, retval] BSTR* pbstrFolder);
|
|
[id(3)] HRESULT Generate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
|
|
};
|
|
|
|
[
|
|
uuid(28214D84-FBA0-4E65-A511-829AFC114191),
|
|
version(1.0),
|
|
helpstring("ADMT 1.0")
|
|
]
|
|
library ADMT
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
|
|
enum RenameOption;
|
|
enum PasswordOption;
|
|
enum ConflictOptions;
|
|
enum DisableOption;
|
|
enum SourceExpiration;
|
|
enum TranslateOption;
|
|
enum ReportType;
|
|
enum DataOptions;
|
|
|
|
[
|
|
uuid(285029CC-5048-4D90-8B38-22D304F513DC),
|
|
helpstring("Migration Class")
|
|
]
|
|
coclass Migration
|
|
{
|
|
[default] interface IMigration;
|
|
};
|
|
};
|