停止(关闭)本地和远程计算机。

语法

Stop-Computer [[-ComputerName] <string[]>] [[-Credential] <PSCredential>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Force] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

说明

Stop-Computer cmdlet 关闭远程计算机。它也可以关闭本地计算机。

可以使用 Stop-Computer 的参数将关闭操作作为后台作业运行,指定身份验证级别和备用凭据,限制为运行该命令而创建的并发连接数以及强制立即关闭。

除非您使用 AsJob 参数,否则此 cmdlet 不需要 Windows PowerShell 远程处理。

参数

-AsJob

将命令作为后台作业运行。

注意:若要使用此参数,必须为本地计算机和远程计算机配置远程处理,并且在 Windows Vista 以及更高版本的 Windows 上,还必须使用“以管理员身份运行”选项打开 Windows PowerShell。有关详细信息,请参阅 about_Remote_Requirements。

使用 AsJob 参数时,此命令立即返回代表后台作业的对象。当作业完成时,您可以继续在此会话中工作。作业在本地计算机上创建,并且来自远程计算机的结果将自动返回本地计算机。要管理作业,请使用 Job cmdlet。要获取作业结果,请使用 Receive-Job cmdlet。

有关 Windows PowerShell 后台作业的详细信息,请参阅 about_Jobs 和 about_Remote_Jobs。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Authentication <AuthenticationLevel>

指定用于 WMI 连接的身份验证级别。(Stop-Computer 使用 WMI。)默认值为 Packet。

有效值包括:

Unchanged: 身份验证级别与前一个命令相同。

Default: Windows 身份验证。

None: 无 COM 身份验证。

Connect: 连接级 COM 身份验证。

Call: 调用级 COM 身份验证。

Packet: 数据包级 COM 身份验证。

PacketIntegrity:数据包完整性级 COM 身份验证。

PacketPrivacy: 数据包隐私级 COM 身份验证。

是否为必需?

false

位置?

named

默认值

4

是否接受管道输入?

false

是否接受通配符?

false

-ComputerName <string[]>

停止指定的计算机。默认值为本地计算机。

在一个逗号分隔列表中键入一台或多台计算机的 NETBIOS 名称、IP 地址或完全限定的域名。要指定本地计算机,请键入计算机名称或“localhost”。

此参数不依赖于 Windows PowerShell 远程处理。即使您的计算机未配置为运行远程命令,您也可以使用 ComputerName 参数。

是否为必需?

false

位置?

1

默认值

.

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-Credential <PSCredential>

指定有权执行此操作的用户帐户。默认值为当前用户。

键入用户名,如“User01”或“Domain01\User01”;或输入 PSCredential 对象,如 Get-Credential cmdlet 输入的一个 PSCredential 对象。

是否为必需?

false

位置?

2

默认值

Current user

是否接受管道输入?

false

是否接受通配符?

false

-Force

强制立即关闭计算机。

是否为必需?

false

位置?

named

默认值

False

是否接受管道输入?

false

是否接受通配符?

false

-Impersonation <ImpersonationLevel>

指定调用 WMI 时使用的模拟级别。(Stop-Computer 使用 WMI。)默认值为“Impersonate”。

有效值包括:

Default: 默认模拟。

Anonymous: 隐藏调用方的身份。

Identify: 允许对象查询调用方的凭据。

Impersonate: 允许对象使用调用方的凭据。

是否为必需?

false

位置?

named

默认值

Impersonate

是否接受管道输入?

false

是否接受通配符?

false

-ThrottleLimit <int>

指定为运行此命令可建立的并发连接的最大数目。如果省略此参数或输入 0 值,则使用默认值 32。

节流限制仅适用于当前命令,而不适用于会话或计算机。

是否为必需?

false

位置?

named

默认值

32

是否接受管道输入?

false

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

None

不能通过管道将输入传递给此 cmdlet。

输出

None 或 System.Management.Automation.RemotingJob

当您使用 AsJob 参数时,该 cmdlet 返回一个作业对象 (System.Management.Automation.RemotingJob)。否则,将不产生任何输出。

说明

此 cmdlet 使用 Win32_OperatingSystem WMI 类的 Win32Shutdown 方法。

示例 1

C:\PS>stop-computer

说明
-----------
此命令关闭本地计算机。






示例 2

C:\PS>stop-computer -computername Server01, Server02, localhost

说明
-----------
此命令停止两台远程计算机 Server01 和 Server02 以及标识为“localhost”的本地计算机。






示例 3

C:\PS>$j = stop-computer -computername Server01, Server02 -asjob 

C:\PS> $results = $j | receive-job

C:\PS> $results

说明
-----------
这些命令在两台远程计算机上将 Stop-Computer 命令作为后台作业运行,然后获取结果。

第一条命令使用 AsJob 参数将该命令作为后台作业运行。此命令将生成的作业对象保存在 $j 变量中。

第二条命令使用管道运算符将 $j 中的作业对象发送给 Receive-Job cmdlet,后者将获取作业结果。该命令将结果保存在 $results 变量中。

第三条命令显示保存在 $results 变量中的结果。

因为 AsJob 参数在本地计算机上创建作业,并将结果自动返回给本地计算机,所以您可以将 Receive-Job 命令作为本地命令运行。






示例 4

C:\PS>stop-computer -comp Server01 -impersonation anonymous -authentication PacketIntegrity

说明
-----------
此命令重新启动远程计算机 Server01。此命令将使用自定义模拟和身份验证设置。






示例 5

C:\PS>$s = get-content domain01.txt

C:\PS> $c = get-credential domain01\admin01

C:\PS> stop-computer -computername $s -force -throttlelimit 10 -credential $c

说明
-----------
这些命令强制立即关闭 Domain01 中的所有计算机。

第一条命令获取该域中计算机的列表,并将该列表保存在 $s 变量中。

第二条命令获取域管理员的凭据,并将这些凭据保存在 $c 变量中。

第三条命令关闭这些计算机。它使用 ComputerName 参数提交 $s 变量中的计算机列表,使用 Force 参数强制立即关闭,并使用 Credential 参数提交保存在 $c 变量中的凭据。此外,它还使用 ThrottleLimit 参数将该命令限制在 10 个并发连接范围内。






另请参阅




目录