我遵循一个功能强大的渗透测试课程,并且必须使用Invoke-command远程查找txt文件中的密码,用户名,凭据之类的单词,因此我将此脚本命名为juicyinfo.ps1
Get-ChildItem -Path C:\Users\$env:USERNAME\Desktop\*.txt | Select-String -Pattern password, username, credentials
当我使用以下命令运行它时:
Invoke-Command -FilePath 'C:\Users\Admin\Desktop\Exercises\Pentester Academy\powershell\juicyinfo.ps1' -ComputerName 192.168.2.32 -Credential adminSMBtest
或直接使用脚本块:
Invoke-Command -ScriptBlock {Get-ChildItem -Path C:\Users\$env:USERNAME\Desktop\*.txt | Select-String -Pattern password, username, credentials } -ComputerName 192.168.2.32 -Credential adminSMBtest
但是返回的空行就像数据一样,但是带有空行。我会更清楚地说明,如果在远程计算机上的文本文件中将50行包含用户名和密码,则输出50行空行作为Invoke-Command的结果,如果输入10行,则输出为10行...
脚本在本地返回正确的输出。
其他脚本,例如简单的helloworld或Get-process | findstr powershell与invoke-command完美配合,我尝试输出到文件,但仍然有空白行写入的文件。