如何启动在PowerShell中禁用的服务

时间:2019-03-21 08:49:28

标签: windows powershell server

运行netstat命令并发现系统服务正在侦听端口80之后,我通过Internet进行了检查并找到了以下解决方案:

Port 80 is being used by SYSTEM (PID 4), what is that?

我跑了

sc stop w3svc

然后

sc config w3svc start= disabled 

但是sc config w3svc start= disabled命令返回了此错误

  

Set-Content:找不到接受参数'start ='的位置参数。

基本上,这是一个无效的参数,但是我在该平台上看到的几乎所有解决方案都建议使用此确切的命令行来停止和禁用该服务。

任何人都可以提供帮助,因为我不想从注册表中禁用整个HTTP服务,因此我不介意如何将此服务绑定到另一个端口,因为我需要另一个需要使用该端口的应用程序80。

2 个答案:

答案 0 :(得分:3)

PowerShell具有用于管理Windows服务的自己的cmdlet,因此与从PowerShell调用命令行工具相比,最好使用这些cmdlet。使用命令行开关可为您提供更好的错误处理。

Set-Service -Name w3svc -StartupType Disabled

请参见Set-Service

如果要将IIS侦听的端口从端口80更改为其他端口,则可以通过IIS管理器或PowerShell(需要Import-Module WebAdministration)来执行此操作。下面是将默认网站的端口从端口80更改为8080的示例:

Set-WebBinding -Name 'Default Web Site' -BindingInformation "*:80:" -PropertyName Port -Value 8080

答案 1 :(得分:1)

在Powershell中,scSet-Content的别名,别名的优先级高于路径。您有两种选择:

  1. 使用cmd代替Powershell执行命令

  2. 使用sc.exe代替sc:您的命令将变为sc.exe config w3svc start= disabled