在Powershell中以提升的权限启用wifi(无需输入凭据)

时间:2018-09-21 08:47:35

标签: powershell

我尝试在不输入管理员凭据的情况下启用和禁用wifi适配器。

我以用户身份登录,没有管理员权限,但是我具有管理员密码。 这是我的脚本,但是不起作用

<input data-val="true" data-val-number="The field Element1 must be a 
number." id="Element1 " max="1000" min="0" name="EnergyAt1" step="0,1" type="text" value="18,3" 
data-role="numerictextbox" role="spinbutton" aria-valuemin="0" 
aria-valuemax="1000" 
class="k-input" aria-valuenow="18,3" aria-disabled="false" style="display: none;">

<input data-val="true" data-val-number="The field AnotherElement1 must be a 
number." id="AnotherElement1 " max="1000" min="0" name="EnergyAt1" step="0,1" 
type="text" value="18,3" data-role="numerictextbox" role="spinbutton" aria- 
valuemin="0" aria-valuemax="1000" class="k-input" aria-valuenow="18,3" aria- 
disabled="false" style="display: none;">

我要实现的是这段代码的作用:

$username = '.\Administrator'
$password = 'pass'

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe" -Credential $credential -ArgumentList '-command "$wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter "Name LIKE '%Wireless%; $wmi.disable()'"

如何做到这一点?

@编辑 或类似的功能,以便能够禁用和启用WIFI

1 个答案:

答案 0 :(得分:0)

$adminaccount = ".\Administrator"
$PASSWORD = ConvertTo-SecureString "pass" -AsPlainText -Force
$UNPASSWORD = New-Object System.Management.Automation.PsCredential $adminaccount,$PASSWORD
$wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter "Name LIKE '%Wireless%'"
$wmi.disable() -Credential $UNPASSWORD

这可能可行,但是我不确定,因为我目前正在使用Linux,因此无法对其进行测试。假设disable()方法是需要身份验证的命令,并且接受诸如此类的参数,则此方法可能有效。

点击here,获取我的详细信息,它应该可以工作。

另一个选择是按住shift键并右键单击以下内容在脚本上单击,然后单击以其他用户身份运行,然后输入管理员凭据。

$wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter "Name LIKE '%Wireless%'"
$wmi.disable()

此选项意味着您必须在其中键入管理员凭据,但不必切换用户即可。

另一种可能的方法是尝试使用其他命令来禁用适配器:

Disable-NetAdapter -Name "Ethernet 2"

这可能会如下运行:

$username = '.\Administrator'
$password = 'pass'

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe" -Credential $credential -ArgumentList '-command "Disable-NetAdapter -Name ‘Ethernet 2’"'

您要做的就是用适配器名称替换“ Ethernet 2”。