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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

本节书摘来自异步社区出版社《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

相关文章
|
2月前
|
SQL Web App开发 安全
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
146 2
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
|
1月前
|
SQL Web App开发 安全
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
69 0
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
|
2月前
|
SQL 容灾 安全
云时代SQL Server的终极答案:阿里云 RDS SQL Server如何用异地容灾重构系统可靠性
在数字化转型的浪潮中,数据库的高可用性已成为系统稳定性的生命线。作为经历过多次生产事故的资深开发者,肯定深知传统自建SQL Server架构的脆弱性——直到遇见阿里云 RDS SQL Server,其革命性的异地容灾架构彻底改写了游戏规则。
|
3月前
|
SQL Web App开发 安全
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
275 0
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
1339 0
|
Windows
Powershell 重新排列去重 Windows环境变量
【9月更文挑战第13天】本文介绍如何使用PowerShell对Windows环境变量进行重新排列和去重。首先通过`$env:`访问环境变量,接着使用`-split`命令分割路径,再利用`Select-Object -Unique`去除重复项。之后可根据需要对路径进行排序,最后将处理后的路径组合并更新环境变量。注意修改环境变量前应备份重要数据并了解潜在影响。
376 10
|
12月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
478 0
|
存储 Ubuntu Linux
windows可以安装Ubuntu,ubuntu上也可以安装Powershell
powerhsell除了可以在windows上使用外,还可以在Ubuntu上部署开发环境。下面介绍Ubuntu上安装powershell的方法。
442 0
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
|
XML 监控 数据格式
利用powershell进行windows日志分析
0x00 前言   Windows 中提供了 2 个分析事件日志的 PowerShell cmdlet:一个是Get-WinEvent,超级强大,但使用起来比较麻烦;另一个是Get-EventLog,使得起来相当简单,可以实时筛选,接下来,我们利用PowerShell 来自动筛选 Windows 事件日志。
2665 0

热门文章

最新文章