环境和基本概念
环境
脚本
脚本是一系列将要按照顺序执行命令的集合,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









网友评论