Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрыть диски

Ответить
Настройки темы
CMD/BAT - [решено] Скрыть диски


Сообщения: 595
Благодарности: 5

Профиль | Отправить PM | Цитировать


Здравствуйте!
Подскажите пожалуйста. Имеется необходимость скрыть диски в Моем компьютере. Через Gpo это можно сделать только для С и Д или всех. Но нужно только выборочно. Через реестр это можно сделать веткой HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explоrer\NoDrives. Причем каждому OU (имеет свои настроенные GPO) свои диски. Права у доменных пользователе - пользователь домена.

Можно ли сделать это с помощью административных шаблонов?

Спасибо

Отправлено: 17:56, 27-10-2009

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Конечно можно, но, видите ли, в чём тут сложность: значение хранится в типе DWORD, каждый из младших 26 бит которого и представляет собой определённый диск (0-й бит — «A», 1-й бит — «B» и т.д.). А язык шаблонов *.adm не позволяет работать с отдельными битами, только со значением целиком. Именно поэтому в шаблоне «system.adm» хранится только ограниченный набор масок, про который Вы и говорили:
Код: Выделить весь код
PART !!NoDrivesDropdown	DROPDOWNLIST NOSORT REQUIRED
	VALUENAME "NoDrives"
	ITEMLIST
		NAME !!ABOnly           VALUE NUMERIC	3
		NAME !!COnly            VALUE NUMERIC	4
		NAME !!DOnly            VALUE NUMERIC 	8
		NAME !!ABConly          VALUE NUMERIC 	7
		NAME !!ABCDOnly         VALUE NUMERIC	15
		NAME !!ALLDrives        VALUE NUMERIC	67108863 DEFAULT
		; low 26 bits on (1 bit per drive)
		NAME !!RestNoDrives     VALUE NUMERIC	0
	END ITEMLIST
END PART
ибо перечень всех возможных комбинаций займёт очень много места. Если же у Вас достаточно ограниченный набор возможных комбинаций, Вы можете добавить их туда же (а правильнее будет — вынести в отдельный собственный шаблон, не трогая системный).

Как вариант, могу предложить использовать не «ITEMLIST», а простой тип «NUMERIC» (правда, это уже будет безо всяких визуальных расшифровок — какое значение каким дискам соответствует), в который можно будет записать любую доступную комбинацию.

«NoDrives.adm» (внимание, приводится только как образец! Изготовлено на основе шаблона «system.adm» из комплекта Windows XP):
Код: Выделить весь код
#if version >= 3

CLASS USER
	CATEGORY !!WindowsExplorer
		#if version >= 4
		EXPLAIN !!WindowsExplorer_Help
		#endif

		KEYNAME "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"

		POLICY !!NoDrives
			#if version >= 4
			SUPPORTED !!SUPPORTED_Win2k
			#endif
			
			EXPLAIN !!NoDrives_Help
			PART "Задайте битовую маску для скрытия дисков" NUMERIC SPIN 1
				VALUENAME "NoDrives" DEFAULT 0
				MIN 0
				MAX 67108863
			END PART
		END POLICY
	END CATEGORY
#endif

[strings]
WindowsExplorer="Проводник (Сторонний)"
WindowsExplorer_Help="Управляет параметрами Windows Explorer, в том числе свойствами оболочки, параметрами папок, меню файлов, доступными дисками."
SUPPORTED_Win2k="не ниже Microsoft Windows 2000"

