Restart-Computer cmdlet enchancements in Windows PowerShell

Restart-Computer是在PowerShell 2.0中被引入的,它可以帮助们重启电脑,尤其是在执行一些反复生效操作的时候尤为有用。

不过在PowerShell 3.0中,Restart-Computer得到了更进一步的改进,我们先来比较下两个版本之间的参数有哪些不同:

 

>>>PowerShell 2.0

PS C:\Users> Get-Help Restart-Computer -Parameter *|Group-Object -NoElement -Property Name

Count Name
----- ----
    1 AsJob
    1 Authentication
    1 ComputerName
    1 Credential
    1 Force
    1 Impersonation
    1 ThrottleLimit
    1 Confirm
    1 WhatIf


 

>>>PowerShell 3.0

PS C:\Users\Administrator> Get-Help Restart-Computer -Parameter *|Group-Object -NoElement -Property Name

Count Name
----- ----
    1 AsJob
    1 ComputerName
    1 Credential
    1 Delay
    1 For
    1 Force
    1 Impersonation
    1 ThrottleLimit
    1 Timeout
    1 Wait
    1 DcomAuthentication
    1 Protocol
    1 WsmanAuthentication
    1 Confirm
    1 WhatIf

 

大家可以发现,V3中比V2中多了6个命令。分别是:

Count Name
----- ----
    1 Delay
    1 For
    1 Timeout
    1 Wait
    1 Protocol
    1 WsmanAuthentication


我们接下来来说说,一些常用的新参数的作用:

Restart-Computer -ComputerName Server201201 -Wait

我们可以看到,当我们将如上执行语句放入脚本后并同时指定了Wait参数后,他将一直等待计算机重启,然后在重启完成后再继续处理后续操作。

 

Restart-Computer -ComputerName 192.168.61.41 -Timeout 10 -Wait


我们也可以同时使用Timeout参数配合Wait参数一起使用。

Timeout的作用是指定等待的持续时间,以秒为单位。

 

再来看看下面一个例子:

Restart-Computer -ComputerName 157.60.61.41 -Delay 5 -Wait -For PowerShell

这条命令里我们用到了For和Delay参数,他们必须搭配Wait参数一起使用。

 

在说明该命令的实际用途之前,我们先来看看 官方对他的解释:

-For<WaitForServiceTypes>

一直处于等待状态,直至指定的服务或功能在计算机重新启动后变得可用。指定一个有效值。此参数只有在与 Wait 参数一起使用时才有效。

有效值包括:

-- Default:等待 Windows PowerShell 重新启动。

-- PowerShell:可以在计算机的 Windows PowerShell 远程会话中运行命令。

-- WMI:接收对计算机的 Win32_ComputerSystem 查询的回复。

-- WinRM:可以通过使用 WS-Management 建立与计算机的远程会话。

 

所以如上命令,我们用For制定了PowerShell服务类型,并且用Delay指定的服务执行查询的频率为5秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值