Хотите получить SID установки Windows в С #?

Я знаю, что этот вопрос задавали много раз на SO, но никто из них не ответил на мой вопрос. Изучая Comptiat A +, я знаю, что при использовании автоматических (необслуживаемых) установок техническим специалистам всегда приходится возвращаться и изменять MACHINE SID перед активацией ОС на каждой машине. Кажется, есть много вопросов о том, как получить SID с сетями и т. Д., Но я знаю, что есть также SID машины, который нельзя изменить. Для тех из вас, кто использовал загрузочный диск Fix-It Utilities, есть кнопка «изменить SID», которая заставит Windows не загружаться, если она уже активирована.

Мой вопрос похож на this один, но на его вопрос так и не ответили. Мой вопрос в том, как мне получить SID установки Windows на МАШИНЕ с помощью С #.


person FrostyFire    schedule 01.01.2013    source источник


Ответы (1)


Ну, это зависит от того, какой SID компьютера вы хотите (серьезно!). Есть SID, который локальный компьютер использует для себя ... Для этого вам просто нужно получить SID локального пользователя-администратора и удалить "-500" с конца, чтобы получить SID компьютера.

В C # на .NET 3.5:

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;
}

С другой стороны, есть SID, который Active Directory использует для идентификации каждого компьютера-члена домена ... Тот, который вы получаете, получая SID учетной записи компьютера в домене - тот, который заканчивается знаком доллара.

person CC Inc    schedule 01.01.2013
comment
@JABFreeware Согласно википедии: In the context of the Microsoft Windows NT line of operating systems, a Security Identifier (commonly abbreviated SID) is a unique, immutable identifier of a user, user group, or other security principal. In other words, duplicated SIDs are usually not a problem with Microsoft Windows systems. - person CC Inc; 01.01.2013
comment
По сути, ни одна легальная установка Windows не может использовать один и тот же ключ :) Спасибо +1. Это должно работать очень хорошо !!! - person FrostyFire; 01.01.2013
comment
Отличная экспертиза! Изменится ли SID этого локального компьютера при новой установке Windows? т.е. это конкретный экземпляр операционной системы или аппаратный? - person Cel; 13.06.2014