跨域捕获runas命令的输出

跨域捕获runas命令的输出

我想要运行 sysinternals 工具 psloglist 来获取位于另一个域的服务器的事件日志。

如果我跑

runas /netonly /user:DOMAIN2\USER psloglist \\TARGETSERVER 

然后出现一个新的命令窗口,我看到列出了正确的数据。

我怎样才能在 DOMAIN1 上的机器上的文件中捕获此输出?

我试过

runas /netonly /user:DOMAIN2\USER psloglist \\TARGETSERVER > event.log

捕获了 runas 密码提示。

我还尝试使用创建批处理文件

psloglist \\TARGETSERVER > event.log

并运行

runas /netonly /user:DOMAIN2\USER mybatchfile

但它会立即返回,并且没有出现命令窗口,也没有创建文件。

我认为这是因为 DOMAIN2\USER 无法在我的计算机上创建 event.log 文件,我该如何解决这个问题?

DOMAIN1 与 DOMAIN2 之间不信任,因此我无法添加它。

答案1

那么你有两个选择可以使用:

运行方式 /savecred /domain2\user xxxx xxxxx

然后输入密码以便“保存”凭据,然后再次运行以获取输出......

runas /savecred /domain2\user xxxx xxxxx > output.log

或者您使用一个 VBS 脚本,其中的密码以纯文本形式存储。如果这对您有用,请告诉我,我会想办法,但是纯文本密码从来都不是一个好主意......

答案2

似乎我错过了一个技巧,尽管 psloglist 的所有示例都只显示了带有用户名的参数 -u,但它确实适用于域。

所以我的解决方案是

psloglist \\TARGETSERVER -u DOMAIN2\USER -p PASSWORD > event.log

请注意,必须提供密码,否则提示将被重定向吞没。

相关内容