《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——第1章 开始使用SQL Server和PowerShell 1.1 简介-阿里云开发者社区

开发者社区> 异步社区> 正文

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——第1章 开始使用SQL Server和PowerShell 1.1 简介

简介:
+关注继续查看

本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第1章,第1.1节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 开始使用SQL Server和PowerShell

PowerShell V3——SQL Server 2012数据库自动化运维权威指南
1.1 简介
PowerShell是一款拥有Shell和脚本能力的可管理工具,可以用来调用Windows管理规范(Windows Management Instrumentation,WMI)、COM组件和.NET库。PowerShell在一代一代的微软产品中变得更加杰出。在大量的、新的、即将发布的微软产品中,对于它的支持是捆绑式的,并有所加强。Windows Server、Exchange、ActiveDirectory、SharePoint,甚至SQL Server,所有这些都添加了PowerShell支持和cmdlets。甚至一些供应商如VMWare、Citrix、Cisco和Quest提供了允许他们的产品被PowerShell访问的方法。

是什么使得PowerShell发威?每个系统管理员可能都知道通过脚本集成各种系统的痛苦。曾经用到的解决方案是集成各种脚本,包括VBScript、一些批处理文件,或者C#代码、Perl脚本。系统管理员要么捆绑不同的语言来工作,要么因为复杂的代码而束手无策。

这就是PowerShell的来由。PowerShell最重要的一点是,它简化了自动化和在不同微软子系统之间的集成。因为大多数产品都支持PowerShell,让一个系统与另一个系统沟通只是一件探索在脚本中添加哪些cmdlets、功能或模块的事情。即便产品现在还不支持PowerShell,但它很有可能已经有了.NET或COM组件的支持,能够轻松使用PowerShell。

值得注意的PowerShell V3属性
在最新版本中,值得注意的属性如下所示。

工作流(Workflows):PowerShell V3包括Windows PowerShell Workflow(PSWF),在MSDN中有描述(http://msdn.microsoft.com/en-us/library/jj134242.aspx):
帮助自动化分发、业务流程、完成多机任务、解放用户和管理员使他们专注于高级别任务。
PSWF运用Windows Workflow Foundation 4.0作为声明框架,但使用类似PowerShell语法和结构。
稳健的会话(Robust sessions):PowerShell V3支持更加稳健的会话。会话能在网络中断的过程中被保留。这些会话保留打开状态直到超时。
调度作业(Scheduled jobs):对于调度作业有一个增强的支持。在PSScheduledJob模块中有新的cmdlets,允许你创建、激活和管理调度作业。
模块自动加载(Module AutoLoading):如果你使用的cmdlet所属于的模块还没有被加载,将触发PowerShell搜索PSModulePath,加载第一个包含该cmdlet的模块。这些我们很容易测试。

#check current modules in session
Get-Module
#use cmdlet from CimCmdlets module, which
#is not loaded yet
Get-CimInstance win32_bios 
#note new module loaded CimCmdlets
Get-Module 
#use cmdlet from SQLPS module, which
#is not loaded yet
Invoke-Sqlcmd -Query "SELECT GETDATE()" -ServerInstance "KERRIGAN"
#note new modules loaded SQLPS and SQLASCmdlets 
Get-Module

Web服务支持(Web service support):PowerShell V3介绍了Invoke-WebRequest cmdlet,它发送HTTP或者HTTPS请求到Web服务,返回基于对象的内容,能够在PowerShell中被容易的操作。你可以考虑用PowerShell下载完整的站点(看看Lee Holmes关于此项服务的文章:http://www.leeholmes.com/blog/2012/03/31/how-to- download-an-entire-wordpress-blog)。

简化语法(Simplified language syntax):书写Where-Object和Foreach-Object变得更加整洁。提高包括默认参数值和简化语法。
在V1和V2中必须用大括号和$_。

Get-Service | Where-Object { $_.Status –eq' Running' }

现在能在V3中书写为:

Get-Service | Where-Object Status –eq' Running'

增强集成脚本环境(Improved Integrated Scripting Enviroment(ISE)):新的ISE智能感知,侧边栏可搜索命令、参数表单和动态语法检查。
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一种高效自动化ECS实例数据盘挂载和格式化方式
默认情况下创建的 ECS 实例只有一个40G 的高效云盘系统盘,通过任何形式(控制台、ECS SDK 等) 方式创建的实例,如果需要使用数据盘,必须先进行额外的格式化数据盘工作。 如果需要批量创建大量的有特定格式化需求数据盘的 ECS 实例,那么单独为每一台实例格式化数据盘肯定是一件浪费运维资源的工作。
1784 0
SharePoint自动化系列——Manage "Site Subscriptions" using PowerShell
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 你可以将普通的sites加入到你的site subscriptions中,前提是你需要有一个 Tenant Administration site,如果没有这个site,一切都别谈了。
706 0
自动化创建OSS、NAS数据卷
阿里云容器服务对外提供了数据卷服务,并支持第三方云存储,已经成为在集群环境中用户共享数据卷的利器; 容器服务当前支持阿里云OSS、NAS两种云存储,创建数据卷可以通过控制台或者脚本自动化完成;本文介绍如何通过脚本自动化实现数据卷的创建;
4725 0
SharePoint自动化系列——通过PowerShell创建SharePoint List Items
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PSSnapin microsoft.
711 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载