如何从命令行在启用 UAC 的情况下在 Program Files 中创建文件夹?

如何从命令行在启用 UAC 的情况下在 Program Files 中创建文件夹?

到目前为止,我一直禁用 UAC。现在,我想按规矩办事,让它保持开启状态。

我的测试用例开始mkdir c:\program files\foo工作了。当我运行它时(我的用户是管理员),我得到了Access is denied.

所以,请这样做runas /user:boom\administrator "mkdir c:\program files\foo",希望这会有所帮助。系统提示我输入密码。我按下 ENTER,然后得到

RUNAS 错误:无法运行 - mkdir c:\program files\foo 1327:登录失败:用户帐户限制。可能的原因是不允许使用空白密码、登录时间限制或强制实施了策略限制。

好的,我尝试为管理员用户设置密码。我在任务管理器中的用户选项卡或用户帐户 --> 管理其他帐户中查找,但没有找到。

我该怎么做?尝试在管理员权限下运行 mkdir 是否正确?我应该尝试在 SYSTEM 权限下运行它吗?

顺便说一句,我也尝试安装Windows 版 Sudo,但无法让它工作,也找不到一个简单的“hello world”教程(这是我遇到的问题)。

更新- 好的,我找到了 cmd.exe 并右键单击“以管理员身份运行”,然后可以通过从中运行特权 taskmgr 来更改密码。但是,当我运行runas /user:administrator "mkdir foo"并输入密码时,我收到相同的错误。这是一台全新的笔记本电脑,未连接到域,管理员密码不为空。

更新 2- 这是 Win 7 64 位专业版,我想通过命令行完成所有操作。我的目标是创建一个简单的“sudo.bat”脚本。

答案1

如果您登录的帐户是“管理员”,那么您应该能够右键单击 cmd.exe,“以管理员身份运行”,点击“确定”以进行 UAC,然后 mkdir 应该可以在 Program Files 中工作而无需任何进一步的提示。

如果您不是管理员用户,和/或在常规用户上下文中打开 cmd(而不是“以管理员身份”),那么您将被拒绝访问 Program Files(如您所发现的)。

您确定您在使用 RunAs 时遇到的错误(一旦您成功使用已知的管理员帐户/密码)是相同的错误(“1327:登录失败:用户帐户限制”)而不是“2:系统找不到指定的文件。”?

因为当我尝试以管理员身份运行 RunAs MkDir 时出现错误 2,因为 Mkdir 不是可执行文件(它是一个系统命令),而这只是 RunAs 可以启动的。

您可以将 CMD.EXE 与 RunAs 结合使用,然后向其提供 mkdir 命令。由于嵌套双引号,这很棘手,但最终您应该能够使用:

runas /user:administrator "cmd /C \"mkdir \"c:\\program files\\foo\"\""

从任何命令提示符(无论是否为管理员)来完成您想要的操作。

(多余的反斜杠是转义字符)

答案2

最简单的方法是:

  • 打开“开始”菜单

  • 输入cmd搜索内容,然后按Ctrl++ShiftEnter

  • 接受 UAC 提示(这实际上与运行相同su

  • 类型mkdir "c:\program files\foo"

答案3

尝试使用 sysinternals 的 PsExec。命令如下:

psexec -i -d -s cmd.exe

将使用系统帐户权限运行命令行。

编辑:为了使上述命令正常工作,您需要在目标计算机上拥有管理员权限。确认它在域环境中确实有效。

示例:如果我有机器名称或 IP 地址的列表,我想在 C:\ 驱动器上创建一个名为“temp1”的目录,我会将机器名称/IP 地址列表包含在名为“computers.txt”的文件中。然后,从文本文件所在的目录中,我将从命令提示符执行以下命令。

psexec -i -d -s @computers.txt cmd /c "mkdir c:\temp1"

这将检查每台计算机,然后尝试连接到计算机,然后创建目录。

答案4

就我而言,我尝试了这个解决方案并得到了答案。正如在关联我得到了这个答案。

复制 NUL emptyfile.extension

尝试使用这个。我也解决了这个问题

相关内容