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

原创 2011年01月11日 01:36:00

便携式计算机的供电是个很重要的问题,因其直接关系到便携式设备的可移动性。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选项传递给脚本使将会抛出“参数无效,键入"/?"得到帮助”的提示信息。

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

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

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

PowerShell2.0之桌面计算机维护(六)修改电源计划

Windows Vista和Windows Server 2008的电源计划有大量改进,可以针对使用电池或交流电供电的情况分别设置。如果当前计算机正在使用电池,那么续航时间是个需要关心的问题。而在某些...
  • fuhj02
  • fuhj02
  • 2011年01月12日 00:10
  • 429

PowerShell2.0之桌面计算机维护(九)磁盘管理

1 处理磁盘分区 PC通常只会有一个磁盘,Windows的管理策略会以分区形式管理磁盘,这样即可将物理硬件从操作系统中抽象出来。分区概念对于高效率地维护系统和文件很有好处,用户可以在“计算机管理”的...
  • fuhj02
  • fuhj02
  • 2011年01月15日 23:51
  • 667

PowerShell2.0之桌面计算机维护(三)设置屏幕保护程序

Windows系统需要针对图形界面设置有关选项,如屏幕保护程序、桌面及电源设置等。尽管有很多用户通过组策略方式配置这些选项,但是对于尚未部署活动目录(Active Directory)的企业还是在使用...
  • fuhj02
  • fuhj02
  • 2011年01月09日 01:02
  • 432

PowerShell2.0之桌面计算机维护(七)性能计数器

Windows系统性能计数器是操作系统支持用于应用和组件发布性能数据的特殊对象,并且支持其他应用获取和分析这些已发布的数据。Windows中的性能计数器很多,包括针对磁盘、网络和TCP等计数器,用户能...
  • fuhj02
  • fuhj02
  • 2011年01月13日 01:53
  • 482

PowerShell2.0之桌面计算机维护(一)监控磁盘空间

随着时间的增长,系统中的可用空间会越来越少。系统管理员需要清理磁盘,前提是了解系统磁盘空间,为此需要追踪一段时间内的磁盘空间的使用情况。创建名为“QueryOldFiles.ps1”的脚本连接到特定文...
  • fuhj02
  • fuhj02
  • 2011年01月07日 03:22
  • 704

北航面试之计算机从按下电源键到出现桌面是怎样的过程(linux)

开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。   启动第一步--加载BIOS   当你打...

利用Powershell每天自动设置提取Win10的windows聚焦图片(Spotlight)作为桌面壁纸的方法

微软在 Windows 10 上新增了一项功能 Windows 聚焦 (Windows Spotlight),它会自动随机下载并更换锁屏界面的壁纸 (Lockscreen),让你每次打开电脑都有不一样...

陈灯可重用代码段管理器桌面版2.0发布

陈灯可重用代码段管理器为一款个人软件作品,其主要功能是对可重用代码段进行管理,包括对代码段的入库、代码段的搜索和代码段的共享等。 软件包括插件版本和桌面版本两种版本,插件版本集成在V...

计算机管理之开启防火墙同时启用远程桌面

主要介绍在开启防火墙的情况下启用远程桌面功能。
  • qyanjun
  • qyanjun
  • 2017年06月14日 11:43
  • 115
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PowerShell2.0之桌面计算机维护(五)管理桌面电源设置
举报原因:
原因补充:

(最多只允许输入30个字)