Exchange server 如何在Windows PowerShell中使用日志解析器,使用for each循环查询来自多个exchange服务器的日志?

Exchange server 如何在Windows PowerShell中使用日志解析器,使用for each循环查询来自多个exchange服务器的日志?,exchange-server,powershell-3.0,Exchange Server,Powershell 3.0,我想通过使用for-each循环在windows powershell中使用下面提到的命令。如果你对这个问题有任何想法,请告诉我 因为我不知道如何为FROM参数输入多个值,因为我需要从给定位置搜索来自不同服务器的日志 我希望像下面这样输入FROM字段的值,但我不完全了解如何创建整个PowerShell脚本结构 \\server1\d$\Program Files\Microsoft\Exchange\V15\Logging\HttpProxy\Mapi\*.* \\server2\d$\Prog

我想通过使用for-each循环在windows powershell中使用下面提到的命令。如果你对这个问题有任何想法,请告诉我

因为我不知道如何为FROM参数输入多个值,因为我需要从给定位置搜索来自不同服务器的日志

我希望像下面这样输入FROM字段的值,但我不完全了解如何创建整个PowerShell脚本结构

\\server1\d$\Program Files\Microsoft\Exchange\V15\Logging\HttpProxy\Mapi\*.*
\\server2\d$\Program Files\Microsoft\Exchange\V15\Logging\HttpProxy\Mapi\*.*
我为单个服务器创建的命令:

LogParser.exe "
    SELECT DateTime,AuthenticatedUser,UserAgent 
    FROM 'd:\Program Files\Microsoft\Exchange\V15\Logging\HttpProxy\Mapi\*.*' 
    WHERE AuthenticatedUser LIKE '%user1%' 
        AND UserAgent LIKE '%Microsoft Office%'" -i:CSV -o:csv > "C:\Log parser\server1\1.csv"

假设您可以访问远程服务器上的管理共享,您可以执行以下操作:

$servers = 'server1', 'server2', ...
$servers | ForEach-Object {
    LogParser.exe -i:csv -o:csv -q "SELECT DateTime,AuthenticatedUser,UserAgent
        FROM '\\${_}\D$\Program Files\Microsoft\Exchange\V15\Logging\HttpProxy\Mapi\*.*'
        WHERE AuthenticatedUser LIKE '%user1%' 
            AND UserAgent LIKE '%Microsoft Office%'" |
        Out-File "C:\Log parser\${_}.csv"
}

您想在每个远程服务器上本地运行日志解析器吗?您好,Ansgar Wiechers,感谢您查看此查询。是的,我已在本地计算机上安装了日志解析器。通过使用它,我想从多个服务器远程提取报告。我已为单个服务器共享了一个命令,并且该命令在windows powershell中运行良好。如何通过powershell从本地计算机为多个服务器同时远程运行该命令?