in plugin/step/winsanitycheck/root_windows.go [18:45]
func EnsureSuperuser(sc *SanityCheck) (FixFn, error) {
var sid *windows.SID
err := windows.AllocateAndInitializeSid(
&windows.SECURITY_NT_AUTHORITY,
2,
windows.SECURITY_BUILTIN_DOMAIN_RID,
windows.DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&sid)
if err != nil {
return func(*SanityCheck) error {
return fmt.Errorf("SID Error: %s", err)
}, err
}
token := windows.Token(0)
isMember, err := token.IsMember(sid)
if err != nil {
return func(*SanityCheck) error {
return fmt.Errorf("Token Membership Error: %s", err)
}, err
}
if isMember {
return nil, nil
}
return nil, errors.New("please elevate to admin")
}