簡體   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