一、概述

  Cmdlets 用于服务器的管理方面主要体现在4个方面:服务、日志、进程、服务器管理器。

1、服务

•  Get-Service。查看某个服务的属性。

•  New-Service。创建一个新的服务。

•  Restart-Service。重启一个已有的服务。

•  Resume-Service。使一个暂停的服务继续运行。

•  Set-Service。配置某个服务的属性。

•  Start-Service。启动一个已停止的服务。

•  Stop-Service。停止一个正在运行的服务。

•  Suspend-Service。挂起一个服务。

2、日志

•  Get-EventLog。显示某个事件日志里的事件。

•  Clear-EventLog。删除某个事件日志里的所有记录。

•  Limit-EventLog。设置事件日志的区间和文件大小限制。

•  New-EventLog。在运行Windows Server的计算机上创建一个新的事件日志和事件源。

•  Remove-EventLog。删除一个自定义的事件日志,并将此事件日志的所有的事件源删除注册。

•  Show-EventLog。显示某台计算机的事件日志。

•  Write-EventLog。允许你写事件到某个事件日志。

3、进程

•  Get-Process。获得某个进程的信息。

•  Start-Process。启动某个进程。

•  Stop-Process。停止某个进程。

•  Wait-Process。在接受输入之前等待某个进程停止。

•  Debug-Process。附加一个debugger 到某个或某些正在运行的进程上。

4、服务器管理器

•  Get-WindowsFeature

•  Install-WindowsFeature

•  Remove-WindowsFeatre

  更多操作,参考官网 http://technet.microsoft.com/zh-cn/library/dd315367.aspx

二、示例1:为服务器“添加功能”

1、加载ServerManager模块

  Windows Server 2008 R2 的 ServerManager 模块位于PowerShell安装路径下的Modules文件夹。

Windows PowerShell
版权所有 (C) 2009 Microsoft Corporation。保留所有权利。

PS C:\Users\Administrator> Import-Module ServerManager
PS C:\Users\Administrator>

  注:仅对此进程有效。下次进入PowerShell 时,需要重新加载。

2、浏览现有的角色、角色服务和功能

PS C:\Users\Administrator> Get-WindowsFeature

Display Name                                            Name
------------                                            ----
[ ] Active Directory Rights Management Services         ADRMS
    [ ] Active Directory 权限管理服务器                 ADRMS-Server
    [ ] 联合身份验证支持                                ADRMS-Identity
[ ] Active Directory 联合身份验证服务                   AD-Federation-Services
    [ ] 联合身份验证服务                                ADFS-Federation
    [ ] 联合身份验证服务代理                            ADFS-Proxy
    [ ] AD FS Web 代理                                  ADFS-Web-Agents
        [ ] 声明感知代理                                ADFS-Claims
        [ ] 基于 Windows 令牌的代理                     ADFS-Windows-Token

。。。

3、添加功能

  本例中,添加“Windows Server Backup 功能”。如果在图形界面中,很容易操作。

  在PowerShell中,运行以下命令:

PS C:\Users\Administrator> Add-WindowsFeature Backup

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True    No             Success   {Windows Server Backup}

4、确认 Windows Server Backup 功能已经安装

PS C:\Users\Administrator> Get-WindowsFeature Backup
Display Name                                            Name
------------                                            ----
    [X] Windows Server Backup                           Backup 

5、删除 Windows Server Backup 功能

PS C:\Users\Administrator> Remove-WindowsFeature Backup

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True    No             Success   {Windows Server Backup}

三、示例2:管理IIS

1、检查可用的模块

  在 Windows Server 2008 R2 通过“服务器管理器”中“添加角色”安装了 IIS7.5 之后。运行以下命令,检查WebAdministration模块是否已经安装。

PS C:\Users\Administrator> Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   ADRMS                     {}
Manifest   AppLocker                 {}
Manifest   BestPractices             {}
Manifest   BitsTransfer              {}
Manifest   PSDiagnostics             {}
Manifest   ServerManager             {}
Manifest   TroubleshootingPack       {}
Manifest   WebAdministration         {}

  注:Windows Server 2008 安装了 IIS7.0 之后,需要下载安装 PowerShell Snap-In For IIS7.0  。http://www.iis.net/downloads/microsoft/powershell

2、加载Web管理模块

PS C:\Users\Administrator> Import-Module WebAdministration 

3、查看可用的命令

