PowerShell_零基础自学课程_5_自定义PowerShell环境及

PS新手入门学习,掌握PS中的光效用法和技巧

  据我个人所知,windows下的cmd shell除了能够通过修改系统参数来对其中的环境变量进行改变外,其环境的可自定义性相对来说很困难,而在Linux环境中,可以通过修改/etc目录下的某些配置文件来达到配置shell环境的目的。也许这也是某些人诟病cmd shell功能不强的
原因之一。
  而目前这种状况在windows powershell中得到了改善,可以说PS中提供的自定义环境的功能基本可以和linux环境相比较;今天我们来看看如何在PS中来自定义shell环境; 首先来看几个概念。
1、脚本
  在cmd、Bash等shell中,脚本可以简单的理解为一系列将要按照顺序执行的命令的集合。在windows中以前就支持很多种脚本,例如:
bat脚本、VB脚本、Java脚本、WMI脚本,windows为这些脚本提供一个执行宿主环境,通常称为WSH(Windows script host)。 而且还可以通过扩展一些三方的工具来执行功能更加强大的脚本,例如Python、Perl等。
  PS也支持脚本的概念,PS脚本是一系列将要按照顺序执行的cmdlet的集合;在windows中脚本文件的扩展名是psl。
2、执行策略
  顾名思义,执行策略就是指可执行文件在启动执行过程中需要遵守的规则;在PS中执行策略决定脚本文件是否能执行,如果脚本能执行,执行策略还决定执行的脚本是否需要经过数字签名验证,同时还决定是否能加载脚本配置文件。
2、1 查看执行策略
  在PS中通过cmdlet get-executionpolicies 来查看PS脚本的执行策略。如下所示:
Exp:
  PS C:Usersvol_20120330> get-executionpolicy
  RemoteSigned

先看一下效果。

  上面的执行结果表示:当前的脚本执行策略是RemoteSigned。 前面提到过PS有种执行策略,这里不再解释;但是还可以通过下面的cmdlet来获取相关的信息:
  get-help about_execution_policies

图片 1

Exp:

1.调入一张背景图,然后新建一层,并填充黑色。

PS C:Usersvol_20120330> get-help about_execution_policies
主题
    about_Execution_Policies

简短说明
    说明 Windows PowerShell 执行策略,并介绍如何对它们进行管理。

详细说明
    使用 Windows PowerShell 执行策略,可以确定 Windows PowerShell 
    加载配置文件和运行脚本的条件。

    可以为本地计算机、当前用户或特定会话设置执行策略。也可使用组策略设置
    为计算机和用户设置执行策略。

    用于本地计算机和当前用户的执行策略存储在注册表中。无需在 Windows PowerShell 
    配置文件中设置执行策略。用于特定会话的执行策略仅存储在内存中,会话关闭时,
    该执行策略将丢失。

    执行策略并不是限制用户操作的安全系统。例如,当无法运行脚本时,
    用户可通过在命令行中键入脚本内容而轻松规避某个策略。执行策略的
    真正用途是帮助用户设置一些基本规则,并防止用户无意中违反这些规则。


 WINDOWS POWERSHELL 执行策略
 -------------------------------------

    Windows PowerShell 执行策略如下:

    "Restricted"是默认策略。

        Restricted
            - 默认执行策略。

            - 允许单个命令运行,但不能运行脚本。

            - 阻止所有脚本文件的运行,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 
              和 Windows PowerShell 配置文件 (.ps1)。

        AllSigned
            - 可以运行脚本。

            - 要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本。

            - 在运行来自尚未分类为可信或不可信发布者的脚本之前进行提示。

            - 运行来自 Internet 以外的源的未签名脚本及已签名但有恶意的脚本存在风险。

        RemoteSigned
            - 可以运行脚本。

            - 要求可信发布者对从 Internet(包括电子邮件和即时消息程序)下载的脚本和配置文件
              进行数字签名。

            - 不要求对已经运行和已在本地计算机编写的脚本(不是从 Internet 下载的脚本)进行数
              字签名。

            - 面临运行已签名但有恶意的脚本带来的风险。

        Unrestricted
            - 可以运行未签名脚本。(面临运行恶意脚本所带来的风险。)

            - 在运行从 Internet 下载的脚本和配置文件之前警告用户。

        Bypass
            - 不阻止任何执行项,不显示警告和提示。

            - 此执行策略设计用于两种配置:一种是 Windows PowerShell 脚本内置于一个较大的
              应用程序中;一种是 Windows PowerShell 成为拥有自身安全模型的某个程序的基础。

        Undefined
            - 当前作用域中未设置执行策略。

            - 如果所有作用域中的执行策略为 Undefined,则有效执行策略为 Restricted,该策略
              是默认执行策略。

2.执行filter>render>lens flare,设置如图参数。

  通过上面的命令可知, 默认的执行策略是restricted; 就是不允许执行脚本; 而我前面获取的执行策略配置信息,是通过下面的cmdlet来实现的:

图片 2

Exp:

3.执行image>adjustment>brightness/contrast,适当调整对比度。

  set-executionpolicy 

图片 3

set-executionpolicy remotesigned

      具体的设置方法可以自己获取帮助。

  我们知道,在当前会话中设置一些函数、别名和变量后,如果退出当前会话,那么这些设置将不再有效;而设置执行策略与这不同,因为执行策略信息保存在windows

的注册表信息里面, 这样当退出当前会话后,修改的执行策略信息仍将有效,即使卸载然后再重新安装PS,还将保持原来的设置不变。

3、配置文件

  PS环境默认有4个配置文件,下面一一进行介绍.

3、1  针对所有用户,影响所有shell的配置文件

  这个配置文件存放在:   %windir%system32windowspowershellv1.0profile.psl

  修改这个配置文件将影响所有的用户,以及所有的shell。

3、2  针对所有用户,只影响Windows Powershell的配置文件

  这个配置文件保存在:  %windir%system32windowspowershellv1.0microsoft.powershell_pfrofile.psl

  修改这个配置文件将影响所有的用户,但只针对windows Powershell有效。

3、3  针对当前用户,影响所有shell的用户配置文件

  这个配置文件保存在: %userprofile%my documentswindowspowershellv1.0profile.psl

  修改这个配置文件只对当前用户有效,但是会影响所有的shell

3、4  针对当前用户,只影响PS的用户配置文件

  这个配置文件保存在: %userprofile%my documentswindowspowershellv1.0microsoft.poweshel_profile.psl

      修改这个配置文件只对当前用户有效,并且只影响PS。

  估计,大家会记得我在前面的文章中,就修改过这个配置文件。其路径就是: $path变量存储的路径。

3、5  配置文件路径

  这么多配置文件,那么在当前会话中到底哪个起作用呢?

      这个问题的答案就是: 只有与$path 变量中存储路径相同的配置文件才起作用; 包括路径和文件名。

4、创建配置文件

  我们知道,在linux环境下,位于/etc 目录下的配置文件大部分系统自生成的;而在PS中,配置文件不是自动生成的,而需要用户手动创建。因此为了自定义PS的环境

就需要我们自己创建相关的配置文件;下面我们介绍如何创建配置文件。

本文由betway必威登录发布于摄影专区,转载请注明出处:PowerShell_零基础自学课程_5_自定义PowerShell环境及