PDA

Показать полную графическую версию : [решено] Как удалённо отключить звуковую карту через реестр?!


Страниц : [1] 2

Kyzylorda_Gabit
24-10-2009, 13:37
Здравствуйте, просьба помочь..

Как удалённо отключить звуковую карту через реестр?!

А то компьютеров много, а обегать всех нереально!

ShaddyR
24-10-2009, 14:27
Kyzylorda_Gabit,
1) отключи службу Windows Audio
2) отключи звуковую карту в реестре

Petya V4sechkin
24-10-2009, 14:52
Kyzylorda_Gabit, можно в Управление компьютером -> меню Действие -> Подключиться к другому компьютеру -> (выбрать комп) -> Диспетчер устройств -> (отключить что угодно).

Или вам скриптом надо?

Kyzylorda_Gabit
24-10-2009, 15:56
Коллеги, спасибо за ответы...

сорри за тупизм, у меня домен, компов около 100, хотелось бы чтобы всем сразу убрать\восстановить звуковую карту

Раньше мы блокировали через диспетчер устройств локально, а теперь нужно наоборот - снова включить звуковые карты на всех компах! А вот как сразу - не могу додуматься....

Через удалённый реестр - можно?!

Скрипт не помешал бы

А вот через "Подключиться к другому компьютеру" щас буду пробовать привелигированным эккаунтом.

спасибо!

блин, Петя, не получается удалённо через Диспетчер устройств, ругается что режим только для чтения стоит... даже под моим админским эккаунтом. :(

ребята, подскажите как через удалённый реестр звуковую карту за(раз)блокировать?!

Petya V4sechkin
24-10-2009, 17:01
домен, компов около 100, хотелось бы чтобы всем сразу убрать\восстановить звуковую карту
Берем DevCon.exe (http://support.microsoft.com/kb/311272/ru) (там нужно распаковать из архива).

Дальше, создаем вспомогательный скрипт SoundDeviceID.vbs
strComputer = "."
Set objWMIService = GetObject( _
"winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery( _
"Select DeviceID from Win32_SoundDevice")
For Each objItem in colItems
WScript.Echo Left(objItem.DeviceID, InStrRev(objItem.DeviceID, "\") - 1)
Next

и основной батник SoundDeviceStatus.cmd
@Echo Off
SetLocal EnableExtensions

For /F "Delims=" %%I In ('CScript /Nologo "%~dp0SoundDeviceID.vbs"') Do (
If /I "%1"=="Enable" (
"%~dp0DevCon.exe" Enable "%%I"
) Else (
If /I "%1"=="Disable" (
"%~dp0DevCon.exe" Disable "%%I"
) Else (
"%~dp0DevCon.exe" Status "%%I"
)
)
)

Сохраняем эти три файла (devcon.exe, SoundDeviceID.vbs, SoundDeviceStatus.cmd) в одну папку. Можно выполнять доменной политикой (Конфигурация компьютера -> Конфигурация Windows -> Сценарии).

Синтаксис:
SoundDeviceStatus.cmd Enable
SoundDeviceStatus.cmd Disable
(первый вариант - включить, второй - отключить).

отключи службу Windows Audio
Действительно, так будет проще (в доменной политике задать тип запуска службы).

Kyzylorda_Gabit
25-10-2009, 05:02
спасибо за ответ, но я не всё понял....

куда ставить последние синтаксисы Enable и Disable?!

и ещё, можно ли тупо по одному удалённо делать - указал имя машинки в консоли и вперёд?!

плиз, напиши чайнику ОЧЕНЬ доходчиво.. :) я в программировании - минус Ноль :)

Petya V4sechkin
25-10-2009, 09:18
куда ставить последние синтаксисы Enable и Disable?!
Когда в политике задаете скрипт автозагрузки:

http://tools.oszone.net/V4sechkin/Images/GPEdit_Script_Parameters.png

Параметры сценария: Enable (или Disable).

и ещё, можно ли тупо по одному удалённо делать - указал имя машинки в консоли и вперёд?!
Если тупо по одному, придется переделать с PsExec (http://technet.microsoft.com/ru-ru/sysinternals/bb897553.aspx) (но я не вижу в этом смысла, ведь отключение/включение службы Windows Audio - самый простой вариант).

Kyzylorda_Gabit
25-10-2009, 11:33
Петя, спасибо большое за ответы, но вот копаться в политиках у нас не разрешат, да и не получится, админы выше есть!

плиз, брат, покажи как мне по ОДНОМУ можно удалённо управлять этим самым (раз)блокированием звука (а именно звуковой карты) с помощью PsExec.

В общем, дело обстоит так - мне нужно тихо "без шуму и пыли" ВКЛЮЧИТЬ обратно звуковые карты в диспетчере устройств, так как мы до этого многим (но не всем) заблокировали вручную, а теперь пошла команда "РАЗблокировать". Вот поэтому, чтобы не казаться дураками, хочу втихаря включить это устройство, ну и кто его знает, может потом опять скажут ЗАблокировать! Способ этот удалённый очень нужен.

спасибо.

Petya V4sechkin
25-10-2009, 13:43
Kyzylorda_Gabit, переделаем SoundDeviceID.vbs так:
If WScript.Arguments.Count = 0 Then
strComputer = "."
Else
strComputer = WScript.Arguments(0)
End If

Set objWMIService = GetObject( _
"winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery( _
"Select DeviceID from Win32_SoundDevice")
For Each objItem in colItems
WScript.Echo Left(objItem.DeviceID, InStrRev(objItem.DeviceID, "\") - 1)
Next

Создаем EnableSoundDevice.cmd такой:
@Echo Off
SetLocal EnableExtensions

Set RemoteComp=имя_или_IP-адрес_удаленного компа
For /F "Delims=" %%I In ('CScript /Nologo SoundDeviceID.vbs %RemoteComp%') Do (
PsExec.exe \\%RemoteComp% -c DevCon.exe Enable "%%I"
)

Меняем имя_или_IP-адрес_удаленного компа на нужное.

Записываем четыре файла (EnableSoundDevice.cmd, SoundDeviceID.vbs, devcon.exe, psexec.exe) в одну папку.
Запускаем EnableSoundDevice.cmd

Kyzylorda_Gabit
25-10-2009, 13:50
понял, спасибо, буду пробовать!

Kyzylorda_Gabit
25-10-2009, 14:11
блин, всё работает!

Петя Васечкин супер! :)))


ЗЫ: интересно, а какое реальное имя у героя?!

Kyzylorda_Gabit
25-10-2009, 14:42
мужики, а как благодарности ставить?!


тоже скриптом?! :)

Petya V4sechkin
25-10-2009, 19:26
Kyzylorda_Gabit, не за что, заходите еще )

