windows-nt/Source/XPSP1/NT/admin/admt/script/admtscript.idl
2020-09-26 16:20:57 +08:00

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;
};
};