2014-09-01 91 views
1

我的代码在这里应该禁用列表中的服务。但我得到的通过Powershell禁用计算机管理服务

method invocation failed because system string doesn't contain a a method named ChangeStartMode 

(gwmi win32_service -filter "name = 'SharedAccess' Or name = 'cx2Svc' OR name = 'NetTcpPortSharing' OR name = 'RemoteAccess' OR name = 'AxInstSV' OR name = 'SensrSvc' OR name = 'ALG' OR name = 'AppMgmt' OR name = 'BDESVC' OR name = 'bthserv' OR name = 'PeerDistSvc' OR name = 'CertPropSvc' OR name = 'VaultSvc' OR name = 'DPS' OR name = 'WdiServiceHost' OR name = 'WdiSystemHost' OR name = 'TrkWks' OR name = 'EFS' OR name = 'Fax' OR name = 'fdPHost' OR name = 'FDResPub' OR name = 'hkmsvc' OR name = 'hidserv' OR name = 'UI0Detect' OR name = 'iphlpsvc' OR name = 'lltdsvc' OR name = 'MSiSCSI' OR name = 'Netlogon' OR name = 'napagent' OR name = 'CscService' OR name = 'WPCSvc' OR name = 'PNRPsvc' OR name = 'p2psvc' OR name = 'p2pimsvc' OR name = 'IPBusEnum' OR name = 'PNRPAutoReg' OR name = 'WPDBusEnum' OR name = 'wercplsupport' OR name = 'PcaSvc'").ChangeStartMode("Disabled")

我曾试图改变报价,并试图使其成为一个服务的错误。我也尝试使用我在网上找到的ChangeServiceStart和ChangeServiceStartType来查看其他人的脚本,但没有一个能够工作。我还使用PowerShell 1.0版V2.0试过这几台计算机和一个与WMI 3.0

+0

你确定这里给出的命令是你想什么呢?它按照我的预期工作。你能给出一个你尝试过的服务的简单情况吗? – manojlds 2014-09-01 17:32:48

+0

(gwmi win32_service -filter“name ='SharedAccess'”)。ChangeStartMode(“Disabled”) 我的结构正确吗? – mrhobbeys 2014-09-01 17:56:35

+0

另外我用一个USB把它写到一个文本文件中,并且在尝试它或在这里发布时拷贝/粘贴它。 – mrhobbeys 2014-09-01 18:02:56

回答

1

你需要使用的foreach或的foreach对象调用返回对于每个结果该方法 -

简体例如,使用的foreach对象 -

(gwmi win32_service -filter "name = 'SharedAccess' Or name = 'cx2Svc') | 
    ForEach-Object {$_.ChangeStartMode("Disabled")} 

你也可以使用该服务的cmdlet为这项活动 -

Get-Service -Name SharedAccess, cx2Svc -EA 0 | 
    Set-Service -StartupType Disabled 
+0

好的,我会试试看。 – mrhobbeys 2014-09-02 17:15:01

相关问题