Добавить пользователя и права на ветку реестра.
Добрый день, помогите реализовать задачку....:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
В разделе "Разрешения"/Права доступа, нужно добавить пользователя и дать ему права доступа....
Не смог придумать, как добавить пользователя.....
|
Serguei Kouzmine |
17-02-2018 17:03 2798580 |
|
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
Сторонними утилитами, но из командной строки, так:
|
Спасибо за скрипт, но функции PS отключены GPO...... Нужен альтернативный вариант......
|
Цитата:
Цитата DarckSol
Нужен альтернативный вариант »
|
Вам две ссылки предоставлено с альтернативными вариантами после скрипта. Вам религия не позволяет их прочесть, заменить пути и имена на актуальные, подставить необходимые аргументы?? Вот пример:
Код:
SetACL.exe -on "hklm\software\ODBC" -ot reg -actn ace
-ace "n:oszone\forum;p:full"
|
У меня есть сетка, примерно 200 компов, мне нужно на каждом компе добавить разрешения пользователю именно тому, кто за компом работает....
|
Сделайте групповую политику
Цитата:
Цитата Казбек
Код:
SetACL.exe -on "hklm\software\ODBC" -ot reg -actn ace
-ace "n:oszone\forum;p:full" »
|
|
Решил иначе... Малость интерактивного порно....:
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.
© OSzone.net 2001-