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

[玩转系统] 调用 WSManAction (Microsoft.WSMan.Management)

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

调用 WSManAction (Microsoft.WSMan.Management)


调用 WSManAction

模块 :Microsoft.WSMan.Management

对由资源 URI 和选择器指定的对象调用操作。

句法

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

描述

此 cmdlet 仅适用于 Windows 平台。

Invoke-WSManAction 对 RESOURCE_URI 指定的对象运行操作,其中参数由键值对指定。

此 cmdlet 使用 WSMan 连接/传输层来运行操作。

示例

示例1:调用方法

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

此命令调用与 Spooler 服务相对应的 Win32_Service WMI 类实例的 StartService 方法。

返回值表明操作是否成功。在这种情况下,返回值 0 表示成功。返回值5表示服务已经启动。

示例2:调用方法

Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

此命令使用文件中的输入调用 Spooler 服务上的 StopService 方法。文件 Input.xml 包含以下内容:

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

示例 3:调用具有指定参数值的方法

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

此命令调用 Win32_Process 类的 Create 方法。它向该方法传递两个参数值:Notepad.exeC:\。这样就创建了一个新进程来运行记事本,并将新进程的当前目录设置为C:\

示例 4:调用远程计算机上的方法

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

此命令调用与 Spooler 服务相对应的 Win32_Service WMI 类实例的 StartService 方法。由于指定了 ComputerName 参数,因此该命令针对远程 server01 计算机运行。

返回值表明操作是否成功。在这种情况下,返回值 0 表示成功。返回值5表示服务已经启动。

参数

-Action

指定在 ResourceURI 和选择器指定的管理对象上运行的方法。

类型 :

String

位置:

1

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-ApplicationName

指定连接中的应用程序名称。 ApplicationName 参数的默认值为 WSMAN。远程端点的完整标识符采用以下格式:

<Transport>://<Server>:<Port>/<ApplicationName>

例如:

http://server01:8080/WSMAN

托管会话的 Internet 信息服务 (IIS) 将此终结点的请求转发到指定的应用程序。 “WSMAN”的默认设置适合大多数用途。此参数设计用于当多台计算机与一台运行 Windows PowerShell 的计算机建立远程连接时使用。在这种情况下,IIS 托管 Web 管理服务 (WS-Management) 以提高效率。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Authentication

指定要在服务器上使用的身份验证机制。可能的值为:

  • Basic - Basic 是一种将用户名和密码以明文形式发送到服务器或代理的方案。
  • 默认 - 使用 WS-Management 协议实现的身份验证方法。这是默认设置。
  • Digest - 摘要是一种质询-响应方案,它使用服务器指定的数据字符串进行质询。
  • Kerberos - 客户端计算机和服务器使用 Kerberos 证书进行相互身份验证。
  • 协商 - 协商是一种质询-响应方案,它与服务器或代理协商以确定用于身份验证的方案。例如,此参数值允许协商确定是使用 Kerberos 协议还是 NTLM。
  • CredSSP - 使用凭据安全支持提供程序 (CredSSP) 身份验证,允许用户委派凭据。此选项专为在一台远程计算机上运行但从其他远程计算机收集数据或在其他远程计算机上运行其他命令的命令而设计。

警告

CredSSP 将用户的凭据从本地计算机委托给远程计算机。这种做法增加了远程操作的安全风险。如果远程计算机受到威胁,当凭据传递给它时,该凭据可用于控制网络会话。

类型 :

AuthenticationMechanism

别名:

auth, am

接受的值:

无、默认、摘要、协商、基本、Kerberos、ClientCertificate、Credssp

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-CertificateThumbprint

指定有权执行此操作的用户帐户的数字公钥证书 (X509)。输入证书的证书指纹。

证书用于基于客户端证书的身份验证。它们只能映射到本地用户帐户;它们不适用于域帐户。

