PowerShell基础教程(5)——如何自定义 Windows PowerShell

2023-11-19

PowerShell基础教程(5)——如何自定义 Windows PowerShell

             <o:p></o:p>

本节介绍可以自定义 Windows PowerShell 以最大限度地满足您的需要的几种方法。<o:p></o:p>

检查执行策略<o:p></o:p>

脚本是一种功能非常强大的工具,但是它可能被滥用于恶意目的。为保护用户数据和操作系统的完整性,Windows PowerShell 包括了若干安全功能,其中之一是执行策略。

Windows PowerShell 执行策略确定是否允许脚本运行,如果它们可以运行,则确定它们是否必须经过数字签名。它还确定是否可以加载配置文件。<o:p></o:p>

默认的执行策略 Restricted 是最安全的执行策略。它不允许任何脚本运行,而且不允许加载任何配置文件,其中包括 Windows PowerShell 配置文件。您仍然能够以交互方式使用 Windows PowerShell。<o:p></o:p>

但是,如果要运行脚本或加载配置文件,则可以更改系统上的执行策略。有关信息和说明,请键入:<o:p></o:p>

get-help about_signing<o:p></o:p>

<o:p></o:p>若要查找系统上的执行策略,请键入:<o:p></o:p>

get-executionpolicy<o:p></o:p>

<o:p></o:p>若要更改系统上的执行策略,请使用 Set-ExecutionPolicy cmdlet。例如,若要将执行策略更改为 RemoteSigned,请键入:<o:p></o:p>

set-executionpolicy remotesigned<o:p></o:p>

Windows PowerShell 执行策略保存在 Windows 注册表中,即使您卸载并重新安装 Windows PowerShell 也保留执行策略。<o:p></o:p>

Windows Powershell 配置文件<o:p></o:p>

将别名、函数和变量添加到 Windows PowerShell 时,实际上仅将它们添加到当前的 Windows PowerShell 会话。如果退出会话或者关闭 Windows PowerShell,则更改将丢失。<o:p></o:p>

若要保留这些更改,可以创建 Windows PowerShell 配置文件,然后将别名、函数和变量添加到配置文件。每次启动 Windows PowerShell 时,都会加载该配置文件。<o:p></o:p>

若要加载配置文件,Windows PowerShell 执行策略必须允许您加载配置文件。如果它不允许,则加载配置文件的尝试将失败,而且 Windows PowerShell 显示一条错误消息。<o:p></o:p>

了解配置文件<o:p></o:p>

Windows PowerShell 中可以有四个不同的配置文件。配置文件按加载顺序列出。较特定的配置文件优先于较不特定的配置文件(如果它们适用)。<o:p></o:p>

·      %windir%\system32\WindowsPowerShell\v1.0\profile.ps1<o:p></o:p>

此配置文件适用于所有用户和所有外壳程序。<o:p></o:p>

·      %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1<o:p></o:p>

此配置文件适用于所有用户,但仅适用于 Microsoft.PowerShell 外壳程序。<o:p></o:p>

·      %UserProfile%\My Documents\WindowsPowerShell\profile.ps1<o:p></o:p>

此配置文件仅适用于当前用户,但影响所有外壳程序。

·      %UserProfile%\\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1<o:p></o:p>

此配置文件仅适用于当前用户和 Microsoft.PowerShell 外壳程序。<o:p></o:p>

创建配置文件<o:p></o:p>

可以创建、共享和分发配置文件,以便在较大的企业中强制实施 Windows PowerShell 的一致视图。

配置文件不是自动创建的。若要创建配置文件,请在指定位置中创建具有指定名称的文本文件。

通常,将使用特定于用户、特定于外壳程序的配置文件(称为用户配置文件)。此配置文件的位置存储在 $profile 变量中。<o:p></o:p>

若要确定是否已创建用户配置文件,请键入:<o:p></o:p>

test-path $profile<o:p></o:p>

如果存在该配置文件,则响应为 True;否则响应为 False<o:p></o:p>

若要创建用户配置文件,请键入:<o:p></o:p>

new-item -path $profile -itemtype file -force<o:p></o:p>

若要在记事本中打开配置文件,请键入:<o:p></o:p>

notepad $profile<o:p></o:p>

若要创建其他配置文件之一,如适用于所有用户和所有外壳程序的配置文件,请键入:<o:p></o:p>

new-item -path C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -forc

对于 Windows PowerShell 中的环境变量,不能使用“%”表示法。若要标识 Windows 环境变量,请使用以下格式:$env:<变量>,如 $env:windir<o:p></o:p>

new-item -path C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force<o:p></o:p>

