Powershell 无法再导入任何模块

Powershell 无法再导入任何模块,powershell,module,Powershell,Module,近5个月来,我每天都在使用PowerShell,特别是Active Directory模块。今天,我去导入模块,发现错误: PS H:\>导入模块activedirectory 导入模块:未加载程序集“Microsoft.ActiveDirectory.Management”,因为找不到具有该名称的程序集。请验证程序集名称,然后重试。 第1行字符:1 +导入模块activedirectory + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:Invali

近5个月来,我每天都在使用PowerShell,特别是Active Directory模块。今天,我去导入模块,发现错误:

PS H:\>导入模块activedirectory
导入模块:未加载程序集“Microsoft.ActiveDirectory.Management”,因为找不到具有该名称的程序集。请验证程序集名称,然后重试。
第1行字符:1
+导入模块activedirectory
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:InvalidOperation:(:)[Import Module],DllNotFoundException
+FullyQualifiedErrorId:FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand
我在谷歌上搜索了几个小时,仍然不知道发生了什么。我的电脑没有任何变化,我没有安装任何新的软件、模块或补丁。所有的广告窗口功能都已启用,我已多次重新启动。如果我运行
获取模块
,ActiveDirectory将显示:

ModuleType版本名exportedCommand
---------- -------    ----                                ----------------
清单1.0.0.0 ActiveDirectory
我以前从未见过这样的事情,所以我一直在执行我在谷歌上能找到的每一个步骤

以下是我迄今为止所做的工作:

  • 重启了一百万次
  • 尝试在提升的窗口中运行该命令(仍然失败)
我能够通过CMD成功运行
powershell-importsystemmodules

我确实在这个位置有广告模块:
C:\Windows\System32\windowsupershell\v1.0\Modules\ActiveDirectory
,还有文档(我不确定它是否应该同时存在,这正是我发现的)

PS C:\Windows>dism/online/Get FeatureInfo/FeatureName:RemoteServerAdministrationTools角色AD Powershell
部署映像服务和管理工具
版本:6.1.7600.16385
图像版本:6.1.7601.18489
功能信息:
功能名称:RemoteServerAdministrationTools角色AD Powershell
显示名称:Windows PowerShell的Active Directory模块
描述:用于Windows PowerShell的Active Directory模块为管理目录服务对象提供了集中化的体验。
需要重新启动:可能
状态:已启用
自定义属性:
(未找到自定义属性)

就像我说的,我没有在我的电脑上做任何改变。我甚至有几天没有重新启动。今天早上我正在使用它,今天下午它就停止工作了。

卸载、重新安装和重新配置Active Directory都可以修复它。出于某种原因,它卸载两次失败,安装一次失败,我不得不在“打开或关闭Windows功能”中配置它四次,因为它会说它接受了更改,但重新启动后,这些更改就会消失


另一方面,我也认为我知道问题的起因。当天早些时候,我正在编写一个脚本来删除安全outlook文件夹中的文件。我不是以管理员的身份运行,所以它不应该做任何事情,但出于某种原因,它开始在系统文件中循环。我收到了一百万条“拒绝访问”消息,但我想知道它是否在Active Directory模块停止之前删除了一个对其至关重要的文件。

卸载、重新安装和重新配置Active Directory解决了这个问题。出于某种原因,它卸载两次失败,安装一次失败,我不得不在“打开或关闭Windows功能”中配置它四次,因为它会说它接受了更改,但重新启动后,这些更改就会消失


另一方面,我也认为我知道问题的起因。当天早些时候,我正在编写一个脚本来删除安全outlook文件夹中的文件。我不是以管理员的身份运行,所以它不应该做任何事情,但出于某种原因,它开始在系统文件中循环。我收到了一百万条“拒绝访问”消息,但我想知道它是否在Active Directory模块停止之前删除了一个对其至关重要的文件。

您能显示此命令的结果吗
dism/online/Get FeatureInfo/FeatureName:RemoteServerAdministrationTools角色AD Powershell
当我把它复制到这里时,格式很糟糕,所以我编辑了主要文章,将结果放在底部附近。是的,这可能是最好的。输出看起来不错;与我的完全相同(即使是
可能的
需要重新启动),因此似乎没有任何线索。编辑:除了我的版本不同(这里是Win 8.1,看起来像Win 7?)听起来需要修复或重新安装。这篇文章描述了如何安装模块。我会做相反的卸载,然后重新安装,除非你能找到一个修复选项的地方。(如果您可以找到MSI/MSU安装程序,那么您可以使用/?从命令行运行它们以查找修复参数名称)重新安装成功!非常感谢你们两位!你能显示这个命令的结果吗
dism/online/Get FeatureInfo/FeatureName:RemoteServerAdministrationTools角色AD Powershell
当我把它复制到这里时,格式很糟糕,所以我编辑了主要文章,将结果放在底部附近。是的,这可能是最好的。输出看起来不错;与我的完全相同(即使是
可能的
需要重新启动),因此似乎没有任何线索。编辑:除了我的版本不同(这里是Win 8.1,看起来像Win 7?)听起来需要修复或重新安装。这篇文章描述了如何安装模块。我会做相反的卸载,然后重新安装,除非你能找到一个修复选项的地方。(如果您可以找到MSI/MSU安装程序,那么您可以使用/?从命令行运行它们以查找修复参数名称)重新安装成功!非常感谢你们两位!