在Windows 7中,您可以进入程序兼容性设置并选中以始终以管理员身份运行.Windows 8中是否有类似的选项?
我一直在我的机器上禁用UAC,并且在我的Windows 8升级之后做了同样的事情,或者我认为.事实证明没有off
选择,只关闭通知.
这意味着尽管属于管理员组,但没有任何内容作为管理员运行.当我尝试调试(附加到进程,而不是F5)时,我需要继续关闭并重新打开我的控制台\ Visual Studio ,这非常令人沮丧.
真的很烦人,我需要记得采取额外的步骤以管理员的身份打开它,或者告诉它在我第一次调试时关闭并重新打开.
我希望我的批处理文件只能运行提升.如果未提升,请为用户提供一个选项,以便将批次重新启动.
我正在编写批处理文件来设置系统变量,将两个文件复制到Program Files位置,然后启动驱动程序安装程序.如果Windows 7/Windows Vista用户(启用了UAC,即使他们是本地管理员)在没有右键单击并选择"以管理员身份运行"的情况下运行它,他们将获得"拒绝访问"复制这两个文件并编写系统变量.
如果用户实际上是管理员,我想使用命令自动重启批处理.否则,如果他们不是管理员,我想告诉他们他们需要管理员权限才能运行批处理文件.我正在使用xcopy来复制文件,使用REG ADD来编写系统变量.我正在使用这些命令来处理可能的Windows XP机器.我在这个主题上发现了类似的问题,但没有任何关于将批处理文件重新启动为高架的问题.
我正在尝试为我的用户编写一个批处理文件,以便在他们的Vista机器上运行UAC.该文件正在重写其hosts文件,因此需要以管理员权限运行.我需要能够向他们发送一封包含.bat文件链接的电子邮件.所需的行为是,当他们右键单击文件并说"打开"时,他们将获得其中一个UAC对话框,使屏幕变暗并强制他们回答是否要授予应用程序以管理员身份运行的权限.相反,他们只是在命令行窗口看到"拒绝访问".
这可能有不同的做法吗?
我在C#中编写HTTP服务器.
当我尝试执行该功能时,HttpListener.Start()
我得到一个HttpListenerException
说法
"拒绝访问".
当我在Windows 7中以管理模式运行应用程序时,它工作正常.
我可以在没有管理员模式的情况下运行吗 如果有,怎么样?如果不是,如何在开始运行后让应用程序更改为管理模式?
using System;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
private HttpListener httpListener = null;
static void Main(string[] args)
{
Program p = new Program();
p.Server();
}
public void Server()
{
this.httpListener = new HttpListener();
if (httpListener.IsListening)
throw new InvalidOperationException("Server is currently running.");
httpListener.Prefixes.Clear();
httpListener.Prefixes.Add("http://*:4444/");
try
{
httpListener.Start(); //Throws Exception
}
catch (HttpListenerException ex)
{
if (ex.Message.Contains("Access is denied"))
{
return;
}
else
{
throw;
}
}
}
} …
Run Code Online (Sandbox Code Playgroud) 此问题适用于Windows Vista!
我有一个通常无需管理权限的应用程序.有一个活动确实需要管理权限但我不想以更高的权限启动应用程序本身,因为我知道大部分时间用户甚至不使用该功能.
我正在考虑某种方法,通过该方法,我可以在某些事件上提升应用程序的权限(例如按下按钮).例:
如果用户单击此按钮,则会提示他使用UAC对话框或同意.我怎样才能做到这一点?
我希望我的Python脚本能够在Vista上复制文件.当我从普通cmd.exe
窗口运行它时,不会生成错误,但不会复制文件.如果我运行cmd.exe
"作为管理员",然后运行我的脚本,它工作正常.
这是有道理的,因为用户帐户控制(UAC)通常会阻止许多文件系统操作.
有没有办法可以在Python脚本中调用UAC提升请求(这些对话框说"像这样的应用程序需要管理员访问权限,这样可以吗?")
如果那是不可能的,那么我的脚本是否有一种方法可以至少检测到它没有被提升以便它可以优雅地失败?
我创建了自己的家长控制应用程序来监控我的孩子活动.该应用程序的唯一GUI是任务栏图标.该程序以管理员身份安装.我希望这个程序在Windows启动时作为管理员用户自动启动,这样标准用户就无法从任务管理器中删除它.
我可以在以下位置创建注册表项:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
Run Code Online (Sandbox Code Playgroud)
使其在Windows启动时自动运行.问题是该程序是作为登录(标准)用户启动的.
如何让它在高架模式下运行?在Win7中这可能吗?
我有一个应用程序需要检测它是否以提升的权限运行.我目前的代码设置如下:
static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole (WindowsBuiltInRole.Administrator);
}
Run Code Online (Sandbox Code Playgroud)
这可以检测用户是否是管理员,但如果以没有提升的管理员身份运行则不起作用.(例如在vshost.exe中).
如何判断高程是否[已经生效或]可能?
我有一个批处理文件,它位于目录中,也必须从那里运行,因为它更新了该目录中的文件.
除非用户以管理员身份运行批处理文件(Vista上需要),否则此工作完全正常.然后起始目录是C:\ Windows\System32.
有没有办法仍然能够知道批处理文件从哪个目录运行?
我不希望用户手动输入目录.
我在Windows 7 x64虚拟机中运行PowerShell.我在主机上有一个共享文件夹映射为网络驱动器(Z :).当我正常运行PS时,我可以正常访问该驱动器,但如果我以"管理员"的身份运行它,它会告诉我:
Set-Location : Cannot find drive. A drive with the name 'Z' does not exist.
At line:1 char:13
+ Set-Location <<<< Z:
+ CategoryInfo : ObjectNotFound: (Z:String) [Set-Location], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
Run Code Online (Sandbox Code Playgroud)
如何以管理员身份访问网络驱动器?
uac ×10
windows ×4
batch-file ×3
.net ×2
c# ×2
windows-7 ×2
c#-4.0 ×1
command-line ×1
directory ×1
httplistener ×1
powershell ×1
privileges ×1
python ×1
startup ×1
unc ×1
windows-10 ×1
windows-8 ×1