环境和基本概念
环境
脚本
脚本是一系列将要按照顺序执行命令的集合,window
支持多种脚本:bat、VB、Java、WMI
等
Windows
为这些脚本提供一个执行宿主环境,通常称为WSH(Windows script host)
,还能通过扩展一些三方工具来执行Python、Perl
等脚本
PS
中也支持脚本的概念,PS
脚本是一系列顺序执行的cmdlet
的集合,脚本的扩展名是psl
。
执行策略
- 可执行文件在启动过程中需要遵守的规则;在
PS
中执行策略决定脚本是否能够执行; - 如果能执行,执行策略还决定执行的脚本是否需要经过数字签名验证,同时还决定是否能加载脚本配置文件。
-
restricted
是默认的执行策略,就是不允许执行脚本 - 查看执行策略:
get-executionpolicy
get-help about_execution_policies
Windows PowerShell 执行策略如下:
Restricted
- 默认执行策略。
- 允许单个命令运行,但不能运行脚本。
- 阻止所有脚本文件的运行,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1)
和 Windows PowerShell 配置文件 (.ps1)。
AllSigned
- 可以运行脚本。
- 要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本。
- 在运行来自尚未分类为可信或不可信发布者的脚本之前进行提示。
- 运行来自 Internet 以外的源的未签名脚本及已签名但有恶意的脚本存在风险。
RemoteSigned
- 可以运行脚本。
- 要求可信发布者对从 Internet(包括电子邮件和即时消息程序)下载的脚本和配置文件
进行数字签名。
- 不要求对已经运行和已在本地计算机编写的脚本(不是从 Internet 下载的脚本)进行数
字签名。
- 面临运行已签名但有恶意的脚本带来的风险。
Unrestricted
- 可以运行未签名脚本。(面临运行恶意脚本所带来的风险。)
- 在运行从 Internet 下载的脚本和配置文件之前警告用户。
Bypass
- 不阻止任何执行项,不显示警告和提示。
- 此执行策略设计用于两种配置:一种是 Windows PowerShell 脚本内置于一个较大的
应用程序中;一种是 Windows PowerShell 成为拥有自身安全模型的某个程序的基础。
Undefined
- 当前作用域中未设置执行策略。
- 如果所有作用域中的执行策略为 Undefined,则有效执行策略为 Restricted,该策略
是默认执行策略。
配置文件
PS环境默认中有4个配置文件,只有与$path变量中存储路径相同的配置文件才会起作用
- 针对所有用户,影响所有
shell
的配置文件 - 针对所有用户,影响
Windows powershell
的配置文件 - 针对当前用户,影响所有
shell
用户的配置文件 - 针对当前用户,只影响
PS
的配置文件
基本概念
- 标准参数
在PS中使用参数,必须在前面加上“-”符号,例如:get-help -name get-item
其中name
就是参数,前面必须加上-
- 帮助参数
所有的cmdlet
使用?
参数来说表示提供帮助信息,但是不执行该命令
- 通用参数
Windows PS中提供通用参数,这些参数是由PS的解释引擎控制的,通用参数包含: whatif、confirm、verbose、debug、warn、erroraction、errorvarible、outvariable和outbuffer
- 建议参数
建议参数包括:Force、exclude、include、passthre、path和casesensitive
网友评论