Contents of this directory is archived and no longer updated.

Posts on this page:

Примечание: данный пост перепечатан в связи с закрытием бложиков на spaces.live.com, как имеющий какую-то ценность для автора и/или читателей.


Как известно, PowerShell позволяет очень просто конвертировать hexadecimal значения в decimal. Достаточно в консоли набрать 0xhex_значение. Вот несколько примеров:


Read more →

Примечание: данный пост перепечатан в связи с закрытием бложиков на spaces.live.com, как имеющий какую-то ценность для автора и/или читателей.


В 3-й части стати Управление ACL в PowerShell я говорил, что не представляется возможным нативно через метод SetOwner изменить владельца объекта на кого-нибудь, кроме себя или группы Administrators (Администраторы). Эту операцию невозможно было сделать и в GUI в Windows 2000/XP. Но в Windows Server 2003 появилась возможность изменять владельца объекта на любого пользователя или группу из GUI. Для этой операции требуется лишь право Se_Restore - Restore directories and files в локальной политике безопасности, разделе User Rights Assignment. По умолчанию данное право дано администраторам (Administrators) и операторам архива (Backup Operators). Однако, данное право не включено по умолчанию. К сожалению .NET пока что не имеет "родного" метода, чтобы включить данное право, в результате чего используя скрипты PowerShell мы не сможем полноценно использовать новую в Windows Server 2003 функцию. Но не всё так плохо, как может показаться - есть обходное решение данной проблемы. Данную проблему решили в проекте PowerShell Community Extensions.

Для использования этой привилегии необходимо установить пакет PowerShell Community Extensions 1.1.1 (там же и описание возможностей, которые включены в эти расширения). После установки пакета можно начинать использовать данное расширение:


Read more →

Примечание: данный пост перепечатан в связи с закрытием бложиков на spaces.live.com, как имеющий какую-то ценность для автора и/или читателей.


При написании скриптов, которые автоматически назначают права NTFS или права доступа к реестру (ну и в других ситуациях) иногда требуется конвертация имени пользователя в его SID и наоборот, у нас есть SID пользователя и нужно узнать его имя в базе SAM или базе Active Directory. Для этих преобразований используется 2 класса - SecurityIdentifier и класс NTAccount. Делается каждая операция в 2 строчки:


Read more →

Примечание: данный пост перепечатан в связи с закрытием бложиков на spaces.live.com, как имеющий какую-то ценность для автора и/или читателей.


В предыдущих частях я рассказал как управлять ACL списками в PowerShell для файлов и папок NTFS. В этой, заключительной части я покажу:

  • управление ACL списками реестра;
  • смена владельца (Owner) объекта;
  • управление аудитом файловой системы и реестра.

 

Управление ACL списками реестра

ACL списки реестра в PowerShell управляются по такому же принципу, что и для объектов файловой системы NTFS. Отличия заключаются только в доступных разрешениях, уровнях наследования и именах используемых классов. Для установки разрешений на ключи реестра используется класс RegistryAccessRule. Список самих разрешений перечислен в RegistryRights Enumeration. Чтобы посмотреть этот список в PowerShell достаточно выполнить команду:


Read more →

Примечание: данный пост перепечатан в связи с закрытием бложиков на spaces.live.com, как имеющий какую-то ценность для автора и/или читателей.


В первой части я рассказал про простое использование командлетов Get-Acl и Set-Acl, которые в PowerShell позволяют работать со списками ACL для объектов, как реестр, файловая система NTFS. Во этой части я расскажу про:

  • Выборочное удаление разрешений;
  • удаление участников безопаности из списка ACL и удаление всех ACE;
  • управление наследованием разрешений; 

И в конце напишу скрипт с практическим применением.

Удаление ACE из списков разрешений ACL

В продолжении рассмотрим удаление разрешений как всех разрешений для пользователя, так и выборочных рарешений для пользователя. Если в предыдущем примере мы создавали новые разрешения для пользователя при помощи метода SetAccessRule, то для удаления этих разрешений будет использоваться метод RemoveAccessRule. Здесь я даже комментировать ничего не буду, а просто отменю все выданные в предыдущем примере разрешения:


Read more →