如果在记事本中创建配置文件,然后保存它,请务必将文件名括在引号中。例如:<o:p></o:p>

"profile.ps1"<o:p></o:p>

如果没有引号,则记事本会将 .txt 文件扩展名追加到文件,而 Windows PowerShell 将无法识别它。<o:p></o:p>

使用配置文件存储日常使用的别名、函数和变量。一个非常有用的函数是用于在喜爱的文本编辑器中打开配置文件的函数。例如,以下命令创建一个名为 pro 的函数,该函数用于在记事本中打开用户配置文件。<o:p></o:p>

function pro { notepad $profile }<o:p></o:p>

有了设计良好的配置文件,就可以更轻松地使用 Windows PowerShell 和管理系统。

<o:p> </o:p>

严禁抄袭和谢绝任何形式的私自转载,如需转载,请与本人联系,谢谢!<o:p></o:p>

好书推荐,精彩明天继续······<o:p></o:p>

 向有一定开发经验的朋友们推荐两本.NET方面的经典著作,中文版在国内深受读者好评!<o:p></o:p>

1.C#.NET实战:平台、语言与框架》(原书名:Practical .Net2 and C#2: Harness the Platform, the Language, the Framework<o:p></o:p>

<o:p> </o:p>

(1)       C#传奇经典<o:p></o:p>

(2)       世界众多.NET专家好评如潮的秘籍<o:p></o:p>

(3)       国内四位MVP联袂翻译<o:p></o:p>

(4)       深入全面,知识密集,代码丰富<o:p></o:p>

更多详细信息: http://www.china-pub.com/37188<o:p></o:p>

<o:p> </o:p>

