【发布时间】:2016-02-12 18:16:53
【问题描述】:
当我在除我的计算机之外的其他计算机上运行我的 PowerShell 脚本时(它并不总是在其他计算机上发生)我收到错误消息“进程无法访问文件 'C:\Temp\PMCS_TicketLogs.Log 因为它正在被另一个进程使用。”然后它返回一个 WriteError 和 IOException。
if(Test-Path c:\temp\PMCS_Quick_Test_Ran.txt)
{
Remove-Item c:\temp\PMCS_Quick_Test_Ran.txt
}
Function global:Quick_Test_Run{
Start-Transcript -Path C:\Temp\PMCS_TicketLogs.Log
out-file c:\temp\PMCS_Quick_Test_Ran.txt
Function global:LastReboot_Run {
$logstring = "Running Last Reboot Check"
Add-content C:\Temp\PMCS_TicketLogs.Log -value $logstring
$os = Get-WmiObject win32_operatingsystem
$uptime = (Get-Date) - ($os.ConvertToDateTime($os.lastbootuptime))
$Display = "" + $Uptime.Days + " days, " + $Uptime.Hours + " hours, " + $Uptime.Minutes + " minutes"
# Write-Output $Display
$WPFRebootField.Text="$Display"
if([dateTime]$FiveDaysAgo = (get-date).addDays(-5))
{
$WPFRebootField.Background = 'red'
}
if([datetime]$TwoDaysAgo = (get-date).adddays(-2))
{
$WPFRebootField.Background = 'green'
}
$logstring = "Date Since Last Reboot = " + $Display
Add-content C:\Temp\PMCS_TicketLogs.Log -value $logstring
$logstring = "Last Reboot Check Finished"
Add-content C:\Temp\PMCS_TicketLogs.Log -value $logstring
}
LastReboot_Run
当代码运行时,它应该生成文件,并且随着每个部分的完成,它会将结果输出到 PMCS_TicketLogs.Log,但它会返回该错误。谁能澄清为什么在这种特殊情况下它会返回错误?没有其他东西在使用该文件。谢谢。
【问题讨论】:
-
样本不完整。
-
还有什么要参考的?
-
你的函数脚本块永远不会关闭或调用
-
我添加了一个例子。
-
你在哪里打电话给
Stop-Transcript?
标签: powershell