一、事件起源
长期使用Linux的人都会创建一个alias也就是别名,这样可以避免输入很长的命令,或者更高效的输入命令。我特别喜欢的一个别名是用 ll 命令代替 ls 命令,如果没有别名,那么就会出现:

我想要实现的效果是,打开PowerShell后输入ll命令,立刻就显示当前目录下的文件。
二、 准备工作
为了实现打开PowerShell就立即加载自定义的配置,那么首先需要了解PowerShell的配置文件加载方式。
对于Powershell来说,有一个变量 Profile 定义了Powershell启动时默认加载的配置文件,查看变量的方法: Get-Variable Profile

注意,虽然有这个变量,但是不代表这个文件真的存在(甚至上层文件夹都不存在),查看这个文件是否存在方法:Test-Path $profile

上面返回的 False 代表这个路径不存在(一般该文件在没有单独创建之前都是不存在的),创建这个路径的方法:New-Item -Type file -Force $profile

创建完成后再次进行测试:

三、 添加别名到$Profile 中
上一步刚创建完Profile所以配置文件中内容自然是空的,我们可以通过两种方式验证:

将别名配置添加到Profile变量指向的配置文件中,可以使用notepad进行编辑。 这里为了演示方便,所以使用命令行进行操作,执行命令: Add-Content $Profile 'Set-Alias ll ls'

四、 PowerShell执行策略引发的权限问题
其实上一步已经完成了所有步骤,但是PowerShell处于安全的考虑,已经禁止了启动时候自动加载脚本文件的功能,错误如下:

所以我们可能需要对PowerShell的执行权限进行稍微修改。
4.1. PowerShell默认的执行策略
PowerShell执行策略可以通过Get-ExecutionPolicy -List 命令获取, 默认的策略如下:

4.2. 更改PowerShell的执行策略
修改PowerShell执行策略必须使用管理员权限来操作,命令
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
执行效果:

修改完后,通过普通用户身份即可查看更新后的策略:

五、 更改完成的效果
更改完成后,启动PowerShell直接执行ll命令,可以完成ls一样的效果:

六、 异常问题补充说明
6.1. 普通权限试图修改执行策略
当使用普通用户身份修改PowerShell执行策略时,报错如下:

6.2. 将执行策略恢复成默认值
如果想要把执行策略更改会默认值,方法也比较简单:
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
当然也必须以管理员身份运行,执行效果如下:

七、 其他参考资料
额外参考资料如下: