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:\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 功能已经安装
------------ ----
[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:管理服务器的更多相关文章
- 使用 Windows PowerShell 管理Windows Azure映像
你可以使用 Azure PowerShell 模块中的 cmdlet 管理可供你的 Azure 订阅使用的映像.这包括 Azure 提供的映像以及你上载的映像.对于某些映像任务,你还可以使用 Azur ...
- SharePoint 2010 最佳实践学习总结------第2章 SharePoint Windows PowerShell指南
第2章 SharePoint Windows PowerShell指南 SharePoint 2010是SharePoint系列产品中第一个开始支持Windows PowerShell的产品,在以前的 ...
- Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能
Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能 Windows Server 2012 安装 SQL server 2008 出现了如下错误: 解 ...
- 【SharePoint学习笔记】第2章 SharePoint Windows PowerShell 指南
快速了解Windows PowerShell 从SharePoint 2010开始支持PowerShell,仍支持stsadm.exe工具: 可以调用.NET对象.COM对象.exe文 ...
- 通过winrm使用powershell远程管理服务器
原文地址 在Linux中,我们可以使用安全的SSH方便的进行远程管理.但在Windows下,除了不安全的Telnet以外,从Windows Server 2008开始提供了另外一种命令行原创管理方式, ...
- 用Windows PowerShell 控制管理 Microsoft Office 365
如果想要通过PowerShell控制管理Office365,首先要安装Microsoft Online Services Sign-In Assistant 7.0,链接如下 Microsoft On ...
- Windows上管理远程Linux VPS/服务器文件工具 - winscp
Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...
- 使用 Windows PowerShell 来管理和开发 windowsazure.cn 账户的特别注意事项
6月6日,微软面向中国大陆用户开放了Microsoft Azure公众预览版的申请界面.大家可以申请免费的 beta 试用,收到内附邀请码的通知邮件后只需输入激活码即可开始免费试用.具体网址为: ht ...
- powershell远程管理服务器磁盘空间的实现代码
一.启用远程管理 1.将管理服务器的trusthost列表改为* 运行Set-item wsman:localhostclienttrustedhosts ?value * 2.在远程服务器上运行En ...
随机推荐
- PYTHON--CLASS
class Robot: population = 0 def __init__(self, name): self.name = name print("(Initializing {0} ...
- draw9patch超详细教程
这篇文章是android开发人员的必备知识,内容摘选自网络,友我为大家整理和总结,不求完美,但是有用. 视频教程地址:http://player.youku.com/player.php/sid/XM ...
- struts一点心得
action中: 设置属性并增加get,set方法,给属性赋值后 (如: private String name; public String getName() { return name; } p ...
- insert into select 堵塞update
mysql[192.168.5.15] blocking_thread[2286333] blocking_query[insert into temp_zhuyou_mktact_1(hotel_g ...
- django 常用命令
django 常用命令,备忘: django-admin.py startproject test 创建一个项目名叫test的项目 python manage.py startapp app 创建一个 ...
- java 包中的一款经典的singleton模式
/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- XtraForm中更换皮肤
前提: 默认皮肤的显示http://www.cnblogs.com/chucklu/p/4785572.html 1.修改XtraForm的LookAndFeel的SkinName属性,设置为Cara ...
- js 弹出页面传值
有页面a和页面b,页面a中有一个文本框和一个按钮,点按钮弹出页面b,页面b也有一个文本框,在文本框中输入值,在不经过后台用js实现把页面b的文本框的值传到页面a,赋给页面a的文本框 a页面代码< ...
- ActionBar 中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解
setHomeButtonEnabled这个小于4.0版本的默认值为true的.但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击.没有向左的小图标. true 图标可以点击 ...
- POJ -- 2002
#include<iostream> #include<cstdio> #include<cstring> #include<string> #incl ...