Windows 10时代带来了一个强大的工具Windows PowerShell。他必将成为CMD的继任者,成为下一代命令行工具。这是一种命令行界面和脚本语言,专门为系统管理而设计。Windows PowerShell使得IT管理员更容易地控制系统管理和加速自动化。Windows PowerShell 中的简单命令工具(称为 cmdlet)允许通过命令行管理企业中的计算机。通过 Windows PowerShell 提供程序,可以像访问文件系统那样方便地访问数据存储,如注册表和证书存储。 此外,Windows PowerShell 还完全支持所有 Windows Management Instrumentation (WMI) 类。最重要的是允许我们进行扩展, 可以编写自己的 cmdlet、提供程序、函数和脚本,并可以在模块中将其打包以便与其他用户共享。
一、在Windows 中的Windows PowerShell中进行了以下更改:
1、新的 cmdlet:包含 100 多个新的 cmdlet,包括 Get-Hotfix、Send-MailMessage、Get-ComputerRestorePoint、New- WebServiceProxy、Debug-Process、Add-Computer、Rename-Computer、Reset- ComputerMachinePassword 和 Get-Random。
2、远程管理:可以使用一个命令在一台计算机或数百台计算机上运行命令。 可以建立与单台计算机的交互式会话。 还可以建立能从多台计算机接收远程命令的会话。
3、Windows PowerShell 集成脚本环境 (ISE):一个图形用户界面,方便在同一个窗口中运行命令并撰写、编辑、运行、测试和调试脚本。
4、后台作业:利用 Windows PowerShell 后台作业,可以“在后台”异步运行多个命令,从而可以继续在会话中工作。 可以在本地或远程计算机上运行后台作业,并可以本地或远程存储结果。
5、调试程序:可以设置和删除断点,逐步执行代码,检查变量值,以及显示调用堆栈跟踪。
6、模块:Windows PowerShell 模块允许将 Windows PowerShell 脚本和函数组织到独立单元中。 您可以将 cmdlet、提供程序、脚本、函数及其他文件打包到可分发给其他用户的模块中。 用户安装和使用模块比安装和使用 Windows PowerShell 管理单元更加方便。 模块可以包括任何类型的文件,包括音频文件、图像、帮助文件和图标。 模块在单独的会话中运行,以避免名称冲突。
7、事务:Windows PowerShell 现在支持事务,从而允许按逻辑单元管理一组命令。 可以提交事务,也可以完全撤销事务,使事务不更改受影响的数据。
8、事件:Windows PowerShell 包括新事件基础结构,该事件基础结构允许创建事件,订阅系统和应用程序事件,然后同步和异步侦听、转发和 *** 作事件。
9 高级函数:高级函数的行为很像 cmdlet,不过是使用 Windows PowerShell 脚本语言而不是 C# 编写的。
10、脚本国际化:脚本和函数可用多种语言向用户显示消息和帮助文本。
11、联机帮助:除了命令行中的帮助之外,Get-Help cmdlet 具有一个新的 Online 参数,使用该参数可以打开 Microsoft TechNet 上每个帮助主题的完整、更新的版本。
二、新增功能和更改功能有哪些优点?
Windows PowerShell 除了提供许多其他功能之外还提供了以下新的管理功能。
远程管理:Windows PowerShell 远程管理功能使用户能够连接到其所有计算机上的 Windows PowerShell 命令并运行它们。 IT 专业人士可以使用它来监视和维护计算机,分发更新,运行脚本和后台作业,收集数据,以及对一台计算机或对数百台计算机进行统一、优化的更改。
Windows PowerShell ISE:Windows PowerShell ISE 使得使用 Windows PowerShell 更为轻松和高效。 初学者将非常庆幸软件提供语法颜色和上下文相关帮助。 多行编辑功能使得尝试从帮助主题和其他源复制内容的示例变得很轻松。 高级用户将非常庆幸软件提供多个执行环境、内置调试程序和 Windows PowerShell ISE 对象模型的扩展性。
模块:Windows PowerShell 模块使得 cmdlet 和提供程序作者组织和分发工具和解决方案更为轻松。 而且,这些模块使得用户安装工具并将工具添加到其 Windows PowerShell 会话变得更加容易。 IT 专业人士可以使用模块在其企业中分发已测试和已审批的解决方案,并与社区中其他专业人士共享这些解决方案。
事务:Windows PowerShell 事务使您能够使用 Windows PowerShell 来进行可能必须作为一个单位进行回滚或提交的更改(如数据库更新和对注册表的更改)。
在使用的过程中,我们要学会善用Windows PowerShell帮助
Windows PowerShell是新的命令和脚本规范,初学者会有一定的陌生感不容易上手。其实,善用Windows PowerShell帮助可以帮助大家尽快了解其命令规范。
三、那么来运行Windows PowerShell看看
要想在windows 7系统中启动windows powerShell非常简单,点击“开始”按钮后在底部的搜索栏内输入PowerShell,在搜索结果内选择windows powerShell即可进入命令行模式的界面,选择windows powerShell V2 ISE 后就可以进入到windows powerShell的图形窗口模式。此外也可以在传统的CMD窗口中输入PowerShell后按下回车运行PowerShell。
在PowerShell中输入并执行“get-command”会返回Windows PowerShell提供的129个命令的信息,这些命令囊括了管理服务、进程、事件日志、证书、注册表以及使用 Windows Management Instrumentation (WMI)等系统管理的方方面面。如果要获取其中的某个命令的使用帮助信息,比如我们要获取“get-command”这个命令的使用帮助,可以执行命令“get-help get-command”,获取其他命令的帮助信息的方法类似。
另外,为大家提供几个很实用的技巧。如果命令的帮助信息比较多,一屏呈不下可用通道符号“|”进行分屏显示,例如“get-command | more”将逐屏显示Windows PowerShell所有的程序集。“get-help get-service -full”将会显示get-service这一程序集的详细帮助(包括示例)。“get-help get-service –parameter *”将会列出Get-Service程序集的所有参数及参数说明。“help get-service –parameter *”作用和前面一个命令一样,但是将会逐屏显示。有时基于需要我们还需要使用通配符,Windows PowerShell中的通配符使用与CMD有区别,可以执行命令“get-help about_wildcard”获取通配符使用的帮助信息。
四、PowerShell应用
PowerShell可以方便地查看和结束系统内的进程,这样不仅可以监控系统内的可疑进程,还可以轻松地将其关闭。要想查看当前系统 内的进程,就需要打开PowerShell,输入 get-process后按下回车,这样系统中进程的句柄,进程名,进程占用处理器时间和进程唯一标识符就会显示出来。如果要结束某个或多个进程,就需要 记录下进程的唯一标识符,在PowerShell中输入Stop-process后根据提示输入一个或多个进程的ID,按下回车后进程即可被自动结束。
PowerShell首先是个Shell,定义好了一堆命令与 *** 作系统,特别是与文件系统交互,能够启动应用程序,甚至 *** 纵应用程序。PowerShell还能允许将几个命令组合起来放到文件里执行,实现文件级的重用,也就是说有脚本的性质。且PowerShell能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、自动化的 *** 作。
PowerShell的作用:
1、与文件系统交互、运行应用程序,就像在Dos中一样,在PowerShell的交互界面上键入“dir”并回车,会显示当前文件夹下的子文件夹和文件信息。
2、可以在power shell想更好地控制应用程序,可以使用start命令,就会打开最大化的记事本。
3、任务的自动化是以程序文件或者可执行脚本文件为基础的,PowerShell也支持将命令列表做成脚本文件来执行。以下是Hello.ps1脚本文件的内容。
4、能够利用.Net类型和COM对象是PowerShell的最大特点,这让PowerShell能够最大限度的利用现有资源,并且很容易把.Net和COM程序员招徕到自己麾下。
“收下我的钱!”
“我现在就要买!”
我感到很奇怪。
我当时正在几百人面前介绍Monad(即后来的PowerShell),有个人就在后面喊。“收下我的钱!”。我就是这么认识的托马斯·李。在我讲演完后,托马斯走上前来,给我一张上面写有他的名字的20美元钞票,对我说,Monad正是Windows管理员所需要的,它将掀起一场革命,他要成为第一个购买者。我向他解释说,Monad将会包含在Windows里,成为Windows的一项免费功能。托马斯说他不管,他就要成为第一个购买者,无论如何都要成为第一个。
我刚才又看了一下,那张20美元的钞票仍然在我的钱包里。我已经保存了17年了,这张钞票时时提醒我那天托马斯看明白的事情——PowerShell对每一位专业的Windows管理员都是极为重要的工具。我使用的是形容词“专业的”,因为确实存在着两种类型的Windows管理员:专业的和非专业的。Windows之所以如此成功,是因为对于一些简单的使用场景,那些非专业的Windows管理员都能够成功设置并运行。只要你能点击“下一步”按钮,那成功设置Windowos就是一个大概率事件。托马斯看明白的是,靠“点击下一步”来管理Windows的世界是有限的,还有更多的场景需要专业的Windows管理员,他们能够理解特定的需求,并能够裁减Windows以适应特定的需求。完成这样的任务需要一种新的工具,需要PowerShell。
如果你是一位专业的管理员(或充满激情的高级用户),那你就需要具备PowerShell的技能,你需要知道你所工作的 *** 作系统是如何通过PowerShell来管理的。Windows的每个新版本都会加入通过PowerShell管理的新功能。在这本书中,托马斯通过解释如何使用PowerShell来管理和自动化Windows Server 2019,告诉你如何最大化在Windows Server 2019上的投资。自动化的意思是,你找出管理一台服务器的解决方案,然后将脚本复制到10台、100台、100000台的服务器上去。自动化意味着一致性,可重复性,以及生产力。所有这些都需要专业的管理。
多年来,有太多的管理员因为PowerShell向我表达感谢,并告诉我他们的成功故事。他们通过自己的能力挽救了危局,他们使公司的梦想变成了现实,而这些事情是他们那些只会点击下一步的同事所做不了的。他们所得到的奖励包括奖金、加薪、升职甚至另谋高就。有很多人告诉我,他们因为掌握了PowerShell,工资增加了两倍。
PowerShell使你更有能力
托马斯是绝对清晰地领悟了这一点的第一人,从一开始就与我们的团队合作,主动向我们提供专业管理员需要PowerShell具有什么功能的反馈。托马斯对系统管理的观点大都反映在了今天的PowerShell中,所以我认为很少人能比托马斯更有资格帮助你理解如何使用PowerShell来管理Windows Server 2019,从而为你的公司创造更大价值,并因之而获得奖励。
杰佛里·斯诺弗(Jeffrey Snover)
微软公司技术院士(Microsoft Technical Fellow)
附记
杰佛里·斯诺弗(Jeffrey Snover),一般称为PowerShell的创造者(the inventor of PowerShell)。正是由于杰佛里,才有了今天的PowerShell,而杰佛里也因为这一杰出贡献,而得到了 Microsoft Technical Fellow 的奖励。此文是他为托马斯·李的书《通过 PowerShell 实现 Windows Server 2019 的自动化管理》( Windows Server 2019 Automation with PowerShell)写的序言。这篇序言区别了两类 Windows 管理员:一类是“点击下一步”型的非专业管理员,另一类是只需要命令行就可以完成管理任务的专业管理员。Windows 的成功很大程度上归功于众多的“点击下一步”型管理员,但进入云计算时代,数据中心动辄成百上千台机器,靠“点击下一步”是无法有效完成管理任务的,必须借助于命令行、脚本来完成大量机器的日常管理。这就是 PowerShell 的用武之地。
现在,不仅通过 PowerShell 可以管理 Windows ,微软的一众服务器产品,如 Exchange, SharePoint, SQL Server 等,都可以通过 PowerShell 来进行日常管理。不仅如此,由于 PowerShell 去掉了 Windows 这个修饰词,变成一个跨平台的开源管理工具,有越来越多的公司加入到支持 PowerShell 的队伍中来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)