使用Powershell服务管理器管理多个服务器

日期: 2015-09-28 作者:Adam Bertram翻译:胡耀 来源:TechTarget中国 英文

对于使用Windows Server 2008及以上版本的大型微软应用软件环境下的系统管理员,很有可能日常都会面临管理Windows角色管理的问题。Windows服务器允许管理员通过点击功能窗口按钮来增加、删除或修改系统角色和功能,但是点击功能窗口大部份操作对于管理员来说不是自动完成的。这就是Windows PowerShell发挥作用的地方。 Windows服务管理器是一个单独创建的用于管理服务器标识和系统信息的图形化用户界面(GUI)区域。

通过管理接口允许管理员针对某个服务,通过点击功能键执行各种工作。虽然这种方法适合用于小规模的应用环境,但它不适合大规模集群下的应用环境。通过PowerS……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

对于使用Windows Server 2008及以上版本的大型微软应用软件环境下的系统管理员,很有可能日常都会面临管理Windows角色管理的问题。Windows服务器允许管理员通过点击功能窗口按钮来增加、删除或修改系统角色和功能,但是点击功能窗口大部份操作对于管理员来说不是自动完成的。这就是Windows PowerShell发挥作用的地方。

Windows服务管理器是一个单独创建的用于管理服务器标识和系统信息的图形化用户界面(GUI)区域。通过管理接口允许管理员针对某个服务,通过点击功能键执行各种工作。虽然这种方法适合用于小规模的应用环境,但它不适合大规模集群下的应用环境。通过PowerShell命令行的方式就以简化这些操作。

PowerShell有一个叫“ServerManager”的模块,它包含了许多可以帮助管理系统角色和功能的命令(图1)。


图1. PowerShell服务管理模块

我们将以2个别名和5个实际的PowerShell命令和函数为例。为了更简洁,在文章中我们将直接使用这些命令/函数名字。开始之前,使用“Get-Windows Feature”命令确认系统中所有可用的系统角色和功能。

当你不加参数地使用“Get-Windows Feature”命令,它会输出系统中所有的系统角色和功能—不论现在它们是否在系统中安装。图2展示了在测试系统中的一些可用的功能。


图2. 以“Get-Windows Feature”命令的一些选项为例

对于现在系统中已经安装系统功能,可以使用“Where-Object”命令查看(图3)。


图3. Where-Object命令输出测试系统已安装的功能

如果想安装一个新的Windows系统功能,应怎样做呢?我可以使用“Install-Windows Feature”命令。例如我想在我的本地服务器上安装SNMP服务,我可以使用“Install-Windows Feature”命令并且加上名字参数。如图5表示功能服务已安装完成。


图4. SNMP服务功能已安装完成

我们可以使用“Remove-Windows Feature”命令来删除某些系统功能。删除系统功能就像安装某个功能一样容易,即加上命令的Name参数就行。


图5. 使用“Remove-Windows Feature”命令删除Windows系统下的某个功能

在图形化界面操作时需注意你必须重启服务器才能完成删除某个系统功能。如果你使用命令脚本的方式,你可以不通过手动操作完成。“Install-Windows Feature”和“Remove-Windows Feature”命令都有“remove”参数。如果有必要,它可以执行完命令后自动重启服务器。

如果你只有一台单独服务器,本地化操作没有问题,但是我们可以通过使用服务管理器以相似的方式对多台服务器进行操作管理。使用PowerShell远程管理功能,管理员可以使用“Computername”参数指定对远程任一个服务器进行操作,如图6:


图6. 使用ComputerName参数用于指定执行任务的远程服务器

如果你想同时在100台服务器上安装一个Windows系统功能应该怎样操作呢?如果你把服务器信息写入一个文本文件中后,这就不是问题。如果你在服务端有一个包含了服务器名字CSV文件,你可以使用PowerShell import命令来读取csv文件内容并且可以并发执行任何对Windows系统功能的操作命令。

Import-Csv C:Servers.csv | foreach { Install-WindowsFeature -Name 'SNMP-Service' -ComputerName $_.ServerName }

以上的命令可以从CSV文件中读取每个服务器名并且同时在每台服务器安装上SNMP服务。

作者

Adam Bertram
Adam Bertram

自由撰稿人

相关推荐