PS C:\Users\Administrator> Get-Command -pssnapin WebAdministration

CommandType  Name                            Definition
-----------  ----                            ----------
Cmdlet       Add-WebConfiguration            Add-WebConfiguration [-Filter] <String[]> [[-PSP...
Cmdlet       Add-WebConfigurationLock        Add-WebConfigurationLock [-Filter] <String[]> [[...
Cmdlet       Add-WebConfigurationProperty    Add-WebConfigurationProperty [-Filter] <String[]...
Cmdlet       Backup-WebConfiguration         Backup-WebConfiguration [-Name] <String> [-Verbo...
Alias        Begin-WebCommitDelay            Start-WebCommitDelay
Cmdlet       Clear-WebConfiguration          Clear-WebConfiguration [-Filter] <String[]> [[-P...
Cmdlet       Clear-WebRequestTracingSettings Clear-WebRequestTracingSettings [[-Name] <String...
Cmdlet       ConvertTo-WebApplication        ConvertTo-WebApplication [[-PSPath] <String[]>] ... 
。。。

4、操作 IIS

  加载了WebAdministration 模块之后,PowerShell 环境建立了一个“IIS:\”命名空间。进入这个命名空间,并查看IIS的信息。可以用New-Item 创建文件夹、网站、应用池、虚拟目录,或者用 Remove-Item 进行删除。

PS C:\Users\Administrator> IIS:
PS IIS:\> dir

Name
----
AppPools
Sites
SslBindings

四、故障排除

1、“在此系统中禁止执行脚本”

PS C:\Users\Administrator> Get-Module -ListAvailable | Import-Module
Import-Module : 无法加载文件 C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psm1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 42
+ Get-Module -ListAvailable | Import-Module <<<<
    + CategoryInfo          : NotSpecified: (:) [Import-Module], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException,Microsoft.PowerShell.Commands.ImportModuleCommand

【原因】权限不足

【对策】当前的权限一共有4种:受限的(Restricted)、仅本地运行(RemoteSigned)、不受限的(Unrestricted)、所有(AllSigned)。建议改为RemoteSigned 。

PS C:\Users\Administrator> Get-ExecutionPolicy
Restricted
PS C:\Users\Administrator> Set-ExecutionPolicy RemoteSigned
执行策略更改
执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies
帮助主题中所述的安全风险。是否要更改执行策略?
[Y] 是(Y)  [N] 否(N)  [S] 挂起(S)  [?] 帮助 (默认值为“Y”): y
PS C:\Users\Administrator> Import-Module WebAdministration

  如果在ps1脚本中不允许交互,则需要强制修改权限。例如

PS C:\Users\Administrator> Set-ExecutionPolicy Remotesigned -Force

四、ServerManageCmd

1、概述

PS C:\Users\Administrator> servermanagercmd

Servermanagercmd.exe 已被弃用,不保证在将来版本的 Windows 中支持它。建议使用可用于服务器管理器的 Windows PowerShell cmdlet。

用法:

ServerManagerCmd.exe
安装和删除角色、角色服务和功能。也显示所有可用的角色、角色服务和功能列表,并显示在此计算机上安装了其中哪些内容。有关可以使用此工具指定的角色、角色服务和功能的详细信息,请参阅服务器管理器的“帮助”。

-query [<query.xml>] [-logPath <log.txt>]

-install <名称>
          [-resultPath <result.xml> [-restart] | -whatIf] [-logPath <log.txt>]
          [-allSubFeatures]

-remove <名称>
          [-resultPath <result.xml> [-restart] | -whatIf] [-logPath <log.txt>]

。。。

  实际上,ServerManageCmd 是一个命令提示符下面即可运行的命令。在 Windows Server 2008 操作系统有很多的“粉丝”。而在 Windows Server 2008 R2 操作系统,官方推荐为:弃用 ServerManageCmd ,改用 PowerShell cmdlet 。

2、示例

  以安装SNMP服务为例。

C:\Users\Administrator>ServerManagerCmd.exe -install SNMP-service
........

开始安装...
[Installation] 成功: [SNMP 服务] SNMP 服务。
<100/100>

成功: 安装成功。

  效果等同于图形界面中“添加功能”。

Windows PowerShell:管理服务器的更多相关文章

  1. 使用 Windows PowerShell 管理Windows Azure映像

    你可以使用 Azure PowerShell 模块中的 cmdlet 管理可供你的 Azure 订阅使用的映像.这包括 Azure 提供的映像以及你上载的映像.对于某些映像任务,你还可以使用 Azur ...

  2. SharePoint 2010 最佳实践学习总结------第2章 SharePoint Windows PowerShell指南

    第2章 SharePoint Windows PowerShell指南 SharePoint 2010是SharePoint系列产品中第一个开始支持Windows PowerShell的产品,在以前的 ...

  3. Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能

    Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能  Windows Server 2012 安装 SQL server 2008 出现了如下错误: 解 ...

  4. 【SharePoint学习笔记】第2章 SharePoint Windows PowerShell 指南

    快速了解Windows PowerShell     从SharePoint 2010开始支持PowerShell,仍支持stsadm.exe工具:     可以调用.NET对象.COM对象.exe文 ...

  5. 通过winrm使用powershell远程管理服务器

    原文地址 在Linux中,我们可以使用安全的SSH方便的进行远程管理.但在Windows下,除了不安全的Telnet以外,从Windows Server 2008开始提供了另外一种命令行原创管理方式, ...

  6. 用Windows PowerShell 控制管理 Microsoft Office 365

    如果想要通过PowerShell控制管理Office365,首先要安装Microsoft Online Services Sign-In Assistant 7.0,链接如下 Microsoft On ...

  7. Windows上管理远程Linux VPS/服务器文件工具 - winscp

    Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...

  8. 使用 Windows PowerShell 来管理和开发 windowsazure.cn 账户的特别注意事项

    6月6日,微软面向中国大陆用户开放了Microsoft Azure公众预览版的申请界面.大家可以申请免费的 beta 试用,收到内附邀请码的通知邮件后只需输入激活码即可开始免费试用.具体网址为: ht ...

  9. powershell远程管理服务器磁盘空间的实现代码

    一.启用远程管理 1.将管理服务器的trusthost列表改为* 运行Set-item wsman:localhostclienttrustedhosts ?value * 2.在远程服务器上运行En ...

随机推荐

  1. 【POJ 1984】Navigation Nightmare(带权并查集)

    Navigation Nightmare Description Farmer John's pastoral neighborhood has N farms (2 <= N <= 40 ...

  2. Performance Test of List<T>, LinkedList<T>, Queue<T>, ConcurrentQueue<T>

    //Test Group 1 { var watch = Stopwatch.StartNew(); var list = new List<int>(); ; j < ; j++) ...

  3. [转贴]Linq之动态查询

    最近写Linq碰到一个问题, 就是如果要写一个查询系统,这个系统里面有很多TextBox可以填, 然后捞出符合各个字段的数据. 在SQL查询的时候还满方便的,用字符串连连连就可以了, ( 也就是sql ...

  4. OA学习笔记-005-Spring2.5与struts2.1整合

    一.单独测试strust 1.action package cn.itcast.oa.test; import org.springframework.context.annotation.Scope ...

  5. ANDROID_MARS学习笔记_S04_003_用HttpClent发http请求

    一.代码 1.xml(1)activity_main.xml <TextView android:layout_width="wrap_content" android:la ...

  6. python统计英文首字母出现的次数

    使用python解析有道词典导出的xml格式单词,统计各个首字母出现的次数,并按次数由多到少进行排序 相关实现 导出的xml格式如下 <wordbook> <item> < ...

  7. 海量jQuery插件

    转自:http://blog.csdn.net/zzq58157383/article/details/6900142 提醒大家在使用的时候注意jQuery包的版本问题,最好是使用相同的版本,因为使用 ...

  8. 基础算法(二分,贪心):NOIP 2012 疫情控制

    题目大意 给出一棵n个节点的树,根是1,要在除根节点以外的点建立检查点,使得从每条根到叶子的路径上都至少存在一个检查点.检查点由军队来建立.初始军队的位置是给定的,移动军队走一条边需要花费这条边的权值 ...

  9. NIO的学习

    参考 http://wenku.baidu.com/link?url=rq-BEp3Et4JRrE62f2Lv9hq8nT_Gq0XPb65h8OBqTAt-ILfqKmdjIhVEp8bctIdm0 ...

  10. 搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer

      第一次见到这个题目,我觉得自己没学到java,太浅了,其实这个问题没有考synchronized关键字,只是考什么是对象? 1.在java编程思想的第二章有一句话; 一切都是对象,很可惜int,c ...