Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Powershell DSC拉取服务器引发内部错误-未找到Microsoft.Isam.Esent.Interop_Windows_Powershell_Dsc - Fatal编程技术网

Windows Powershell DSC拉取服务器引发内部错误-未找到Microsoft.Isam.Esent.Interop

Windows Powershell DSC拉取服务器引发内部错误-未找到Microsoft.Isam.Esent.Interop,windows,powershell,dsc,Windows,Powershell,Dsc,我已经按照Powershell.org中的说明设置了一个http Pull服务器(Windows 2012 Server)以与DSC一起使用。我设置了http Pull服务器,然后构建了一个要拉取的配置,然后设置了节点的LCM来拉取并运行配置 我可以在节点上的任务调度程序/Microsoft/Windows/Desired State Configuration下看到已调度的任务,因此我知道至少有些工作正常。但是,我的配置没有运行。当我查看Apps&Svcs/Microsoft/Windows/

我已经按照Powershell.org中的说明设置了一个http Pull服务器(Windows 2012 Server)以与DSC一起使用。我设置了http Pull服务器,然后构建了一个要拉取的配置,然后设置了节点的LCM来拉取并运行配置

我可以在节点上的任务调度程序/Microsoft/Windows/Desired State Configuration下看到已调度的任务,因此我知道至少有些工作正常。但是,我的配置没有运行。当我查看Apps&Svcs/Microsoft/Windows/Desired State Configuration/operation Log下的事件日志时,我看到以下事件:

Job {E0B6977A-E34F-4EDD-8455-E555063CD3DD} : 
This event indicates that failure happens when LCM is trying to get the configuration from pull server using download manager WebDownloadManager. ErrorId is 0x1. ErrorDetail is The attempt to get the action from server http://pullserver.local:8080/PSDSCPullServer/Action(ConfigurationId='adaba4f6-b2b6-420d-a1dd-3714106451d6')/GetAction returned unexpected response code InternalServerError.
在启用CustomErrors后,当我手动点击该URL时,出现以下错误:

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Isam.Esent.Interop, Version=6.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
我试图用谷歌搜索这个错误(运气不好),但我找不到关于这个DLL的有用信息。它看起来应该与Windows的某些部分一起提供,但我在我的系统上没有看到它。我不愿意从那些“DLL下载器”网站下载它


你知道为什么DSC Pull服务器似乎需要这个DLL而我没有吗?

你使用了什么方法?资源工具包中的XPSDiredConfiguration模块或手动步骤?我自己还没有看过这本书。所以,我不知道他们在推荐什么


Microsoft.Isam.Esent.Interop程序集是ESE数据库提供程序。但是,您只需要将此提供程序用于蓝色操作系统(Windows 8.1)。拉式服务器使用的是哪个操作系统?对于除Blue OS之外的所有受支持的OS,您应该使用devices.mdb的Jet提供程序

xPSDesiredStateConfiguration之外的PSDSCPullServer资源似乎默认使用Esent作为数据库提供程序,它仅适用于Windows 8.1(而不是Server 2012)。我找到了一些可以复制的文档和代码。我只需编辑pull服务器的web.config并更改以下内容:

<add key="dbprovider" value="ESENT" />
<add key="dbconnectionstr" value="C:\Program Files\WindowsPowerShell\DscService\Devices.edb" />

为此:

<add key="dbprovider" value="System.Data.OleDb" />
<add key="dbconnectionstr" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\WindowsPowerShell\DscService\Devices.mdb;"/>


原始配置试图指向Devices.edb(在我的系统中不存在,.mdb存在)这一事实进一步证明了正在发生的事情。

我使用了您提到的模块之外的PSDSCPullServer和PSDSCComplianceServer资源。这是一台Windows 2012服务器。我不知道数据库提供者是如何设置的,我想它是由资源设置的。我在哪里可以改变这一点?你的回答肯定指引了我正确的方向。我已经发布了我自己的答案,以及为了让它正常工作我必须改变的细节。我希望你不要觉得我想在这里偷走你的信用!NP这就是我的意思。xPSDesiredStateConfiguration模块存在错误。