草庐IT

sid_ident

全部标签

c# - 从登录 ID 获取用户 SID(Windows XP 及更高版本)

我有一个Windows服务需要在用户登录时访问HKEY_USERS下的注册表配置单元,无论是在本地还是通过终端服务器。我在win32_logonsession上使用WMI查询来接收用户登录时的事件,我从该查询中获得的属性之一是LogonId。为了弄清楚我需要访问哪个注册表配置单元,现在,我需要用户的SID,它用作HKEY_USERS下的注册表项名称。在大多数情况下,我可以通过像这样(在C#中)执行RelatedObjectQuery来获得它:RelatedObjectQueryrelatedQuery=newRelatedObjectQuery("associatorsof{Win32

c# - 您要在 C# 中获取 Windows 安装 SID 吗?

我知道这个问题在SO上被问过很多次,但没有人回答我的问题。我从ComptiatA+的研究中了解到,在使用自动(无人值守)安装时,技术人员总是必须返回并更改MACHINESID,然后才能在每台机器上激活操作系统。似乎有很多关于如何通过网络获取SID等问题,但我知道还有一个无法更改的机器SID。对于那些使用过Fix-ItUtilities启动盘的人来说,有一个按钮,“更改SID”,如果它已经激活,这将使Windows无法启动。我的问题类似于this一个,但他的问题从未真正得到回答。我的问题是,如何使用C#获取MACHINEWindows安装SID。 最佳答案

c# - 获取机器 SID(包括主域 Controller )

我需要在C#中获取机器SID(不是计算机帐户的SID)。指定计算机为主机名,不一定是本地计算机,可以是域计算机或工作组计算机。我使用这个辅助类来调用LookupAccountNameAPI函数:privatestaticclassHelper{internalenumSID_NAME_USE{SidTypeUser=1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup,SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown,SidTypeComputer}[DllI

c++ - 从 SID 创建用户 token ,在用户上下文中扩展环境变量

我有一个正在运行的服务,并且想访问像启动这样的普通用户文件夹。为此我想为系统上的每个用户(包括注销)扩展环境变量,如%APPDATA%。我可以获得已登录用户的sessionID并从中创建一个token,然后调用ExpandEnvironmentStringsForUser()。但是注销的用户呢?他们不会有session。我唯一能为他们得到的是帐户名(使用NetUserEnum()或NetQueryDisplayInformation())和来自注册表的SID(HKLM\software\Microst\WindowsNT\currentVersion\ProfileList)我能否从S

asp.net - 使用 Windows Identity Foundation 将某人登录到 ASP.net 应用程序

我办公室的主管告诉我,他看到了Microsoft“Geneva”(现为WindowsIdentityFoundation)预发布版本的演示,其中开发人员执行了以下操作:他建立了某种ASP.net网络应用程序,用户可以在其中使用定制的登录系统登录。在后台,Web应用程序将用户作为ActiveDirectory中的用户登录。用户登录。用户登录后,ASP.netweb应用程序线程在用户session期间以登录用户的身份运行,并且可以访问网络上的资源(例如在表上运行SQL查询访问受ActiveDirectory控制)步骤2)和3)与使用IIS网站设置的“目录安全”选项卡中的“集成Windows

c# - 如何确定一个字符串是否是用户 SID?

在Windows操作系统中,用户SID用字符串表示,例如:S-5-1-76-1812374880-3438888550-261701130-6117有什么方法可以确定这样的字符串是有效的用户SID?谢谢。 最佳答案 根据SecurityIdentifiers说明,SID有如下形式(它有1到14个子权限值):S-1----…--您可以使用正则表达式来检查字符串是否匹配此模式:stringinput="S-5-1-76-1812374880-3438888550-261701130-6117";stringsidPattern=@"^S

c# - 通过 SID 解析显示用户名的最佳方法?

我从注册表中读取了SID列表,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList。在给定C#中的SID字符串的情况下,如何解析显示用户名(例如DOMAIN\user、BUILT-IN\user)? 最佳答案 刚在pinvoke.net上找到它.替代托管API:在.Net2.0中可用:usingSystem.Security.Principal;//converttheusersidtoadomain\namestringaccount=

windows - 如何使用 WMI 检索 Windows 计算机的 SID?

我不是在寻找用户SID。我正在寻找计算机SID,ActiveDirectory将使用它来唯一标识计算机。我也不想查询事件目录服务器,我想查询计算机本身。 最佳答案 (哦,这很有趣!正如他们所说,我进行了一次疯狂的追逐,试图获得Win32_SID实例,它是一个单例,并且不能通过通常的InstancesOf或Query方法枚举...yaddayadda雅达。)好吧,这取决于您想要哪个计算机SID(说真的!)。有本地计算机自己使用的SID...为此,您只需获取本地管理员用户的SID,并从末尾删除“-500”即可获取计算机的SID。在VBS

sql - mysql @@identity 与 sql-server last_insert_id()

我是否正确理解mysql的LAST_INSERT_ID()函数不会在插入尝试之间重置(就像@@identity在sql-server中所做的那样)...如果紧接在前的插入操作失败,LAST_INSERT_ID()将返回无论该连接最后插入到具有自动递增主键的任何表的pk是什么pk。如果我在这一点上是正确的,那么这似乎不是人们可以想出的关于此功能的最迟钝的行为吗?是否没有与sql-server的@@identity行为相似的mysql函数?如果紧接在插入尝试未创建新记录,将返回NULL?或者,如何确定最近一次插入操作的主键? 最佳答案

mysql - 如何在Mysql数据库中使用Asp Net.Identity core

我正在使用MySql数据库使用aspdotnetcore2开发一个应用程序。请帮助我如何使用AspNetIdentityMySqlDatabase。 最佳答案 我不得不为客户做这件事。我在ASP.NETCore1.0的应用程序中做过,但出于好奇,我还尝试了.NETCore2.0中的应用程序。我所做的是首先从https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/安装EntityFrameworkMySQL包使用包管理器控制台。之后,我在startup.cs的方法