Как узнать .NET тип объектов в Powershell

В Powershell:

PS C:\Users\user> (Get-Acl c:).GetType() 
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    DirectorySecurity                        System.Security.AccessControl.FileSystemSecurity

 

Set-WSManQuickConfig — Настраивает локальный компьютер для удаленного управления

Настраивает локальный компьютер для удаленного управления.

Синтаксис

Set-WSManQuickConfig [-UseSSL] [<CommonParameters>]

Описание

Командлет Set-WSManQuickConfig настраивает компьютер на получение удаленных команд Windows PowerShell, отправляемых с использованием технологии WS-Management.

Командлет выполняет следующие операции.

1. Проверяет, запущена ли служба WinRM. Если служба WinRM не запущена, командлет запускает ее.

2. Устанавливает для службы WinRM тип запуска «Авто».

3. Создает прослушиватель для приема запросов на любом IP-адресе. По умолчанию используется протокол HTTP.

4. Создает исключение брандмауэра для трафика, создаваемого службой WinRM.

Чтобы использовать этот командлет в Windows Vista, Windows Server 2008 и более поздних версиях Windows, необходимо запускать Windows PowerShell командой «Запуск от имени администратора».

Пример 1

C:\PS>Set-WSManQuickConfig

Описание
-----------
Эта команда устанавливает конфигурацию, необходимую для обеспечения удаленного управления локальным компьютером. По умолчанию она создает прослушиватель WS-Management для протокола HTTP.

Пример 2

C:\PS>Set-WSManQuickConfig -UseSSL

Описание
-----------
Эта команда устанавливает конфигурацию, необходимую для обеспечения удаленного управления локальным компьютером. Поскольку указан параметр UseSSL, команда создает прослушиватель WS-Management для протокола HTTPS.

Что значит Ex: -536805376 и 268435456 в выводе Get-ACL

Нашёл здесь

PS > [system.enum]::getvalues([System.Security.AccessControl.FileSystemRights]) | %{$_.value__} | measure -sum

Count : 23
Average :
Sum : 4524076
Maximum :
Minimum :
Property :

Это где-то в хедерах винды:

winnt.h contains:

#define DELETE    (0x00010000L)
#define READ_CONTROL   (0x00020000L)
#define WRITE_DAC   (0x00040000L)
#define WRITE_OWNER   (0x00080000L)
#define SYNCHRONIZE   (0x00100000L)

#define STANDARD_RIGHTS_REQUIRED  (0x000F0000L)

#define STANDARD_RIGHTS_ALL  (0x001F0000L)

#define SPECIFIC_RIGHTS_ALL  (0x0000FFFFL)

#define ACCESS_SYSTEM_SECURITY  (0x01000000L)

#define MAXIMUM_ALLOWED   (0x02000000L)

#define GENERIC_READ   (0x80000000L)
#define GENERIC_WRITE   (0x40000000L)
#define GENERIC_EXECUTE   (0x20000000L)
#define GENERIC_ALL   (0x10000000L)

Итого у наших цифр получается следующий смысл:

PS > 0x80000000 -bor 0x40000000 -bor 0x20000000 -bor 0x0001000

-536805376 

268435456   - FullControl
-536805376  - Modify, Synchronize
-1610612736 - ReadAndExecute, Synchronize

 

 

$Permission = [System.Security.AccessControl.FileSystemRights]»Modify, Synchronize»