首页 > 解决方案 > 文件资源管理器不会显示 PowerShell 模块目录,否则在 $env:psmodulepath 中可见

问题描述

我正在通过这个 youtube 教程https://www.youtube.com/watch?v=yKstEJKdc4o&t=3661s学习如何创建 powershell 模块- 视频本身并不重要。

我从 docs.microsoft.com 了解到 powershell 默认会有以下模块目录:

$PSHome\Modules (%Windir%\System32\WindowsPowerShell\v1.0\Modules)

$Home\Documents\WindowsPowerShell\Modules (%UserProfile%\Documents\WindowsPowerShell\Modules)

$Env:ProgramFiles\WindowsPowerShell\Modules (%ProgramFiles%\WindowsPowerShell\Modules)

但是,文件资源管理器中没有 C:\users\john\Documents\WindowsPowerShell\Modules 文件夹,而当我从 PowerShell 运行它时,它在 $env:psmodulepath 中清晰可见。我可以一直导航到 C:\Users\john\Documents\WindowsPowerShell 但没有 Modules directory。我确实启用了隐藏文件夹显示,并且还检查了 OneDrive、公共、管理员用户的文档文件夹。这不是工作/学校电脑,这是我自己的电脑。

有人可以帮我理解为什么这个 Modules 文件夹在 $env:psmodulepath 中可见但在文件资源管理器中不可见吗?

标签: powershellpowershell-modulemicrosoft-file-explorer

解决方案


仅仅因为一个位置存在于$env:psmodulepath,并不意味着它实际上必须存在于文件系统中。

您可以将任何随机位置添加到$env:psmodulepath实际不存在的位置。PowerShell 将跳过任何不存在的位置。

使用新的 Windows 帐户,甚至没有WindowsPowerShell目录$env:userprofile\documents,要使用用户配置文件或模块,您必须创建这些目录。

用户创建新目录相当容易,但向$env:psmodulepath. 我想这就是为什么他们已经把它放在那里了,即使它可能永远不会被使用。


推荐阅读