1
我試圖從PowerShell爲Windows服務上的用戶設置權限。但是WMI完全忽略了我的改變。我究竟做錯了什麼?Win32_Service:使用PowerShell中的SetSecurityDescriptor()
$service = Get-WmiObject -EnableAllPrivileges Win32_Service | Where-Object {$_.Name -eq "HubertService"}
$descriptor = $service.GetSecurityDescriptor()
$descriptor.Descriptor.Owner
到目前爲止這項工作。我現在有一個很好的安全描述符。我可以顯示所有者。
現在,如果我改變任何東西,例如將ACE之一AccessMask,這個工程太:
$descriptor.Descriptor.DACL[0].AccessMask = 0
我甚至可以寫這個修改的描述我win32_service時對象:
$service.InvokeMethod("SetSecurityDescriptor", $descriptor, $null)
然而,前後
$service.Put()
修改乾脆不露面的時候我創建一個新的$ service變量並在其上運行GetSecurityDesciptor()。
我在做什麼錯?