我知道这个问题多次被问过,但没有人回答我的问题.我从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.
| 归档时间: | 
 | 
| 查看次数: | 3459 次 | 
| 最近记录: |