powershell-无法加载文件,因为在此系统中禁止执行脚本

写了一个powershell脚本测试脚本,结果执行的时候报错

$a=Get-Content C:\script.txt | select-string -pattern "ora"

    if ( $a -eq  $null )

    {
       
        write-host "error" 
    }

    else 
   {
         write-host "OK" 
    } 

PS D:\> .\pshell.ps1
无法加载文件 D:\pshell.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 13
+ .\pshell.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

查明了原因是由于操作系统默认禁止执行脚本,执行一次set-executionpolicy remotesigned后脚本顺利执行

关于Set-ExecutionPolicy详细信息

    Set-ExecutionPolicy 可更改 Windows PowerShell 执行策略的用户首选项。要在 Windows Vista、Windows Server 2008 和 Windows
的更高版本上运行此命令,必须使用\"以管理员身份运行\"选项启动 Windows PowerShell,即使您是计算机上
Administrators 组的成员,执行策略是 Windows PowerShell 安全策略的一部分。它确定是否可以加载配置文件(包括 Windows PowerShell
配置文件)和运行脚本,并且确定哪些脚本(如果有)在运行之前必须进行数字签名

转自:http://blog.csdn.net/evils798/article/details/7196549

posted @ 2013-05-23 14:27  poisson_notes  阅读(852)  评论(0编辑  收藏  举报