Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Добавить пользователя и права на ветку реестра. (http://forum.oszone.net/showthread.php?t=333225)

DarckSol 16-02-2018 15:31 2798395

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

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC

В разделе "Разрешения"/Права доступа, нужно добавить пользователя и дать ему права доступа....

Не смог придумать, как добавить пользователя.....

Serguei Kouzmine 17-02-2018 17:03 2798580

ЕМНИП
https://helgeklein.com/setacl/exampl...th-setacl-exe/

и
https://www.microsoft.com/en-us/down....aspx?id=23510

Казбек 17-02-2018 17:33 2798582

DarckSol,

На PowerShell:
Код:

$acl = Get-Acl HKLM:\SOFTWARE\ODBC
$rule = New-Object System.Security.AccessControl.RegistryAccessRule ("oszone\forum","FullControl","Allow")
$acl.SetAccessRule($rule)
$acl |Set-Acl -Path HKLM:\SOFTWARE\ODBC

oszone\forum - формат ввода имени нужного пользователя. Посмотреть для своего случай можно, выполнив в PS:
Код:

Get-WmiObject -Class Win32_UserAccount

Сторонними утилитами, но из командной строки, так:

DarckSol 19-02-2018 09:37 2798874

Спасибо за скрипт, но функции PS отключены GPO...... Нужен альтернативный вариант......

Казбек 19-02-2018 11:25 2798887

Цитата:

Цитата DarckSol
Нужен альтернативный вариант »

Вам две ссылки предоставлено с альтернативными вариантами после скрипта. Вам религия не позволяет их прочесть, заменить пути и имена на актуальные, подставить необходимые аргументы?? Вот пример:
Код:

SetACL.exe -on "hklm\software\ODBC" -ot reg -actn ace
          -ace "n:oszone\forum;p:full"


DarckSol 19-02-2018 12:39 2798904

У меня есть сетка, примерно 200 компов, мне нужно на каждом компе добавить разрешения пользователю именно тому, кто за компом работает....

fire33 20-02-2018 13:13 2799114

Сделайте групповую политику

Цитата:

Цитата Казбек
Код:

SetACL.exe -on "hklm\software\ODBC" -ot reg -actn ace
 -ace "n:oszone\forum;p:full" »



DarckSol 20-02-2018 15:19 2799153

Решил иначе... Малость интерактивного порно....:

User.vbs :

Код:

On Error Resume Next
dim User
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_ComputerSystem",,48)
For Each objItem in colItems
User = objItem.UserName
'*********************************************
'Wscript.Echo "UserName: " & objItem.UserName
'*********************************************

Next

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("Perm.bat "+User)

Param.bat :
Код:

@echo off
::----------------------------------------------------------------------------------------------------------------
Set UserName=''
set OpenLog=0
Set LoG_work=D:\LogPermision_.txt
::----------------------------------------------------------------------------------------------------------------
::----------------------------------------------------------------------------------------------------------------
Set Param1=%1
::----------------------------------------------------------------------------------------------------------------
::----------------------------------------------------------------------------------------------------------------
echo.
echo.
Echo Add permissions for USER: %Param1%
echo.
echo.
echo.
echo.
echo.
echo.

if %UserName% == '' ( call :StartWork_autodetect ) else Call :Start_Manual

:StartWork_autodetect
echo.
echo.
echo ****************
Echo MOD Autodetect
echo ****************
echo.
echo.
::----------------------------------------------------------------------------------------------------------------
SetACL.exe -log "%LoG_work%" -on "hklm\software\ODBC" -ot reg -actn ace -ace "n:%Param1%;p:Full
SetACL.exe -log "%LoG_work%" -on "hklm\software\Wow6432Node\ODBC" -ot reg -actn ace -ace "n:%Param1%;p:Full
::----------------------------------------------------------------------------------------------------------------
TimeOut /t 11
::----------------------------------------------------------------------------------------------------------------
if %OpenLog% == 0 ( exit ) else %systemroot%\system32\notepad.exe %LoG_work% && exit
::----------------------------------------------------------------------------------------------------------------

:Start_Manual
echo.
echo.
echo ****************
Echo MOD Manual
echo ****************
echo.
echo.
::----------------------------------------------------------------------------------------------------------------
SetACL.exe -log "%LoG_work%" -on "hklm\software\ODBC" -ot reg -actn ace -ace "n:%UserName%;p:Full
SetACL.exe -log "%LoG_work%" -on "hklm\software\Wow6432Node\ODBC" -ot reg -actn ace -ace "n:%UserName%;p:Full
::----------------------------------------------------------------------------------------------------------------
TimeOut /t 11
::----------------------------------------------------------------------------------------------------------------
if %OpenLog% == 0 ( exit ) else %systemroot%\system32\notepad.exe %LoG_work% && exit
::----------------------------------------------------------------------------------------------------------------

И рядом нужно положить SetACL.exe

-------------------------------------------------------------

Логика....
VBS выдерает авторизованного пользователя на ПК и передает его батнику, который в свою очередь запускает SetACL.exe с нужными параметрами.... Вот как то так.

Я решил свою задачу, можно закрывать темку. Всем спасибо!

Цитата:

Цитата fire33
Сделайте групповую политику »

Многоуровневый домен, нет прав на работу с GPO.


Время: 00:44.

Время: 00:44.
© OSzone.net 2001-