繁体   English   中英

远程注册表项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM