当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 关于 WSMan 提供商

作者:精品下载站 日期:2024-12-14 02:01:58 浏览:12 分类:玩电脑

关于 WSMan 提供商


提供商名称

WS人

驱动器

WSMan:

简短描述

提供对 Web 管理服务 (WS-Management) 配置信息的访问。

详细说明

此信息仅适用于在 Windows 上运行的 PowerShell。

PowerShell 的 WSMan 提供程序允许您添加、更改、清除和删除本地或远程计算机上的 WS-Management 配置数据。

WSMan 提供程序公开一个 PowerShell 驱动器,其目录结构对应于 WS-Management 配置设置的逻辑分组。这些分组称为容器。

从 Windows PowerShell 3.0 开始,WSMan 提供程序已更新为支持会话配置的新属性,例如 OutputBufferingMode。会话配置在 WSMan: 驱动器的插件目录中显示为项目,属性在每个会话配置中显示为项目。

WSMan 提供程序支持以下 cmdlet,本文将介绍这些内容。

  • Get-Location
  • Set-Location
  • Get-Item
  • Get-ChildItem
  • New-Item
  • Remove-Item

笔记

您可以使用 WSMan: 驱动器中的命令来更改新属性的值。但是,您无法使用 PowerShell 2.0 中的 WSMan: 驱动器来更改 Windows PowerShell 3.0 中引入的属性。虽然没有生成错误,但命令无效。要更改这些设置,请使用 Windows PowerShell 3.0 中的 WSMan 驱动器。

