选项 1 通过 PowerShell

选项 1 通过 PowerShell

我的互联网会随机断开连接,我必须进入适配器选项将其关闭并重新打开,才能使其重新开始工作。这很繁琐,我希望只需按下组合键即可完成此任务。我尝试用谷歌搜索,但我得到的只是有关特定软件(例如 Excel 或 Outlook)的宏的建议,而不是 Windows 本身。还有 AutoHotkey,但不确定这是否是我需要的。

答案1

选项 1 通过 PowerShell

您可以创建以下 PowerShell 脚本,如果当前用户未提升权限(具有管理员令牌),该脚本也会提示 UAC。
您应该在只有管理员具有写访问权限(出于安全原因)的地方创建它,例如C:\ProgramData\C:\Windows\,并在保存后删除普通用户的写权限。

脚本中与网络重启相关的代码是Get-NetAdapter -Physical | Restart-NetAdapter

using namespace System.Security.Principal
$ErrorActionPreference = 'STOP'

try {
    if ([WindowsPrincipal]::new(([WindowsIdentity]::GetCurrent())).IsInRole([WindowsBuiltInRole]::Administrator)) {
        Get-NetAdapter -Physical | Restart-NetAdapter
    } else {
        # restart powershell as admin
        $pwshExePath  = (Get-Process -Id $PID).Path
        $argumentList = '-File "' + $MyInvocation.MyCommand.Path + '" ' + $MyInvocation.UnboundArguments
        Start-Process -FilePath $pwshExePath -Verb Runas -ArgumentList $argumentList
    }
} catch {
    Write-Error -ErrorRecord $_ -ErrorAction Continue
    Read-Host 'Press [Enter] to close'
}

然后在桌面上创建以下快捷方式。
目标: powershell.exe -NoLogo -ExecutionPolicy ByPass -File C:\ProgramData\RunAs.ps1
对于 PowerShell Core 或:
目标: pwsh.exe -NoLogo -ExecutionPolicy ByPass -File C:\ProgramData\RunAs.ps1

添加powershell.exe/ pwsh.exe(带有一些参数)将允许您通过双击直接运行(脚本的)快捷方式。

您还可以添加键盘快捷键,如屏幕截图所示。

在此处输入图片描述

选项 2 通过批处理

您也可以使用批处理文件,例如@harrymc 提供的批处理文件,然后创建一个快捷方式,如下所示Option 1

如果您在属性中设置了快捷方式,则使用快捷方式将允许您以管理员身份运行它(提示:这不允许用于 PowerShell(.ps1)文件): 在此处输入图片描述

答案2

您可以使用.bat以下命令来使用文件:

@echo off
netsh interface set interface "Connection name" disabled
timeout /t 2
netsh interface set interface "Connection name" enabled

这些命令不需要提升。

您可以创建一个指向该.bat文件的桌面图标并可选择为其指定热键。

相关内容