我有这个脚本,它可以取消选中以太网适配器的复选框,但是无论我如何使用它,我都无法让它为Wi-Fi做同样的事情。
$NICs = Get-WmiObject Win32_NetworkAdapter -filter "AdapterTypeID = '0' AND PhysicalAdapter = 'true' AND NOT Description LIKE '%wireless%' AND NOT Description LIKE '%virtual%' AND NOT Description LIKE '%WiFi%' AND NOT Description LIKE '%Bluetooth%'"
Foreach ($NIC in $NICs)
{
$powerMgmt = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | where {$_.InstanceName -match [regex]::Escape($nic.PNPDeviceID)}
If ($powerMgmt.Enable -eq $True)
{
$powerMgmt.Enable = $False
$powerMgmt.psbase.Put()
}
}
尝试删除所有的AND NOT行。 尝试了我在网上找到的其他一些脚本,但无济于事。
$NICs = Get-WmiObject Win32_NetworkAdapter -filter "AdapterTypeID = '0' AND PhysicalAdapter = 'true' AND NOT Description LIKE '%wireless%' AND NOT Description LIKE '%virtual%' AND NOT Description LIKE '%WiFi%' AND NOT Description LIKE '%Bluetooth%'"
Foreach ($NIC in $NICs)
{
$powerMgmt = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | where {$_.InstanceName -match [regex]::Escape($nic.PNPDeviceID)}
If ($powerMgmt.Enable -eq $True)
{
$powerMgmt.Enable = $False
$powerMgmt.psbase.Put()
}
}
我想取消选中“网络连接”下Wi-fi适配器电源管理下的“允许计算机关闭此设备以节省电源”框。
答案 0 :(得分:0)
您可以使用Powershell cmdlet val crewList= mutableListOf<Crew>()
myRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
for(child in dataSnapshot.children){
val childCrew = child.getValue(Crew::class.java)
childCrew?.let { crewList.add(it) }
Log.i("crewList", crewList.toString())
//crewList is not empty
}
}
override fun onCancelled(error: DatabaseError) {
Log.d("Error", "Failed to read value.", error.toException())
}
})
//crewList is empty
Log.i("crewlist", crewList.toString())
return crewList.toList()
来标识您的WLAN接口。
为此,您可以使用属性PhysicalMediaType。
在这种情况下,您要搜索WLAN适配器,因此将其与Get-NetAdapter
匹配。
对于较旧的操作系统,有时我们必须将其与'Native 802.11'
匹配。
要获取所有WLAN适配器,您可以在脚本中使用它:
'Wireless LAN'
答案 1 :(得分:0)
在Windows服务器2016上,您可以在以下位置编辑GPO:计算机配置/策略/管理模板/系统/电源管理/睡眠设置:在连接待机状态下允许网络连接。
您可以尝试启用此设置,并查看其是否有效。
答案 2 :(得分:0)
$NICs = Get-NetAdapter | Where-Object {$_.status -eq 'Up'}
Foreach ($NIC in $NICs)
{
$powerMgmt = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | where {$_.InstanceName -match [regex]::Escape($nic.PNPDeviceID)}
If ($powerMgmt.Enable -eq $True)
{
$powerMgmt.Enable = $False
$powerMgmt.psbase.Put()
}
}