Stop-Computer (Microsoft.PowerShell.Management)
Stop-Computer
- 模块 :
- Microsoft.PowerShell.Management
停止(关闭)本地和远程计算机。
句法
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]描述
Stop-Computer cmdlet 可关闭本地计算机和远程计算机。
您可以使用 Stop-Computer 的参数来指定身份验证级别和备用凭据,并强制立即关闭。
在 PowerShell 7.1 中,为 Linux 和 macOS 添加了 Stop-Computer。这些参数对这些平台没有影响。该 cmdlet 只是调用本机命令 /sbin/shutdown。
示例
示例1:关闭本地计算机
此示例关闭本地计算机。
Stop-Computer -ComputerName localhost示例2:关闭两台远程计算机和本地计算机
此示例停止两台远程计算机和本地计算机。
Stop-Computer -ComputerName "Server01", "Server02", "localhost"Stop-Computer 使用ComputerName 参数指定两台远程计算机和本地计算机。每台计算机均已关闭。
示例 3:作为后台作业关闭远程计算机
在此示例中,Stop-Computer 作为后台作业在两台远程计算机上运行。
后台操作符 & 将 Stop-Computer 命令作为后台作业运行。有关详细信息,请参阅 about_Operators。
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$resultsStop-Computer 使用ComputerName 参数指定两台远程计算机。 & 后台操作符将命令作为后台作业运行。作业对象存储在 $j 变量中。
$j 变量中的作业对象沿着管道发送到 Receive-Job,后者获取作业结果。这些对象存储在 $results 变量中。 $results 变量在 PowerShell 控制台中显示作业信息。
示例 4:关闭远程计算机
此示例使用指定的身份验证关闭远程计算机。
Stop-Computer -ComputerName "Server01" -WsmanAuthentication KerberosStop-Computer 使用ComputerName 参数指定远程计算机。 WsmanAuthentication 参数指定使用 Kerberos 建立远程连接。
示例 5:关闭域中的计算机
在此示例中,命令强制立即关闭指定域中的所有计算机。
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $cGet-Content 使用 Path 参数获取当前目录中包含域计算机列表的文件。这些对象存储在 $s 变量中。
Get-Credential 使用Credential 参数指定域管理员的凭据。凭据存储在 $c 变量中。
Stop-Computer 关闭通过 $s 变量中 ComputerName 参数的计算机列表指定的计算机。 Force 参数强制立即关闭。 Credential 参数提交保存在 $c 变量中的凭据。
参数
-ComputerName
指定要停止的计算机。默认为本地计算机。
在逗号分隔的列表中键入一台或多台计算机的 NETBIOS 名称、IP 地址或完全限定域名。要指定本地计算机,请键入计算机名称或 localhost。
此参数不依赖于 PowerShell 远程处理。即使您的计算机未配置为运行远程命令,您也可以使用 ComputerName 参数。
- 类型 :
String[]
- 别名:
CN, __SERVER, Server, IPAddress
- 位置:
0
- 默认值:
None
- 必需的:
False
- 接受管道输入:
-
True
- 接受通配符:
False
-Confirm
在运行 cmdlet 之前提示您进行确认。
- 类型 :
SwitchParameter
- 别名:
cf
- 位置:
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-Credential
指定有权执行此操作的用户帐户。默认为当前用户。
输入用户名,例如 User01 或 Domain01\User01,或输入由 Get-Credential生成的 PSCredential 对象代码> cmdlet。如果您键入用户名,系统会提示您输入密码。
凭证存储在 PSCredential 对象中,密码存储为 SecureString。
笔记
有关 SecureString 数据保护的更多信息,请参阅 SecureString 的安全性如何?。
- 类型 :
PS凭证
- 位置:
1
- 默认值:
当前用户
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-Force
强制立即关闭计算机。
- 类型 :
SwitchParameter
- 位置:
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
- 类型 :
SwitchParameter
- 别名:
wi
- 位置:
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-WsmanAuthentication
指定当此 cmdlet 使用 WSMan 协议时用于验证用户凭据的机制。默认值为默认。
该参数可接受的值为:
- 基本的
- 信用SSP
- 默认
- 消化
- 克伯罗斯
- 谈判。
有关此参数值的更多信息,请参阅 AuthenticationMechanism。
警告
凭据安全服务提供商 (CredSSP) 身份验证将用户凭据传递到远程计算机进行身份验证,专为需要对多个资源进行身份验证的命令(例如访问远程网络共享)而设计。这种机制增加了远程操作的安全风险。如果远程计算机受到威胁,则传递给它的凭据可用于控制网络会话。
此参数是在 PowerShell 3.0 中引入的。
- 类型 :
String
- 接受的值:
默认、基本、协商、CredSSP、摘要、Kerberos
- 位置:
命名
- 默认值:
默认
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
输入
无
您无法将对象通过管道传输到此 cmdlet。
输出
无
此 cmdlet 不返回任何输出。
笔记
此 cmdlet 使用 Win32_OperatingSystem WMI 类的 Win32Shutdown 方法。此方法需要为用于关闭计算机的用户帐户启用 SeShutdownPrivilege 权限。
在 PowerShell 7.1 中,为 Linux 和 macOS 添加了 Stop-Computer。对于这些平台,cmdlet 调用本机命令 /sbin/shutdown。