繁体   English   中英

你在c#中获得Windows安装SID?

[英]Your to get the windows installation SID in c#?

我知道这个问题多次被问过,但没有人回答我的问题。 我从Comptiat A +的研究中得知,当使用自动(无人值守)安装时,技术人员必须返回并更改MACHINE SID,然后才能在每台机器上激活操作系统。 似乎有很多关于如何通过网络获得SID的问题,但我知道还有一台机器SID无法更改。 对于那些使用过Fix-It Utilities启动盘的人来说,有一个按钮“更改SID”,如果已经激活,Windows将无法启动。

我的问题与类似,但他的问题从未真正回答过。 我的问题是,如何使用c#获取MACHINE Windows安装SID。

嗯,这取决于你想要的计算机SID(严重!)。 本地计算机使用的是SID ...为此,您只需要获取本地管理员用户的SID,并从末尾删除“-500”以获取计算机的SID。

在.NET 3.5上的C#中:

using System;
using System.Security.Principal;
using System.DirectoryServices;
using System.Linq;
public static SecurityIdentifier GetComputerSid()
{
    return new SecurityIdentifier((byte[])new DirectoryEntry(string.Format("WinNT://{0},Computer", Environment.MachineName)).Children.Cast<DirectoryEntry>().First().InvokeGet("objectSID"), 0).AccountDomainSid;
}

另一方面,Active Directory使用SID来识别每个域成员计算机...通过获取域中计算机帐户的SID获取的SID - 以美元符号结尾的SID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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