WSMan 的组织:Drive

  • 客户端:您可以配置 WS-Management 客户端的各个方面。配置信息存储在注册表中。

  • 服务:您可以配置 WS-Management 服务的各个方面。配置信息存储在注册表中。

    笔记

    服务配置有时称为服务器配置。

  • Shell:您可以配置 WS-Management shell 的各个方面,例如允许远程 shell 访问 (AllowRemoteShellAccess) 的设置以及允许的最大并发用户数 (最大并发用户数)。

  • 监听器:您可以创建和配置监听器。侦听器是一种管理服务,它实现 WS-Management 协议来发送和接收消息。

  • 插件:插件由 WS-Management 服务加载和使用,以提供各种功能。默认情况下,PowerShell提供了三个插件:

    • 事件转发插件。
  • Microsoft.PowerShell 插件。
  • Windows Management Instrumentation (WMI) 提供程序插件。这三个插件支持事件转发、配置和 WMI 访问。
  • ClientCertificate:您可以创建和配置客户端证书。当 WS-Management 客户端配置为使用证书身份验证时,将使用客户端证书。

  • WSMan 提供程序的目录层次结构

    本地计算机的 WSMan 提供程序的目录层次结构如下。

    WSMan:\localhost
    --- Client
    --- Service
    --- Shell
    --- Listener
    ------ <Specific_Listener>
    --- Plugin
    ------ Event Forwarding Plugin
    --------- InitializationParameters
    --------- Resources
    ------------ Security
    ------ Microsoft.Powershell
    --------- InitializationParameters
    --------- Resources
    ------------ Security
    ------ WMI Provider
    --------- InitializationParameters
    --------- Resources
    ------------ Security
    --- ClientCertificate
    

    远程计算机的 WSMan 提供程序的目录层次结构与本地计算机相同。但是,为了访问远程计算机的配置设置,您需要使用 Connect-WSMan 连接到远程计算机。一旦连接到远程计算机,远程计算机的名称就会显示在提供程序中。

    WSMan:\<Remote_Computer_Name>
    

    导航 WSMan:驱动器

    此命令使用 Set-Location cmdlet 将当前位置更改为 WSMan: 驱动器。

    Set-Location WSMan:
    

    要返回到文件系统驱动器,请键入驱动器名称。例如,键入。

    Set-Location C:
    

    导航到远程系统存储位置

    此命令使用 Set-Location 命令将当前位置更改为远程系统存储位置中的根位置。使用反斜杠 \ 或正斜杠 / 指示 WSMan: 驱动器的级别。

    Set-Location -Path  WSMan:\SERVER01
    

    笔记

    上述命令假设与远程系统的连接已存在。

    显示 WSMan: Drive 的内容

    此命令使用 Get-Childitem cmdlet 显示 Localhost 存储位置中的 WS-Management 存储。

    Get-ChildItem -path WSMan:\Localhost
    

    如果您位于 WSMan: 驱动器中,则可以省略驱动器名称。

    此命令使用 Get-Childitem cmdlet 显示远程计算机“SERVER01”存储位置中的 WS-Management 存储。

    Get-ChildItem -path WSMan:\SERVER01
    

    笔记

    上述命令假设与远程系统的连接已存在。

    设置 WSMAN: 驱动器中的项目值

    您可以使用 Set-Item cmdlet 更改 WSMAN 驱动器中的配置设置。以下示例将 TrustedHosts 值设置为接受带有后缀“contoso.com”的所有主机。

    # You do not need to specify the -Path parameter name when using Set-Item.
    PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"
    

    Set-Item cmdlet 支持附加参数 -Concatenate,该参数可附加值而不是更改值。以下示例将新值“*.domain2.com”附加到存储在 TrustedHost: 中的旧值

    Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate
    

    在 WSMAN: 驱动器中创建项目

    创建一个新的监听器

    New-Item cmdlet 在提供程序驱动器中创建项目。每个提供商都有不同的项目类型可供您创建。在 WSMAN: 驱动器中,您可以创建侦听器,将其配置为接收和响应远程请求。以下命令使用 New-Item cmdlet 创建一个新的 HTTP 侦听器。

    New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force
    

    创建一个新插件

    此命令创建(注册)WS-Management 服务的插件。

    New-Item -Path WSMan:\localhost\Plugin `
             -Plugin TestPlugin `
             -FileName %systemroot%\system32\WsmWmiPl.dll `
             -Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
             -SDKVersion 1 `
             -Capability "Get","Put","Invoke","Enumerate" `
             -XMLRenderingType text
    

    创建新的资源条目

    此命令在 TestPlugin 的 Resources 目录中创建一个资源条目。此命令假定已使用单独的命令创建了 TestPlugin。

    New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
             -ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
             -Capability "Enumerate"
    
    

    为资源创建新的安全条目

    此命令在 Resource_5967683(特定资源)的安全目录中创建一个安全条目。此命令假定资源条目是使用单独的命令创建的。

    $path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
    New-Item -Path $path\Security `
             -Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"
    

    创建新的客户端证书

    此命令创建可供 WS-Management 客户端使用的 ClientCertificate 条目。新的 ClientCertificate 将在 ClientCertificate 目录下显示为“ClientCertificate_1234567890”。所有参数都是强制性的。 颁发者需要是颁发者证书的指纹。

    $cred = Get-Credential
    New-Item -Path WSMan:\localhost\ClientCertificate `
             -Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
             -URI wmicimv2/* `
             -Credential $cred;
    

    创建新的初始化参数

    此命令在“InitializationParameters”目录中创建名为“testparametername”的初始化参数。此命令假定“TestPlugin”是使用单独的命令创建的。

    New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
             -ParamName testparametername `
             -ParamValue testparametervalue
    

    动态参数

    动态参数是由 PowerShell 提供程序添加的 cmdlet 参数,仅当在启用提供程序的驱动器中使用 cmdlet 时才可用。

    地址

    指定为其创建此侦听器的地址。该值可以是以下之一:

    • 文字字符串“*”。 (通配符 (*) 使该命令绑定所有网络适配器上的所有 IP 地址。)
    • 文字字符串“IP:”后跟 IPv4 点分十进制格式或 IPv6 克隆十六进制格式的有效 IP 地址。
    • 文字字符串“MAC:”后跟适配器的 MAC 地址。例如:MAC:32-a3-58-90-be-cc。

    笔记

    地址值是在创建侦听器时设置的。

    支持的 Cmdlet

    • New-Item

    能力

    使用插件时,此参数指定此统一资源标识符 (URI) 支持的操作。您必须为 URI 支持的每种操作类型创建一个条目。您可以为给定操作指定任何有效属性(如果该操作支持)。

    这些属性包括SupportsFilteringSupportsFragment

    • 创建:URI 支持创建操作。

      • 如果 Create 操作支持该概念,则使用 SupportFragment 属性。
    • SupportFiltering 属性对于创建操作无效,应设置为“False”。

    笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • 删除:URI 支持删除操作。

    • 如果删除操作支持该概念,则使用 SupportFragment 属性。
  • SupportFiltering 属性对于删除操作无效,应设置为“False”。
  • 笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • 枚举:URI 支持枚举操作。

    • 枚举操作不支持 SupportFragment 属性,应将其设置为 False。
  • SupportFiltering 属性有效,如果插件支持过滤,则该属性应设置为“True”。
  • 笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • 获取:URI 支持获取操作。

    • 如果 Get 操作支持该概念,则使用 SupportFragment 属性。
  • SupportFiltering 属性对于 Get 操作无效,应设置为“False”。
  • 笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • 调用:URI 支持调用操作。

    • Invoke 操作不支持 SupportFragment 属性,应将其设置为 False。
  • SupportFiltering 属性无效,应设置为“False”。
  • 笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • Put:URI 支持 Put 操作。

    • 如果 Put 操作支持该概念,则使用 SupportFragment 属性。
  • SupportFiltering 属性对于 Put 操作无效,应设置为“False”。
  • 笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • 订阅:URI 支持订阅操作。

    • 订阅操作不支持 SupportFragment 属性,应将其设置为 False。
  • SupportFiltering 属性对于订阅操作无效,应设置为“False”。
  • 笔记

    如果还支持 Shell 操作,则此操作对于 URI 无效。

  • Shell:URI 支持 Shell 操作。

    • Shell 操作不支持 SupportFragment 属性,应将其设置为“False”。
  • SupportFiltering 属性对于 Shell 操作无效,应设置为“False”。
  • 笔记

    如果还支持任何其他操作,则此操作对于 URI 无效。

    笔记

    如果为 URI 配置了 Shell 操作,则 Get、Put、Create、Delete、Invoke 和 Enumerate 操作将在 WS-Management (WinRM) 服务内部进行处理以管理 shell。因此,插件无法处理这些操作。

    支持的 Cmdlet

    • New-Item

    证书指纹

    指定服务证书的指纹。

    该值表示证书的指纹字段中的两位十六进制值的字符串。它指定有权执行此操作的用户帐户的数字公钥证书 (X509)。证书用于基于客户端证书的身份验证。它们只能映射到本地用户帐户,并且不能与域帐户一起使用。要获取证书指纹,请使用 PowerShell Cert: 驱动器中的 Get-ItemGet-ChildItem cmdlet。

    支持的 Cmdlet

    • New-Item

    启用

    指定侦听器是启用还是禁用。默认值为 True。

    支持的 Cmdlet

    • New-Item

    文件名(插件)

    指定操作插件的文件名。当收到请求时,放入此条目中的任何环境变量都将在用户上下文中展开。由于每个用户可能拥有同一环境变量的不同版本,因此每个用户可能拥有不同的插件。此条目不能为空,并且必须指向有效的插件。

    支持的 Cmdlet

    • New-Item

    主机名

    指定运行 WS-Management (WinRM) 服务的计算机的主机名。

    该值必须是完全限定的域名、IPv4 或 IPv6 文字字符串或通配符。

    支持的 Cmdlet

    • New-Item

    发行人

    指定颁发证书的证书颁发机构的名称。

    支持的 Cmdlet

    • New-Item

    插件 WS-Management 插件是本机动态链接库 (DLL)

    插入并扩展 WS-Management 的功能。 WSW-管理插件 API 提供的功能使用户能够通过为受支持的资源 URI 和操作实现某些 API 来编写插件。为 WS-Management (WinRM) 服务或 Internet 信息服务 (IIS) 配置插件后,插件将分别加载到 WS-Management 主机或 IIS 主机中。远程请求将路由到这些插件入口点以执行操作。

    支持的 Cmdlet

    • New-Item

    端口

    指定为其创建此侦听器的 TCP 端口。您可以指定 1 到 65535 之间的任何值。

    支持的 Cmdlet

    • New-Item

    资源

    指定代表不同类型的管理操作或值的端点。一项服务公开一个或多个资源,并且某些资源可以有多个实例。管理资源类似于 WMI 类或数据库表,实例类似于类的实例或表中的行。例如,Win32_LogicalDisk 类表示资源。 Win32_LogicalDisk="C:\" 是资源的特定实例。

    统一资源标识符 (URI) 包含资源的前缀和路径。例如:

    http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
    http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

    支持的 Cmdlet

    • New-Item

    资源

    指定标识计算机上特定类型资源(例如磁盘或进程)的统一资源标识符 (URI)。

    URI 由前缀和资源路径组成。例如:

    http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
    http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

    支持的 Cmdlet

    • New-Item

    SDK版本

    指定 WS-Management 插件 SDK 的版本。唯一有效值为 1。

    支持的 Cmdlet

    • New-Item

    主题

    指定由证书标识的实体。

    支持的 Cmdlet

    • New-Item

    运输

    指定用于发送和接收 WS-Management 协议请求和响应的传输。该值必须是 HTTP 或 HTTPS。

    注意:Transport 值是在创建 Listener 时设置的。

    支持的 Cmdlet

    • New-Item

    URI

    根据 Sddl 参数的值标识授权访问的 URI。

    支持的 Cmdlet

    • New-Item

    URL前缀

    接受 HTTP 或 HTTPS 请求的 URL 前缀。这是一个仅包含字符 [a-z][A-Z][9-0]、下划线 (_)和反斜杠(/)。该字符串不得以反斜杠 (/) 开头或结尾。例如,如果计算机名称为“SampleComputer”,则 WS-Management 客户端将在目标地址中指定 http://SampleMachine/URLPrefix

    支持的 Cmdlet

    • New-Item

    指定初始化参数的值,该值是用于指定配置选项的插件特定值。

    支持的 Cmdlet

    • New-Item

    XMLRenderingType

    指定通过 WSMAN_DATA 对象将 XML 传递到插件的格式。以下是有效值:

    • 文本:传入的 XML 数据包含在 WSMAN_DATA_TYPE_TEXT 结构中,该结构将 XML 表示为 PCWSTR 内存缓冲区。
    • XMLReader:传入的 XML 数据包含在 WSMAN_DATA_TYPE_WS_XML_READER 结构中,该结构将 XML 表示为 XmlReader 对象,该对象在“WebServices.h”头文件中定义。

    支持的 Cmdlet

    • New-Item

    使用管道

    提供程序 cmdlet 接受管道输入。您可以使用管道通过将提供程序数据从一个 cmdlet 发送到另一提供程序 cmdlet 来简化任务。要详细了解如何将管道与提供程序 cmdlet 一起使用,请参阅本文中提供的 cmdlet 参考。

    寻求帮助

    从 Windows PowerShell 3.0 开始,您可以获得提供程序 cmdlet 的自定义帮助主题,这些主题解释了这些 cmdlet 在文件系统驱动器中的行为方式。

    要获取为文件系统驱动器自定义的帮助主题,请在文件系统驱动器中运行 Get-Help 命令或使用 Get-Help 的 -Path 参数指定文件系统驱动器。

    Get-Help Get-ChildItem
    
    Get-Help Get-ChildItem -Path wsman:
    

    参见

    • about_Providers

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