从powershell v3调用命令到powershell v2

从powershell v3调用命令到powershell v2,powershell,powershell-2.0,powershell-3.0,Powershell,Powershell 2.0,Powershell 3.0,我有两个系统。其中一个具有PowerShell版本2,另一个具有PowerShell版本3。我使用了从系统版本3到系统版本2的Invoke命令。我的输出不正确。当我在本地使用PowerShell 2的系统中的命令时,我的输出有200行,但在远程使用的系统中有150行。为什么会这样 $log | ForEach-Object{ get-eventlog -log $_ -After $yesterday -Before $todaye | Group-Object Eve

我有两个系统。其中一个具有PowerShell版本2,另一个具有PowerShell版本3。我使用了从系统版本3到系统版本2的Invoke命令。我的输出不正确。当我在本地使用PowerShell 2的系统中的命令时,我的输出有200行,但在远程使用的系统中有150行。为什么会这样

$log | ForEach-Object{
    get-eventlog -log  $_ -After $yesterday -Before $todaye |
        Group-Object EventID, EntryType, Source, MachineName,
            {(([String]$_.TimeGenerated) -split " ")[0]},
            {(([String]$_.TimeGenerated) -split " ")[1]} -NoElement |
        Select-Object count, name |
        ForEach-Object {
            $properties = @{
                'ServerName' = ($_.Name -split ", ")[3];
                'day'        = (($_.Name -split ", ")[4] -split " ")[0];
                'time'       = (($_.Name -split ", ")[5]);
                'EventID'    = ($_.Name -split ", ")[0];
                'EventType'  = ($_.Name -split ", ")[1];
                'Source'     = ($_.Name -split ", ")[2];
                'Count'      = $_.Count;
            }
            $psobject = new-object psobject -Property $properties
            $csv += $psobject
        }
}

你能发布你使用的代码吗?在PS2和PS3中本地执行代码时会发生什么?你们仍然得到不同的结果吗?当我在PS2和PS3中本地执行代码时,我得到了真实的结果。但是,当我从PS3远程执行到PS2的代码时,我得到了错误的结果。当我在PS2中执行代码时,我的结果中有200行,但在PS3远程执行到PS2的相同代码时,我的结果中有150行。在没有看到代码和结果的情况下,尝试和排除故障是不可能的。你能用你可以在问题中发布的代码复制问题吗?
$log
$csv
来自哪里?您的
Invoke命令
语句是什么样子的?远程结果中缺少什么类型的记录?您可以发布您使用的代码吗?在PS2和PS3中本地执行代码时会发生什么?你们仍然得到不同的结果吗?当我在PS2和PS3中本地执行代码时,我得到了真实的结果。但是,当我从PS3远程执行到PS2的代码时,我得到了错误的结果。当我在PS2中执行代码时,我的结果中有200行,但在PS3远程执行到PS2的相同代码时,我的结果中有150行。在没有看到代码和结果的情况下,尝试和排除故障是不可能的。你能用你可以在问题中发布的代码复制问题吗?
$log
$csv
来自哪里?您的
Invoke命令
语句是什么样子的?远程结果中缺少哪些类型的记录?