有没有办法向低强制级别进程 (UAC) 授予对网络共享的访问权限?
进一步说明:为了迁移一些第三方库安全问题,我们正在考虑将完整性模式设置为将进程隔离为低,但我们确实需要让进程从指定的单个文件系统共享(UNC 路径,可能在单独的计算机上)自由读/写。
有谁知道有没有办法做到这一点?
谢谢
几天来我一直在努力解决这个问题,找不到任何可以解决这个问题的帖子.也许我想要的是不可能的.
我们开发了一个WinForms应用程序供我们公司内部使用.
大多数员工在Windows中没有管理员权限.
我们的应用程序需要管理员访问机器,并且需要在用户登录时自动启动.
这是我尝试过的:
我可以让应用程序自动启动(使用relauncher),但它仍然需要管理员在每次重启时都在计算机上(输入密码).
我创建了一个Software\Microsoft\Windows\CurrentVersion\Run
注册表项来自动启动应用程序.无论是运行重新启动器还是应用程序本身,UAC都需要在每次重启(或重新登录)时输入密码.
我创建了一个计划任务,使用计算机上的管理员权限在登录时自动启动应用程序(使用以下帐户).我还检查了"以最高权限运行"框.每次重启都会弹出UAC.
我试图将应用程序作为Windows服务运行,但它有一个用户界面(由Windows服务禁用).
看起来您可以为特定程序禁用UAC,但这涉及下载应用程序兼容性工具包,创建某种数据库等.我非常希望我们的IT人员不必在每台计算机上都这样做.在这一点上,这可能是我唯一的选择.
管理员似乎应该能够安装一个应用程序,以便它在没有提示的情况下自动运行.我错过了这样做的方法吗?
我已经使用 WIX 工具集创建了一个签名的 MSI 安装程序。安装程序在安装之前(不是在开始时)显示一个安全框。由于 MSI 文件已复制到 C:\windows\installer 目录,因此此安全框显示了一个神秘的十六进制数字名称。
是否可以选择在此安全框中显示一个不错的程序名称?
以下是此类保险箱的示例:
我有一个程序尝试uiAccess=true
在清单中将自身安装到目标计算机上。
以下是相关文档:https://msdn.microsoft.com/en-us/library/windows/desktop/ee671610 (v=vs.85).aspx
根据文档,这应该会授予应用程序执行更多操作的权限,同时 UAC 提升的应用程序处于焦点状态。
然而,一旦管理应用程序成为焦点,Keyboard.IsKeyDown
就会返回false
任何实际上已关闭的键。
这让我相信这uiAccess
件事实际上并没有起作用。
这是我确定正在发生的事情:
C:\Program Files\Shapeshifter
。我如何调试uiAccess
并找出它不工作的原因?
我的操作系统是启用了UAC的Vista,我在服务器端创建了一个全局Mutex对象,然后我的带有UI的AP想要使用具有相同名称的CreateMutex获取已在服务器中创建的Mutex对象,但该功能告诉我我不喜欢无权访问它.我该怎么做?
根据<Windows via C/C++>:
对于Windwos Vista,如果用户使用授予管理员等高权限的帐户登录系统,则除了与此特权帐户对应的安全令牌外,还会创建已过滤的令牌,但仅授予标准权限用户.
我想知道,如果用户使用比标准用户特权更低的帐户登录系统,系统是否仍会为其创建一些额外的过滤器令牌?我不认为这是必要的,系统没有任何意义.
谢谢.
如果我不是管理员并启动一个写入C:\某些文本文件的程序 - 我是否需要管理员权限...在Windows 7或Vista中?我在XP中看到写入包括system32在内的任何文件夹都没有问题 - 但我不确定.NET中的程序是否能够在没有管理员权限的情况下执行此操作.
好的,因为在xp中大多数人都是以管理员身份登录的 - 程序员很容易使程序与注册表一起工作.我想要做的是这样的:
软件启动并作为启动过程添加到注册表中 - 但是这应该仅在应用程序关闭时才进行 - 而不是之前.
然而,当用户受限并且在vista,7,2008中同样的事情时,这在xp中不起作用.
解决方法有哪些?我想让程序创建一个计划任务或附加到具有更高权限的进程?任何工作方式?我将它标记为.net,因为我的软件是.net相关的 - 实际上同样的事情发生在c ++中 - 但我暗地希望网络提供更简单的方法来解决它.提前10倍!
我使用应用程序兼容性工具包中的"标准用户分析器"进行了操作,它报告我的应用程序不兼容UAC,因为:
"DeleteFileA:文件(\ Device\HarddiskVolume1\Documents and Settings\Administrator\Local Settings\Temp\mtgstudio.madExcept)被拒绝'DELETE'访问,错误为0x5."
"DeleteFileA:File(\ Device\HarddiskVolume1\Documents and Settings\Administrator\Local Settings\Temp)被拒绝'DELETE'访问,错误为0x5."
检查madExcept.pas文件我发现:
function GetTempPath : AnsiString;
var arrCh : array [0..MAX_PATH] of AnsiChar;
begin
if windows.GetTempPathA(MAX_PATH, arrCh) > 0 then begin
result := arrCh;
if result <> '' then begin
CreateDirectoryA(PAnsiChar(result), nil);
if result[Length(result)] <> '\' then
result := result + '\';
result := result + KillExt(ExtractFileName(ModuleName(0))) + '.madExcept';
CreateDirectoryA(PAnsiChar(result), nil);
result := result + '\';
end;
end else
result := '';
end;
Run Code Online (Sandbox Code Playgroud)
有没有一种好方法可以覆盖madExcept行为并将临时文件存储在UAC允许的位置?
我的winforms .net 2程序在Windows 7中运行正常,UAC打开.程序读/写c:/program files
文件夹.
将程序更新为目标.net 4后,同一程序受UAC影响,无法读取/写入c:/program files
.我得到UnauthorizedAccessException
.
我知道读/写是一种不好的做法,c:/program files
但我想知道导致这种行为的原因是什么?