powershell - Add-SBHost : 系统找不到指定的文件
问题描述
我正在尝试将主机添加到新创建的 Windows 服务总线 1.1 场,但无论我做什么,我都会永远收到以下错误:
VERBOSE: [11/16/2018 2:54:06 PM]: Validating input and configuration parameters.
VERBOSE: [11/16/2018 2:54:06 PM]: Installing auto-generated certificate.
VERBOSE: [11/16/2018 2:54:16 PM]: Granting 'Log on as Service' privilege to the run as account.
VERBOSE: [11/16/2018 2:54:16 PM]: Windows Fabric configuration started.
VERBOSE: [11/16/2018 2:54:28 PM]: Windows Fabric cluster manifest generated.
VERBOSE: [11/16/2018 2:54:28 PM]: Running Windows Fabric deployment.
Add-SBHost : The system cannot find the file specified
At line:1 char:1
+ Add-SBHost -SBFarmDBConnectionString "Data Source=MYHOST;Initial C ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Add-SBHost], Win32Exception
+ FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.ServiceBus.Commands.AddSBHost
我一直在努力配置场的初始部署,因为我的组织使用 Azure AD。我一直在关注这篇非常有用的博客文章来完成安装和部署,但我现在看到的问题并未涉及。
该问题的 Google 将我带到此页面,他们在其中谈论检查 DLL。我尝试检查Microsoft.ServiceBus.Commands.dll
Service Bus 安装文件夹中的 from,但老实说,我理解的不够多,无法知道我在寻找什么。
以前有没有其他人遇到过这个问题?非常感谢所有关于我可以在哪里找到它的建议!
解决方案
根据我对Add-SBHost命令中实际发生的情况的研究,在以下情况下可能会发生此错误:
%userprofile%\AppData\Local\Temp
代码正在尝试在名为“ClusterManifest”的目录中创建新的临时文件。- 代码正在尝试
FabricDeployer.exe
在注册表路径中定义的目录中执行(使用创建的“ClusterManifest”文件路径作为参数):对于文件夹HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Service Bus\1.1
中的变量。在我的情况下,可执行文件被放置在WinFabric
bin\Fabric\Fabric.Code.1.0
C:\Program Files\Windows Fabric\bin\Fabric\Fabric.Code.1.0\FabricDeployer.exe
- 代码正在尝试从中删除临时文件(在 1 点创建)
%userprofile%\AppData\Local\Temp
在这些步骤和获取消息之后,VERBOSE: [09.08.2019 13:32:26]: Windows Fabric starting.
不应再执行文件操作。
该怎么办?
- 首先检查是否在
%userprofile%\AppData\Local\Temp
目录中创建了临时文件(在资源管理器中按修改日期排序文件,运行脚本并等待) - 可能由于缺少权限而无法创建文件。 - 如果文件创建正确且内部包含 XML,则检查 Service Fabric 是否已安装且
FabricDeployer.exe
是否存在于目录中。就我而言,它不存在,所以我不得不删除 Windows Fabric 和 Service Bus。下次安装后,我确保所有文件都到位。
在这些步骤之后,脚本运行成功。
我希望它会帮助你:)
推荐阅读
- php - 将元素移动到数组的最后一个索引,多维
- javascript - 我创建了一个表单并将其连接到 mysql,并且我添加了验证表单的代码,但它不起作用
- scala - 如何在不提供密钥的情况下通过 Alpakka-gcs 从 Google Cloud Storage 下载?
- javascript - ReactJs :- 如何在按钮单击时调用调度
- java - 不可能的 nullPointerException 关于 java 反射
- typescript - 打字稿将所有日期从接口转换为字符串
- database - oracle数据库19c安装出现错误
- json - 如何在 Flutter 中使用改造
- javascript - 如何在 js 菜单对象上设置活动属性?
- c++ - 删除 std::shared_ptr 时出现标量删除错误