繁体   English   中英

允许 Win 10 用户在没有 UAC 的情况下通过 PS 脚本重置网络适配器

[英]Allow Win 10 user to reset network adaptor via PS script without UAC

首先:我发现了许多问题的答案,它们可以做任何事情,但允许我绕过 UAC。 我是一家小型企业的 IT,但这不是我的主要职责。

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

我希望使用 powershell 脚本来做到这一点。 使用这个网站,我创建了脚本和批处理文件来解决这个问题。 由于电脑只有一个网卡,我就简单了:internet.ps1

    Get-NetAdapter | Restart-NetAdapter

网络命令

    @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 访问,而无需在便利贴上提供管​​理员凭据。

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

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

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

程序/脚本:

PowerShell

添加参数:

-Command "Get-NetAdapter | Restart-NetAdapter"

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM