gpt4 book ai didi

f# - 如何在远程机器上使用 FSharp.Management WMI Provider

转载 作者:行者123 更新时间:2023-12-05 00:58:18 25 4
gpt4 key购买 nike

我修改了 FSharp 管理项目中的示例脚本以连接到远程主机而不是本地主机:

System.IO.Directory.SetCurrentDirectory (__SOURCE_DIRECTORY__)

#r @"System.Management.dll"
#r @"..\Packages\FSharp.Management.0.3.1\lib\net40\FSharp.Management.dll"
#r @"..\Packages\FSharp.Management.0.3.1\lib\net40\FSharp.Management.WMI.dll"

open FSharp.Management

type Remote = WmiProvider<"remotehost@username:password">
let data = Remote.GetDataContext()

不幸的是,我得到一个错误,GetDataContext 没有在 Remote 上定义。但是,如果我将 WmiProvider 更改为 WmiProvider<"localhost">,它将按预期工作。

我不确定登录是否正确,但如果我将用户名或密码更改为我知道不正确的内容,WmiProvider 行会返回 RPC 错误,因此我确信它正在正确登录。

最佳答案

WmiProvider 与系统通信实际上有两个不同的时间:设计时和运行时。在您的示例代码中,您在设计时将 WmiProvider 连接到远程计算机,这意味着它将尝试从远程计算机检索 WMI“类型”。您可以尝试在设计时使用本地主机,因为您说这似乎可行,然后在运行时使用远程机器。

仅在运行时使用远程系统的示例如下:

open FSharp.Management

type WmiContext = WmiProvider<"localhost">

let wmiContext = WmiContext.GetDataContext("remoteMachine")

关于f# - 如何在远程机器上使用 FSharp.Management WMI Provider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com