2009年1月26日星期一

决定使用Windows Powershell

Windows Powershell是一个比较强大的脚本引擎,关于它的历史和来源我都不是很清楚,但其实这些并不重要,重要的是它能做什么以及是否好用。Windows Powershell可以使我们在控制台中轻松的通过各种丰富的命令操作文件等系统资源。

我现在有一个很简单的需求:备份网站程序。这个网站程序是由PHP和MySQL构成的,使用的是Drupal框架。我需要定期将Drupal目录下程序文件和数据库进行备份,而且我的开发环境是Window s Vista和XAMPP。因此我决定使用Windows Powershell来创建一个脚本,我只需要定期的执行这个脚本,就可以轻松的对网站实现备份。

Windows Powershell下即可以使用linux命令,也可以使用dos命令。当然,我还没有考证到底有多少的linux命令可以被支持,像clear和ls这样的简单命令是支持的。Windows Powershell的脚本文件扩展名是“.ps1”。请注意,后面是阿拉伯数字1,而不是字母l。它的全称应该指power shell 1,即版本号。

在默认的安装状态下,Windows Powersehll是不能直接运行ps1脚本的。这主要是从安全方面考虑。我从下面这个网址获得了一些信息:
这篇文章也是转译的,msdn原文在:
这篇文章主要讲解如何创建WPS脚本,安全策略和一些有用的小技巧。

简单的讲,使用
Get-ExecutionPolicy
命令可以获得当前WPS的安全策略设置。我现在的是:Restricted。这表明任何脚本(包括你自己写的)都是不能运行的。一共有以下几种可以设置:
  • Restricted
  • AllSigned
  • RemoteSigned
  • Unrestricted
这个是按照等级逐渐宽松的顺序排的。一般设置为RemoteSigned即可,这样即可以运行我们自己写的脚本,又可以对网上下载的脚本进行运行限制。使用
Set-ExecutionPolicy RemoteSigned
即可以更改脚本安全策略。Vista用户要注意,需使用管理员身份运行Powershell.exe才能更改。

没有评论:

发表评论