Tôi đang tìm kiếm một phương thức hoàn toàn PowerShell (không có regedit hoặc sc.exe) có thể hoạt động trên 2008R2 / Win7 và mới hơn, và đã đưa ra phương pháp này:
Dễ dàng là thực hiện regedit với PowerShell:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation' -Name DependOnService -Value @('Bowser','MRxSmb20','NSI')
Hoặc, sử dụng WMI:
$DependsOn = @('Bowser','MRxSmb20','NSI','') #keep the empty array element at end
$svc = Get-WmiObject win32_Service -filter "Name='LanmanWorkstation'"
$svc.Change($null,$null,$null,$null,$null,$null,$null,$null,$null,$null,$DependsOn)
Các thay đổi phương pháp của lớp Win32_Service giúp điểm đến một giải pháp:
uint32 Change(
[in] string DisplayName,
[in] string PathName,
[in] uint32 ServiceType,
[in] uint32 ErrorControl,
[in] string StartMode,
[in] boolean DesktopInteract,
[in] string StartName,
[in] string StartPassword,
[in] string LoadOrderGroup,
[in] string LoadOrderGroupDependencies[],
[in] string ServiceDependencies[]
);