无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 3561|回复: 16
打印 上一主题 下一主题

[求助] win10非管理员身份运行的CMD,kill杀死进程不能用进程名称

[复制链接]
跳转到指定楼层
1#
发表于 2020-6-13 18:52:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenzhand1 于 2020-6-13 19:05 编辑

win10非管理员身份运行的CMD,kill杀死进程不能用进程名称(杀不掉),但可以用进程对应的PID杀死。
现在想让大神们帮我写个批处理1、在CMD下面用TaskList命令获取pid列表
2、在列表结果里查找"xxx"这个进程的pid值"a",
3、调用这个Pid值"a"到tskill "a"杀死这个进程



最终想要的结果就是用命令,tskill+pid值杀死指定进程(这个进程每次运行的PID是不同的),要经常重复做这事,所以要写个批处理。
2#
发表于 2020-6-13 19:14:55 | 只看该作者
以名称而不是以PID,仅供参考。
tskill.vbs
  1. Name = Array("001.exe","002.exe")
  2. Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Debug)}!\\.\root\cimv2")
  3. Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process")
  4. For Each objProcess In colProcessList
  5.         For Each Process In Name
  6.                 If LCase(objProcess.Name) = LCase(Process) Then
  7.                         objProcess.Terminate()
  8.                 End If
  9.         Next
  10. Next
复制代码

点评

不管是白猫还是黑猫,捉到老鼠就是好猫!  发表于 2020-6-13 19:16
回复

使用道具 举报

3#
发表于 2020-6-13 21:01:06 | 只看该作者
这个简单粗暴,一行就行了,
for /f "tokens=1,2" %%a in ('tasklist^|find "chrome.exe"') do tskill %%b
回复

使用道具 举报

4#
发表于 2020-6-13 21:42:42 | 只看该作者
经过测试,未发现Win8.1存在这么明显的bug,非管理员的CMD,进程名和PID效力相同,该终止不了的,还是终止不了,本来能终止的,怎么都能终止。莫非10已经有这么明显的bug了???普通权限的进程能越权终止管理员权限启动的进程???这么牛逼???!!!

不过呢?我还是写了个工具,给楼主玩玩吧。
  1. @echo off
  2. pushd %~dp0

  3. set help=
  4. if "%~1#"=="#" set help=yes
  5. if "%~1"=="/?" set help=yes
  6. if /i not "%~1"=="/IM" set help=yes
  7. if /i "%~1#%~2"=="/IM#" set help=yes
  8. if "%~2#"=="#" set help=yes
  9. if "%help%"=="yes" call :HELP

  10. if /i "%~1"=="/IM" if not "%~2#"=="#" for /f "tokens=1,2 delims=: " %%a in ('tasklist /fi "imagename eq %~2" /fo list') do if /i "%%a"=="PID" taskkill /pid %%b /t /f
  11. exit /b

  12. :HELP
  13.         echo;
  14.     echo;KILLPID /IM imagename
  15.     echo;
  16.     echo;描述:
  17.     echo;    使用该工具根据映像名称自动获取进程 ID (PID) 并终止任务。
  18.     echo;    最终实际执行的命令是TASKKILL /PID processid /T /F
  19.     echo;
  20.     echo;参数列表:
  21.     echo;    /IM   imagename        指定要终止的进程的映像名称。
  22.     echo;
  23.     echo;例如:
  24.     echo;    KILLPID /IM notepad.exe
  25. goto :eof
复制代码


点评

如果终止不了管理员运行的程序,那就完蛋了,怎么关机啊。 2000时代就有ntsd -c -p q这个万能结束了,对付流氓是很好用的  详情 回复 发表于 2020-6-14 09:01
楼主说的可能不是普通程序进程,是某种比较挫的自保钩子?  详情 回复 发表于 2020-6-13 22:07
回复

使用道具 举报

5#
发表于 2020-6-13 21:45:00 | 只看该作者
>killpid /?

KILLPID /IM imagename

描述:
    使用该工具根据映像名称自动获取进程 ID (PID) 并终止任务。
    最终实际执行的命令是TASKKILL /PID processid /T /F

参数列表:
    /IM   imagename        指定要终止的进程的映像名称。

例如:
    KILLPID /IM notepad.exe

>

回复

使用道具 举报

