如何禁止软件禁用服务 100

最近网络服务商的登陆软件升级,变成每隔一段时间就将windows的网络共享服务关闭,造成局域网内除主机均不能上网,请问如何才能将起禁止?曾想过用用户权限方式禁止,但是好像行不通,帮忙解决以下,谢谢。
我有更好的答案
推荐于2016-10-26 09:38:03 最佳答案
1 先创建一项服务,然后把这项服务的执行路径改为与windows的网络共享服务相同的路径,两个服务都开启,
创建服务用sc命令
2 网络共享服务执行路径好像是C:\WINDOWS\System32\alg.exe,就是说,你也可以直接运行这个文件,为防止关闭,改下名,比如alg1.exe。
3 或者写一段脚本,如果进程中没有alg.exe,就创建这个进程。
就用vbs吧:
Function CheckPro(strComputer,ProName)
Dim objWMIService,colProcesses,objProcessSet
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")
CheckPro = False
For Each objProcess in colProcesses
If objProcess.Name = ProName Then
CheckPro = True
Exit For
End If
Next
End Function

do
Dim oShell
Set oShell = WScript.CreateObject("WScript.Shell")
If Not CheckPro(".","alg.exe") Then
oShell.run "C:\WINDOWS\System32\alg.exe"
End If
set oshell = nothing
wscript.sleep 5000
loop

liushiqing233

采纳率:84% 擅长: 暂未定制

其他回答

给你提供4条思路:
1 先创建一项服务,然后把这项服务的执行路径改为与windows的网络共享服务相同的路径,两个服务都开启,
不清楚 方正宽带 是如何枚举各项服务的,如果是枚举到服务名再关闭服务,那么这条思路应该可行,试试看吧。
创建服务用sc命令,你搜索一下吧。

2 网络共享服务执行路径好像是C:\WINDOWS\System32\alg.exe,就是说,你也可以直接运行这个文件,为防止关闭,改下名,比如alg1.exe。

3 或者写一段脚本,如果进程中没有alg.exe,就创建这个进程。
就用vbs吧:
Function CheckPro(strComputer,ProName)
Dim objWMIService,colProcesses,objProcessSet
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")
CheckPro = False
For Each objProcess in colProcesses
If objProcess.Name = ProName Then
CheckPro = True
Exit For
End If
Next
End Function

do
Dim oShell
Set oShell = WScript.CreateObject("WScript.Shell")
If Not CheckPro(".","alg.exe") Then
oShell.run "C:\WINDOWS\System32\alg.exe"
End If
set oshell = nothing
wscript.sleep 5000
loop

写这个脚本费了不少神,调试的时候我拿扫雷游戏做实验,有一次不小心弄成死循环,555,满屏幕都是扫雷。。。。
对了,这个脚本是一直运行的,要终止它,任务管理器里关闭wscript.exe就行。

4、如果觉得这个脚本不可靠,或者不好使,网上还有进程保护的软件,你去搜索一下。
展开
本回答被提问者采纳
kksll | 推荐于2016-08-31 16:11:12
评论
您好,DS。您知道吗,脚本专家似乎无意中发现了一个好主意。在上期专栏中,我们向大家介绍了如何禁用 LMHosts 文件。今天,我们将向大家介绍如何禁用服务。如果我们这样继续下去的话,不久,我们便可将如何禁用计算机上的一切介绍给大家。请想象一下:不再有网络问题,不再有客户服务中心呼叫,不再有用户覆盖了不应覆盖的文件。我们所要做的就是禁用一切,从而所有这些问题都将消失!这可以是我们通往幸福时光的入场券。

不可否认,禁用计算机上的一切可能导致贵组织出现其他问题。但这只是需要由你们来处理的内部事务。

此外,我们可能忙于数钱而无法帮助您。

当然,在钞票开始滚滚而来之前,我们仍不得不编写此专栏,我们仍不得不付帐。正因为明确这一点,我们在下面提供了在计算机上禁用 Alerter 服务的脚本:

strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")

Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name = 'Alerter'")

For Each objService in colServiceList
If objService.State = "Running" Then
objService.StopService()
Wscript.Sleep 5000
End If
errReturnCode = objService.ChangeStartMode("Disabled")
Next

如您所见,禁用服务并不需要很多代码,并且所需的一小段代码都是很基础的代码。不过,有一个棘手的部分,这就是我们为什么将花几分钟时间逐步向您介绍此脚本的原因。

除此以外,不管怎样 Rolls Royce 经销权都不会多开放一小时。

脚本开始并没什么奇特之处:我们只是连接到本地计算机上的 WMI 服务(尽管我们也可以禁用远程计算机上的服务)。然后,我们发出以下查询,该查询返回一个仅包含一项的集合:Alerter 服务:

Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name = 'Alerter'")

顺便说一下,请确保包括了如上所示的 Where 子句。为什么?设想一下,假设您省略了 Where 子句。在这种情况下,您的集合将包含安装在计算机上的所有服务,那么,你的脚本将尽职尽责地试图禁用每个服务。

您说对了:这通常不是什么好事。此外,脚本专家可能会控告您;毕竟,禁用计算机上的一切是我们的主意!

得到集合后,我们建立一个 For Each 循环以遍历该集合内的所有项。(是的,我们知道:集合中只有一项。但我们仍需使用 For Each 循环。)以下是棘手部分。您可以禁用运行中的服务;但是,该服务在停止运行前实际并未被禁用。如果禁用运行中的服务,该服务会一如既往地继续运行;更改将在服务停止后才生效。

正因为如此,我们使用下面这行代码来查看 Alerter 服务是否正在运行:

If objService.State = "Running" Then

如果该服务正在运行,那么我们就调用 StopService() 方法来停止该服务。之后我们暂停 5 秒(5,000 毫秒);使得服务有时间在我们继续操作以禁用它之前真正停止。我们就是照下面这样做的:

objService.StopService()
Wscript.Sleep 5000

注意:为了使该示例脚本尽可能简短,我们做了些手脚。我们假设您的服务仅处于“运行”或“停止”状态。实际上,服务还可能包含其他状态,最显著地是“暂停”或“继续”。要编写一个更稳妥的脚本,您或许还应该检查这些状态(并采取相应的措施)。但是,因为在 99.9% 情况下,服务都处于运行或停止状态,所以您通常可以使用我们给出的脚本蒙混过去。

服务停止后,我们就可以使用下面这行代码禁用它:

errReturnCode = objService.ChangeStartMode("Disabled")

如您所见,我们只是使用 ChangeStartMode 方法更改 StartMode 属性的值。我们要禁用该服务,所以我们将参数“Disabled”传递给 ChangeStartMode。我们还可以将 StartMode 设置为“Manual”或“Automatic”;这样会将 StartMode 设置为“手动”或“自动”。

请记住,服务被停止并禁用后,将无法再启动;重新启动该服务的唯一方法是重新启用它(通过将 StartMode 更改为“手动”或“自动”)。但是,我们会等到说服每个人禁用其计算机上的一切后,才介绍如何重新启用这些东西。
展开
摆渡网络江湖 | 发布于2007-08-20
评论
下载个系统服务终结者,绝对好用!!!!有详细的服务介绍!!!!
513535291 | 发布于2007-08-13
评论
你的局域网不是用路由器吗?
用拔号多麻烦哪?
QQ254562602 | 发布于2007-08-10
评论
收起 其他2条回答

为您推荐:

广告

您可能关注的内容

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消