powershell - PowerShell 脚本日志
问题描述
使用批处理脚本我在远程计算机上调用 PowerShell 脚本,所以在这里我可以看到脚本正在执行,但脚本日志正在部分生成。当我在本地计算机上手动运行时,日志按预期获取。附件是一个示例日志。我使用的代码是一个简单的家务代码。
我正在使用命令从批处理文件中调用 PowerShell 脚本
powershell -inputformat none C:\temp\cleanup.ps1
这是我正在使用的代码
$VerbosePreference = "Continue"
$DaysToDelete = 2
$LogDate = get-date -format "MM-d-yy-HH"
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace(0xA)
$ErrorActionPreference = "silentlycontinue"
#$MemoryDmpPath = "C:\Windows\Memory.dmp"
$MemoryDmp = $env:systemroot
$MemoryDmp
Start-Transcript -Path C:\Build\DiskClean-up.log
$After = Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DriveType -eq "3" } | Select-Object SystemName,
@{ Name = "Drive" ; Expression = { ( $_.DeviceID ) } },
@{ Name = "Size (GB)" ; Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
@{ Name = "FreeSpace (GB)" ; Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) } },
@{ Name = "PercentFree" ; Expression = {"{0:P1}" -f( $_.FreeSpace / $_.Size ) } } |
Format-Table -AutoSize | Out-String
$After
## Deletes the contents of the C:\Temp folder.
Get-ChildItem "C:\Users\*\AppData\Local\Microsoft\Windows\Explorer\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue |
Where-Object { ($_.LastWriteTIme -lt $(Get-Date).AddDays(-$DaysToDelete)) }
#| remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue
## The Contents of C:\Temp have been removed successfully!
## Deletes the contents of the C:\Temp folder.
Get-ChildItem "C:\Users\*\AppData\Local\Microsoft\Windows\Explorer\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue
#|remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue
## The Contents of C:\Temp have been removed successfully!
## deletes the dmp files
$lastWrite =(Get-ItemProperty -Path $MemoryDmp\Memory.dmp -Name LastWriteTime).lastwritetime
$lastWrite
$timespan = new-timespan -days 30 -hours 00 -minutes 00
if (((get-date) - $lastWrite) -gt $timespan) {
Write-host MEMORY.dmp file is older then 60 days hence delete.
Remove-Item -path $MemoryDmp\MEMORY.DMP -force -Verbose
} else {
Write-host MEMORY.dmp file is newer than 60 days and it cannot be deleted.
}
Stop-Transcript
我期待的输出日志如下所示。
************************ Windows PowerShell 脚本启动 开始时间:20190409151717 用户名:home\admin1 运行身份用户:home\admin1 机器:家庭(Microsoft Windows NT 6.1.7601 Service Pack 1) 主机应用程序:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 进程 ID:9016 PS版本:5.1.14409.1018 PS版:桌面 PSCompatibleVersions:1.0、2.0、3.0、4.0、5.0、5.1.14409.1018 构建版本:10.0.14409.1018 CLRVersion:4.0.30319.42000 WSManStack 版本:3.0 PSRemotingProtocol版本:2.3 序列化版本:1.1.0.1 ************************ 脚本已启动,输出文件为 C:\Temp\DiskClean-up.log 详细:在目标“Windows Update (wuauserv)”上执行“停止服务”操作。 详细:对目标“C:\Windows\Temp\BdeSqm”执行“删除目录”操作。 详细:对目标“C:\Windows\Temp\DPTF”执行“删除目录”操作。 详细:对目标“C:\Windows\Temp\DPTF\dptf_pnmwlanproxy.dll”执行“删除文件”操作。 详细:对目标“C:\Windows\Temp\DPTF\dptf_wwanproxy.dll”执行“删除文件”操作。 详细:对目标“C:\Windows\Temp\DPTF\dptf_pnmwlanproxy.dll”执行“删除文件”操作。 详细:对目标“C:\Windows\Temp\DPTF\dptf_wwanproxy.dll”执行“删除文件”操作。 详细:在目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs”上执行“删除目录”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\McTray_MC0X8CPC.log”执行“删除文件”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC.log”执行“删除文件”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC_error.log”执行“删除文件”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC.log”执行“删除文件”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC_error.log”执行“删除文件”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\Outlook Logging”执行“删除目录”操作。 详细:对目标“C:\users\A747231\AppData\Local\Temp\Outlook Logging\Outlook-20190409T1112140152.etl”执行“删除文件”操作。 ************************ Windows PowerShell 脚本结束 结束时间:20190409151838 ************************
但我得到的输出低于
************************ Windows PowerShell 脚本启动 开始时间:20190409151717 用户名:home\admin1 运行身份用户:home\admin1 机器:家庭(Microsoft Windows NT 6.1.7601 Service Pack 1) 主机应用程序:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 进程 ID:9016 PS版本:5.1.14409.1018 PS版:桌面 PSCompatibleVersions:1.0、2.0、3.0、4.0、5.0、5.1.14409.1018 构建版本:10.0.14409.1018 CLRVersion:4.0.30319.42000 WSManStack 版本:3.0 PSRemotingProtocol版本:2.3 序列化版本:1.1.0.1 ************************ 脚本已启动,输出文件为 C:\Temp\DiskClean-up.log ************************ Windows PowerShell 脚本结束 结束时间:20190409151838 ************************
解决方案
推荐阅读
- python - 在python中调用函数后变量值发生变化
- javascript - Discord.js 嵌入图像扰流板
- amazon-web-services - 是否可以将 lightsail 服务器名称与 AWS 服务器使用的 ovh 链接起来
- php - Laravel 获取新创建资源的 ID
- c++ - 如何从 Arduino 的函数内部声明/设置全局数组的大小?
- python - CATBoost 和 GridSearch
- c++ - 如何在 g++ 命令行中去掉 -std=c++17?
- python - 合并和排序列表:复杂性
- nest - 如何在 NEST v7.x 中获取索引设置
- git - 只有本地 git 命令在工作,而不是远程命令