PowerShell应用一例:启动SQL Server服务
前言:相信很多人为了节省资源,默认都会把SQL SERVER服务停掉,然后在需要使用的时候再通过SQL SERVER管理工具或Windows服务管理界面进行启动,使用此两种方式多了,就会觉得麻烦。有没有方便一点的方式呢?下面就介绍一种脚步启动的方式:采用PowerShell脚本启动
引言:Windows PowerShell 是一种新的命令行外壳和脚本语言,用于进行系统管理和自动化任务,它建立在 .NET Framework 的基础上,可使 IT 专业人员和开发人员控制和自动完成Windows 和应用程序的管理。更为强大之处在于它可以调用.NET Framework中的类库,可以与COM、ADO、XML等交互。在本文中让我们一起来体会一下回归Dos操作的快感,进入强大无比的Windows PowerShell世界。
--Terrylee之回归Dos操作的快感,进入PowerShell世界
使用PowerShell的前提:
1、至少安装了.NET Framework 2.0
2、至少安装了Windows PowerShell 1.0
直接贴代码吧
$Status = Get-Service MSSQLSERVER
$OrginStatus = $Status | findstr "MSSQLSERVER"
$Status = $Status | findstr "Stopped"
Write-Host "SQL Server服务原始状态为:" $OrginStatus
if([String]::IsNullOrEmpty($Status))
{
Write-Host "服务已经启动或禁止"
}
elseif($Status.IndexOf("Stopped") -eq 0)
{
Write-Host "开始启动MSSQLSERVER服务"
Start-Service MSSQLSERVER
Write-Host "完成MSSQLSERVER服务启动"
}
[System.Threading.Thread]::Sleep(3000) #休眠三秒,方便查看脚本执行情况
将上面代码保存成StartSqlServer.ps1,放到c:\
如果想像批处理脚本(。bat)那样双击执行,那还得做以下两个步骤:
1、关联.ps1后缀的文件让PowerShell执行,例如可以这样:
打开cmd,执行assoc得到ps1文件的相关信息,知道.ps1是指向于Microsoft.PowerShellScript.1
好了,这样只需要用ftype修改一下Microsoft.PowerShellScript.1的值就可以了,从powershell /? 可以得到相关信息,于是执行了下面的命令:
ftype Microsoft.PowerShellScript.1="C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -command "& {%1}"
OK,现在直接可以双击打开ps1文件,如果不行的话,尝试多执行下面的命令:
assoc .ps1=Microsoft.PowerShellScript.1
2、设置PowerShell的执行策略
在PowerShell控制台环境中执行:Set-ExecutionPolicy Unrestricted(千万别再服务器上设置成此级别,有安全风险)
ok,让我们双击执行StartSqlServer.ps1,将会看到如下结果:
小结:PowerShell功能强大,本文的应用只是冰山一角。本文只是作者学习PowerShell的一个练习,如有不对之处,欢迎各位拍砖!
参考文章:
回归Dos操作的快感,进入PowerShell世界
直接双击运行PowerShell的脚本文件.ps1(更新)
Windows PowerShell 一次编写一行脚本
根据网友的评论又学了一招,通过命令行方式启动SQL Server,如在命令行中输入
C:\>net start "MSSQLSERVER"
SQL Server (MSSQLSERVER) 服务正在启动 ..
SQL Server (MSSQLSERVER) 服务已经启动成功。
当然,将命令保存net start "MSSQLSERVER"成。bat文件,也可以双击执行启动SQL Server