我有一个非常古老的应用程序,现在需要对WindowsServer2008友好。它是一个作为单例运行的用户应用程序。它使用注册表的HKLM部分来读取和写入配置,并创建日志文件。主要问题:如何根据当前最佳实践使应用程序与UAC一起工作?我最初的方法是在非提升的情况下运行应用程序,如果需要更改配置,用户手动重新启动提升的应用程序,重新配置,然后重新启动为非提升的。问题是日志文件也可以创建提升,然后非提升的应用程序无法写入它。可能的解决方法:不要在提升模式下做任何暗示写入日志文件的事情。但是如何检测应用程序是否处于提升模式?创建具有非提升权限的日志文件,即使在提升模式下也是如此。怎么样?如果打
首先,是的,我在互联网上搜索过这个话题,但我的情况更具体一些,所以这就是我提出问题的原因。我的应用程序是在VisualStudio.NET2005中使用Framework2.0、C#开发的可执行winform应用程序应用程序需要在命令行上运行一些命令。此命令必须以管理员身份运行。实际工作的代码是:stringoutput="";ProcessConsola=newProcess();ProcessStartInfoConsolaStartInfo=newProcessStartInfo();ConsolaStartInfo.FileName="cmd.exe";ConsolaStart
我正在尝试使用如下所示的powershell脚本修改UAC的权限:Start-Processpowershell-VerbrunAsAdministratorSet-ItemProperty-Pathregistry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system-NameEnableLUA-Value0$UAC=Get-ItemProperty-Pathregistry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current
问题与Windows7及更高版本有关。到目前为止,我使用常规代码签名证书签署了我的代码。我的应用程序需要管理员权限,因为它使用原始套接字。应用程序启动后,会出现一个用户帐户控制(UAC)弹出窗口,询问用户是否同意继续。关于这种证书的Symantec站点:“..用户在尝试运行您的应用程序时可能会遇到较少的警告消息。”查看更多here.但是,我不确定较少的警告消息是否意味着在启动需要管理员权限的应用程序时没有UAC弹出窗口。简而言之,我的问题是:当用户启动需要管理员权限的应用程序时,如果应用程序使用扩展验证代码签名证书进行签名,Windows7(及更高版本)是否会显示UAC弹出窗口?谢谢!
我正在为持续集成服务器设置测试节点。它应执行应用程序的GUI测试。因此它获取生成的安装包并在运行其他交互式测试之前静默安装应用程序。但是有一个问题:UAC。由于我们不想禁用UAC来维持真实的测试环境,因此需要绕过它一次以设置应用程序。有很多方法可以做到这一点,一种流行的方法似乎是使用Windows任务调度程序。任务可以作为普通用户添加,并配置为以管理员身份运行,无需进一步确认。我可以为此使用schtasks/create命令,但它的参数不清楚。此外,/?帮助中的参数值在我的系统上似乎已翻译成德语,我相信(并希望)这是一个错误,这些值实际上应以英语指定。另外,我只想创建任务让它立即执行一
我有一个以管理权限运行的应用程序。使用应用程序list自动提升权限。在这个应用程序中,我必须以启动该应用程序但没有提升的用户身份执行一些代码。我怎样才能实现它? 最佳答案 您可以使用impersonation以达到预期的效果。为了在没有密码的情况下模拟当前用户,您需要找到用户运行的另一个进程并从中获取token。资源管理器对此很有帮助。Here是完整的示例代码。 关于c#-从提升的应用程序执行用户特权任务,我们在StackOverflow上找到一个类似的问题:
我们开发了一个ActiveX表单控件,可以安装在IE8+中。此控件检查注册表项,然后在需要时下载并安装一个小安装程序。对于管理员,一切都按预期在Windows7和8上与任何IE版本8+一起工作。对于非管理员用户,控件运行(它必须由管理员安装,但没关系),它会在路径C:\users\user\AppData\中下载可执行文件client_setup.exeLocal\Temp\Low\但当它尝试运行可执行文件时(shellexec或createprocess产生相同的结果)需要管理帐户并出现UAC提升提示。如果非管理员用户下载并安装相同的设置,则不需要管理权限(我们在exelist中声明
背景我的应用程序(.NET、C#)执行应用程序内升级。根据安装配置,升级可能需要启动需要管理员权限的单独进程。已启动程序的list指定它需要管理员权限。这通常工作正常,但如果UAC被禁用,并且用户不是管理员,那么它就会失败。见下文。场景UAC已启用,用户是管理员-Windows提示提升权限,程序成功执行。UAC已启用,用户不是管理员-Windows提示输入凭据,程序成功执行。UAC已禁用,用户是管理员-无提示,程序成功执行。UAC已禁用,用户不是管理员-没有提示,程序启动但失败得很惨。这第四个场景是我想要解决的场景。我有一个相当大的客户公司,无论出于何种原因,它都有关闭所有公司PC上的
我找不到很多关于Windows中不受信任的完整性级别的信息,对此有一些疑问:是否有不受信任的完整性级别进程可以创建命名对象的地方?(互斥锁、事件等)不受信任的完整性级别进程是否应该能够打开一个现有的命名对象,该对象在其创建时通过ACE和SYSTEM_MANDATORY_LABEL_NO_WRITE_UP被赋予安全描述符到MandatoryLevelUntrusted?当我尝试时,它失败并显示0xc0000022(访问被拒绝),而使用MandatoryLevelLow时效果很好。通常不受信任的完整性进程如何与其代理进程通信?(比如googlechrome标签如何与googlechrome
我在Windows上通过PowerShell脚本安装XAMPP时遇到以下问题:Important!BecauseanactivatedUserAccountControl(UAC)onyoursystemsomefunctionsofXAMPParepossiblyrestricted.WithUACpleaseavoidtoinstallXAMPPtoC:\ProgramFiles(x86)(missingwritepermisssions).OrdeactivateUACwithmsconfigafterthissetup.Errorcopyingfilefrompackedarc