【问题标题】:output getting truncated using winrm使用 winrm 截断输出
【发布时间】:2018-02-09 05:13:48
【问题描述】:

我正在运行一个脚本来获取下面给出的磁盘级别信息。

disk.ps1:

Get-WmiObject Win32_DiskDrive | % {
    $disk = $_
    $partitions = "ASSOCIATORS OF " +
                  "{Win32_DiskDrive.DeviceID='$($disk.DeviceID)'} " +
                  "WHERE AssocClass = Win32_DiskDriveToDiskPartition"
    Get-WmiObject -Query $partitions | % {
        $partition = $_
        $drives = "ASSOCIATORS OF " +
                  "{Win32_DiskPartition.DeviceID='$($partition.DeviceID)'} " +
                  "WHERE AssocClass = Win32_LogicalDiskToPartition"
        Get-WmiObject -Query $drives | % {
            New-Object -Type PSCustomObject -Property @{
                Disk   = $disk.SerialNumber
                Letter = $_.DeviceID
            }
        }
    }
}

当我在windows机器上执行上面的sn-p时,输出是:

字母盘 ------ ---- H:XXX_46_0_80987_XXXXX_b2fd_47bb_bc36_aaf4f3029a00 L: XXX_46_0_80987_XXXXX_b2fd_47bb_bc36_aaf4f3029a00 问:XXX_46_0_80987_41a13cd9_b2fd_47bb_bc36_aaf4f3029a00

现在我正在尝试使用 pywinrm 执行相同的脚本。

disk.py:

complete = <string which is equivalent to above script>
winrm_connector = winrm.Session('*.X.X.X', auth=('XXXX','XXXXXX.1'))
response = winrm_connector.run_ps(complete)
print response.std_out

执行这个我得到的输出是:

字母盘 ------ ---- H:XXX_46_0_80987_XXXXX_b2fd_47bb_b... L: XXX_46_0_80987_XXXXX_b2fd_47bb_b... 问:XXX_46_0_80987_41a13cd9_b2fd_47bb_b...

请说明是 WinRM 截断输出还是 shell 截断输出。

我认为 shell 没有这样做,因为当我使用 PowerShell 执行脚本时,我能够获得整个输出。

【问题讨论】:

    标签: python powershell winrm pywin


    【解决方案1】:

    PowerShell 自动截断宽列。为避免这种情况,您可以通过 PowerShell 代码中的 Format-Table -AutoSize 管道传输数据来使用自动调整大小的列。由于您通过不了解 PowerShell 对象的 Python 调用命令,因此您可能还希望通过管道将 Format-Table 输出转换为字符串,方法是通过 Out-String 将其转换为字符串(行长值较大) .

    ... | Format-Table -AutoSize | Out-String -Width 4096
    

    【讨论】:

    • 我明白了.. 但是格式表需要是脚本执行的一部分还是在脚本内部?
    • 这是 PowerShell 代码,因此很明显它需要成为 PowerShell 代码的一部分,而不是 Python 代码。
    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多