ShaddyR
25-10-2009, 23:17
как благодарности ставить?!
тоже скриптом?! »
нет.. руками.
Как я могу отметить сообщение полезным? (http://forum.oszone.net/faq.php?faq=vb_board_usage#faq_thanks)

Kyzylorda_Gabit
26-10-2009, 16:15
Петя, можно ещё один вопрос?!

Как делать по одному - понятно, всё работает!

А вот как прописать некий скрипт, в котором можно указать список НУЖНЫХ машинок и потом тупо нажать старт и всё, понеслась?!

спасибо!

Petya V4sechkin
26-10-2009, 18:15
Kyzylorda_Gabit, создайте файл CompList.txt со списком компьютеров и отредактируйте EnableSoundDevice.cmd так:
@Echo Off
SetLocal EnableExtensions

For /F "Delims=" %%K In (CompList.txt) Do (
For /F "Delims=" %%I In ('CScript /Nologo SoundDeviceID.vbs %%K') Do (
PsExec.exe \\%%K -c DevCon.exe Enable "%%I"
)
)

Kyzylorda_Gabit
27-10-2009, 05:05
Список компьютеров нужно писать в столбик через запятые или как?!

Боюсь ошибиться...

Petya V4sechkin
27-10-2009, 08:10
Kyzylorda_Gabit, в столбик.

Kyzylorda_Gabit
27-10-2009, 19:56
Понял, шеф!

gifar
11-05-2012, 23:27
Всем привет! Друзья, подскажите, пожалуйста, как побороть нерадивого коллегу, который постоянно слушает громко музыку и ни при каких обстоятельствах (проси - не проси) её не отключает. Хотелось бы отключить ему звук навсегда и без следов такого вмешательства. Теоретически могу влезть в его комп (в том числе узнать его IP).




© OSzone.net 2001-2012