Psexec 没有给我完整的结果

问题描述 投票:0回答:1

我一直在尝试使用 psexec 这个脚本来获取一系列电脑的进程,我让它工作,但我没有在表格上得到它应该出现的结果,我一直在 psexec 帖子上搜索,但我不知道为什么它让我结果一半,我无法使用 Invoke-command 或 Get-Pssession,因为我组织的防火墙/防病毒和 GPOS 我可以做出个别例外,但每次电脑更新时它们都会重置。

$pathscript = "D:\SCRIPTSM\ALV"
$fpassword = "D:\SCRIPTSM\pswd.json"
$rutaLog = "D:\SCRIPTSM\ALV\fallos.log"
$fecha = Date

Set-Location -Path $pathscript

$JsonObject = Get-Content $fpassword | ConvertFrom-Json

$usuario = 'Administrador'
$password = $JsonObject.password


$equipos = "D:\SCRIPTSM\despFi\equinom.txt"
$listaEquipos = Get-Content $equipos

 foreach ($equipo in $listaEquipos){

    if (test-connection -ComputerName $equipo -Count 1 -Quiet){
        
        Set-Location -Path "D:\SCRIPTSM\PSTools"
        .\psexec.exe \\$equipo -u $usuario -p $password -h powershell.exe Get-Process | Select -First 15 Name,ID,VM,PM >> 'D:\SCRIPTSM\ALV\PRUEBNOMB.txt'
        Set-Location -Path $pathscript

    }else{

        Write-Output "No se puede conectar al equipo --> $equipo" >> $rutaLog

    }
} ````


 
powershell system-administration psexec
1个回答
0
投票

Select
(
Select-Object
) 调用作为远程执行 PowerShell 命令的一部分,这需要引用远程执行命令:

.\psexec.exe \\$equipo -u $usuario -p $password -h powershell.exe 'Get-Process | Select -First 15 Name,ID,VM,PM' >> 'D:\SCRIPTSM\ALV\PRUEBNOMB.txt'

请注意,您将捕获进程的 for-display 表示,正如您在控制台中看到的那样。


如果您想捕获结构化数据,例如CSV,使用以下内容:

.\psexec.exe \\$equipo -u $usuario -p $password -h powershell.exe 'Get-Process | Select -First 15 Name,ID,VM,PM | ConvertTo-Csv -NoTypeInformation' >> 'D:\SCRIPTSM\ALV\PRUEBNOMB.csv'
© www.soinside.com 2019 - 2024. All rights reserved.