|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Автоматизировать отключение и включение оборудования |
|
Любой язык - Автоматизировать отключение и включение оборудования
|
Новый участник Сообщения: 5 |
Здравствуйте. Сразу скажу что я далек от темы программирования и прошу простить за предстоящие глупые вопросы.
Суть собственно вот в чем. Нужно при старте системы отключить и подключить оборудование например с айди USB\VID_0955&PID_9000. И все. Желательно в свернутом виде виде без всплывающих окон командных строк (но это необязательно) |
|
Отправлено: 14:11, 04-03-2025 |
fascinating rhythm Сообщения: 6632
|
Профиль | Отправить PM | Цитировать Почитайте про команды Powershell
Get-PnpDevice - получение информации об устройствах Disable-PnpDevice - отключение Enable-PnpDevice - включение |
------- Отправлено: 15:13, 04-03-2025 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Получилось решить так
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { $arguments = "& '" + $myinvocation.mycommand.definition + "'" Start-Process powershell -Verb runAs -ArgumentList $arguments Break -Confirm:$false } disable-PnpDevice -InstanceId 'HDAUDIO\FUNC_01&VEN_10EC&DEV_0897&SUBSYS_14629D48&REV_1005\4&E112F93&0&0001' -Confirm:$false enable-PnpDevice -InstanceId 'HDAUDIO\FUNC_01&VEN_10EC&DEV_0897&SUBSYS_14629D48&REV_1005\4&E112F93&0&0001' -Confirm:$false Осталось решить как это хозяйство запускать незаметно. С атрибутом -WindowStyle Hidden окно все равно появляется на секунду |
Отправлено: 08:49, 06-03-2025 | #3 |
![]() Ветеран Сообщения: 2174
|
Профиль | Отправить PM | Цитировать Цитата Wicked43:
|
|
------- Отправлено: 09:13, 06-03-2025 | #4 |
fascinating rhythm Сообщения: 6632
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 12:55, 06-03-2025 | #5 |
Crazy Сообщения: 1221
|
Профиль | Отправить PM | Цитировать Цитата Wicked43:
C# hide.exe using System; using System.Diagnostics; using System.Windows; namespace hide { class Program { static void Main(string[] args) { string st = "", ar = ""; if (args.Length == 0) MessageBox.Show("фигассе, а параметры кто будет задавать?:)"); else { st = args[0]; for (int i = 1; i < args.Length; i++) { ar += " " + args[i]; } ProcessStartInfo startInfo = new ProcessStartInfo { FileName = st, WindowStyle = ProcessWindowStyle.Hidden, //аргументы Arguments = ar }; //запуск процесса Process.Start(startInfo); } } } } d:\TEST1\hide.exe powershell.exe -c "d:\TEST1\script.ps1 -d 'Intel(R) Ethernet Connection (11) I219-V'" ЗЫ Если будут проблемки с компиляцией, могу помочь... а это скрипт, с возможностью автоопределения, что требуется сделать с устройством (выкл/вкл), если не указывать значение аргумента -type: powershell script.ps1 param([string]$device,[string]$type) # если запущен не от имени админа: if ( !([security.principal.windowsprincipal]` [security.principal.windowsidentity]::getcurrent()).isinrole([security.principal.windowsbuiltinrole]` "Administrator") ) { saps powershell.exe "-nop -exe Bypass -f `"$PSCommandPath`" -dev `"$device`" -t `"$type`"" -verb RunAs exit } # получаем устройство: $d = get-pnpdevice |?{$_.friendlyname -like $device -or $_.instanceid -like $device} $d # автовыбор противоположного действия текущему состоянию: if($type -ne "enable" -and $type -ne "disable") { if($d.status -eq 'OK') {$type = "disable"}else {$type = "enable"} } if ($type -eq "enable") { "Включаем $($d.friendlyname)" $d | enable-pnpdevice -confirm:$false } elseif ($type -eq "disable") { "Выключаем $($d.friendlyname)" $d | disable-pnpdevice -confirm:$false } sleep -s 2 |
|
------- Последний раз редактировалось YuS_2, 06-03-2025 в 20:24. Причина: поправил строку запуска. В таком виде можно использовать в батнике Отправлено: 15:47, 06-03-2025 | #6 |
Crazy Сообщения: 1221
|
Профиль | Отправить PM | Цитировать А это скомпилированный файлик (для Net Framework 4.8.1)
hide.zip |
------- Отправлено: 20:30, 06-03-2025 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мышь - [решено] Отключение и включение мыши | Derentius | Прочее железо | 9 | 06-06-2017 23:50 | |
Разное - Отключение-включение клавиатуры скриптом | Moneton | Microsoft Windows 10 | 7 | 15-02-2016 01:30 | |
Циклическое включение и отключение ПК | gO0gler@twitter | Материнские платы и память | 4 | 02-02-2016 11:00 | |
Разное - Кратковременное отключение оборудования | FatherFreeman | Microsoft Windows 7 | 20 | 23-10-2013 01:15 | |
CMD/BAT - Отключение и включение звука | FallenArh | Скриптовые языки администрирования Windows | 3 | 03-03-2013 19:51 |
|