首页 | 网页设计 | w3c标准 | flash动画 | 平面设计 | 经典文章 | 特约专题 | 资源下载 | 健康频道 | 重庆品牌网站 | 留言簿 | 
技术文章  资源下载 经典素材  社区论坛
   
 您现在的位置: vi设计在线 >> 经典文章 >> ccqvi动态 >> 技术应用 >> 正文  
  最新IT信息-PowerShell统一访问服务方法并创建服务环境         
[ 作者:佚名    转贴自:本站原创    点击数:2725    更新时间:2010/7/15    文章录入:diyinetwork ]

减小字体 增大字体

PowerShell统一访问服务方法并创建服务环境

重庆帝一网络建设专家 http://www.diy88.com.cn

当操作服务时,PowerShell传递System.ServiceProcess.ServiceController对象,获取一个或多个对象的简单方法是使用Get-Service cmdlet。当不带参数调用时会返回当前系统中注册的所有服务,这样即可用这个cmdlet生成快速报告。下例获取当前运行的所有服务:

PS C:\PowerShell> Get-Service | where {$_.Status -eq "Running"}

Status   Name               DisplayName
------   ----               -----------
Running  ALG                Application Layer Gateway Service
Running  AudioSrv           Windows Audio
Running  BITS               Background Intelligent Transfer Ser...
Running  Browser            Computer Browser
Running  btwdins            Bluetooth Service
Running  CryptSvc           Cryptographic Services
Running  DcomLaunch         DCOM Server Process Launcher
Running  Dhcp               DHCP Client
Running  dmserver           Logical Disk Manager
Running  Dnscache           DNS Client
Running  Eventlog           Event Log
Running  EventSystem        COM+ Event System
Running  FastUserSwitchi... Fast User Switching Compatibility
Running  HidServ            HID Input Service
…….

可以通过服务名通配符来查询,下例通过服务名类似DNS*的通配符查询DNS client服务:

PS C:\PowerShell> Get-Service DNS*

Status   Name               DisplayName
------   ----               -----------
Running  Dnscache           DNS Client

需要查找相关服务时,在查询的服务名称中使用通配符也很有效,相关服务通常有相似的名称。下例通过获取所有匹配*net*通配符获取Windows下与网络相关的服务:

PS C:\PowerShell> Get-Service *net*

Status   Name               DisplayName
------   ----               -----------
Stopped  aspnet_state       ASP.NET State Service
Stopped  NetDDE            Network DDE
Stopped  NetDDEdsdm       Network DDE DSDM
Stopped  Netlogon           Net Logon
Running  Netman            Network Connections
Stopped  VMnetDHCP        VMware DHCP Service

【注意】

通配符应用于服务名,而不是显示名。这就是为什么使用*net*这种形式的通配符获取的服务中仅是名称中显示包含net字样服务的一部分,即部分以net为服务显示名的服务的真实名称并不以net开头。

1 改变服务状态

Windows提供的控制台工具net.exe可以启动和停止服务。由于这个程序中包含很多功能,过于复杂,而不利于PowerShell各部分松耦合的要求。例如,能够添加和移除共享驱动器。PowerShell提供了内置cmdlet用来改变服务状态,如启动、停止、挂起和恢复服务,所有的命令均直接调用。启动服务使用Start-Service:

PS C:\> Start-Service W32Time

也可以通过调用ServiceControler的Start方法来启动服务:

PS C:\> (Get-Service W32Time).Start()

需要强调的是改变服务状态需要管理员权限。

停止服务可以使用Stop-Service:

PS C:\> Stop-Service W32Time

也可使用Stop方法停止服务:

PS C:\> (Get-Service W32Time).stop()

其他改变服务状态操作的cmdlet如Restart-Service、Suspend-Service和Resume-Service与上类似。

【说明】

改变服务会影响系统的整体运行,所以需要管理员权限。如果运行Windows Vista及其以上版本的操作系统,务必要在高级权限的Shell中执行操作。

2 改变服务的属性

PowerShell提供了cmdlet Set-Service允许用户改变服务的任何属性,包括服务名和描述。但这是比较危险的操作,执行时应格外小心,因为更改服务名后可忘记服务到底是哪一个。Set-Service可以改变服务启动方式,下例将W32Time服务的启动方式改变为Disabled:

PS C:\> Set-Service W32Time –StartupType Disabled

在每次启动时自动运行某个服务的方式是将其启动类型改为Automatic,如:

PS C:\> Set-Service W32Time –StartupType Automatic

需要强调的是因涉及系统的稳定运行,所以在启动、关闭或者改变服务的启动方式时一定要谨慎。有些服务是Windows操作系统正常运行所必需的,停止或禁用这些服务将会引起系统某些功能停止。

3 分析服务的依赖性

一些服务的运行经常会依赖于其他服务,服务管理控制台管理单元显示这些依赖关系。如果需要在PowerShell进程或脚本中获取这些信息,则可以读取ServiceControler、DependentServices和ServicesDependedOn属性,它们分别用于返回当前服务依赖的服务和依赖当前服务的所有服务,如:

PS C:\> (Get-Service winmgmt).DependentServices

Status   Name               DisplayName
------   ----               -----------
Running  wscsvc             Security Center
Running  SharedAccess       Windows Firewall/Internet Connectio...

PS C:\> (Get-Service winmgmt).ServicesDependedOn

Status   Name               DisplayName
------   ----               -----------
Running  RPCSS              Remote Procedure Call (RPC)

其中显示WMI服务依赖于Remote Procedure Call服务,同时Security Center和Windows Firewall/Internet Connection服务依赖于它。

4 总 结

进程在操作系统中用于处理数据和进程间的交换,PowerShell的进程和服务管理机制能分析进程信息,并且直接操作进程实例指向的对象。本文讲述了如何使用PowerShell统一访问服务的方法并创建在PowerShell中操作服务的环境,这是系统管理自动化的重要步骤。

 上一篇文章: 最新IT信息-浅谈网络安全中的人为因素及防御措施
 下一篇文章: 最新IT信息-Win Server 2000服务终止 用户仅可自助服务
发表评论】【告诉好友】【打印此文】【关闭窗口


技术文章  资源下载
经典素材  社区论坛
 中大型美容美发店老…[999]
 重庆多达学习俄语培…[2200]
 重庆恒祥广告有限公…[1931]
 重庆市南方阻燃电线…[2342]
 重庆舞美灯光音响有…[3085]
 重庆德鼎滤油机有限…[1868]
 重庆民生建材有限公…[2316]
 重庆集元科技有限公…[4097]
 重庆倍润商贸有限公…[1986]
 重庆腾达展览有限公…[3055]
 帝一网络创始人宣…--[3122]
 重庆vi设计在线祝…--[2712]
 重庆帝一网络书生…--[2829]
 馋嘴鸭的起伏和经…--[2968]
 机器感觉“卡”的…--[2894]
 ActionScript3打造…--[5652]
 在ASP文件中读取H…--[7210]
 vi设计经典案例--[63567]
 帅到掉渣-爆笑版勇…--[7022]
 一个女孩写的经典…--[6788]
没有相关文章
 (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    没有任何评论
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 重庆网站建设 | 
版权所有: vi设计在线  © 2005-2018 网站备案序号:渝ICP备06003824号
技术支持:帝一网络(重庆网站建设专家)