当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 未找到有效的模块文件

作者:精品下载站 日期:2024-12-14 13:34:27 浏览:14 分类:玩电脑

未找到有效的模块文件


[玩转系统] 未找到有效的模块文件

在某些情况下,当您尝试导入 PowerShell 模块时可能会看到以下错误消息:

Import-Module : The specified module 'Microsoft.Graph' was not loaded because
  no valid module file was found in any module directory.
At line:1 char:1
+ Import-Module Microsoft.Graph
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (Microsoft.Graph:String)
      [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.
      Commands.ImportModuleCommand

通常,有两个问题可能会导致此错误消息:

  1. 您的系统上未安装该模块。
  2. 您的 PowerShell 路径不正确。

请按照以下步骤查找错误消息“未找到有效模块文件”的根本原因。

您的系统上是否安装了该模块?

PowerShell 模块安装在两个文件夹之一:

在管理模式下安装的模块放置在 %ProgramFiles%\WindowsPowerShell\Modules 文件夹中。

在用户模式下安装的模块放置在 %UserProfile%\Documents\WindowsPowerShell\Modules 文件夹中。

请注意,您可以在这两个文件夹中并排安装 PowerShell 模块。但是,如果您并排安装不同的版本,那么您真的会遇到麻烦。阅读这篇文章以获取更多信息。

验证您尝试导入的模块是否位于两个模块文件夹中。

您还可以使用 Get-Module CmdLet 搜索系统上已安装的模块(查找 Microsoft Graph 模块):

PS C:\> Get-Module -ListAvailable -Name *graph*


    Directory: C:\Program Files\WindowsPowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   1.22.0     Microsoft.Graph
Script     1.22.0     Microsoft.Graph.Applications        {Add-MgApplicationKey, Add...
Script     1.22.0     Microsoft.Graph.Authentication      {Connect-MgGraph, Disconne...
Script     1.22.0     Microsoft.Graph.Bookings            {Get-MgBookingBusiness, Ge...
Script     1.22.0     Microsoft.Graph.Calendar            {Get-MgGroupCalendar, Get-...
Script     1.22.0     Microsoft.Graph.ChangeNotifications {Get-MgSubscription, Invok...
Script     1.22.0     Microsoft.Graph.CloudCommunications {Add-MgCommunicationCallLa...
Script     1.22.0     Microsoft.Graph.Compliance          {Add-MgComplianceEdiscover...
Script     1.22.0     Microsoft.Graph.CrossDeviceExper... {Get-MgUserActivity, Get-M...
Script     1.22.0     Microsoft.Graph.DeviceManagement    {Get-MgDeviceManagement, G...
...

(部分输出)

您的PowerShell路径是否被修改?

如果模块安装正确,下一步应该验证您的 PowerShell 路径是否已修改。

PowerShell 路径应类似于以下内容:

PS C:\> $env:PSModulePath
C:\Users\Skrubbeltrang\Documents\WindowsPowerShell\Modules;
C:\Program Files\WindowsPowerShell\Modules;
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

该路径应包括用户模式模块和管理模式模块,以及系统文件夹中的第三个路径。

您可以通过高级系统设置修改 PowerShell 路径。运行命令“SystemPropertiesAdvanced”并单击“环境变量”:

[玩转系统] 未找到有效的模块文件

然后在系统变量中选择PSModulePath,点击编辑:

[玩转系统] 未找到有效的模块文件

然后您可以修改 PowerShell 路径。确保在编辑值时使用系统变量:

[玩转系统] 未找到有效的模块文件

修改 PowerShell 路径后,必须重新启动 PowerShell 会话才能使更改生效。

如何避免复杂的 PowerShell 脚本

让我们明确一点:PowerShell 非常适合自动化。但临时支持却很糟糕。

幸运的是,有一个简单的解决方案可以让一级支持者快速高效地完成工作:

Easy365Manager 是 AD 用户和计算机的管理单元,可让您直接从 AD 用户属性执行所有日常 Office 365 邮箱管理。

这包括日历委托等任务,通常需要复杂的 PowerShell 脚本编写:

Easy365Manager 提供了许多优势,使其立即受到全球公司和组织的欢迎:

  • 通过一种工具管理一切(无需多个不同的 Web 控制台)。
  • 众所周知且直观的用户界面(AD 用户和计算机)。
  • 消除属性权限混乱(一切都在一处管理)。
  • 允许删除本地 Exchange。
  • 支持无限用户和管理员的每租户许可。
  • 安装简单,无需更改基础设施,也没有学习曲线。

在此处阅读有关 Easy365Manager 的更多信息并下载 30 天免费试用版。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