Powershell配置文件中的功能没有显示?

时间:2019-03-27 22:28:09

标签: powershell

我正在编写脚本,并且计算机的默认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窗口中尝试了它。

1 个答案:

答案 0 :(得分:1)

应用Dot sourcing operator .

  

在当前作用域中运行脚本,以便所有功能,别名和   脚本创建的变量将添加到当前作用域。

用法如下:

. .\Microsoft.PowerShell_profile.ps1

另一个提示:将默认执行策略设置为RemoteSigned,而不是AllSigned