полномочия на 2008 r2 корневой каталог

LoadRunner измеряет время отклика. Довольно дорогой.

1
задан 27 January 2011 в 06:41
2 ответа

Или если Вы предпочитаете PowerShell, один из моих techs записал это, которое работало хорошо на нас. Я уверен, что это может, очистил некоторых, но я уехал в некоторых строках тестирования, чтобы помочь играть с и настроить. Это использует инструменты Quest, в которых Вы больше не нуждаетесь, особенно если Вы находитесь на PowerShell v2 и SubInACL:

cls
#Add-PSSnapin quest*
#$dirlist = gci -name c:\test -Exclude *.* | sort #my original


$dirlist = gci \\servername\sharename -Exclude *.* | ? { $_.PSIsContainer }

$subinacl = "C:\utils\subinacl.exe"
foreach ($userdir in $dirlist)
        {
            $username = $userdir.name
            $adaccount = Get-QADUser $username
            #Verifies user is an active employee, renamed folder to be deleted if not
            If (($adaccount.AccountIsDisabled -eq $TRUE) -or (!$adaccount))
                {
                    write-host "$username is not a current employee"
                    #takeownership
                    #takeown /f $userdir /R /D Y /A
                    #rename folder to _DEL_originalname
                    $newname = "_DEL_$username"
                    rename-item -path $userdir -newname $newname
                }
            Else
                {
                #get full path            
                Write-Host $userdir.name
                #$currentDir = "c:\test\$userdir" #my original
                $currentDir = $userdir.FullName # this way you don't dupe the start folder
                #takeown /f $userdir /R /D Y /A

                #get ACL of folder
                $acl = Get-Acl $currentDir

                #variable to set new permissions for username of folder           
                #$permission = "domainname\$userdir",”FullControl”,”ContainerInherit,ObjectInherit”,”None”,”Allow” #original
                $permission = "$username@domainname.com",”FullControl”,”ContainerInherit,ObjectInherit”,”None”,”Allow”

                $accessRule = new-object System.Security.AccessControl.FileSystemAccessRule $permission

                #actually set the permissions
                $acl.SetAccessRule($accessRule)
                #$acl | Set-Acl $currentDir #my original
                Set-Acl $currentDir $acl

                #use subinacl to set owner at parent level and below
                $params1 = "/file $currentDir /setowner=domainname\$username"
                $params2 = "/subdirectories $currentDir\*.* /setowner=domainname\$username"
                $params3 = "/subdirectories $currentDir\* /grant=domainname\$username"
                $params4 = "/subdirectories $currentDir\* /grant=domainname\administrators=F"
                Invoke-Expression "$subinacl $params1" | out-null
                Invoke-Expression "$subinacl $params2" | out-null
                Invoke-Expression "$subinacl $params3" | out-null
               # Invoke-Expression "$subinacl $params4" | out-null
                }
        }
0
ответ дан 4 December 2019 в 10:31

Этот сценарий является тем, который я использовал на победе 2008 для сброса безопасности пользователей на каталоге, названном e:\users. Это сбрасывает владение корректному владельцу и устанавливает профиль стандартной защиты. Это использует встроенный takeown и icacls, которые идут с 2008 так никакие внешние необходимые инструменты.

Это предполагает, что имена пользователей и имена каталогов являются тем же. т.е. e:\users\j.doe принадлежит mydomain\j.doe

При передаче его параметр как j.doe, это только 'исправляет' тот каталог, таким образом, можно протестировать его на одном каталоге. Проверьте, что права доступа - то, что Вы хотите перед живым использованием. Я использовал это для исправления вещей после миграции, где я копировал файлы в сценариях.

@echo off
setlocal enabledelayedexpansion
set mydom=mydomainname
set domadmins=%mydom%\Domain Admins
set domadmin=%mydom%\administrator


for /d %%A in (e:\users\%1*) do (
        echo %%~nA%%~xA         %%A

        echo.
        echo takeown
        takeown /f %%A /r /d y

        echo.
        echo reset security
        icacls %%A\*.* /reset /t

        echo.
        echo reset user access
        icacls %%A\*.* /grant:r "%mydom%\%%~nA%%~xA:(oi)(ci)F"

        echo.
        echo Add domainadmins
        icacls %%A\*.* /grant:r "%domadmins%:(oi)(ci)f" /grant:r "%mydom%\%%~nA%%~xA:(oi)(ci)F" /grant:r "%domadmin%:(oi)(ci)f" /grant:r "SYSTEM:(OI)(CI)F" /t /c

        rem echo.
        rem echo add user full access
        rem icacls %%A /grant:r "%mydom%\%%~nA%%~xA:(oi)(ci)F" /t /c
        icacls %%A\*.* /inheiritance:r

        echo.
        echo reset user ownership
        @echo on
        icacls %%A\*.* /setowner %mydom%\%%~nA%%~xA /t /c
        @echo off)

echo finished

Я внес некоторые незначительные изменения при регистрации, таким образом, может быть синтаксическая ошибка.

0
ответ дан 4 December 2019 в 10:31

Теги

Похожие вопросы