如何在运行PowerShell会话的系统上记录远程调用命令的结果?

问题描述

我有一个遍历服务器列表的脚本,并在这些服务器上运行各种命令。

我正在尝试为运行PowerShell脚本的计算机和运行命令的远程计算机记录命令及其结果。

现在,我正在尝试将PSLogging模块与Start-Log cmdlet一起使用。我能够记录在运行Powershell脚本的系统上运行的命令,但是在远程计算机上运行的东西没有显示

我的代码如下。

Import-Module -Name "C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PSLogging\2.5.2\PSLogging.psm1"

$Date = Get-Date -Format "MM-dd-yyyy hh-mm tt"
$LogFileOutput = "Output Log"+" $Date"+".log"
$LogFilePlusPath = "\\files\Logs\"+"$LogFileOutput"

Start-Log -LogPath "\\files\Logs\" -LogName "LogFileOutput" -ScriptVersion "1.0"

Servers = @("Server1","Server2")

ForEach ($Server in $Servers) 
{
Write-Host "Running script on $Server"

    param([string]$Server)
    Invoke-Command -Computer $Server -ScriptBlock {
    Write-Host "Stopping IIS App Pool on $Server."  
    c:\windows\system32\inetsrv\appcmd.exe stop apppool "IISAppPool"
    
    Write-Host "Switching Service to manual on $Server and stopping it."
    Stop-Service Service -Force
    Set-Service Service-StartupType Manual
    }   -args $Server
}

Write-Host "Script complete at $(Get-Date -Format "hh:mm tt MM/dd/yyyy") Logs available at \\files\Logs"

Stop-Log 

脚本起作用,并且服务和应用程序池按需执行其操作。结果只是没有被记录。

日志中唯一的东西是:

在Server1上运行脚本

Server2上的运行脚本

脚本已于2020年9月19日下午12:20完成\\ files \ Logs中可用的日志

关于捕获所有内容的最佳方法有何建议?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)