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

[玩转系统] Restart-Computer (Microsoft.PowerShell.Management)

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

Restart-Computer (Microsoft.PowerShell.Management)


Restart-Computer

模块 :Microsoft.PowerShell.Management

重新启动本地和远程计算机上的操作系统。

句法

Restart-Computer
       [-WsmanAuthentication <String>]
       [[-ComputerName] <String[]>]
       [[-Credential]<PSCredential>]
       [-Force]
       [-Wait]
       [-Timeout <Int32>]
       [-For <WaitForServiceTypes>]
       [-Delay <Int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

描述

此 cmdlet 仅适用于 Windows 平台。

Restart-Computer cmdlet 可重新启动本地和远程计算机上的操作系统。

您可以使用 Restart-Computer 的参数来运行重新启动操作、指定身份验证级别和备用凭据、限制同时运行的操作以及强制立即重新启动。

从 Windows PowerShell 3.0 开始,您可以等待重新启动完成后再运行下一个命令。指定等待超时和查询间隔,并等待特定服务在重新启动的计算机上可用。此功能使得在脚本和函数中使用Restart-Computer变得实用。

示例

示例1:重启本地计算机

Restart-Computer 重新启动本地计算机。

Restart-Computer

示例 2:重新启动多台计算机

Restart-Computer可以重新启动远程和本地计算机。 ComputerName 参数接受计算机名称数组。

Restart-Computer -ComputerName Server01, Server02, localhost

示例 3:从文本文件获取计算机名称

Restart-Computer 从文本文件中获取计算机名称列表并重新启动计算机。未指定 ComputerName 参数。但因为它是第一个位置参数,所以它接受沿着管道发送的文本文件中的计算机名称。

Get-Content -Path C:\Domain01.txt | Restart-Computer

Get-Content 使用 Path 参数从文本文件 Domain01.txt 中获取计算机名称列表。计算机名称沿着管道发送。 Restart-Computer 重新启动每台计算机。

示例 4:强制重新启动文本文件中列出的计算机

此示例强制立即重新启动 Domain01.txt 文件中列出的计算机。文本文件中的计算机名称存储在变量中。 Force 参数强制立即重新启动。

$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force

Get-Content 使用 Path 参数从文本文件 Domain01.txt 中获取计算机名称列表。计算机名称存储在变量$Names中。 Get-Credential 提示您输入用户名和密码,并将值存储在变量 $Creds 中。 Restart-Computer 使用 ComputerNameCredential 参数及其变量。 Force 参数会导致每台计算机立即重新启动。

示例 6:重新启动远程计算机并等待 PowerShell

Restart-Computer 重新启动远程计算机,然后等待最多 5 分钟(300 秒),让 PowerShell 在重新启动的计算机上可用,然后再继续。

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computer 使用ComputerName 参数指定Server01Wait 参数等待重新启动完成。 For 指定 PowerShell 可以在远程计算机上运行命令。 Timeout 参数指定五分钟的等待时间。 Delay 参数每两秒查询一次远程计算机以确定其是否重新启动。

示例 7:使用 WsmanAuthentication 重新启动计算机

Restart-Computer 使用WsmanAuthentication 机制重新启动远程计算机。 Kerberos 身份验证确定当前用户是否有权重新启动远程计算机。有关详细信息,请参阅身份验证机制。

Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos

Restart-Computer 使用ComputerName 参数指定远程计算机Server01WsmanAuthentication 参数指定身份验证方法为Kerberos

参数

-ComputerName

指定一台计算机名称或一组以逗号分隔的计算机名称。 Restart-Computer 接受来自管道或变量的 ComputerName 对象。

键入远程计算机的 NetBIOS 名称、IP 地址或完全限定域名。要指定本地计算机,请键入计算机名称、点 . 或 localhost。

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

如果未指定 ComputerName 参数,Restart-Computer 将重新启动本地计算机。

类型 :

String[]

别名:

CN, __SERVER, Server, IPAddress

位置:

0

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Confirm

在运行 Restart-Computer 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Credential

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

输入用户名,例如 User01Domain01\User01,或输入由 Get-Credential cmdlet。如果您键入用户名,系统会提示您输入密码。

凭证存储在 PSCredential 对象中,密码存储为 SecureString。

笔记

有关 SecureString 数据保护的更多信息,请参阅 SecureString 的安全性如何?。

类型 :

PS凭证

位置:

1

默认值:

当前用户

必需的:

False

接受管道输入:

False

接受通配符:

False

-Delay

指定查询的频率,以秒为单位。 PowerShell 查询For 参数指定的服务,以确定该服务在计算机重新启动后是否可用。

该参数仅与WaitFor参数一起使用才有效。

此参数是在 Windows PowerShell 3.0 中引入的。

如果未指定 Delay 参数,Restart-Computer 将使用五秒延迟。

类型 :

整数16

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-For

指定 PowerShell 在计算机重新启动后等待指定服务或功能变得可用时的行为。该参数仅与Wait参数一起使用才有效。

该参数可接受的值为:

  • 默认:等待 PowerShell 重新启动。
  • PowerShell:可以在计算机上的 PowerShell 远程会话中运行命令。
  • WMI:接收对计算机的 Win32_ComputerSystem 查询的回复。
  • WinRM:可以使用 WS-Management 与计算机建立远程会话。

此参数是在 Windows PowerShell 3.0 中引入的。

类型 :

等待服务类型

接受的值:

Wmi、WinRM、PowerShell

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Force

强制立即重新启动计算机。

类型 :

SwitchParameter

别名:

f

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Timeout

指定等待的持续时间(以秒为单位)。超时后,即使计算机未重新启动,Restart-Computer 也会返回到命令提示符。

Timeout 参数仅与Wait 参数一起有效。 超时会覆盖等待参数的无限期等待时间。

此参数是在 Windows PowerShell 3.0 中引入的。

类型 :

整数32

别名:

TimeoutSec

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Wait

Restart-Computer 抑制 PowerShell 提示符并阻止管道,直到计算机重新启动。您可以在脚本中使用此参数来重新启动计算机,然后在重新启动完成后继续处理。

Wait 参数无限期地等待计算机重新启动。您可以使用超时来调整时间,并使用For延迟参数来等待特定服务在重新启动的计算机上变得可用。

当您重新启动本地计算机时,Wait 参数无效。如果 ComputerName 参数的值包含远程计算机和本地计算机的名称,则 Restart-Computer 会生成 Wait 的非终止错误在本地计算机上,但等待远程计算机重新启动。

此参数是在 Windows PowerShell 3.0 中引入的。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-WhatIf

显示Restart-Computer运行时会发生什么。 Restart-Computer cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-WsmanAuthentication

指定用于验证用户凭据的机制。此参数是在 Windows PowerShell 3.0 中引入的。

此参数可接受的值为:BasicCredSSPDefaultDigestKerberos谈判

有关详细信息,请参阅身份验证机制。

警告

凭据安全服务提供商 (CredSSP) 身份验证将用户凭据传递到远程计算机进行身份验证,专为需要对多个资源进行身份验证的命令(例如访问远程网络共享)而设计。这种机制增加了远程操作的安全风险。如果远程计算机受到威胁,则传递给它的凭据可用于控制网络会话。

类型 :

String

接受的值:

基本、CredSSP、默认、摘要、Kerberos、协商

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

字符串

您可以通过管道将包含计算机名称的字符串传递给此 cmdlet。

输出

此 cmdlet 不返回任何输出。

笔记

  • 在 Windows 中,Restart-Computer 使用 Windows Management Instrumentation (WMI) Win32_OperatingSystem 类的 Win32Shutdown 方法。此方法需要为用于重新启动计算机的用户帐户启用 SeShutdownPrivilege 权限。
  • 在 Linux 和 Mac OS 上,Restart-Computer 使用 /sbin/shutdown bash 工具。

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

取消回复欢迎 发表评论:

关灯