Добрый день.
Скажите, можно ли изменять права доступа к хосту (RMS 6.0.0.4) через командную строку. Это было бы очень удобно для массового разрешения доступа на список хостов некоторому пользователю или доменной группе.
Права доступа
Данный форум не является официальной службой поддержки продукта. Адрес службы поддержки: support@tektonit.com
Можно еще и добавлять к имеющимся без перезаписи (ниже пример на vbs) (актуально для 5 версии, шестую не ставил)
Данные о пользователях хранятся в двоичном виде в ключе реестре, первые 8 байт - заголовок (количество пользователей, размер записи что-то еще). Потом идут блоки по 36 байт с информацией о пользователе/группе и правах для этой записи.
Эту информацию Вам надо достать руками и добавить в скрипт (переменная user_add)
Если будете добавлять несколько записей, правьте поле new_records
Set WshShell = CreateObject("Wscript.Shell")
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Const HKLM = &H80000002
param = "HKEY_LOCAL_MACHINE\SYSTEM\Remote Manipulator System\v4\Server\Parameters\NTUser"
strKeyPath = "SYSTEM\Remote Manipulator System\v4\Server\Parameters\"
strValueName = "NTUser"
NTUser = WshShell.RegRead(param)
str1 = ""
user_add1 = "0,0,36,0,255,3,0,0,1,5,0,0,0,0,0,5,21,0,0,0,207,25,199,39,32,61,230,117,79,11,110,0,102,207,108,0"
user_add2 = "0,0,36,0,255,3,0,0,1,5,0,0,0,0,0,5,21,0,0,0,207,25,199,39,32,61,230,107,119,101,111,0,102,207,108,0"
new_records = 2
record_size = 36
oldvalue = NTUser(2)
NTUser(2) = (NTUser(2)+record_size*new_records) mod 256
NTUser(3) = NTUser(3)+(oldvalue+record_size*new_records)\256
NTUser(4) = NTUser(4)+new_records
for each value in NTUser
str1 = str1&cstr(value)&","
next
str1 = str1&user_add1&","&user_add2
newarr = split(str1,",")
oReg.SetBinaryValue HKLM,strKeyPath,strValueName,newarr
WScript.Quit(0)
Данные о пользователях хранятся в двоичном виде в ключе реестре, первые 8 байт - заголовок (количество пользователей, размер записи что-то еще). Потом идут блоки по 36 байт с информацией о пользователе/группе и правах для этой записи.
Эту информацию Вам надо достать руками и добавить в скрипт (переменная user_add)
Если будете добавлять несколько записей, правьте поле new_records
Set WshShell = CreateObject("Wscript.Shell")
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Const HKLM = &H80000002
param = "HKEY_LOCAL_MACHINE\SYSTEM\Remote Manipulator System\v4\Server\Parameters\NTUser"
strKeyPath = "SYSTEM\Remote Manipulator System\v4\Server\Parameters\"
strValueName = "NTUser"
NTUser = WshShell.RegRead(param)
str1 = ""
user_add1 = "0,0,36,0,255,3,0,0,1,5,0,0,0,0,0,5,21,0,0,0,207,25,199,39,32,61,230,117,79,11,110,0,102,207,108,0"
user_add2 = "0,0,36,0,255,3,0,0,1,5,0,0,0,0,0,5,21,0,0,0,207,25,199,39,32,61,230,107,119,101,111,0,102,207,108,0"
new_records = 2
record_size = 36
oldvalue = NTUser(2)
NTUser(2) = (NTUser(2)+record_size*new_records) mod 256
NTUser(3) = NTUser(3)+(oldvalue+record_size*new_records)\256
NTUser(4) = NTUser(4)+new_records
for each value in NTUser
str1 = str1&cstr(value)&","
next
str1 = str1&user_add1&","&user_add2
newarr = split(str1,",")
oReg.SetBinaryValue HKLM,strKeyPath,strValueName,newarr
WScript.Quit(0)