141 lines
3.7 KiB
Plaintext
141 lines
3.7 KiB
Plaintext
#pragma namespace("\\root")
|
|
|
|
instance of __NAMESPACE
|
|
{
|
|
Name = "MicrosoftActiveDirectory";
|
|
};
|
|
|
|
#pragma namespace("MicrosoftActiveDirectory")
|
|
// The docs say to declare it as:
|
|
//#pragma namespace("\\\\.\\root\\MicrosoftActiveDirectory")
|
|
#pragma classflags(64)
|
|
#pragma autorecover
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// Declare an instance of the __Win32Provider
|
|
|
|
Instance of __Win32Provider as $P
|
|
{
|
|
Name = "TrustPrv" ;
|
|
ClsId = "{8065652F-4C29-4908-AAE5-201C891904C5}" ;
|
|
ImpersonationLevel = 1;
|
|
PerUserInitialization = TRUE;
|
|
HostingModel = "NetworkServiceHost"; // comment this out to compile on Win2k
|
|
};
|
|
|
|
instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
SupportsPut = FALSE;
|
|
SupportsGet = TRUE;
|
|
SupportsDelete = FALSE;
|
|
SupportsEnumeration = TRUE;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Declare a class whose dynamic instances are provided by the
|
|
// TrustPrv provider.
|
|
|
|
[
|
|
dynamic,
|
|
provider("TrustPrv"),
|
|
description("Instances of this class provide information about the domains that"
|
|
" have trust with the local domain.")
|
|
]
|
|
class Microsoft_DomainTrustStatus
|
|
{
|
|
[key]
|
|
String TrustedDomain;
|
|
|
|
[Description ("Pre-Windows 2000 domain name.")]
|
|
String FlatName;
|
|
|
|
[Description ("Security Identifier for the domain.")]
|
|
String SID;
|
|
|
|
[Description ("Direction of trust: 1 is inbound, 2 is outbound, "
|
|
"3 is bi-directional.")]
|
|
uint32 TrustDirection;
|
|
|
|
[Description ("Type of trust: 1 is downlevel, 2 is uplevel, 3 is "
|
|
"non-Windows Kerberos Realm, 4 is DCE.")]
|
|
uint32 TrustType;
|
|
|
|
[Description ("Attributes can be a combination of: 1 is non-"
|
|
"transitive, 2 is uplevel clients only, 40000 is "
|
|
"tree parent and 80000 is tree root.")]
|
|
uint32 TrustAttributes;
|
|
|
|
[Description ("Name of trusted domain's domain controller.")]
|
|
String TrustedDCName;
|
|
|
|
[Description ("Error code of trust failure. Zero means no failure.")]
|
|
uint32 TrustStatus;
|
|
|
|
[Description ("String description of trust status.")]
|
|
String TrustStatusString;
|
|
|
|
Boolean TrustIsOk = FALSE;
|
|
};
|
|
|
|
[
|
|
singleton,
|
|
description("The properties of this class parameterize the operation of"
|
|
" the trust monitor.")
|
|
]
|
|
class Microsoft_TrustProvider
|
|
{
|
|
[Description ("Integer in minutes: if current request for trust enumeration"
|
|
" within this window, use last listing.")]
|
|
uint32 TrustListLifetime;
|
|
|
|
[Description ("Integer in minutes: if current request for status within this"
|
|
" window, use last results.")]
|
|
uint32 TrustStatusLifetime;
|
|
|
|
[Description ("0 don't verify, just enum; 1 do an SC_QUERY; 2 do a PW check"
|
|
" (if available); 3 do an SC_RESET.")]
|
|
uint32 TrustCheckLevel;
|
|
|
|
[Description ("If true, return trusting as well as trusted domains (if different)")]
|
|
Boolean ReturnAll;
|
|
};
|
|
|
|
instance of Microsoft_TrustProvider
|
|
{
|
|
TrustListLifetime = 20;
|
|
|
|
TrustStatusLifetime = 3;
|
|
|
|
TrustCheckLevel = 2;
|
|
|
|
ReturnAll = TRUE;
|
|
};
|
|
|
|
[
|
|
singleton,
|
|
dynamic,
|
|
provider("TrustPrv"),
|
|
description("This class provides information about the domain on which this"
|
|
" instance of the trust monitor is running.")
|
|
]
|
|
class Microsoft_LocalDomainInfo
|
|
{
|
|
[description("DNS name of local domain.")]
|
|
String DNSname;
|
|
|
|
[description("SAM name of local domain.")]
|
|
String FlatName;
|
|
|
|
[description("Security ID of local domain.")]
|
|
String SID;
|
|
|
|
[description("Name of enterprise tree root.")]
|
|
String TreeName;
|
|
|
|
[description("Name of the DC on whom TrustMon is running.")]
|
|
String DCname;
|
|
};
|