独立于本地化名称处理 Windows 中的内置组和本地策略

独立于本地化名称处理 Windows 中的内置组和本地策略

最近,我看到一个应用程序无法在本地化版本的 Windows Server 2012 R2(法语、德语)上使用内置组/本地策略进行某些检查/操作。在本地化的 Windows 版本中,组名和策略名被翻译成本地化语言。这让我想到一个问题:Microsoft 提供了哪些选项来操作/处理这些对象而不依赖于本地化名称?显然有某种方法可以做到这一点,否则本地化版本应该会有很多问题。
有人能告诉我有什么方法可以不考虑本地化名称来处理这些组吗?(RID?一些 API 函数?)
查看我在本地化版本的 Windows 中看到的特定问题,似乎使用带有变音符号的字母的语言可能会出现一些问题。

答案1

Windows 使用 SID 来保护安全对象。内置对象有预定义的 SID =http://support.microsoft.com/kb/243330/en-us因此您可以在检查本地化版本时使用它们。

您也可以使用以下方法>https://msdn.microsoft.com/cs-cz/library/system.security.principal.windowsbuiltinrole(v=vs.110).aspx PS中的示例:

$currentUser = [Security.Principal.WindowsIdentity]::GetCurrent() 
(New-Object Security.Principal.WindowsPrincipal $currentUser).IsInRole(` 
[Security.Principal.WindowsBuiltinRole]::Administrator) 

[http://blogs.technet.com/b/heyscriptingguy/archive/2010/08/19/use-powershell-to-add-domain-users-to-a-local-group.aspx]

关于政策名称=您能否分享一个您实际尝试做的事情的例子?

相关内容