适用于:Windows PowerShell 2.0, Windows PowerShell 3.0

当我们打开一个PowerShell对话框,并在里面创建一些变量(variables)、函数(functions)时,这些变量、函数均只在当前会话中有效。一旦我们关闭这个对话框重新打开PowerShell时,这些变量都不存在了。如果我们想保留这些设置,我们就需要用到profile,翻译过来就是配置文件。在PowerShell启动的时候,会自动导入配置文件里面的设置。这有点像autorun.bat,如果有dos系统还有印象的朋友,应该知道这个。

配置文件存放于如下几个地方,不同的配置文件,作用域不同。

1、%windir%\system32\WindowsPowerShell\v1.0\profile.ps1它作用于所有用户、所有的Shell。

2、%windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1作用于所有用户,但只作用于Microsoft.PowerShell这个shell。这个我也没懂是什么意思,难道还有不是PowerShell的PowerShell shell?呃,有点像绕口令。

3、%UserProfile%\My Documents\WindowsPowerShell\profile.ps1作用于当前用户的所有shell。

4、%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1作用于当前用户的Microsoft.PowerShell这个shell。

以上的Windows的PowerShell profiles不是自动创建的。言下之意是,如果要用,我们就自己去创建。我们只要按照上面给出的文件路径和文件名,编写我们自己的内容进去即可。

有一个变量:$profile,它保存了当前Profile的路径。使用Test-Path $profile可以查看当前有没有这个文件。如果没有,可以使用new-item -path $profile -itemtype file -force命令来创建它。然后再使用notepad $profile来快捷的打开它来编辑。我们在里面输入function pro { notepad $profile },呵呵明眼人都懂了,以后我们想要修改profile的时候,直接运行pro命令就可以了。

最后,想要PowerShell启动时能成功的载入配置文件,还需要在PowerShell的Execution Policy(执行策略)中设置允许它这样做。否则,尝试载入配置文件将会失败,PowerShell界面上也会显示错误信息。无法加载配置文件的错误提示如下:

C:\Users\Hong>powershell

Windows PowerShell

版权所有(C) 2012 Microsoft Corporation。保留所有权利。

. : 无法加载文件 C:\Users\Hong\Documents\WindowsPowerShell\Microsoft.PowerShell

_profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http://go.micros

oft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

所在位置 行:1 字符: 3

+ . 'C:\Users\Hong\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

'

+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~

+ CategoryInfo          : SecurityError: (:) [],PSSecurityException

+ FullyQualifiedErrorId : UnauthorizedAccess

其实解决这个问题跟解决执行ps1文件的方法一样,因为这个Profile其实也是一个ps1格式的文件。所以使用Set-ExecutionPolicy RemoteSigned即可。

参考文章:http://msdn.microsoft.com/en-us/library/bb613488%28VS.85%29.aspx

储存profiles是什么意思_Powershell Profiles配置文件的存放位置介绍相关推荐

  1. applicationContext.xml 配置文件的存放位置

    web.xml中classpath:和classpath*:  有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件 ...

  2. Outlook 2003中各个数据存储和配置文件的存放位置

    这个还是比较有用的 以下是 Microsoft Outlook 2003 所用的数据存储和配置文件的列表.某些文件夹可能是隐藏文件夹.以Windows XP 为列,.打开"我的电脑" ...

  3. java spring配置文件路径_java - 在spring b中从命令行设置活动配置文件和配置位置...

    java - 在spring b中从命令行设置活动配置文件和配置位置 我有一个春季启动应用程序. 我的应用程序中有三个配置文件 - > 开发,分期和生产. 所以我有3个文件 应用developm ...

  4. SpringBoot之配置文件加载位置

    1.简介 SpringBoot启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件 优先级由高到低,高优先级的配 ...

  5. 配置文件加载位置||外部配置加载顺序||自动配置原理

    配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...

  6. Spring boot配置文件加载位置

    配置文件加载位置 springboot 启动 会扫描以下位置的application.properties 或者application.yml文件,作为Spring boot的默认配置文件 –file ...

  7. Cloudera Manager内部结构、功能包括配置文件、目录位置等

    2019独角兽企业重金招聘Python工程师标准>>> 问题导读 1.CM的安装目录在什么位置? 2.hadoop配置文件在什么位置? 3.Cloudera manager运行所需要 ...

  8. linux查看apache配置文件路径,linux 命令行下查看apache配置文件httpd.conf位置

    如何用linux命令查看apache配置文件httpd.conf位置,说明如下 输入命令 httpd -V 输出结果 [root@MyServer ~]# httpd -V Server versio ...

  9. 解析Cloudera Manager内部结构、功能包括配置文件、目录位置等

    转载自 http://www.aboutyun.com/thread-9189-1-1.html 问题导读 1.CM的安装目录在什么位置? 2.hadoop配置文件在什么位置? 3.Cloudera ...

最新文章

  1. 团队不需要在计划会上考虑到所有事情
  2. mac 10.12显示隐藏文件
  3. python 使用pymysql执行sql语句,使用try防止出错
  4. ubuntu常用软件安装集合:360浏览器、QQ--持续更新
  5. CE修改器教程总结2
  6. SNMP 简单网络管理协议
  7. 连接共享服务器显示拒绝访问权限,无权限访问共享打印机,windows无法连接到打印机拒绝访问 怎么办?...
  8. 内部版本号android,分享个老教程:修改手机型号、品牌、内部版本号、Android版本...
  9. New setting keys are not allowed; use getters/setters in relevant manager class [NoSettingsProvider]
  10. windows下制作linux U盘启动盘或者安装优盘(转)
  11. 【年度盘点】2016年互联网10大热点,谁在沸腾谁在死去?
  12. OSCP靶场6-Stapler(用户收集、wordpress、SMB、mysql上传文件执行反弹shell、用户历史命令)
  13. 【Linux设置系统时间】
  14. DDD解决软件系统腐化之道
  15. 治头发稀少哪个方法好 六个有效的生发方法
  16. PCB电磁兼容设计1
  17. Windows下的cache-浏览器缓存
  18. 第十三章 Delphi开发数据库应用程序概述(二)
  19. 网吧服务器硬盘压力百分之百,网吧无盘服务器硬盘的测试方法
  20. webserveice搭建

热门文章

  1. java程序n体问题_2n皇后问题 (Java代码)详解
  2. 将整个表单设置为只读_如何将Git的界面语言设置为中文?
  3. linux时间树,linux小知识之查看系统时间
  4. 基本可编程芯片初始化字8255、8253、8259
  5. 《深入理解 Spring Cloud 与微服务构建》第九章 熔断器 Hystrix
  6. 记录一下代码编辑器的主题修改
  7. https证书设置以及设置301跳转
  8. JAVA 【引用类型】和【对象类型】在【继承】中的异同
  9. CodeForces 13C【DP】
  10. 160308_Helloworld_Console Application