none
Windows Server 2012 R2 服务器管理里提示数据检索失败和Powershell部分命令执行报错 RRS feed

  • 问题

  • 大家好!
          我最近在使用Server 2012 R2 时遇到两个问题:
    1、系统启动后在服务器管理器的通知栏提示“联机-数据检索失败”,在事件查看器 Microsoft-Windows-ServerManager-ManagementProvider/Operational下能看到如下报错
    无法查询 bpa xpath (Microsoft/Windows/FileServices:$reports$\*\Result.xml:/ResultDatabase/Result) 的结果。错误: 连到系统上的设备没有发挥作用。,上一个错误: 系统找不到指定的路径。。

    2、还有个问题就是我现在在用Powershell的时执行Get-Disk会提示如下提示

    Get-Disk : 无法连接到 CIM 服务器。找不到 
    所在位置 行:1 字符: 1
    + Get-Disk
    + ~~~~~~~~
        + CategoryInfo          : ResourceUnavailable: (MSFT_Disk:String) [Get-Disk], CimJobE 
       xception
        + FullyQualifiedErrorId : CimJob_BrokenCimSession,Get-Disk

    请问这两个问题有必然联系没,还有就是这两个问有什么解决方法;谢谢!!

    2019年7月17日 3:59

全部回复

  • 你好,

    谢谢你的提问。

    1. 请问你的windows server2012r2是否是最近升级的。根据论坛上之前出现的相同问题,都是由于从低版本服务器系统更新到windows 2012r2引起的。

    你可以尝试使用以下方式进行解决:

    找到注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-DxpTaskRingtone/Analytic] 
    将:Microsoft-Windows-DxpTaskRingtone/Analytic目录项进行备份,然后删除它。重启或刷新服务器管理器,问题解决。仪表板中的角色和服务器组都变成绿色。

    可参考以下链接:

    https://social.technet.microsoft.com/Forums/en-US/b9701061-f347-4a6b-a5a1-7ab0dc0857d1/server-manager-under-manageability-online-data-retrieval-failures-occurred

    https://www.itread01.com/content/1534394294.html

    2. 请问你是否尝试使用管理员身份打开powershell运行这个命令。

    get-disk是完整的命令输入吗?如果不是的话请尝试贴上完整的命令。

    最好的祝福,

    Lee


    Just do it.

    2019年7月18日 2:54
  • 你好,
         1、不是低版本升级过上来的,第一次安装时就是 windows server 2012 R2 这个版本;(倒是每月补丁有按时更新)

              另外注册表下我只找到这个目录项:   

               HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-       Windows-DxpTaskSyncProvider/Analytic

          2、用过一样的结果,也不是所有命名都不能用;

    PS C:\Windows\system32> $PSDrive[1]

    Name           Used (GB)     Free (GB) Provider      Root                                C
                                                                        n
    ----           ---------     --------- --------      ----                                -
    C                                      FileSystem    C:\                                 2

    PS C:\Windows\system32> Get-Disk
    Get-Disk : 无法连接到 CIM 服务器。找不到 
    所在位置 行:1 字符: 1
    + Get-Disk
    + ~~~~~~~~
        + CategoryInfo          : ResourceUnavailable: (MSFT_Disk:String) [Get-Disk], CimJobE 
       xception
        + FullyQualifiedErrorId : CimJob_BrokenCimSession,Get-Disk
     

    PS C:\Windows\system32> 


    2019年7月18日 7:41
  • 你好,

    谢谢你的回复。

    你的第一个问题我仍然需要继续研究寻找解决你的问题的答案。

    请问你是怎么定义$psdrive这个变量的,这个变量并不是系统变量。

    你可以使用powershell wmi命令进行get-disk的替换:

    Get-WmiObject -Class Win32_logicaldisk

    此外请尝试使用运行$PSVersionTable来检查你的计算机上powershell的版本号。

    最好的祝福,

    Lee


    Just do it.

    2019年7月22日 8:17
  • Lee 你好
         感谢你的回复,$psdrive 这个变量是自己定义的,其次使用你提供命令会提示找不到;结果如下:

    PS C:\Windows\system32> Get-WmiObject -Class Win32_logicaldisk
    Get-WmiObject : 找不到 
    所在位置 行:1 字符: 1
    + Get-WmiObject -Class Win32_logicaldisk
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject],ManagementException
        + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

    PS C:\Windows\system32> $PSVersionTable

    Name                           Value                                                                                                                                                           
    ----                           -----                                                                                                                                                           
    PSVersion                      4.0                                                                                                                                                             
    WSManStackVersion              3.0                                                                                                                                                             
    SerializationVersion           1.1.0.1                                                                                                                                                         
    CLRVersion                     4.0.30319.42000                                                                                                                                                 
    BuildVersion                   6.3.9600.19170                                                                                                                                                  
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                                            
    PSRemotingProtocolVersion      2.2                 

    我远程到另一台Win Server 2012 R2 的机器上就可以运行

    PS C:\Windows\system32> Enter-PSSession -ComputerName 192.168.3.251 -Credential yl

    [192.168.3.251]: PS C:\Users\yl\Documents> Get-WmiObject -Class Win32_logicaldisk


    DeviceID     : C:
    DriveType    : 3
    ProviderName : 
    FreeSpace    : 112176312320
    Size         : 209347145728
    VolumeName   : 

    DeviceID     : D:
    DriveType    : 3
    ProviderName : 
    FreeSpace    : 240033611776
    Size         : 374935121920
    VolumeName   : 

    DeviceID     : F:
    DriveType    : 5
    ProviderName : 
    FreeSpace    : 
    Size         : 
    VolumeName   : 




    [192.168.3.251]: PS C:\Users\yl\Documents> $Drive = Get-PSDrive

    [192.168.3.251]: PS C:\Users\yl\Documents> $Drive[1]

    Name           Used (GB)     Free (GB) Provider      Root                                                                                                                       CurrentLocation
    ----           ---------     --------- --------      ----                                                                                                                       ---------------
    C                  90.50        104.47 FileSystem    C:\                                                                                                                     Users\yl\Documents



    [192.168.3.251]: PS C:\Users\yl\Documents> $PSVersionTable

    Name                           Value                                                                                                                                                           
    ----                           -----                                                                                                                                                           
    PSVersion                      4.0                                                                                                                                                             
    WSManStackVersion              3.0                                                                                                                                                             
    SerializationVersion           1.1.0.1                                                                                                                                                         
    CLRVersion                     4.0.30319.42000                                                                                                                                                 
    BuildVersion                   6.3.9600.19170                                                                                                                                                  
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                                            
    PSRemotingProtocolVersion      2.2                                                                                                                                                             

                                                                                                                                                 
    2019年7月23日 5:35
  • 你好,

    谢谢你的提问。

    以前是解决get-wmiobject命令返回找不到错误的解决方案。

    1. 首先尝试运行以下命令。

    winmgmt /verifyrepository

    2. 如果仍然不起作用的话,需要停止Wmi管理服务。

    net stop winmgmt

    3. 然后重命名现有的WMI存储库目录。

    %windir%\System32\Wbem\Repository

    4.最后,启动wmi服务

    net start winmgmt

    5. 除此之外您可以尝试重新注册Wbem目录中的所有DLL和可执行文件。

    截图如下:

    最好的祝福,

    Lee


    Just do it.

    2019年7月23日 6:52
  • 你好,

    请问您的问题解决了吗? 如果您使用我们的方案解决问题,请“将其标记为答案”,以帮助其他社区成员快速找到有用的回复。 如果您使用自己的方案解决问题,请在此处分享您的经验和解决方案。 对于有类似问题的其他社区成员也是非常有帮助的。 如果没有,请回复并告诉我们目前的情况,以提供进一步的帮助。

    Best Regards,

    Lee

    Just do it.

    2019年7月31日 7:42
  • 你好,

    你那个命令试过了,提示如下:

    PS C:\Windows\system32> winmgmt /verifyrepository

    WMI 存储库验证失败
    错误代码: 0x80041002
    设备: WMI
    描述: 找不到

    因为这台还跑着业务(SQL),按2的处理方法“重建存储库”是否对现在跑着的业务(SQL)有影响;

    重建存储库。

    WMI Repository 是 WMI 提供者创建的类定义的集中存储位置,它位于 %systemDrive%\%windir%\system32\wbem\Repository 文件夹。如果感觉存储库已经损坏,您应该重建它。注意:这么做可能会导致存储库中的 WMI 信息丢失。您可能需要手工恢复这些信息,方法是运行可以将信息放入存储库的特定应用程序。要重建存储库,请按以下步骤操作:

    1. 停止 WMI 服务。

    2. 在命令行键入以下命令:

    cd /d %windir%\system32\wbem

    rename Repository Rep_bak

    3. 这个命令将会重命名包含 WMI Repository 的文件。重命名文件之后,操作系统将无法找到存储库。在这种情况下,Windows 会在用户下次访问 WMI 的时候尝试重建存储库。如果 AutoRecover(自动恢复)机制失败,您可以尝试手工重建存储库。

    通过 WMI AutoRecover 机制重建存储库:

    • 建立一个到 Root\Default 的 WMI 连接;可以通过运行一段脚本或者类似 Wbemtest.exe 的基于 WMI 的工具做到这一点。如果连接成功,存储库就会被重建。如果连接失败,请尝试手工重建存储库。

    是按上面的方法处理吗?

    2019年8月6日 6:13