PowerShell2.0之Windows排错(四)检查启动服务

原创 2011年01月19日 23:28:00

在Windows中有些服务随系统启动,如果其中的某个服务无法启动,则可能导致系统不稳定或其他不可预知的结果。如果服务出错,首先需要检查服务。将其按照启动类型排列。然后查找所有停止自动运行的服务,如图1所示。

image

图1 检查未启动的自动运行服务是排错的基本步骤

为了便于在脚本中查询未启动的自动运行服务,创建名为“AutoServiceNotRunning.ps1”的脚本,其代码如下:

param($computer="localhost", [switch]$help)

function funHelp()

{

$helpText=@"

DESCRIPTION:

NAME: AutoServicesNotRunning.ps1

Displays a listing of services that are set to automatic, but are not presently running

PARAMETERS:

-computer The name of the computer

-help prints help file

SYNTAX:

AutoServicesNotRunning.ps1 -computer WebServer

Displays a listing of all non running servicesthat are set to automatically start on a computer named WebServermunich

AutoServicesNotRunning.ps1

Displays a listing of all services that are set to automatic, but are not presently running on the local machine

AutoServicesNotRunning.ps1 -help ?

Displays the help topic for the script

"@

$helpText

exit

}

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

$wmi = Get-WmiObject -Class win32_service -computername $computer `

-filter "state <> 'running' and startmode = 'auto'"

if($wmi -eq $null)

{ "No automatic services are stopped" }

Else

{

"There are $($wmi.count) automatic services stopped.

The list follows ... "

foreach($service in $wmi) { $service.name }

}

该脚本使用Get-WmiObject cmdlet查询Win32_Service WMI类,通过自定义仅返回设置为自动运行服务器的当前状态,输出信息说明其是否正常。通过指定-computername参数选择本地或远程计算机,使用-filter参数减少返回的Win32_Service类的实例数量。因为只需要知道启动类型设置为自动,但未运行的服务。需要判断查询WMI结果,如果$wmi变量值为空,则表示自动运行的服务正常;如果有未运行自动启动的服务,则输出其数量,然后使用foreach语句输出其名称。此脚本的执行结果如图2所示。

image

图2 执行结果

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

windows 服务器重启原因排查

如果机器出现重启,可通过查看系统日志来追查系统重启的原因: 系统日志路径:控制面板-管理工具-事件查看器-windows日志-系统 打开发现日志记录太多了,逐条查看太慢,是...
  • ou2933737
  • ou2933737
  • 2016年08月03日 01:27
  • 4622

MongoDB安装成为Windows服务及日常使用遇到问题总结

安装MongoDB: http://blog.csdn.net/liuzhoulong/article/details/6124566 严格按照上面的步骤,设置数据库目录,设置日志目录,安...
  • qq_20545159
  • qq_20545159
  • 2015年09月22日 14:24
  • 1301

VSFTP 服务查看及问题排查

简介:  vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。...
  • luxideyao
  • luxideyao
  • 2016年11月15日 16:52
  • 1544

PowerShell2.0之Windows排错(三) 检查设备驱动

       设备驱动和服务功能类似,可以自动运行并提供一定功能。只是设备驱动更接近于硬件底层,并不像服务那样容易发现和检查。设备驱动一旦出现问题,往往伴随某种设备功能的失灵,所以对于系统管理员来说检...
  • fuhj02
  • fuhj02
  • 2011年01月18日 15:54
  • 749

PowerShell2.0之Windows排错(六)检查网络故障

网络故障对于用户来说是很复杂的问题,因为它可能涉及很多方面的知识,不容易查找和解决。 为检查网络故障,创建名为“GetActiveNicAndConfig.ps1”的脚本,其代码如下: param...
  • fuhj02
  • fuhj02
  • 2011年01月21日 23:35
  • 775

PowerShell2.0之Windows排错(一)启动故障排错

如果Windows Vista和Windows Server 2008无法正常启动,则可以检查引导配置文件是否出现错误;另外可以检查启动服务及其依存性。Windows中的一些服务依赖于其他服务、系统驱...
  • fuhj02
  • fuhj02
  • 2011年01月16日 23:42
  • 726

PowerShell 2.0 实践(三)操作Windows服务

上一次我们学习了文件系统的操作,能够读取、写入基于文本的文件,搜索本地及远程文件、目录。本次我们来操作下Windows服务,首先来回顾一下Windows服务的基本概念: 测试脚本下载 本系...
  • lovenjoy
  • lovenjoy
  • 2011年10月06日 10:00
  • 2709

PowerShell2.0之Windows排错(五)查看硬件问题

硬件问题并不一定都和硬件有关,只要工作负荷在设计的范围内,大部分电子设备都可以使用相当长的一段时间。为了硬件正常工作,需要安装相应的驱动程序。硬件厂商会为其驱动程序添加数字签名,添加数字签名的驱动都是...
  • fuhj02
  • fuhj02
  • 2011年01月20日 23:54
  • 821

PowerShell 2.0 实践(四)管理Windows进程

上一次我们对Windows服务进行了简单的管理,学习了获取本地及远程计算机上服务的方法,以及查找特定服务,开始、结束、暂停、恢复服务等操作。本次我们来关注一下Windows管理中另一个核心内容:进程管...
  • lovenjoy
  • lovenjoy
  • 2011年10月06日 10:01
  • 2670

windows 7 与 PowerShell 2.0

2012.9.4 发布了 POWERSHELL 3.0 windows 7 与 PowerShell 2.0 windows 7 不需要下载安装 PowerShell 2.0 了,在w...
  • is2120
  • is2120
  • 2012年03月02日 18:00
  • 4123
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PowerShell2.0之Windows排错(四)检查启动服务
举报原因:
原因补充:

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