gpt4 book ai didi

c# - 使用c#/c++的windows远程登录api

转载 作者:行者123 更新时间:2023-11-30 05:48:05 26 4
gpt4 key购买 nike

我想编写一个程序来使用域管理员用户凭据登录到远程计算机并执行以下任务

  1. 获取一些系统信息,如操作系统、IIS 版本、.net 版本等
  2. 将一些文件从远程传输到本地机器,反之亦然。

是否有任何 Windows API 可以执行此操作?

我尝试执行的任务可以使用远程桌面应用程序手动完成,但我不想使用 GUI,因为我想自动执行此操作,以定期从我们的环境中获取机器信息并显示在仪表板中。

最佳答案

你可以使用 winrm并使用 powershell 使其自动化 https://msdn.microsoft.com/en-us/library/aa384426%28v=vs.85%29.aspx

这是一个 vb example (您可以在 C# 中使用相同的 COM 对象)

Const RemoteComputer = "ComputerName.domain.com"
Set objWsman = CreateObject("Wsman.Automation")
Set objConnectionOptions = objWsman.CreateConnectionOptions
objConnectionOptions.UserName = "Username"
objConnectionOptions.Password = "Password"
iFlags = objWsman.SessionFlagUseKerberos Or _
objWsman.SessionFlagCredUserNamePassword
Set objSession = objWsman.CreateSession("https://" & RemoteComputer, _
iFlags, objConnectionOptions)
strResource = "http://schemas.microsoft.com/wbem/wsman/1/" & _
"wmi/root/cimv2/Win32_OperatingSystem"
Set objResponse = objSession.Enumerate(strResource)

While Not objResponse.AtEndOfStream
DisplayOutput(objResponse.ReadItem)
Wend

'****************************************************
' Displays WinRM XML message using built-in XSL
'****************************************************
Sub DisplayOutput(strWinRMXml)
Dim xmlFile, xslFile
Set xmlFile = CreateObject("MSXml2.DOMDocument.3.0")
Set xslFile = CreateObject("MSXml2.DOMDocument.3.0")
xmlFile.LoadXml(strWinRMXml)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)
End Sub

关于c# - 使用c#/c++的windows远程登录api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370898/

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