我正在编写脚本,并且计算机的默认ExecutionPolicy
设置为AllSigned
。
我只使用Powershell窗口解决此问题:
PS> Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
我的个人资料目前没有多少,但是随着新任务的出现,我希望能够像这样添加功能:
## Auth stuff
#Import-Module $env:USERPROFILE\Documents\WindowsPowerShell\storecredz.psm1
# NOTE: This sets the ExecutionPolicy to Bypass for the current powershell window...
# `Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process`
function initAssets($blah) {
$Host.UI.RawUI.WindowTitle = "Assets - New Beta"
Import-Module $env:USERPROFILE\Documents\WindowsPowerShell\psm\assets\init.psm1
}
当前上面是我在powershell配置文件中所拥有的...并且由于在我为PS窗口设置ExecutionPolicy
后没有签名(没有签名:\),所以我运行{{ 1}},而我期望它会加载我的.\Microsoft.PowerShell_profile.ps1
函数...但是不会。
当我将其从配置文件复制并粘贴到窗口中时,它确实可以工作...但是我有点希望能够在开始查看资产任务时运行该功能... < / p>
是否有任何特定原因导致当我按Tab键完成功能时可能无法将其拉高?该配置文件运行没有错误...并且我已经在一个新的Powershell窗口中尝试了它。
答案 0 :(得分:1)
在当前作用域中运行脚本,以便所有功能,别名和 脚本创建的变量将添加到当前作用域。
用法如下:
. .\Microsoft.PowerShell_profile.ps1
另一个提示:将默认执行策略设置为RemoteSigned
,而不是AllSigned
。