草庐IT

v2s_mt_nt

全部标签

windows - S-1-5 的 ConvertStringSidToSid(NT AUTHORITY 组)

我有一个CSid对象,其中包含SYSTEM的众所周知的sid。调用Domain()函数我可以看到域是“NTAUTHORITY”。在MSDN中,我发现该组的SID是“S-1-5”,因此我尝试使用ConvertStringSidToSid()来获取该组的PSID,但我收到SID结构不正确的错误消息。有没有办法为该组获取CSid?可能吗?非常感谢!:-) 最佳答案 为此,您需要使用AllocateAndInitializeSid()函数。参见thisexample在MSDN中。PSIDpsid;SID_IDENTIFIER_AUTHORI

windows - Powershell v2 提示在 foreach 中输入值

此代码在PowerShellv1中运行,但不在PowerShellv2中运行。它现在提示输入一个值:Get-ChildItem-Path$source-Filter"*.journal"|Where-Object{$_.Name-match'SoundPC\[\d{1,12}-\d{1,12}\].journal'}|Sort-Object-PropertyCreationTime|ForEach-Object{$sourcefile=$_.Name}有人可以帮忙吗? 最佳答案 左大括号必须与foreach命令在同一行,目前在新行上

windows - Windows Server 是否支持 Per-Monitor v2 Awareness?

我正在为我们的应用程序编写系统要求,我们最近在其中添加了对每个显示器DPI感知V2的支持。我们已经使用Windows的客户端版本对其进行了测试。有人知道WindowsServer版本是否支持此功能吗?如果是,从哪个版本开始支持?我查看了MSDN但找不到答案...如果重要,我们使用此处描述的方法初始化DPI感知:WPFClickOnceDPIawarenessPer-Monitorv2 最佳答案 根据MicrosoftdocumentationitisonlyavailableinclientWindowsversions.Minim

c - NT 注册表句柄行为

我正在做一个应用程序虚拟化项目。所以我在NT级别挂接应用程序并将注册表调用定向到我的虚拟注册表。在运行任何应用程序时,如果我转到"file"->“打开”。我几乎没有像下面这样的注册表调用:ZwOpenKey(registrykeypath)->它生成句柄ex:(0x04e8)ZwQueryKey(0x4ea,...)ProcessMonitor说打开和查询都是在同一个键上执行的。我自己测试确认是同一个key。查询键也为查询键api生成了正确的结果。这2个字节的差异并不适用于所有打开和查询键的情况。应用程序如何以及为何在调用querykey之前将句柄从0x4e8更改为0x4ea?我还测试

c++ - 以用户 : "NT AUTHORITY/Network Service" without knowing the credentials? 身份运行的 CreateProcess

我有一个作为本地系统运行的Windows服务。我希望该服务产生一个进程作为“NTAUTHORITY/网络服务”。但是,我没有此帐户的凭据。如何使用C++作为“网络服务”用户生成进程。 最佳答案 我不在我的win32开发箱前,所以我无法确认,但我会提供两种可能的方法:遍历进程列表调用OpenProcess()获取现有网络服务进程的句柄调用OpenProcessToken()使用该句柄从他的进程中获取安全token调用CreateProcessAsUser()使用token创建一个进程作为NETWORKSERVICE或者,您可以:调用C

c++ - 如何检测自动NT服务是否会启动

我正在使用一个应用程序开发一个简单的NT服务,该应用程序将监视它并在任务栏中显示状态。在启动监视器时检查服务是否正在运行,如果没有则提示启动它。这很好,直到重新启动时监视器在服务之前启动并提示启动它,即使它会自动启动。通过阅读文档,我认为状态将报告为SERVICE_START_PENDING,这是服务在进入服务主函数时所做的第一件事,但状态似乎报告为SERVICE_STOPPED如果SCM尚未开始启动服务。有什么方法可以检测到服务将很快开始吗?谢谢,J 最佳答案 我认为没有任何方法可以预测服务控制管理器将来会做什么。但是,我可以想到

windows - 在 PowerShell v2 中打破 foreach 循环

我在PowerShellv2中终止foreach-object循环时遇到问题。为了大致了解我要完成的任务,这里是伪代码:从文本文件中读取主机列表为文本文件中的每个主机获取Win32_Product(根据排除列表过滤),将输出转换为html并保存。脚本的原因是我积累了一个文本文件,列出了标准客户端镜像中包含的所有应用程序,并且想定期从另一个文本文件扫描主机,看看是否有任何未经授权的、粗略的或其他不必要的应用程序在主机上。代码在粗略的意义上确实有效,但我遇到的主要问题是脚本不会在没有人工干预的情况下终止。我想我在这里缺少的组件是运行循环直到存在某些条件(即第二次遇到主机文件中的第一行),然

windows - Powershell v2 在启动时崩溃

我在WindowsXPSP3机器上安装了PowerShellv2,今天我打开PowerShell时它说:Theshellcannotbestarted.Afailureoccurredduringinitialization:Objectreferencenotsettoaninstanceofanobject.Powershell事件日志中的事件是:Soruce:PowershellCategory:enginehealthEventID:103Settings:Objectreferencenotsettoaninstanceofanobject.Details:Exception

windows - 仅在现代 Windows NT 系统上,我能否在运行时确定句柄是指套接字句柄还是对象句柄?

我完全知道,在过去,Windows套接字仅作为第三方用户模式​​DLL实现,套接字和对象句柄是不相关的。然而,在现代WindowsNT系统上,套接字是完整的内核对象,尽管也有一些用户模式状态。 最佳答案 不幸的是,没有针对该特定查询的单一API。您必须直接访问NT对象管理器并在其已知句柄列表中找到所需的句柄,然后您可以检索句柄的对象类型(以及其他内容)。InsideNT'sObjectManagerPushingtheLimitsofWindows:HandlesHOWTO:EnumeratehandlesWinObj:Theult

windows - NT DLL Loader 是否按照可执行文件导入部分的顺序加载 DLL?

如果您在Windows上有一个可执行文件,您可以使用DUMPBIN实用程序(例如包含在VisualStudio中)查看其导入部分。要获取所有导入的DLL的列表,您可以运行如下命令(只是一个任意示例):C:\Programme\GIMP-2.0\bin>dumpbin/IMPORTSgimp-2.4.exe|grep-i\.dlllibgimpcolor-2.0-0.dlllibgimpmath-2.0-0.dlllibgimpmodule-2.0-0.dlllibgimpthumb-2.0-0.dlllibgimpwidgets-2.0-0.dlllibart_lgpl_2-2.dll