要获取证书指纹,请使用 Windows PowerShell Cert: 驱动器中的 Get-ItemGet-ChildItem 命令。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ComputerName

指定要对其运行管理操作的计算机。该值可以是完全限定的域名、NetBIOS 名称或 IP 地址。使用本地计算机名称、使用 localhost 或使用点 (.) 来指定本地计算机。默认为本地计算机。当远程计算机与用户位于不同的域时,必须使用完全限定的域名。您可以将此参数的值通过管道传递给 cmdlet。

类型 :

String

别名:

cn

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ConnectionURI

指定连接端点。该字符串的格式为:

<Transport>://<Server>:<Port>/<ApplicationName>

以下字符串是此参数的格式正确的值:

http://Server01:8080/WSMAN

URI 必须是完全限定的。

类型 :

乌里

别名:

CURI, CU

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Credential

指定有权执行此操作的用户帐户。默认为当前用户。键入用户名,例如“User01”、“Domain01\User01”或 [email protected]。或者,输入 PSCredential 对象,例如 Get-Credential cmdlet 返回的对象。当您键入用户名时,系统将提示您输入密码。

类型 :

PS凭证

别名:

cred, c

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-FilePath

指定用于更新管理资源的文件的路径。您可以使用 ResourceURI 参数和 SelectorSet 参数指定管理资源。例如,以下命令使用 FilePath 参数:

Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

此命令使用文件中的输入调用 Spooler 服务上的 StopService 方法。文件 Input.xml 包含以下内容:

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
类型 :

String

别名:

Path

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-OptionSet

将一组开关传递给服务以修改或细化请求的性质。这些与命令行 shell 中使用的开关类似,因为它们是特定于服务的。可以指定任意数量的选项。

以下示例演示了为 a、b 和 c 参数传递值 1、2 和 3 的语法:

-OptionSet @{a=1;b=2;c=3}
类型 :

哈希表

别名:

os

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Port

指定客户端连接到 WinRM 服务时要使用的端口。当传输为 HTTP 时,默认端口为 80。当传输为 HTTPS 时,默认端口为 443。当您使用 HTTPS 作为传输时,ComputerName 参数的值必须与服务器的证书公用名 (CN) 匹配。但是,如果将 SkipCNCheck 参数指定为 SessionOption 参数的一部分,则服务器的证书公用名不必与服务器的主机名匹配。 SkipCNCheck 参数应仅用于受信任的计算机。

类型 :

整数32

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ResourceURI

包含资源类或实例的统一资源标识符 (URI)。 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
类型 :

乌里

别名:

ruri

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-SelectorSet

指定一组用于选择特定管理资源实例的值对。当存在多个资源实例时,使用SelectorSetSelectorSet 的值必须是哈希表。

以下示例显示如何为此参数输入值:

-SelectorSet @{Name="WinRM";ID="yyy"}
类型 :

哈希表

位置:

2

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-SessionOption

为 WS-Management 会话定义一组扩展选项。输入使用 New-WSManSessionOption cmdlet 创建的 SessionOption 对象。有关可用选项的更多信息,请参阅New-WSManSessionOption

类型 :

SessionOption

别名:

so

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-UseSSL

指定使用安全套接字层 (SSL) 协议建立与远程计算机的连接。默认情况下,不使用 SSL。

WS-Management 对通过网络传输的所有 PowerShell 内容进行加密。 UseSSL 参数允许您指定 HTTPS 而不是 HTTP 的附加保护。如果 SSL 在用于连接的端口上不可用并且您指定了此参数,则该命令将失败。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-ValueSet

指定有助于修改管理资源的哈希表。您可以使用 ResourceURISelectorSet 参数指定管理资源。 ValueSet 参数的值必须是哈希表。

类型 :

哈希表

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

您无法将对象通过管道传输到此 cmdlet。

输出

XmlElement

此 cmdlet 将操作结果作为 XmlElement 对象返回。

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

取消回复欢迎 发表评论:

关灯