zoukankan      html  css  js  c++  java
  • Windows PowerShell:管理服务器

    一、概述

      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:UsersAdministrator> Import-Module ServerManager
    PS C:UsersAdministrator>
     

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

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

    PS C:UsersAdministrator> 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:UsersAdministrator> Add-WindowsFeature Backup

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

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

    PS C:UsersAdministrator> Get-WindowsFeature Backup
    Display Name                                            Name
    ------------                                            ----
        [X] Windows Server Backup                           Backup 

    5、删除 Windows Server Backup 功能

    PS C:UsersAdministrator> 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:UsersAdministrator> 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:UsersAdministrator> Import-Module WebAdministration 

    3、查看可用的命令

    PS C:UsersAdministrator> 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:UsersAdministrator> IIS:
    PS IIS:> 
    dir

    Name
    ----
    AppPools
    Sites
    SslBindings

    四、故障排除

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

    PS C:UsersAdministrator> Get-Module -ListAvailable | Import-Module
    Import-Module : 无法加载文件 C:Windowssystem32WindowsPowerShellv1.0ModulesPSDiagnosticsPSDiagnostics.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:UsersAdministrator> Get-ExecutionPolicy
    Restricted
    PS C:UsersAdministrator> Set-ExecutionPolicy RemoteSigned
    执行策略更改
    执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies
    帮助主题中所述的安全风险。是否要更改执行策略?
    [Y] 是(Y)  [N] 否(N)  [S] 挂起(S)  [?] 帮助 (默认值为“Y”): y
    PS C:UsersAdministrator> Import-Module WebAdministration

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

    PS C:UsersAdministrator> Set-ExecutionPolicy Remotesigned -Force

    四、ServerManageCmd

    1、概述

    PS C:UsersAdministrator> 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:UsersAdministrator>ServerManagerCmd.exe -install SNMP-service
    ........

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

    成功: 安装成功。

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

  • 相关阅读:
    word 导出(带有一个图片,一张datatable)
    asp.net 获取当前时间的格式
    解决<compilation debug="true" targetFramework="4.0"> 问题
    安装office专业增强版2016(word/excel/ppt/visio)的记录
    JS,Jquery获取各种屏幕的宽度和高度
    utc本地时间
    extjs使用gridPanel演示基于asp.net使用json传送数据
    获取物料指定日期的库存
    resize
    关于完工入库研究
  • 原文地址:https://www.cnblogs.com/edward2013/p/3534443.html
Copyright © 2011-2022 走看看