`
dannyhz
  • 浏览: 394856 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

SVN Server 的mof 文件, 今天的大发现, windows的接口秘密

 
阅读更多
WMI 的解释

https://msdn.microsoft.com/en-us/library/aa394577

https://msdn.microsoft.com/en-us/library/aa394582(v=vs.85).aspx
引用


Windows Management Instrumentation




Purpose

Windows Management Instrumentation (WMI) is the infrastructure for management data and operations on Windows-based operating systems. You can write WMI scripts or applications to automate administrative tasks on remote computers but WMI also supplies management data to other parts of the operating system and products, for example System Center Operations Manager, formerly Microsoft Operations Manager (MOM), or Windows Remote Management (WinRM).

Note  The following documentation is targeted for developers and IT administrators. If you are an end-user that has experienced an error message concerning WMI, you should go to Microsoft Support and search for the error code you see on the error message. For more information about troubleshooting problems with WMI scripts and the WMI service, see WMI Isn't Working!



Note  WMI is fully supported by Microsoft; however, the latest version of administrative scripting and control is available through the Windows Management Infrastructure (MI). MI is fully compatible with previous versions of WMI, and provides a host of features and benefits that make designing and developing providers and clients easier than ever. For more information, see Windows Management Infrastructure (MI).



Where applicable

WMI can be used in all Windows-based applications, and is most useful in enterprise applications and administrative scripts.

System administrators can find information about using WMI at the TechNet ScriptCenter, and in various books about WMI. For more information, see Further Information.







https://www.visualsvn.com/support/topic/00060/

引用



#pragma classflags("forceupdate")

#pragma namespace ("\\\\.\\root")

[guid("{D5E2BB03-081A-4286-AA46-2AA83573A932}")
,NamespaceSecuritySDDL("D:(A;CI;CCDCWP;;;S-1-5-21-2928762787-414035163-1479055058-1007)")]
instance of __NameSpace
{
    Name = "VisualSVN";
};

#pragma namespace ("\\\\.\\root\\VisualSVN")

class Win32_ProviderEx : __Win32Provider
{
    [Description ( "Hosting Model, provides compatibility with Windows XP and Windows Server .NET. Do not override." ) , Override("HostingModel")]
    string HostingModel = "NetworkServiceHost";
    [Description("..."),Override("SecurityDescriptor")]
    string SecurityDescriptor;
    UInt32 version = 1;
};

instance of Win32_ProviderEx as $P
{
    Name    = "VisualSVNWMIProvider";
    ClsId   = "{3E7CF778-9DCE-4D0F-A71D-B77FB0FB5E39}";
    ImpersonationLevel = 1;
    PerUserInitialization = TRUE;
    HostingModel = "NetworkServiceHost:VisualSVN-2.5.6";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;

    SupportsPut = "TRUE";
    SupportsGet = "TRUE";
    SupportsDelete = "FALSE";
    SupportsEnumeration = "TRUE";
};

instance of __MethodProviderRegistration
{
    Provider = $P;
};

[provider("VisualSVNWMIProvider"), dynamic, abstract]
class VisualSVN_Account
{
};

class VisualSVN_WindowsAccount : VisualSVN_Account
{
    [key] string SID;
};

[provider("VisualSVNWMIProvider"), dynamic, abstract]
class VisualSVN_SubversionAccount : VisualSVN_Account
{
    [key] string Name;
};

[singleton]
class VisualSVN_Everyone : VisualSVN_Account
{
    string Name;
};

instance of VisualSVN_Everyone
{
    Name="Everyone";
};

[provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_User : VisualSVN_SubversionAccount
{
    [implemented, static] void Create([in] string Name, [in] string Password);
    [implemented, static] void Delete([in] string Name);
    [implemented] void SetPassword([in] string Password);
};

[provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_Group : VisualSVN_SubversionAccount
{
    [implemented, static] void Create([in] string Name,
                                      [in] VisualSVN_SubversionAccount ref Members[]);
    [implemented, static] void Delete([in] string Name);
    [implemented] void GetMembers([out] VisualSVN_SubversionAccount Members[]);
    [implemented] void SetMembers([in] VisualSVN_SubversionAccount ref Members[]);
};

class VisualSVN_PermissionEntry
{
    VisualSVN_Account Account;
   
    [Description ("0 - no access, 1 - read only, 2 - read/write"),
     Values{"No Access", "Read Only", "Read Write"}]
    uint32 AccessLevel;
};

class VisualSVN_CertifcateInformation
{
    [Read] string IssuedTo;
    [Read] string IssuedBy;
    [Read] datetime ValidFrom;
    [Read] datetime ValidTo;
    [Read] string Organization;
    [Read] string OrganizationUnit;
    [Read] string CountryCode;
    [Read] string State;
    [Read] string City;
    [Read] string Base64Certificate;
};

[provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_Service
{
    [Key] string Name;
   
    [
        Read,
        MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCurrentState"},
        ValueMap{"Stopped", "Start Pending", "Stop Pending", "Running", "Continue Pending", "Pause Pending", "Paused", "Unknown"}
    ]
    uint32 ServiceState;

    [
        Read,
        MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWin32ExitCode"}
    ]
    uint32 ExitCode;
   
    [Read] string URL;

    [Read] string ServerName;
    [Read] boolean UseCustomServerName;
    [Read] string CustomServerName;

    [Read] string RepositoriesRoot;
    [Read] boolean AdjustRepositoriesRootPermissions;

    [Read] boolean UseSecureConnection;
    [Read] uint16 UnsecurePort;
    [Read] uint16 SecurePort;
    [Read] boolean ListenAllIPAddresses;
    [Read] string ListenIPAddressesArray[];

    [Read] boolean AuthWindowsBasic;
    [Read] boolean AuthWindowsIntegrated;

    [Read] boolean AccessLoggingEnabled;
    [Read] boolean OperationalLoggingEnabled;

    [implemented] void StartService();
    [implemented] void StopService();
    [implemented] void RestartService();

    [Description ("0 - subversion authentication, 1 - windows authentication"),
     Values{"Subversion", "Windows"},
     Read] uint32 AuthType;
    [Read] boolean UseUPNFormat;

    [implemented, Values{"Success", "DoesNotExists"}]
    uint32 SetRepositoriesRoot([in] string RepositoriesRoot,
                               [in] boolean AdjustPermissions,
                               [in] boolean ForceCreate = false);

    [implemented]
    void SetServerName([in] boolean UseCustom, [in] string CustomServerName);
    [implemented]
    void SetNetworkOptions([in] uint16 Port,
                   [in] boolean UseSecureConnection,
                   [in] string ListenIPAddressesArray[]);
    [implemented]
    void SetAuthenticationOptions([in, Values{"Subversion", "Windows"}] uint32 AuthType,
                 [in] boolean WindowsBasic,
                 [in] boolean WindowsIntegrated,
                 [in] boolean UseUPNFormat = false);

    [implemented]
    void SetLoggingOptions([in] boolean EnableAccessLogging,
                           [in] boolean EnableOperationalLogging);

    [implemented] VisualSVN_CertifcateInformation GetCertificateInformation();
    [implemented] void ImportCertificate([in] string Base64Certificate);
    [implemented,
     Values{"Matched", "KeyMatched", "KeyConflict", "KeyMissed"}]
                uint32 ValidateCertificate([in] string Base64Certificate);
    [implemented] void CreateSelfSignedCertificate([in] string CommonName,
                                                   [in] string Organization,
                                                   [in] string OrganizationUnit,
                                                   [in] string CountryCode,
                                                   [in] string State,
                                                   [in] string City,
                                                   [in] uint32 Days);
    [implemented] string CreateCertificateRequest([in] string CommonName,
                                                  [in] string Organization,
                                                  [in] string OrganizationUnit,
                                                  [in] string CountryCode,
                                                  [in] string State,
                                                  [in] string City);
};

[provider("VisualSVNWMIProvider"), dynamic, abstract]
class VisualSVN_RepositoryEntry
{
    [Description ("'repo' for repository and entry"), key]
    string RepositoryName;
    [Description ("'/' for repo root, '/folder/file' for entry"), key]
    string Path;

    string Name;
    [Description ("null for repo root")]
    string ParentPath;
    string URL;
   
    [Description ("0 - File, 1 - Folder"), Values{"File", "Folder"}]
    uint32 Kind;
};

[provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_Repository
{
    [Description ("Repository name"), key]
    string Name;

    string URL;
   
    [static, implemented] void Create([in] string Name);
    [static, implemented] void Delete([in] string Name);

    [implemented] void GetChildren([in] string Path, [out] VisualSVN_RepositoryEntry Children[]);
    [implemented] void Upgrade();

    [implemented] void CreateFolders([in] string Folders[], [in] string Message);
    [implemented] void DeleteFolders([in] string Folders[], [in] string Message);

    [Description ("Repository capabilities. Supported capabilites: 'mergeinfo'"), implemented]
    boolean HasCapability([in] string Capability);

    [implemented] boolean GetHook([Values{"PostCommit", "PostLock", "PostPropChange", "PostUnlock",
                                          "PreCommit", "PreLock", "PrePropChnage", "PreUnlock",
                                          "StartCommit"}, in] uint32 Kind, [out] string Hook);

    [implemented] void SetHook([Values{"PostCommit", "PostLock", "PostPropChange", "PostUnlock",
                                       "PreCommit", "PreLock", "PrePropChnage", "PreUnlock",
                                       "StartCommit"}, in] uint32 Kind, [in] string Hook);

    [implemented] void DeleteHook([Values{"PostCommit", "PostLock", "PostPropChange", "PostUnlock",
                                          "PreCommit", "PreLock", "PrePropChnage", "PreUnlock",
                                          "StartCommit"}, in] uint32 Kind);
};

[provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_SecurityDescriptor
{
    [key] object ref AssociatedObject;
    VisualSVN_PermissionEntry Permissions[];

    [implemented, static]
    void SetSecurity([in] object ref Object,
                     [in] VisualSVN_PermissionEntry Permissions[],
                     [in] boolean ResetChildren = false);
};

[Singleton, provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_VersionInfo
{
    string Version;
    string SubversionVersion;
    string ApacheVersion;
};

[Singleton, provider("VisualSVNWMIProvider"), dynamic]
class VisualSVN_LicenseInfo
{
    [Read,
     Values{"Valid", "Invalid", "Expired", "NotStarted", "NoLicense", "MaintenanceExpired" }]
        uint32 Status;

    [Description( "Possible values are: 'Enterprise'"),
     Read] string Type;
    [Read] string LicensedTo;

    [Description("True if license has limited time."), Read]
    boolean TimeLimited;

    [Description( "If license lifetime is unlimited the filed is null"),
     Read] datetime StartTime;
    [Description( "If license lifetime is unlimited the filed is null"),
     Read] datetime EndTime;

    [Description( "License remaining time in minutes. If license lifetime is unlimited the filed is null"),
     Read] uint32 RemainingTime;

    [implemented, static,
     Values{"Valid", "Invalid", "Expired", "NotStarted" }]
        uint32 UpdateLicense([in] string LicenseKey);
};


分享到:
评论

相关推荐

    限制单个文件大小,svn 钩子

    Windows下,svn提交时限制单个文件大小

    Visual SVN Server 4.2.1 x64企业版

    Visual SVN Server是一款强大的版本控制系统,尤其在Windows环境下广泛使用,专为Subversion(SVN)提供了直观的管理和部署工具。4.2.1是该软件的一个版本,此版本为x64架构,适用于64位操作系统,且是企业版,意味...

    Ubuntu下安装界面化SVN客户端,并可访问windows的SVN Server

    在安装完成后,你可以像在Windows中一样,通过RabbitVCS在Linux系统中进行提交、更新、对比、解决冲突等SVN操作,极大地提高了在Linux环境下的工作效率。如果你遇到任何问题,不要犹豫,与其他开发者交流,共同学习...

    VisualSVN-Server-4.2.2-x64.msi_svnserver_windows_64bit_

    VisualSVN Server是一款高效、易用的Subversion(SVN)服务器管理软件,专为Windows平台设计。该软件的最新版本为4.2.2,提供了64位版本以充分利用现代计算机硬件资源。在本文中,我们将详细讲解如何在Windows 64位...

    SVNServer安装文件(包括语言解析包)

    SVNServer安装文件(包括语言解析包), Setup-Subversion-1.8.11.msi, TortoiseSVN-1.8.4.24972-x64-svn-1.8.5.msi LanguagePack_1.6.16.21511-x64-zh_CN.msi

    svn server 3.5破解版

    svn server 3.5企业版破解工具

    详细介绍Windows下SVN服务器的配置

    本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、Subversion的集成、文件库的创建、访问控制的设定,以及客户端TortoiseSVN的安装。 1. **Apache HTTP Server安装** - 首先,你需要...

    svn全套,visual svn svn server TortoiseSVN .rar

    svn全套,visual svn svn server TortoiseSVN .rar svn全套,visual svn svn server TortoiseSVN .rar svn全套,visual svn svn server TortoiseSVN .rar svn全套,visual svn svn server TortoiseSVN .rar svn全套...

    Windows svn server 配置

    1. **安装svn服务器软件**:通常我们会选择VisualSVN Server,这是一个专门为Windows设计的、易于使用的svn服务器管理工具。可以从其官方网站下载最新版本并进行安装。 2. **创建svn仓库**:安装完成后,打开...

    配置SVNServer环境命令及Apache方式发布SVN的配置文件

    从1.4版开始,Subversion Server就自带Windows服务程序,通过执行简单的命令,即可注册为服务方式...附件中,是【如何将Subversion注册成windows服务】和【如何实现Http方式访问Svn服务器】所使用的命令,及配置文件。

    最新SVNServer3.6.0&TortoiseSVN1.9.5&中文包_20170325_CLeopard

    SVN Server 是用于存储和管理代码仓库的服务器端程序,而 TortoiseSVN 是一个客户端工具,提供了与 Windows 文件系统深度集成的 SVN 功能。 **SVN Server 3.6.0** SVN Server 3.6.0 是 SVN 服务器的最新版本,它...

    SVNServer.rar

    在Windows环境中,这个文件通常用于安装SVN服务端,包括Apache HTTP Server或VisualSVN Server等,它们提供了一个平台来托管SVN仓库,使得团队成员可以通过网络访问并进行版本控制操作。 `SVNServer.txt`则可能是一...

    visual svn server 2.5.8 破解

    版本:2.5.8 步骤: 1 安装原版VISUALSVN SRRVER 2. 使用 keygen patch WMIProvider.dll ...3. 运行 visual svn server, 填入 keyen serail number 4.update from standard version to enterprise success

    centos7 安装svn server

    ### CentOS 7 下 SVN Server 的安装与配置 #### 一、前言 Subversion (SVN) 是一种广泛使用的版本控制系统,它可以帮助团队管理和跟踪项目的变更历史。在 CentOS 7 环境下搭建 SVN 服务器可以为开发团队提供一个...

    Windows下安装SVN服务器

    - 本文实例使用的是Windows Server 2003 R2 Enterprise X64 SP2(64位),同时适用于Windows Server 2003 X86 SP2、Windows XP X86 SP3、Windows 7 X64。 - SVN版本选择SubVersion v1.6.16,而Apache服务器版本为...

    SVN server/client

    SVN(Subversion)是一种广泛...综上,SVN server/client为团队协作提供了强大的工具,通过合理使用,可以极大地提升工作效率和项目管理质量。无论是小型项目还是大型企业级开发,SVN都是不可或缺的版本控制解决方案。

    SVNSERVER简易版

    本资源提供的"SVNServer简易版"是一个自解压文件,简化了SVNServer的安装流程,使得部署更加方便快捷。 **Subversion基础概念** 1. **仓库(Repository)**:SVN的核心组件,存储所有版本化的文件和目录。仓库中的...

    VisualSVN-Server V5.0.2 Windows SVN 服务端软件(32 位 + 64 位)

    VisualSVN Server是一款高效且易于管理的Subversion (SVN) 服务器,专为Windows操作系统设计。V5.0.2 版本是该软件的一个重要里程碑,它提供了32位和64位两种版本,以适应不同硬件环境的需求。 Subversion是一个...

    svnserver(64)+svnclient(64)

    【标题】"svnserver(64)+svnclient(64)" 涉及的主要知识点是Subversion(简称SVN)的64位版本,包括服务器端(svnserver)和客户端(svnclient)。 Subversion是一种广泛使用的版本控制系统,用于管理软件项目的源...

    SvnBackupApp,Visual SVN Server 备份,Visual SVN 备份,SVN 备份

    Visual SVN Server 备份工具,Visual SVN 备份工具,SVN 备份工具,按天,周,月定时备份,备份文件可加密存储,过期文件可以自动删除。Visual SVN Server 企业版才能用的定时备份任务,SvnBackupApp工具即可办到。...

Global site tag (gtag.js) - Google Analytics