原文链接地址:https://www.cnblogs.com/boltkiller/articles/4791307.html
psexec是sysinternals的一款强大的软件,通过他可以提权和执行远程命令,对于批量大范围的远程运维能起到很好的效果,尤其是在域环境下。通常,这个命令,常用的有如下2种方式。
1.以系统身份运行指定应用程序
这个很简单,但是很有意思,Windows系统中administrator的权限不是最大的,最大的是system,很多信息只有system才能查看,比如注册表的sam信息,administrator是看不了的,如果你非要强行修改sam的权限而不顾安全的话,拿就是另外一种情况。那么现在我们要以system的身份启动regedit.exe,命令如下:
psexec -s -i regedit.exe
-s就是以system身份,-i就是交互式,意思是让你看到注册表编辑器的这个窗口,不然他就在后台运行了。
2.创建/执行远程命令代码。
执行远程进程的前提条件是对方机器必须开启ipc$,以及admin$,否则无法执行。下面我们来看详细命令:
ð 开启ipc$
net share ipc$
ð 开启admin$
net share admin$
ð 在对方电脑上运行程序
C:\>psexec \\192.168.100.2 -u administrator -p 123456 -d -s calc
运行calc后返回,对方计算机上会有一个calc进程,是以系统身份运行的,因为calc前面是-s(system的意思)。窗口对方是看不到的,如果需要对方看到这个窗口,需要加参数-i。
C:\>psexec \\192.168.100.2 -u administrator -p 123456 -d calc
承上,就以当前身份运行calc,然后返回
C:\>psexec \\192.168.100.2 -u administrator -p 123456 -i -d cmd /c start http:// www.baidu.com
为对方以当前用户身份打开百度网页,并让他看到这个网页
ð 在对方电脑上运行cmd命令,且不让对方看到这个窗口
C:\>psexec \\192.168.100.2 -u administrator -p 123456 -s cmd
这个命令执行成功之后,命令提示符窗口在我这边,可以直接在我这边输入命令,而命令在对端执行,相当于远端应用程序虚拟化到本地,很有用。
常用命令就这些,如需更多信息,请参考说明文件,注意的是,上面的几个命令,用到的参数就3个,-i,交互式,也就是能不能看到窗口的意思,-s以系统身份运行,否则就是当前用户,-d执行命令后返回,不等待命令结束。