Windows powershell赢得';驱动器中没有CD时无法启动

Windows powershell赢得';驱动器中没有CD时无法启动,windows,powershell,windows-7-x64,powershell-3.0,Windows,Powershell,Windows 7 X64,Powershell 3.0,我正在使用Windows 7,并已升级到Windows Management Framework 3.0,其中包括PowerShell 3。在过去一周左右的时间里,我开始在启动PowerShell时出错,这会阻止它启动,直到我的计算机驱动器中有CD(任何CD都可以)。到目前为止,我找到的唯一修复程序(这只是一个临时修复程序)是完全卸载并重新安装管理框架。这会一直工作,直到我将CD驱动器用于某些用途,然后PowerShell又开始出现问题。错误对话框显示:驱动器中没有磁盘。请将磁盘插入驱动器D:。

我正在使用Windows 7,并已升级到Windows Management Framework 3.0,其中包括PowerShell 3。在过去一周左右的时间里,我开始在启动PowerShell时出错,这会阻止它启动,直到我的计算机驱动器中有CD(任何CD都可以)。到目前为止,我找到的唯一修复程序(这只是一个临时修复程序)是完全卸载并重新安装管理框架。这会一直工作,直到我将CD驱动器用于某些用途,然后PowerShell又开始出现问题。错误对话框显示:
驱动器中没有磁盘。请将磁盘插入驱动器D:。

有人对这里可能发生的事情有什么建议吗?我发现两个可能与配置设置有关的问题,但仍需要有关检查和验证内容/位置的指导:

  • PowerShell在某些地方配置为在启动时检查某些驱动器,并且对空CD驱动器的响应不好
  • PowerShell实际上正在尝试打开
    D:\
    上的某个路径。我很确定这不是问题所在,因为当驱动器中有CD时,它会打开到我的
    %USERPROFILE%
    ,但当然我可能会丢失一些东西
  • 当然,我肯定还有很多我没有考虑过的可能性
对可能的修复有什么想法吗?我不希望每次使用CD驱动器时都必须卸载和重新安装管理框架

编辑:以下附加详细信息摘自我对各种评论的回复

  • 我可以通过多种方式启动PowerShell来重新创建错误。捷径就是其中之一。从命令提示符(cmd.exe)启动它是另一种方法。即使尝试使用类似于
    PowerShell-ExecutionPolicy RemoteSigned-File script.ps1的命令提示符调用PowerShell脚本,也会产生错误,
    PowerShell/?
  • 我在
    $env:PATH
    中没有看到任何指向
    D:\
    的内容,
    $env:HOMEDRIVE
    未设置为
    D:
    <代码>%windir%
    设置为
    C:\Windows
    %SystemDrive%
    设置为
    C:
    %SystemRoot%
    设置为
    C:\Windows
  • 将CD驱动器重新分配到不同的字母可以解决问题,但这不是一个解决方案,因为它解决的是症状,而不是根本原因(不管是什么)
  • 当其他一切都失败时,我仍然可以从Cygwin启动PowerShell
  • 进程监视器(下面链接)显示试图读取不存在的注册表项
    HKCU\Software\Classes\Local Settings\MuiCache\5E6\52C64B7E\@D:\Windows\system32\AccessibilityCpl.dll,-10
    。任何导致错误读取的机制都可能导致错误对话框某些东西必须以编程方式更改PowerShell本身内的系统驱动器。

欢迎进一步思考和建议。

当Powershell首次启动时,它会检查指定的文件夹以导入模块。我会好好看看这些。默认变量是$env:PSModulePath,其行为与标准的$env:Path变量非常相似。我将查看该路径,并查看是否有对D:drive的引用


您正在从DVD驱动器安装.net吗?也许从微软下载一份新的副本可以解决这个问题。MS.NETFramework3.0非常古老,它实际上是为Server2003或WinXP指定的。您使用它而不是3.5、4或4.5.1有什么原因吗?

如何启动powershell?从快捷方式?多种方式。捷径就是其中之一。从命令提示符(cmd.exe)启动它是另一种方法。即使尝试使用类似于
PowerShell-ExecutionPolicy RemoteSigned-File script.ps1的命令提示符调用PowerShell脚本,也会产生错误。PATH语句中是否有D:部分?我猜如果键入
PowerShell/?
,您的
%HOMEDRIVE%
将在cmd提示符中设置为磁盘驱动器那它还是会发生,对吗?