0

首先:我发现许多问题的答案都可以解决,但允许我绕过 UAC。我是一家小型企业的 IT,但这不是我的主要职责。

我的域中有两台机器在启动时经常无法正确连接到域网络。重新启动网络适配器可以解决问题,直到机器重新启动。不幸的是,其中一台机器由非管理员使用,并且是技术文盲。

我希望使用 powershell 脚本来做到这一点。使用这个网站,我创建了脚本和批处理文件来解决这个问题。由于计算机只有一个网络适配器,所以我很简单:internet.ps1

    Get-NetAdapter | Restart-NetAdapter

互联网.cmd

    @ECHO OFF
    SET ThisScriptsDirectory=%~dp0
    SET PowerShellScriptPath=%ThisScriptsDirectory%internet.ps1
    PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%""' -Verb RunAs}";

不幸的是,我不完全理解批处理文件中的最后一个命令。因此,我努力研究通过某种形式的用户凭证的命令。这个环境不是很安全。但我一般不想给这个用户域管理员权限,或者为他们提供一些管理员凭据,这些凭据最终会在便签上结束。这两种选择都只会招来我年长的、技术文盲的同事的麻烦。每天去打卡凭证很费时间。

我正在寻找一个脚本,它循环网络适配器并提供必要的凭据来进行更改,以便非管理员用户可以修复他们的域和 Internet 访问权限,而无需在便利贴上使用管理员凭据。

4

1 回答 1

0

您可以使用 Windows 中的任务计划程序来安排任务。计划任务时,您可以指定任务运行时要使用的凭据。您可以为此任务添加触发器,使其在计算机启动时运行,或者您可以简单地允许用户手动启动它。

如果你决定走这条路,有一个复选框可以选中,以尽可能高的权限运行程序。最后一行的重点是启动一个以管理员身份运行的新 PowerShell 窗口,因此它实际上有权重新启动适配器。这意味着您可以摆脱几乎整个脚本,而只保留实际重新启动适配器的部分。

例如,当您在任务计划程序中创建新任务时,在“操作”选项卡下,您可以创建一个新操作并输入以下内容:

程序/脚本:

电源外壳

添加参数:

-命令“获取-NetAdapter | 重新启动-NetAdapter”

注意:我不确定是否仍然如此,但根据我过去的经验,有时它会在 Windows 完全加载之前尝试运行。如果它在启动时似乎没有做任何事情,您可能需要为其添加延迟。您可以通过运行Start-Sleep命令来执行此操作。您可以通过执行以下操作将其添加到参数字段:
-命令“开始-睡眠 5;获取-NetAdapter | 重新启动-NetAdapter”
将数字 5 替换为您希望它等待的秒数。
于 2021-11-18T23:01:48.317 回答