PowerShell2.0之桌面计算机维护(五)管理桌面电源设置

来源:互联网 发布:落霞与孤鹜齐飞 知乎 编辑:程序博客网 时间:2024/04/29 03:58

便携式计算机的供电是个很重要的问题,因其直接关系到便携式设备的可移动性。Windows有多个组件与电源管理的配置策略相关,在Windows Server 2008中的电源策略设置界面如图1所示。

image

图1 Windows Server 2008中的电源策略设置界面

创建名为“ReportPowerConfig.ps1”的脚本,根据用户提供的如下参数提供相应的电源配置信息。

  1. a:当前主机中活动的电源设置。
  2. l:当前主机中的所有电源配置。
  3. q:当前主机中的所有可用休眠状态。
  4. w:当前主机中的上次唤醒事件。
  5. d:当前主机中的所有的设备。
  6. dv:当前主机中的所有设备的详细信息。
  7. dwa:当前主机中已配置且可唤醒当前主机的设备。
  8. dwp:当前主机中所有配置为可从睡眠中唤醒计算机的设备。

该脚本的代码如下:

param($a="a", $help)

function funline ($strIN)

{

$num = $strIN.length

for($i=1 ; $i -le $num ; $i++)

{ $funline += "=" }

Write-Host -ForegroundColor yellow `n$strIN

Write-Host -ForegroundColor darkYellow $funline

}

function funHelp()

{

$helpText=@"

DESCRIPTION:

NAME: ReportPowerConfig.ps1

Prints power config on a local machine.

PARAMETERS:

-a(ction) action to perform

q(uery), d(evice), dv(evice verbose),

dwa(evice wake armed), dwp(evice wake programable)>

-help prints help file

SYNTAX:

ReportPowerConfig.ps1

Lists power configuration on local computer

ReportPowerConfig.ps1 -a a

Lists active power configuration on local computer

ReportPowerConfig.ps1 -a l

Lists all power configuration on local computer

ReportPowerConfig.ps1 -a q

Lists all available sleep states on local computer

ReportPowerConfig.ps1 -a w

Lists last wake event on local computer

ReportPowerConfig.ps1 -a d

Lists all devices on local computer

ReportPowerConfig.ps1 -a dv

Lists all devices on local computer - verbose

ReportPowerConfig.ps1 -a dwa

Lists devices configured to wake the local computer

ReportPowerConfig.ps1 -a dwp

Lists devices that are user confiurable to wake the

computer from sleep on local computer

ReportPowerConfig.ps1 -help ?

Displays the help topic for the script

"@

$helpText

exit

}

if($help){funline("Obtaining help ...") ; funhelp }

$computer = (New-Object -ComObject WScript.Network).computername

funline("Power configuration on: $($computer)")

switch($a)

{

"a" { POWERCFG -GETACTIVESCHEME ; "`r"}

"l" { powercfg -LIST }

"q" { powercfg -AVAILABLESLEEPSTATES }

"w" { powercfg -lastwake }

"d" { powercfg -devicequery all_devices }

"dv" { powercfg -devicequery all_devices_verbose }

"dwa" { powercfg -devicequery wake_armed }

"dwp" { powercfg -devicequery wake_programmable }

}

在脚本中首先使用param语句定义了两个命令行参数-a和-help,-a指定脚本执行的操作,默认值为a;-help指定显示帮助信息,包括描述、参数及语法范例。要强调的是这个脚本无法在远程执行。

获取计算机名称时可以使用WScript.Network COM对象,并使用New-Object cmdlet创建该对象,然后提供-comobject参数。选择ComputerName属性,计算机名自动保存在$computer变量中。该脚本中的大部分的逻辑控制在switch语句中完成,这些语句通过判断命令行中的$a变量值选择相应的分支。如果值为a,则使用Powercfg工具获取当前电源计划。执行结果如图2和图3所示,可以看到当前计算机可以由网卡远程唤醒。需要强调的是由于Windows XP和Windows Server 2008的powercfg工具的工作环境不同,所以将-a参数的a或q选项传递给脚本使将会抛出“参数无效,键入"/?"得到帮助”的提示信息。

image

图2 列出当前系统中可用的电源计划

image

图3 获取可从睡眠中唤醒计算机的设备

作者: 付海军
出处:http://blog.csdn.net/fuhj02
版权:本文版权归作者和csdn共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://txj.lzuer.com/

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一年级孩子作业太粗心怎么办 孩子最近不好好做作业怎么办 工作压力大害怕做不好怎么办 孩子的数算不对怎么办? 孩子计算老是出错怎么办呢 孩子经常计算错误能怎么办 孩子老出现计算错误怎么办 孩子做作业马虎该怎么办 黑笔写错了纸破了怎么办 幼儿园报名写错怎么办名字 中考写错了字怎么办 头发没干想睡觉怎么办 突然天旋地转恶心想吐怎么办 突然天旋地转的浑身出汗怎么办 3岁半不认识数字怎么办 孩子长倒睫毛该怎么办 一年级的孩子口算慢怎么办? 大班社会领域怎么办教学反思 表带活动圈坏了怎么办 手表固针h掉了怎么办 cad图全部倒过来了怎么办 电脑打数字变粗怎么办 wps表格输入数字变乱码怎么办 文档中光标变粗怎么办 wps排序有重复的怎么办 记英语数字老是混怎么办 苹果手机输入法出数字怎么办 word文档复制过来有底色怎么办 表格复制后还再显示复制符号怎么办 笔记本字母键打出数字怎么办 wps打字字上移了怎么办 微信里黑圈里面的白字是怎么办 脖子比脸黑好多怎么办 河南许昌小学生生病办休学怎么办 1岁宝宝内向胆小怎么办 3岁宝宝内向胆小怎么办 数学物理好不喜欢学医怎么办 孩子眉毛太浓了怎么办 小娃一年级成绩太差怎么办 孩子晚上睡得晚怎么办 在深圳买房难小孩读书怎么办