我想创建一个cmdlet
的alias
,它在我关闭Powershell的当前会话后不会过期,假设我有以下别名:
C:\Users\Aymen> New-Alias Goto Set-Location
这完美地创建了Goto
别名,但我想在关闭当前会话后使用它,我该如何实现呢?
备注:
PowerShell帮助系统建议我可以导出我创建的别名,并在下次打开新会话时导入它们。实际上,这并不是我真正想要的,因为,在我通过不同会话创建别名后,是否有一种直接明确的方法来保持别名
我想创建一个cmdlet
的alias
,它在我关闭Powershell的当前会话后不会过期,假设我有以下别名:
C:\Users\Aymen> New-Alias Goto Set-Location
这完美地创建了Goto
别名,但我想在关闭当前会话后使用它,我该如何实现呢?
备注:
PowerShell帮助系统建议我可以导出我创建的别名,并在下次打开新会话时导入它们。实际上,这并不是我真正想要的,因为,在我通过不同会话创建别名后,是否有一种直接明确的方法来保持别名
9条答案
按热度按时间nimxete21#
更新日期-2021年1月
可以将每次启动PowerShell时要执行的任何PowerShell代码存储在
profile.ps1
文件中。至少有6 different paths个位置可以存储代码,具体取决于要执行代码的用户。我们将只考虑其中的两个位置:“所有用户”和“仅您的用户”路径(请访问上一个链接以了解更多选项)。要回答您的问题,只需创建一个包含要执行的代码的
profile.ps1
文件,即:并将其保存在正确的路径中:
"$Home\Documents"
(通常为C:\Users\<yourname>\Documents
):只有您的使用者会执行程式码。这是建议的位置 * 您可以在PowerShell中执行echo $profile
,快速找到您的设定档位置 *$PsHome
(C:\Windows\System32\WindowsPowerShell\v1.0
):每个用户都将执行此代码重要提示:请记住,您需要重新启动PowerShell示例以应用更改。
提示
profile.ps1
文件,则首先执行所有用户的文件,然后执行特定于用户的文件。这意味着如果出现重复或冲突,特定于用户的命令将覆盖变量。另一个优点是,您不需要管理员权限就可以将文件添加到用户空间(您可以在C:\Windows\System32中执行任何操作)。
$PsHome
路径是不同的。如果您希望始终执行配置文件代码,则应考虑这两种环境。路径包括:
C:\Windows\System32\WindowsPowerShell\v1.0
(适用于64位环境)C:\Windows\SysWow64\WindowsPowerShell\v1.0
为32位(是的,我知道,文件夹命名是违反直觉的,但it's correct)。rjzwgtxy2#
直接将这种东西添加到您的
$env:WINDIR
powershell文件夹中不是一个好主意,除非您确实希望您的别名是全局的。建议将其添加到您的个人资料中:
现在,将您的别名添加到现在打开的Microsoft.PowerShell_profile.ps1文件中:
然后保存它,并使用以下命令刷新当前会话:
**注意:**以防万一,如果您获得了
类别信息:安全性错误:(:)[],PS安全异常+完全限定错误ID:未经授权的访问
请尝试以下命令并再次刷新会话。
jgzswidk3#
打开Windows PowerShell窗口并键入:
然后创建一个函数,例如:
然后在函数名称下键入以下内容:
现在,您可以在Windows PowerShell中键入“google”一词,并让它执行您的函数中的代码!
wa7juj8i4#
2018年,Windows 10操作系统
您可以借助简单的PowerShell脚本链接到任何文件或目录。
编写文件快捷方式脚本
打开Windows PowerShell伊势。在脚本窗格中写入:
然后进入命令行窗格,找到您的PowerShell用户配置文件地址
echo $profile
,将脚本保存在该地址中。PowerShell设定档位址中的指令码会在您每次开启PowerShell时执行。捷径应该可以在每个新的PowerShell windows 中使用。
编写目录快捷方式脚本
它需要脚本中的另一行。
其余的完全一样。
启用PowerShell脚本
默认情况下,PowerShell脚本被阻止。要启用它们,请打开设置-〉更新和安全-〉开发人员。选择开发人员模式(可能需要重新启动)。
。
向下滚动到PowerShell部分,勾选“更改执行策略...”选项,然后应用。
weylhg0b5#
在这张可能的地点名单上再加上...
这对我不起作用:
\Users\{ME}\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
然而,这样做了:
\Users\{ME}\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
如果您没有配置文件或者您想建立一个配置文件,运行以下命令,它将创建必要的文件夹/文件,甚至告诉您它所在的位置!
New-Item -path $profile -type file -force
hiz5n14c6#
我发现我可以运行这个命令:
它打开了我的默认Powershell配置文件(对于当前用户,所有主机)。我找到了那个here。
然后添加一个别名。例如,下面是我为
jupyter notebook
创建的别名jn
(我讨厌每次都输入繁琐的jupyter notebook
):14ifxucb7#
要创建profile 1. psl文件,请键入以下命令:
新项目$PROFILE.当前用户所有主机-项目类型文件-强制
要访问该文件,请键入下一个命令:
伊势$PROFILE.当前用户所有主机
要执行此操作,请关闭脚本,然后键入以下命令:
设置执行策略作用域当前用户
然后:
远程签名
然后再次执行以下命令:
伊势$PROFILE.当前用户所有主机
然后最后在脚本中键入别名,保存它,它们应该在每次运行powershell时运行,甚至在重新启动计算机后也是如此。
qmelpv7a8#
这是一个有点花哨...但它的工作:
**步骤1:**建立Powershell设定档:
**步骤2:**然后在tools ~/Documents/tools/profile.ps1中:
步骤3:
$设置-执行策略-作用域当前用户不受限制$ . ./install_profile.ps1
hxzsmxv29#
这是一个个人品味的问题,但我更喜欢将我的别名一起存储在一个单独的文件中,并在配置文件中调用
Import-Alias
。然后在伊势中,将此行放入您的配置文件中。ps1