Различные сценарии входа для разных пользователей

1

Сервер Samba моей компании не предоставляет надежного способа введения сценариев входа для разных офисов.

Теперь мой вопрос: как я могу поместить скрипт так, чтобы компьютер точно сопоставил диски для разных пользователей в разных офисах.

Для каждого офиса у меня уже есть дополнительный файл .bat со своими специальными сетевыми дисками. Но как компьютер мог узнать, кто входит в систему? Я имею в виду, в каком отделе компании работает пользователь и каким образом .bat-файл нам нужен?

pbraun
источник

Ответы:

2

Используйте локальную групповую политику.

Путь сценария входа в систему:

%windir%\system32\GroupPolicy\User\Scripts\Logon\

Путь к сценарию выхода из системы:

%windir%\system32\GroupPolicy\User\Scripts\Logoff\

Путь к скрипту запуска:

%windir%\system32\GroupPolicy\Machine\Scripts\Startup\

Путь к сценарию выключения:

%windir%\system32\GroupPolicy\Machine\Scripts\Shutdown\

Добавьте ключ реестра для входа:

regedit /s \\PDC-Kerberos-Server-Samba\profiles\logon.reg

logon.reg:

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logon]

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logon\0]
"GPO-ID"="LocalGPO"
"SOM-ID"="Local"
"FileSysPath"="C:\\WINDOWS\\System32\\GroupPolicy\\User"
"DisplayName"="Local Group Policy"
"GPOName"="Local Group Policy"

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logon\0\0]
"Script"="logon.bat"
"Parameters"=""
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Сценарий входа в систему GPO, графический интерфейс:

logon script GPO

Лучший способ: LabTracker

  1. Создайте общий сценарий, который определит имя пользователя и переменные среды, включая - отдел, если он будет перенесен на сервер LDAP или в Active Directory.

  2. После этого в этом сценарии на основании данных вызывают другие скрипты. Ниже приведены примеры определения окружения пользователя. На этих данных вы можете построить условия, необходимые для запуска сценариев.

  3. Вызов скрипта из среды пользователя.

Лучший вариант, на мой взгляд, WSH (vbscript), но вы также можете использовать только команды.

Если вам нужен кроссплатформенный, то Python, Perl и Java достаточно хорошо работают во всех операционных системах.

DN реального запроса пользователя:

 dsquery *  -filter "(samAccountName=Tcheburator)" -attr distinguishedName | more +1

Выход, (OU - Orgainazation Unit):

 CN=Tcheburator,OU=In App,OU=View App,DC=ht,DC=local

запрос в скрипте DN пользователя:

 dsquery *  -filter "(samAccountName=%username%)" -attr distinguishedName | more +1

запрос в скрипте группы пользователей:

 dsquery user -samid %username% | dsget user -memberof | dsget group -sid -samid

запрос в скрипте пользователя Вложенные группы:

 dsquery user -samid %username% | dsget user -memberof -expand | dsget group -sid -samid

реальный пример, запрос группы пользователей:

dsquery user -samid Tcheburator | dsget user -memberof | dsget group -sid -samid

Выход:

  samid           sid
  Nected Tche     S-1-5-21-2191659736-2261162383-3034376108-1153
  Tche            S-1-5-21-2191659736-2261162383-3034376108-1152
  Domain Users    S-1-5-21-2191659736-2261162383-3034376108-513
dsget succeeded

реальный пример, запрос пользователя Вложенные группы:

dsquery user -samid Tcheburator | dsget user -memberof -expand | dsget group -sid -samid

Выход:

  samid           sid
  Nected Tche     S-1-5-21-2191659736-2261162383-3034376108-1153
  Tche            S-1-5-21-2191659736-2261162383-3034376108-1152
  Domain Users    S-1-5-21-2191659736-2261162383-3034376108-513
  DHCP Administrators    S-1-5-21-2191659736-2261162383-3034376108-1129
dsget succeeded

отдел запросов:

dsquery * -filter "(samAccountName=Tcheburator)" -attr name objectSid msNPAllowDialin adminCount whenChanged  whenCreated department l telephoneNumber

Выход:

  name           objectSid                                         msNPAllowDialin    adminCount    whenChanged            whenCreated            department    l             telephoneNumber
Tcheburator    S-1-5-21-2191659736-2261162383-3034376108-1151                                     06/12/2013 14:53:08    06/12/2013 10:18:36    View IT       New Vasyki    (322) 223-322

