Re: Getting Windows "MACHINE SID" without fork() & exec()?

Greywolf via Cygwin <[email protected]> Tue, 28 Apr 2026 11:15:25 -0700
Newsgroups gmane.os.cygwin
Message-ID <[email protected]>
On 2026-04-24 05:11, Corinna Vinschen via Cygwin wrote:
> On Apr 23 19:07, Takeshi Nishimura via Cygwin wrote:
>> Does Cygwin have a secret shell variable or /proc file which contains
>> the current machine's MACHINE SID, without having to resort to calling
>> an external program (no fork(), no exec(), please)?
> 
> You can use your own simple tool in plain C:
> 
> $ cat > adom.c <<EOF
> #include <stdio.h>
> #include <windows.h>
> #include <ntsecapi.h>
> #include <ntstatus.h>
> #include <sddl.h>
> 
> int
> main ()
> {
>    LSA_OBJECT_ATTRIBUTES oa = { 0, 0, 0, 0, 0, 0 };
>    PPOLICY_ACCOUNT_DOMAIN_INFO adom;
>    NTSTATUS status;
>    LPWSTR sidstr;
>    HANDLE lsa;
> 
>    status = LsaOpenPolicy(NULL, &oa, POLICY_VIEW_LOCAL_INFORMATION, &lsa);
>    if (status == STATUS_SUCCESS)
>      {
>        status = LsaQueryInformationPolicy (lsa, PolicyAccountDomainInformation,
>                                            (PVOID *) &adom);
>        if (status == STATUS_SUCCESS)
>          {
>            ConvertSidToStringSidW (adom->DomainSid, &sidstr);
>            printf ("%ls\n", sidstr);
>            LocalFree (sidstr);
>          }
>        LsaFreeMemory (adom);
>        LsaClose (lsa);
>      }
>    return 0;
> }
> EOF
> $ gcc -o adom adom.c
> $ ./adom
> S-1-5-21-2941109648-2854651930-1480659642
> 
> 
> Corinna
> 

...conversely, what's wrong with getting your machine's SID and stashing it 
in, say, /etc/machine-sid or /etc/sid or as a variable somewhere in 
/etc/profile.d/machine-sid.sh, i.e.

MACHINE_SID="thisisth-esid-fory-ouro-wncomputer00"

If you have a slow-ish dynamic method, cron it to run once a day or something, 
but, honestly:  How often does your machine's SID change that you need to 
fetch it as a dynamic object on a regular basis?

-- 
--*greywolf;


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
OpenPGP_0x2C80F168914E2DF6.asc (application/pgp-keys, 3 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
0kPuE1qAMj8Fczu7H4s=
=UJZq
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEO/vQlkWoKPD1dunXLIDxaJFOLfYFAmnw+T0FAwAAAAAACgkQLIDxaJFOLfar
BQ/9HnqSxjWoJx/Sl/YEo5UUuxsPdbNm/Jl1zmwWRc4BzHXPLFifSQoRajydkH2dMTrLM3pfJUEX
++xO+MHS0coLtpYLmZXX2amLVHvFIae0nx5ii/W+RpOD1eoZ+k50GZujWUxr9kmmsNYM0RB+i/UT
zpIKB6ec9La56/ksKMeiFqe6KjSvfrmZ5/fVjkxly5nooUj9RvPyng48LguXoU8kT3mk0PGgcCLO
4t6ebL95kYTqrdFLI998NVIeS976VpxG2lJ8gEt162Z3Pnz2rhq32BhaMD61117WNTrSdoyjpJY6
TBOFOcCOa28/S3/KgD7Viw+EjeMitjwVobRtmbPgfLtDcYgORH4cnAQ3V1Ki9Eu6TTirs4xC4lfR
XK2dE/4JJ4c8tgpzhVtbIKGBHNFD/+Z669ApzEsvCvuGm1d5QqFYbqnjq9tPSML8HKmeesEy3wqw
oNazeJIcs6QUtfbLup85VOB5SgWYQlhcoKPd5ICUGq8YophMSlvZ1r4dTxyUTHQv68TIVKQ7uUXm
+Xm0d/O/kszCDrlQ8zhqKhDv72YwZmFExYyQJo8Sc87miWih7zTLBgedJkxdr0PCzbDWn80zwjYm
zCOG1tu/5D/T1Y6baf4eMgE+dwxxB8N//futm973fwkmUIjlHfvYJ1s3pXlJeM4IuKokgjI580AU
VZM=
=Cbjv
-----END PGP SIGNATURE-----