6#
发表于 2020-6-13 22:07:38 | 只看该作者
nttwqz 发表于 2020-6-13 21:42
经过测试,未发现Win8.1存在这么明显的bug,非管理员的CMD,进程名和PID效力相同,该终止不了的,还是终止 ...

楼主说的可能不是普通程序进程,是某种比较挫的自保钩子?
回复

使用道具 举报

7#
发表于 2020-6-14 09:01:21 来自手机 | 只看该作者
nttwqz 发表于 2020-6-13 21:42
经过测试,未发现Win8.1存在这么明显的bug,非管理员的CMD,进程名和PID效力相同,该终止不了的,还是终止 ...

如果终止不了管理员运行的程序,那就完蛋了,怎么关机啊。
2000时代就有ntsd -c -p q这个万能结束了,对付流氓是很好用的

点评

uac自vista才有,win7时代完善,2000到现在难道普通人有用非管理员账户的平常?  详情 回复 发表于 2020-6-14 10:12
回复

使用道具 举报

8#
发表于 2020-6-14 10:12:12 来自手机 | 只看该作者
江南一根葱 发表于 2020-6-14 09:01
如果终止不了管理员运行的程序,那就完蛋了,怎么关机啊。
2000时代就有ntsd -c -p q这个万能结束了,对 ...

uac自vista才有,win7时代完善,2000到现在难道普通人有用非管理员账户的平常?

点评

实际上大部份人用管理员帐户来使用 win10所谓的”管理员身份“,是即使administrator登陆,也没有完整的权限的,还是要”以管理员运行“才有权限 貌似taskkill也可以用pid来杀死进程,不过有些软件进程不能用taskk  详情 回复 发表于 2020-6-14 10:28
回复

使用道具 举报

9#
发表于 2020-6-14 10:28:45 | 只看该作者
nttwqz 发表于 2020-6-14 10:12
uac自vista才有,win7时代完善,2000到现在难道普通人有用非管理员账户的平常?

实际上大部份人用管理员帐户来使用
win10所谓的”管理员身份“,是即使administrator登陆,也没有完整的权限的,还是要”以管理员运行“才有权限
貌似taskkill也可以用pid来杀死进程,不过有些软件进程不能用taskkill来结束,会死机,但却可以用ntsd或tskill结束,
根据pid来结束,一般使用情况是进程名称超长超粗超硬超变态比如(1111 2222 3333 4444).exe 有些干脆没扩展名,那时候就只能直接用模糊查找到进程pid来结束
回复

使用道具 举报

10#
发表于 2020-6-14 13:26:59 来自手机 | 只看该作者
bug10不了解。知道bug10的任务管理器是不能结束大部分进程的。

点评

确实,比如系统中断、系统空闲进程、system、smss、csrss、各种杀毒软件后台进程、各种病毒进程等等。  详情 回复 发表于 2020-6-14 14:26
回复

使用道具 举报

11#
发表于 2020-6-14 14:26:47 | 只看该作者
窄口牛 发表于 2020-6-14 13:26
bug10不了解。知道bug10的任务管理器是不能结束大部分进程的。

确实,比如系统中断、系统空闲进程、system、smss、csrss、各种杀毒软件后台进程、各种病毒进程等等。
回复

使用道具 举报

12#
 楼主| 发表于 2020-9-4 16:25:38 | 只看该作者
谢谢大家了,批处理我还是没有搞好,我已经放弃这种方法了,已经通过其它方式达到了我想要的目的
回复

使用道具 举报

13#
发表于 2020-9-4 17:14:08 来自手机 | 只看该作者
bug10的非内置管理员账号=劣质低等管理员,用命令行提权不行,除了到system32文件夹去用右键管理员运行cmd才能打开管理员cmd,当然也可以建快捷方式到桌面,设置快捷方式管理员打开。
回复

使用道具 举报

14#
发表于 2020-9-6 09:42:14 | 只看该作者
学习了
回复

使用道具 举报

15#
发表于 2021-1-29 02:11:02 来自手机 | 只看该作者
好深奥哦。
回复

使用道具 举报

16#
发表于 2021-1-30 20:44:55 | 只看该作者
以前win10以前的 UAC 只有两档,开成不提示就是关闭(不管程序有没有声明,都能拿到全部特权)
win10以后,不提示也是开启的,要程序声明使用UAC,才能拿到全部特权。。。
win10之前dwm是普通进程,win10以后变成关键进程,通过特殊手段干掉就直接蓝屏了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2021-2-26 15:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表