запросить все:

dsquery * -filter "(samAccountName=Tcheburator)" -attr *

получить ОС, пакет обновления, имя компьютера:

wmic OS get Caption, Version, BuildNumber, CSDVersion, CodeSet, CSName, LocalDateTime

Выход:

BuildNumber  Caption                                                     CodeSet  CSDVersion      CSName         LocalDateTime              Version
3790         Microsoft(R) Windows(R) Server 2003 Enterprise x64 Edition  1251     Service Pack 2  W2K3R2VIRT-2ECA  20130612191856.656000+240  5.2.3790

получить ОС, пакет обновления, имя компьютера ... дата установки, системный диск:

wmic os get BootDevice,BuildNumber,CSDVersion,Version,CSName,InstallDate,LastBootUpTime,OSLanguage,Locale,SystemDevice,SystemDirectory,SystemDrive

получить IP-адрес, MAC-адрес, GW ...:

wmic nicconfig get MACAddress, IPAddress, IPSubnet, DefaultIPGateway, Index, ServiceName, Description, SettingID

Выход:

DefaultIPGateway  Description                                             Index  IPAddress          IPSubnet           MACAddress         ServiceName   SettingID                               
                  RAS Async Adapter                                       1                                                               AsyncMac      {06CDF9C4-7DFE-4CF0-8DF4-08D86275188F}  
                  WAN Miniport (L2TP)                                     2                                                               Rasl2tp       {2F53E6CE-FE90-41FF-9346-7FE854731431}  
                  WAN Miniport (PPTP)                                     3                                            50:50:54:50:30:30  PptpMiniport  {FA6F7372-8CCB-4DAC-9B74-51501B322F83}  
                  WAN Miniport (PPPOE)                                    4                                            33:50:6F:45:30:30  RasPppoe      {075EB914-2B27-42AA-8176-7A58987C7FA9}  
                  Direct Parallel                                         5                                                               Raspti        {F992BAE1-1E06-4069-A8AE-6FFA487BC9CC}  
                  WAN Miniport (IP)                                       6                                                               NdisWan       {61EC9DB7-4374-4917-B7DA-A9182B6332DE}  
{"10.120.10.1"}   Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller  7      {"10.120.10.100"} {"255.255.240.0"}   6В:77:C7:7A:79:BB  L1e           {4EB8AC6D-15EE-4922-94F6-3FB0CED90635}  
                  Broadcom 802.11g Network Adapter                        8                                                               BCM43XX       {A245F36E-6EAA-4880-9CE1-A536C2F2A000}  
                  Packet Scheduler Miniport                               9                                            34:B3:20:52:41:53                {CE21D017-A6B3-4275-9BC5-3060B4F017A0}  
                  VMware Virtual Ethernet Adapter for VMnet1              10     {"192.168.18.1"}   {"255.255.255.0"}  00:50:56:C0:00:01  VMnetAdapter  {EB270DB9-E2B1-4689-86BF-4CBC4E30A93B}  
                  VMware Virtual Ethernet Adapter for VMnet8              11     {"192.168.232.1"}  {"255.255.255.0"}  00:50:56:C0:00:08  VMnetAdapter  {90EDFB26-FF76-4FF8-8E25-A847F7179F34}  
                  Packet Scheduler Miniport                               12                                                                            {A95F18B8-8423-4DDF-84C0-240BEF25B647}  
                  1394 Net Adapter                                        13                                                              NIC1394       {9C5F9D9E-9BA5-4C2F-AB8C-6A7EDC7A1C78}  
                  TAP-Win32 Adapter V9                                    14                                                              tap0901       {63D6E2AA-FDC6-41A4-B3CD-B3460D63A5E8}  
                  Packet Scheduler Miniport                               15                                                                            {7F4D8138-D586-4511-B737-7E05168430AB}  
                  Windows Mobile-based Internet Sharing Device            16                                                              usb_rndisx    {3E7051D2-8097-4986-8EE3-E88F028C9E07}  
                  Packet Scheduler Miniport                               17                                                                            {3909CC6A-B904-4BEA-9CEE-E6801BFF4694}  
                  Windows Mobile-based Internet Sharing Device            18                                                              usb_rndisx    {284F5467-6DE8-4398-9881-C22AEB44A0B7}  
                  Packet Scheduler Miniport                               19                                                                            {27EED4EC-0B03-4D39-B120-45C24E8BB0CE}  
STTR
источник