Что перезапустить после изменения разрешений объекта DCOM через PowerShell? - PullRequest
0 голосов
/ 15 января 2020

Я использую PowerShell для успешной установки разрешений объекта DCOM.

Хотя при использовании объекта DCOM моим программным обеспечением изменения разрешений не распознаются, пока я не перезагружаю компьютер.

Как я могу предотвратить этот перезапуск? Можно ли перезапустить один компонент / службу после изменения разрешений?

Я использую этот код для изменения разрешений:

$apiDCOMObj = Get-WmiObject -Query ('SELECT * FROM Win32_DCOMApplicationSetting WHERE Caption = "MyAPI"') -EnableAllPrivileges
$descrLaunch = $apiDCOMObj.GetLaunchSecurityDescriptor().descriptor
$descrAccess = $apiDCOMObj.GetAccessSecurityDescriptor().descriptor
$trusteeObj = ([wmiclass]'Win32_Trustee').psbase.CreateInstance()
$trusteeObj.Domain = "NT AUTHORITY"
$trusteeObj.Name = "NETWORK SERVICE"
$aceLaunch = ([wmiclass]'Win32_ACE').psbase.CreateInstance()
$aceLaunch.AccessMask = 11                                            # Mask for Local Launch and Local Activation
$aceLaunch.trustee = $trusteeObj
$aceAccess = ([wmiclass]'Win32_ACE').psbase.CreateInstance()
$aceAccess.AccessMask = 3                                             # Mask for Local Access
$aceAccess.trustee = $trusteeObj
$descrLaunch.DACL += [System.Management.ManagementBaseObject]$aceLaunch
$descrAccess.DACL += [System.Management.ManagementBaseObject]$aceAccess
$apiDCOMObj.SetLaunchSecurityDescriptor($descrLaunch)
$apiDCOMObj.SetAccessSecurityDescriptor($descrAccess)

1 Ответ

0 голосов
/ 15 января 2020

Вы можете позвонить на Restart-Service .

Restart-Service -Name <your_service_name>

Это перезапустит службу с новыми разрешениями.

...