บันทึกเอาต์พุตของกระบวนการรีโมตจาก psexec ของ sysinternal


19

ฉันพยายามที่จะจับเอาท์พุทของกระบวนการระยะไกลจาก psexec (เช่นไม่ใช่เอาต์พุตของ psexec) ตัวอย่างเช่นฉันสามารถเรียกใช้ "ipconfig" และพิมพ์ผลลัพธ์ไปยังล็อกไฟล์

ฉันเหนื่อย:

psexec \\myserver ipconfig > output.log
psexec \\myserver ipconfig >> output.log
psexec \\myserver ipconfig 2> output.log
psexec \\myserver ipconfig > output.log 2>&1

อันสุดท้ายให้เอาต์พุต psexec

ฉันไม่แน่ใจว่าความแตกต่างระหว่างสิ่งเหล่านี้คืออะไร แต่ฉันเคยเห็นพวกเขาแนะนำในการตามล่าหาคำตอบที่อื่น

ใครช่วยให้ฉันตัวอย่างบรรทัดคำสั่งที่จะจับเอาท์พุทของ ipconfig ไปยังไฟล์หรือไม่

แก้ไข 1:ฉันต้องการให้บันทึกไฟล์ในเครื่องท้องถิ่นไม่ใช่ไฟล์ระยะไกล

แก้ไข 2:

นี่คือสิ่งที่ฉันได้รับจากการเรียกใช้ "psexec \\ myserver ipconfig":

C: \ TempDll> psexec \\ myserver ipconfig

PsExec v1.95 - ดำเนินการกระบวนการจากระยะไกล
ลิขสิทธิ์ (C) 2001-2009 Mark Russinovich
Sysinternals - www.sysinternals.com


ipconfig ออกจากบน myserver พร้อมรหัสข้อผิดพลาด 0

C: \ TempDll>

คุณต้องการบันทึกที่บันทึกไว้ในเครื่องท้องถิ่นหรือระยะไกลหรือไม่?
Alex J

1
หืม "psexec \\ myserver ipconfig> output.log" ใช้งานได้บนเครื่องของฉัน
splattne

คำตอบ:


3

อาจเป็นข้อผิดพลาดใน PsExec ใน v1.95 หรือไม่

ฉันมี v1.94 และได้ผลดี แต่ฉันเพิ่งดาวน์โหลดสำเนาล่าสุดและพบปัญหาเดียวกับตัวคุณเอง

แก้ไข:

PsExec บน SkyDrive สาธารณะของฉัน


D'โอ้ !! คุณช่วยลิงค์ 1.94 ที่นี่ได้ไหม? ฉันดูเหมือนจะไม่สามารถค้นหาสำเนาออนไลน์ได้ทุกที่ ทุกครั้งที่ฉันดาวน์โหลด "v1.94" จริง ๆ แล้วมันให้ฉัน 1.95 :(
joshcomley

FYI: อยู่ที่ v1.96 ตั้งแต่ 06/29
394 Chris Chris

3

หวังว่าสิ่งนี้จะช่วยให้ใครบางคน ฉันสามารถเรียกใช้ PSExec ด้วยคำสั่งต่อไปนี้ใน Windows 10 และอินสแตนซ์ Windows 10 ระยะไกล

psexec \\ipaddress cmd /c "ipconfig>c:\Tools\output.txt"

คำสั่ง


สิ่งนี้ใช้ได้กับฉันใน Windows 10 LTSB ข้อเสนอแนะที่ดี psexec -s -d "cmd /C ipconfig" > outputfile.txt 2>&1
สิทธิ์ 1

1

เพียงแค่ระมัดระวังในโฟลเดอร์ที่คุณต้องการบันทึกไฟล์ output.log

เก็บ output.log ในเครื่อง:
psexec \\ serverIP ipconfig> c: \ output.log

Store output.log บนเครื่องระยะไกล:
psexec \\ serverIP ipconfig> \\ ipaddress \ c $ \ output.log

psexec ... > output.log จะเขียนทับไฟล์ output.log ในกรณีที่มีอยู่
psexec ... >> output.log จะผนวกผลลัพธ์ที่ท้าย

นอกจากนี้คุณยังสามารถเรียกใช้psexec \\ serverIP cmdเปลี่ยนไดเรกทอรีของคุณบนเครื่องระยะไกลและเพียงแค่เรียกใช้ipconfig> output.log


ขอบคุณ Roy แต่สิ่งที่ฉันได้รับคือไฟล์ output.log ที่ว่างเปล่าเช่นเดียวกับตัวอย่างที่ฉันลองใช้ด้านบน: (
joshcomley

คุณจะไม่ได้รับอะไรเลยถ้าคุณเรียกใช้ psexec \\ serverip ipconfig?
Jindrich

@ Roy - ฉันได้อัปเดตคำถามของฉันพร้อมคำตอบที่ด้านล่าง บางทีสิ่งที่ลึกจะไปผิดที่นี่ ..
joshcomley

1

วิธีเดียวที่ฉันพบคือการสร้างสคริปต์ค้างคาวอย่างรวดเร็ว:

psexec %1 %2

หรือแทนที่%2ด้วยคำสั่ง / args ที่คุณต้องการ

ทำงานด้วย remote-psexec

\\systemname systeminfo | more

1

หากคุณต้องการที่จะบันทึกเอาท์พุทในเครื่องบนเครื่องระยะไกล คุณอาจใช้คำสั่งด้านล่าง psexec \ myserver cmd / c "ipconfig> output.log"

หากคุณต้องการเปลี่ยนเส้นทางผลลัพธ์จากเครื่องระยะไกลไปยังเครื่องโฮสต์ คุณอาจใช้คำสั่ง psexec \ myserver ด้านล่าง cmd / c "ipconfig> \ localmachine \ location \ output.log"


0

ฉันมีปัญหาเดียวกันและต้องบอก PSEXEC ให้ทำงานในฐานะผู้ใช้ผู้ดูแลระบบบนเครื่องระยะไกล:

psexec \\serverIP -u DOMAINNAME\username -p PaSsWoRd ipconfig /all > c:\output.log

0

ครั้งเดียวที่คุณต้องระบุชื่อผู้ใช้และรหัสผ่านด้วย PSExec คือถ้าคุณต้องการดึงข้อมูลจากเครือข่ายที่ใช้ร่วมกัน ฉันขอแนะนำอย่างยิ่งว่าเนื่องจากรหัสผ่านจะถูกส่งเป็นข้อความธรรมดาซึ่งหมายความว่าทุกคนที่รับฟังทราฟฟิกจะมีชื่อผู้ใช้และรหัสผ่านของคุณ


0

ฉันพบว่าการใช้ FQDN สำหรับชื่อเซิร์ฟเวอร์แก้ไขปัญหาของฉัน


เป็นเรื่องดี แต่ก็ไม่มีข้อบ่งชี้ว่าสิ่งนี้จะเกี่ยวข้องกับเคสของ OP
HopelessN00b
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.