
Пожалуйста, опубликуйте полезные команды, которые вы используете в своейсценарий входа в систему.
Вот некоторые из них, которые я использую:
подключить сетевой диск:
net use v: \fileserver\apps
подключить сетевой принтер:
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\printserver\Xerox DC1100 PCL"
удалить сетевой принтер:
RunDll32.EXE printui.dll,PrintUIEntry /dn /q /n "\\printserver\HP LaserJet 2300"
отключить брандмауэр Windows:
netsh firewall set opmode отключить
установить новую программу:
если не существует "C:\Program Files\Antivirus\" "V:\Antivirus\install.msi"
создать ярлык на рабочем столе пользователя:
копировать "V:\shortcuts\dictionary.lnk" "%USERPROFILE%\Desktop"
решение1
Меня могут за это проголосовать против, но пусть будет так. Я всегда считал сценарии входа чем-то вроде хакерства и стараюсь использовать их только в крайнем случае. В наши дни существует множество способов управления системами и пользователями с помощью таких вещей, как групповая политика, настройки групповой политики и SCCM/SMS. Я имею в виду, что всегда будут случаи, когда просто нет лучшего способа что-то сделать. Но многие из приведенных до сих пор примеров можно легко сделать без сценария входа, например, установить программное обеспечение и подключить сетевые диски.
решение2
Вот один из моих любимых. У нас более 700 пользователей и различные подразделения и подгруппы, которым требуются собственные диски. В настоящее время мы сопоставляем на основе имени пользователя:
если %username% == [имя пользователя] net use /delete Z:\
если %username% == [имя пользователя] net use Z: \servername\share
другой — отображение домашних дисков:
net use H: \homeserver\%username% /persistent:yes
решение3
Для сопоставления дисков мы фактически используем vbscript (на самом деле мы используем файлы .vbs вместо .bat независимо от сценариев входа):
Установить WshNetwork = CreateObject("WScript.Network") WshNetwork.MapNetworkDrive "H:", "\fwmnas\qip"
У меня также есть часть, необходимая для определения того, основана ли ОС на x86 или x64:
«Сначала определите, является ли ОС 32- или 64-разрядной»
Set WshShell = WScript.CreateObject("WScript.Shell") X = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE") Если X = "x86" Тогда
Это очень просто, но по сути у вас есть часть IF THEN ELSE, которая говорит, если это 32 бита, сделайте это, в противном случае сделайте это... Я просто опустил остальную часть кода. Если вам интересно больше, дайте мне знать.
решение4
TheIFMEMBER.EXEУтилита старая, но работает со всеми версиями Windows вплоть до 7 и чрезвычайно полезна для условных сценариев на основе членства в группах AD.
IFMEMBER Marketing | net use m: \\\server\marketingshare
или
IFMEMBER TestUsers | cmd /c t:\scripts\runsomescript.cmd
связь:http://www.microsoft.com/download/en/details.aspx?id=7895