2.ASP.NET 2.0揭秘.1》(原书名: ASP.NET 2.0 Unleashed

 

<o:p></o:p>

(1)   微软技术大师力作<o:p></o:p>

(2)   四位微软MVP联袂翻译,众多MVP鼎力推荐<o:p></o:p>

(3)   代码密集,提供C#VB.NET两种版本<o:p></o:p>

(4)   有史以来最成功的ASP.NET著作的最新版,有“ASP.NET圣经之誉。<o:p></o:p>

更多详细信息: http://www.china-pub.com/36237

<o:p></o:p>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PowerShell基础教程(5)——如何自定义 Windows PowerShell 的相关文章

  • 类似于eternity的C++对象持久化库

    我正在寻找一个 C 对象持久库来替换永恒图书馆 http sourceforge net projects eternity it 我已经用它制作了大约一天的原型 永恒图书馆的能力不足 我创建了一个与此类似的对象层次结构 我有一个std l
  • 用于分页 ASP.Net 的中继器内的链接按钮

    我正在制作一个带有搜索的网页 该搜索从 MSSQL 中获取大量信息 我所做的是一个存储过程 仅返回要在网站上看到的页面 现在我正在处理分页 因为我需要显示类似于谷歌的内容 如果您在第 1 页 它们会显示前 10 页 如果您在第 19 页 它
  • cygwin winsymlinks:本机不起作用

    我现在和 cygwin 斗争了很长一段时间 我广泛搜索了如何让 cygwin 创建 Windows 风格的符号链接 我尝试了以下方法 export CYGWIN winsymlinks native export CYGWIN winsym
  • 为 Json 对象生成的 C# 类的优点和缺点

    我有示例 Json 我需要将其序列化为 C 对象 我决定为此目的利用杠杆Json Net http json codeplex com 图书馆 我还需要有 C 类来表示这个 Json 可以使用创建类Json C 类生成器 http json
  • Powershell Get-ChildItem 输出延迟? [复制]

    这个问题在这里已经有答案了 Powershell 版本信息如下 Name Value PSVersion 5 0 10586 494 PSCompatibleVersions 1 0 2 0 3 0 4 0 BuildVersion 10
  • 当用户的角色没有足够的权限时,将用户从 web.config 重定向到另一个页面

    我正在使用 ASP NET 我希望能够将用户从 Web 配置重定向到另一个页面 我有很多限制 例如
  • 尝试从 npm 安装 Angular 2 Material - 源文本中无法识别的标记

    我从 PowerShell 尝试以下命令 以管理员身份 npm install angular2 material 并得到错误 Unrecognized token in source text At line 1 char 13 npm
  • 如何确定某个键是否被按下,只知道它在美国键盘上的位置?

    考虑一下 对于 Windows 视频游戏 我需要确定在美式英语键盘布局上生成 和 字符的键 通常位于 Escape 键下方并保留为 1 是否已被按下 这听起来似乎是一个微不足道的问题 但对我来说似乎不是一个问题 当Windows发送键盘消息
  • 为什么“Get-ChildItem -File | Get-FileHash”有效?

    我对 Bash 比对 Powershell 更熟悉 有时我对后者的对象模型感到困惑 看着Get FileHash 的文档 https learn microsoft com en us powershell module microsoft
  • Request.Url.Port 给出错误的端口

    我的支持团队为我提供了一个 Live IP 例如http 201 121 152 168 68 现在在正常情况下你会认为68是端口 但是 当我执行 Request Host 时 我得到201 121 152 168当我执行 Request
  • ASP.NET/ADO.NET:处理 .NET 对象内的许多数据库连接?

    我们有一个 NET 对象 它对数据库进行大量读 写操作 在该对象 或使用它的 ASP 页 的整个生命周期中 它可能会通过查询 更新来访问数据库 1 到 10 次 它不是在每次对象需要访问数据库时打开和关闭数据库连接 而是只是在实例化期间打开
  • 如何在C#中创建全局变量?

    我需要在我的 net 项目中使用全局变量 但是 我无法在两种方法之间处理它 my code string str protected void Page Load object sender EventArgs e if Page IsPo
  • 如何在Python中打印颜色/颜色?

    我对 Python 和 StackOverflow 都是新手 需要一点帮助 我想用 Python 打印颜色 并在 Google 上搜索过 但运气不佳 每次我都很困惑 但都没有成功 这是我输入的代码 answer input Wanna go
  • Bash 'printf' 相当于命令提示符?

    我希望在 Windows 命令提示符下将一些字符串输入通过管道传输到一个小型 C 程序 在 bash 中我可以使用 printf AAAAA x86 x08 x04 xed program 本质上 我需要一些东西来转义命令提示符中的那些十六
  • 批处理:在特定程序中打开特定文件?

    当记事本是 txt 文件的默认程序时 如何告诉 Windows 在写字板中打开 C test test txt 接受的答案对我不起作用 我不确定这是因为我试图运行的程序 还是因为路径中有空格 即使我用引号引起来 或者其他原因 不管怎样 我可
  • 使用 Powershell 从 JSON 获取值

    非常初学者的问题 我正在尝试使用 Powershell 从 JSON 获取某些值 具体来说 我想列出服务 测试00000 and FAKE only 当我运行下面的脚本时 我得到 TEST00000 FAKE Enabled True Pr
  • Scala 和 Spark:Windows 上的 Dataframe.write._

    有人设法使用 Spark 写入文件 尤其是 CSV 吗 数据框 http spark apache org docs latest api scala index html org apache spark sql Dataset在 Win
  • 从所有通讯组中删除所有前雇员

    因此 今天我被分配的任务是从所有 DL 中删除域中的所有前员工 他们在 AD 中拥有自己的文件夹 有没有什么方法可以快速做到这一点 或者至少比单独检查每个并转到 gt 的成员删除所有更快 Thanks 编辑以添加更多信息 有 822 个用户
  • 如何在 C# 中从工作线程发布 UI 消息

    我正在用 C 编写一个简单的 winforms 应用程序 我创建了一个工作线程 我希望主窗口响应线程完成其工作 只需更改文本字段中的一些文本 testField Text Ready 我尝试了事件和回调 但它们都在调用线程的上下文中执行 并
  • 链接到大地址感知 DLL

    假设我有一个使用 LARGEADDRESSAWARE 链接器标志集构建的 DLL 现在我有一个动态链接到该 DLL 的应用程序 这是否会使我的应用程序具有大型地址意识 如果不是 那么为任何 DLL 设置此标志是否有意义 讨论here htt

随机推荐

  • linux安装和卸载gcc g 4.8,CentOS 编译安装gcc 4.8 为了支持C++11新特性

    gcc属于gun软件 下载gun所有软件 1 编译gcc的时候 还是需要存在gcc g 2 等编译完成 卸载系统的gcc g 3 测试c 11 chunli CentOS sudoyuminstallgccgcc c chunli Cent
  • pathon爬虫,制作云图

    转载请标明出处 http blog csdn net forezp article details 70198541 本文出自方志朋的博客 今天一时兴起 想用Python爬爬自己的博客 通过数据聚合 制作高逼格的云图 对词汇出现频率视觉上的
  • 关于xilinx BRAM IP的延迟以及流程

    关于RAM IP的延迟 1 选择了output registers 可以在RAM输出端口添加register 也可以在core的输出添加 在primitives添加 降低clock to out到primitive的延迟 在core添加re
  • MySQL之数据库引擎详解(内附面试题:InnoDB和MyISAM的联系与区别)

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于MySQL数据库引擎的相关操作吧 目录 Welcome Huihui s Code World 一 数据库引擎是什么 1 数据库引擎概念 2 最常见的引擎 I
  • Hive:Unable to open a test connection to the given database. JDBC url = jdbc:mysql://master12:3306

    hive启动不成功 一直报各种错 我是执行这条命令出的错 hive service metastore 这个问题困扰了我两三天一直没解决 网上找了各种方法基本都试过 还是不行 可能每个人的原因也不太一样吧 我说我的解决方法 可以试下 1 检
  • 曼哈顿算法公式_Manhattan Distance Calculation(曼哈顿距离算法)

    首先介绍一下曼哈顿 曼哈顿是一个极为繁华的街区 高楼林立 街道纵横 从A地点到达B地点没有直线路径 必须绕道 而且至少要经C地点 走AC和CB才能到达 由于街道很规则 ACB就像一个直角3角形 AB是斜边 AC和CB是直角边 根据毕达格拉斯
  • 【springboot+mybatisplus】分页查询-单表/联表

    参考链接 https www jianshu com p 0a21569f1e06 单表的分页查询用mybatisplus的selectPage就可以实现 联表的分页查询需要自己写sql语句 因为老哥不让写sql语句在DAO层 难看 所以写
  • 图书信息添加

    实现图书信息添加的添加功能并创建字符编码过滤器 避免中文乱码现象的产生 1 创建字符编码过滤器对象 创建字符编码过滤器对象 其名称为CharactorFilter类 该类实现了javax servlet Filter接口 并在doFilte
  • AD采样出来的数值与实际值之间的关系

    当刚接触AD采样时 一直对于AD采集出来的数值与实际的值之间的关系有些模糊 现在闲暇下来打算记录一下 这里以采集量为电压量来记录 当采集温度 电流等模拟量时 都是通过一个电路把模拟量转化为一个电压量输入进AD采样引脚 就不一一叙述 AD采样
  • 结构体对齐(内存对齐)

    本文转自 http www ksarea com articles 20071004 sizeof struct memory html 有的时候 在脑海中停顿了很久的 显而易见 的东西 其实根本上就是错误的 就拿下面的问题来看 struc
  • 【面试刷题】——C++公有继承保护继承和私有继承

    在C 中 有三种继承方式 公有继承 public inheritance 保护继承 protected inheritance 和私有继承 private inheritance 这些继承方式决定了派生类如何继承基类的成员和访问权限 公有继
  • 一文揭秘饿了么跨端技术的演进、实践与落地

    本文会先带领大家一起简单回顾下跨端技术背景与演进历程与在这一波儿接着一波儿的跨端浪潮中的饿了么跨端现状 以及在这个背景下 相较于业界基于 React Vue 研发习惯出发的各种跨端方案 饿了么为什么会选择走另外一条路 这个过程中我们的一些思
  • python稳健回归_statsmodel线性回归(ols)的稳健性问题-Python

    我用统计模型测试了一些基本的类别回归 我建立了一个确定性模型Y X Z 其中X可以取3个值 a b或c Z只能取2 d或e 在那个阶段 模型是完全确定的 我为每个变量设置了如下的权重a s weight 1 b s weight 2 c s
  • Vue基础1:生命周期汇总(vue2)

    Description 生命周期图 可以理解vue生命周期就是指vue实例从创建到销毁的过程 在vue中分为9个阶段 创建前 后 载入前 后 更新前 后 销毁前 后 其他 常用的有 created mounted destroyed 一 创
  • Java中String 和 int 的相互转换

    int gt String int i 12345 String s 第一种方法 s i 第二种方法 s String valueOf i 这两种方法有什么区别呢 作用是不是一样的呢 是不是在任何下都能互换呢 String gt int s
  • 假期实习-踩坑日记

    vue3 x 7 16 elementplus 导入 不同于2 0的导入方式 3 x中main js应当改成如下 import createApp from vue import installElementPlus from plugin
  • 黑盒测试用例设计--题目2

    1 根据下面给出的规格说明 进行测试用例的设计 一个程序读入3个整数 把这三个数值看作一个三角形的3条边的长度值 这个程序要打印出信息 说明这个三角形是普通的 是等腰的 还是等边的 测试用例 2 保险费率计算 某保险公司承担人寿保险 该公司
  • vue中阻止冒泡 阻止默认行为

    1 事件冒泡 不再派发事件 方法 event stopPropagation html
  • 分享一款谷歌插件adguard

    下载地址 链接 https pan baidu com s 1jMAA6kNMr1yqjQKXb7aMtQ 提取码 0kk3
  • PowerShell基础教程(5)——如何自定义 Windows PowerShell

    PowerShell基础教程 5 如何自定义 Windows PowerShell