[英]Remote Registry Key
看看其他文章,甚至这个StackOverflow问题 ,我仍然无法让它工作。 机器可在网络上联系,但仍会产生IO错误。
这是我正在使用的代码:
var environmentKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "gm-1015").OpenSubKey("Environment");
TextBox1.Text = environmentKey.ToString();
当我尝试运行它时,我得到:
System.IO.IOException:'找不到网络路径。
来自Microsoft的网站表明该机器无法访问。
我错过了什么吗?
得出结论,远程计算机未启用或打开远程注册表服务。 我使用下面的代码,而不是启用它可以为任何入侵者打开计算机的另一扇门。
PowerShell ps = PowerShell.Create()
.AddCommand("Invoke-Command")
.AddParameter("ComputerName", SearcherClass.CurrentComputer)
.AddParameter("Scriptblock", ScriptBlock.Create("Get-Tpm | Select-Object -ExpandProperty TPMPresent"));
这将启动一个新的PowerShell实例并运行Invoke-Command
以最终运行Get-Tpm
TPMPresent
命令,该命令最终返回TPMPresent
属性
这是我用来评估并将可用结果返回到表单的实际代码块:
public static string GetTPM()
{
string output = "N/A";
try
{
PowerShell ps = PowerShell.Create()
.AddCommand("Invoke-Command")
.AddParameter("ComputerName", SearcherClass.CurrentComputer)
.AddParameter("Scriptblock", ScriptBlock.Create("Get-Tpm | Select-Object -ExpandProperty TPMPresent"));
foreach(PSObject i in ps.Invoke())
{
output = i.BaseObject.ToString();
}
if (output == "True")
{
output = "Present";
}
else
{
output = "None";
}
return output;
}
catch
{
return "Failed";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.