巧用PowerShell管理Win Server 2008 R2

http://os.51cto.com  2010-10-26 09:57  李可嘉  TT中国  我要评论(0)
Windows PowerShell是一种专门为系统管理而设计的命令行界面和脚本语言。Windows PowerShell构建在Microsoft .NET Framework之上,可帮助IT专业人士自动控制Windows(R)操作系统以及管理Windows上运行的应用程序。
Windows PowerShell命令(称为cmdlet)允许从命令行管理企业中的计算机。通过Windows PowerShell提供程序,可以像访问文件系统那样方便地访问数据存储,如注册表和证书存储。
在Windows Server 2008 R2中,管理角色或功能的cmdlet封装在提供程序的模块中,如果需要使用Windows PowerShell 1.0进行奇偶校验时,则封装在Windows PowerShell管理单元中。与GUI不同的是,您可以在一个Windows PowerShell会话中合并多个模块和管理单元,以简化多个角色和功能的管理。
使用服务器管理器安装基于角色或功能的模块和管理单元
安装Windows Server 2008 R2之后,便可以使用与之关联的cmdlet 。当通过服务器管理器安装相应的角色或功能时,将Windows Server 2008 R2中可用的服务器角色或功能关联的cmdlet作为模块或管理单元的一部分安装。
使用所有可用的Windows PowerShell模块和管理单元启动Windows PowerShell会话
安装Windows PowerShell之后,必须导入模块或添加已注册的管理单元,然后才能使用与该角色或功能关联的cmdlet。在将模块导入或将管理单元添加到Windows PowerShell会话之前,将无法使用或查看角色或功能的特定模块或管理单元中包含的cmdlet的帮助。
可以将多个模块或管理单元导入到一个Windows PowerShell会话中。为了简化管理,您可以在启动会话时自动导入所有模块并添加所有已注册的管理单元。
使用所有可用的Windows PowerShell模块和管理单元启动Windows PowerShell会话,步骤如下:
1.单击「开始」、“所有程序”、“管理工具”,然后单击“Windows PowerShell模块”。
2.如果出现“用户帐户控制”对话框,请确认其显示的是您要执行的操作,然后单击“是”。
Get-Module:列出已导入到Windows PowerShell会话的所有模块
启动Windows PowerShell会话之后,您可能希望列出已导入到该会话中的所有模块。例如,您可能希望验证某个模块是否已被导入到该会话中或者查找用作cmdlet的参数的模块名称。若要列出所有已导入的模块,请在Windows PowerShell提示符下键入“Get-Module”,然后按 Enter。
Get-PSSnapin:列出已添加到Windows PowerShell会话中的所有管理单元
若要列出所有添加的管理单元,请在Windows PowerShell提示符下键入“Get-PSSnapin”,然后按Enter。
Get-Command-module:列出某个模块或管理单元中的所有cmdlet
将模块导入或将管理单元添加到当前Windows PowerShell会话之后,可以通过列出该模块或管理单元支持的cmdlet来确定您可用的管理功能。可以使用Get-Command cmdlet列出从已导入模块或已注册管理单元添加到当前会话的cmdlet。若要列出已导入模块中的所有cmdlet,请在Windows PowerShell提示符下键入”Get-Command-module ModuleName”,然后按Enter。其中ModuleName是指已导入模块的名称。
Get-Command-module:列出添加到当前Windows PowerShell会话的已注册管理单元中的所有cmdlet
若要列出添加到当前Windows PowerShell会话的已注册管理单元中的所有cmdlet,请在 indows PowerShell提示符下键入“Get-Command-module Snap-inName”,然后按Enter。
其中,Snap-inName是指添加到当前会话的已注册管理单元的名称。例如,如果您使用服务器管理器安装了Windows Server Backup功能Windows Server Backup和“命令行工具”,并且已将Windows.ServerBackup管理单元添加到Windows PowerShell会话中,若要列出Windows.ServerBackup管理单元中的所有cmdlet,请在 indows PowerShell提示符下键入“Get-Command –module Windows.ServerBackup”,然后按Enter。
Get-Help *AD*: 列出已导入模块中包含的角色或功能的cmdlet帮助主题
可以通过应用通配符 * 和名词前缀来列出支持角色或功能的cmdlet的帮助主题。这些命令可用于显示为Windows Server 2008 R2的特定角色或功能实现的所有cmdlet的帮助。
例如,Active Directory域服务cmdlet使用“AD”作为cmdlet名称中的名词前缀。
若要在导入ActiveDirectory模块之后列出Active Directory域服务的所有帮助主题,请在Windows PowerShell提示符下键入“Get-Help *AD*”,然后按Enter。
Get-Module –ListAvailable:列出可以导入到Windows PowerShell会话中的所有已安装模块
将模块导入到Windows PowerShell会话之前,将需要知道该模块的名称。若要列出所有已安装的模块,请在Windows PowerShell提示符下键入“Get-Module –ListAvailable”,然后按Enter。
Get-PSSnapin –registered:列出可以添加到Windows PowerShell会话中的所有已注册的管理单元
将已注册的管理单元添加到Windows PowerShell会话之前,将需要知道该管理单元的名称。若要列出所有已注册的管理单元,请在Windows PowerShell提示符下键入“Get-PSSnapin –registered”,然后按Enter。
Import-Module:将单个模块导入到Windows PowerShell会话中
有时,您可能希望将一个模块导入到现有Windows PowerShell会话中。例如,如果您在启动Windows PowerShell会话之后安装某个角色或功能,则在将该模块导入已启动会话之前,与新安装的角色或功能关联的模块将不可用。若要导入单个模块,请在Windows PowerShell提示符下键入”Import-Module ModuleName”,然后按Enter。
其中ModuleName是指可用模块的名称。例如,如果您安装了Active Directory域服务角色,若要将ActiveDirectory模块导入到Windows PowerShell会话中,则在Windows PowerShell提示符下键入“Import-Module ActiveDirectory”,然后按Enter。
Add-PSSnapin:将已注册的管理单元添加到Windows PowerShell会话中
角色或功能可以安装和注册Windows PowerShell管理单元,而不是模块,以便与为之前版本的Windows PowerShell实现的cmdlet保持兼容。如果您希望使用的cmdlet已在某个管理单元中实现,则将需要添加该管理单元以使cmdlet可用于当前会话。若要向当前Windows PowerShell会话中添加已注册的管理单元,请在Windows PowerShell提示符下键入“Add-PSSnapin Snap-inName”,然后按Enter。
其中Snap-inName是指已安装并已注册的管理单元的名称。例如,如果您使用服务器管理器安装了Windows Server Backup功能:Windows Server Backup和“命令行工具”,则可以通过在Windows PowerShell提示符下键入“Add-PSSnapin Windows.ServerBackup”,然后按 Enter将Windows.ServerBackup管理单元添加到Windows PowerShell会话中。
注:下表列出了支持Windows Server 2008 R2的不同角色和功能的模块和管理单元,以及用于查找特定模块或管理单元中所有cmdlet的帮助的建议语法。
巧用PowerShell管理Win Server 2008 R2_Server
巧用PowerShell管理Win Server 2008 R2_PowerShell_02
【编辑推荐】
  1. Windows PowerShell的命令学习大全
  2. Windows PowerShell的12项酷功能
  3. PowerShell与SSH/bash的对比点评
  4. 如何在Hyper-V里使用PowerShell或VBScript脚本?
  5. IIS服务器的Windows PowerShell 管理环境讲解
【责任编辑:张浩 TEL:(010)68476606】