gpt4 book ai didi

Powershell 7 导入模块不会跨 session 持续存在

转载 作者:行者123 更新时间:2023-12-05 04:30:59 26 4
gpt4 key购买 nike

如果我打开一个新的 Powershell 7 session 并运行 get-command Get-Website我得到的回应是

Get-Command: The term 'Get-Website' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

如果我然后运行 ​​import-Module WebAdministration 并再次运行 get-command Get-Website,这次我得到 expectefd 输出

CommandType     Name                                               Version    Source
----------- ---- ------- ------
Function Get-Website 1.0 WebAdministration

如果我关闭 Powershell 7 session ,打开一个新 session 并运行 get-command Get-Website,新 session 无法识别该命令。

如果我运行 Windows Powershell session ,我不必导入模块,命令已经存在。

谁能解释一下这是怎么回事?

谢谢

最佳答案

You are not the only person having this problem .不幸的是,我不能说那里的任何解决方案是否有效,因为提问者或其他任何人都没有确认它们。

Note: I had originally suspected this might be a problem with automatic importing through the WindowsCompatibility module, but it appears that it does not interfere with auto-importing of modules. In addition, as of PowerShell 7 the WindowsCompatibility module features are baked into PowerShell itself.

无论出于何种原因,WebAdministration 可能无法成为 automatically importedPowerShell 核心 中。这有几个原因,但它们主要在模块方面,如果不修改模块就无法更改行为。

您可以尝试在当前的 PowerShell session 中设置 $PSModuleAutoLoadingPreference = 'All',但通常不需要更改 ModuleQualified 的默认值。有关 $PSModuleAutoLoadingPreference 的更多信息可以是 found here .

如果这不起作用,您将必须在每个 session 中手动导入模块。


幸运的是,绝大多数模块不需要手动导入。对于不能自动导入的模块,您必须在每个新 session 中使用Import-Module MODULENAME。您可以通过将 Import-Module cmdlet 添加到以下配置文件位置之一来简化此过程:

$profile.CurrentUserCurrentHost
$profile.CurrentUserAllHosts
$profile.AllUsersCurrentHost
$profile.AllUsersAllHosts

对于脚本,Import-Module 通常应该在脚本内部完成,以防止在需要禁用配置文件加载的情况下需要配置文件,例如调用 PowerShell 时通过以下方式:powershell.exe -NoProfile ....

在你的情况下,它会像这样:

Import-Module WebAdministration

这里是关于 $profile variable 的一些额外信息.

关于Powershell 7 导入模块不会跨 session 持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71942245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com