NoDrives_Help="Удаляет значки, представляющие выбранные диски, из папок "Мой компьютер" и "Проводник". Кроме того, буквы дисков, представляющие выбранные диски, не будут отображаться в стандартном диалоговом окне "Открыть". \n\nЧтобы использовать эту политику, выберите диск или группу дисков в раскрывающемся списке. Чтобы отображать все диски, отключите эту политику или выберите в раскрывающемся списке значение "Не ограничивать доступ к дискам". \n\nЗамечание: эта политика удаляет значки дисков из соответствующих папок. Пользователи при этом могут получить доступ к содержимому скрытых дисков с помощью других методов, например, указав путь к папке на скрытом диске в диалоговом окне " Подключение сетевого диска", окне "Выполнить" или в окне командной строки. \n\nУчтите, что эта политика не запрещает использовать другие программы для доступа к выбранным дискам или к их содержимому. Кроме того, она не запрещает использовать оснастку "Управление дисками" для просмотра или изменения характеристик дисков. \n\nСм. также политику "Запретить доступ к дискам через "Мой компьютер"".\n\nПримечание: к программам сторонних разработчиков программ для Windows 2000 или новее предъявляется требование следования этой политике."
NoDrives="Скрыть выбранные диски из окна "Мой компьютер""
Тогда, допустим, чтобы скрыть диски «A», «B», «D», «E» и «F» достаточно будет ввести в редакторе групповой политики после подключения подобного шаблона значение маски «59»:
Код: Выделить весь код
…76543210 (bit#)
…HGFEDCBA (disk label)
…00111011 (mask)
«111011» bin == «59» dec.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:20, 27-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Сообщения: 595
Благодарности: 5

Профиль | Отправить PM | Цитировать


Iska,

Большое спасибо.
Только я, в скриптах полный 0. Не сочтите за наглость, можете написать и прикрепить шаблон для сокрытия дисков ABCDEFGHIJ

Спасибо

Отправлено: 20:50, 27-10-2009 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


YDen, это не скрипт.

Самое простое — добавить маску в шаблон:
Код: Выделить весь код
9876543210 (bit#)
…JIHGFEDCBA (disk label)
…1111111111 (mask bin) == (2^10)-1 == 1023
то есть, после:
Код: Выделить весь код
		NAME !!ABCDOnly         VALUE NUMERIC	15
Вы добавляете к шаблону своё полученное значение:
Код: Выделить весь код
		NAME "A,B,C,D,E,F,G,H,I,J"         VALUE NUMERIC	1023
Где можно почитать: Administrative Template - Wikipedia, the free encyclopedia, в низу страницы есть ссылки, в том числе на краткое описание формата файла административного шаблона: ADM Tutorial (PDF).

Отправлено: 22:26, 27-10-2009 | #4



Сообщения: 595
Благодарности: 5

Профиль | Отправить PM | Цитировать


Iska,

Я правильно сделал: в блокноте создал файл NoDrives.adm с кодом из вашего поста:

#if version >= 3

CLASS USER
CATEGORY !!WindowsExplorer
#if version >= 4
EXPLAIN !!WindowsExplorer_Help
#endif

KEYNAME "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"

POLICY !!NoDrives
#if version >= 4
SUPPORTED !!SUPPORTED_Win2k
#endif

EXPLAIN !!NoDrives_Help
PART "Задайте битовую маску для скрытия дисков" NUMERIC SPIN 1
VALUENAME "NoDrives" DEFAULT 0
MIN 0
MAX 67108863
END PART
END POLICY
END CATEGORY
#endif

[strings]
WindowsExplorer="Проводник (Сторонний)"
WindowsExplorer_Help="Управляет параметрами Windows Explorer, в том числе свойствами оболочки, параметрами папок, меню файлов, доступными дисками."
SUPPORTED_Win2k="не ниже Microsoft Windows 2000"

NoDrives_Help="Удаляет значки, представляющие выбранные диски, из папок "Мой компьютер" и "Проводник". Кроме того, буквы дисков, представляющие выбранные диски, не будут отображаться в стандартном диалоговом окне "Открыть". \n\nЧтобы использовать эту политику, выберите диск или группу дисков в раскрывающемся списке. Чтобы отображать все диски, отключите эту политику или выберите в раскрывающемся списке значение "Не ограничивать доступ к дискам". \n\nЗамечание: эта политика удаляет значки дисков из соответствующих папок. Пользователи при этом могут получить доступ к содержимому скрытых дисков с помощью других методов, например, указав путь к папке на скрытом диске в диалоговом окне " Подключение сетевого диска", окне "Выполнить" или в окне командной строки. \n\nУчтите, что эта политика не запрещает использовать другие программы для доступа к выбранным дискам или к их содержимому. Кроме того, она не запрещает использовать оснастку "Управление дисками" для просмотра или изменения характеристик дисков. \n\nСм. также политику "Запретить доступ к дискам через "Мой компьютер"".\n\nПримечание: к программам сторонних разработчиков программ для Windows 2000 или новее предъявляется требование следования этой политике."
NoDrives="Скрыть выбранные диски из окна "Мой компьютер""


Далее в GPO добавил этот шаблон. Появился пункт в политиках под названием Проводник (Сторонний). В нем включив единственный пункт и введя значение маски (для дисков "A,B,C,D,E,F,G,H,I,J" введем 1023) получим скрытие этих дисков для всех пользователей, входящих в OU - которому применяется данная GPO.
Верно?

К сожалению на контроллере сегодня не могу проверить, только завтра.
Это средняя школа. Хочу для учеников убрать все локальные диски. Сетевые диски начинаются с М и подключаются скриптами. Всем остальным пользователям убрать С:

спасибо

Отправлено: 11:33, 28-10-2009 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Вроде бы, практически должно быть верно.

Могут быть какие-либо тонкости, связанные с версией ОС на КД. Думаю, более опытные коллеги подскажут, ежели что не так.

Отправлено: 12:45, 28-10-2009 | #6



Сообщения: 595
Благодарности: 5

Профиль | Отправить PM | Цитировать


Спасибо всем, заработало!!!

Отправлено: 03:44, 29-10-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрыть диски

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Перестала работать опция: "Скрыть пустые диски в папке...." dionisys Microsoft Windows 7 2 24-01-2010 00:53
Разное - [решено] Скрыть обновления на Висте konstantin2009 Microsoft Windows Vista 14 15-02-2009 16:45
Доступ - [решено] Как скрыть диски от пользователей alleclf Microsoft Windows 2000/XP 5 30-05-2008 14:29
Доступ - [решено] Как скрыть Дисковод А Drix Microsoft Windows Vista 22 30-04-2008 19:03
[решено] Как скрыть автора эл. письма Ser6720 Хочу все знать 26 09-06-2007 19:57




 
Переход