Powershell
Powershell 和長期執行的外部工具?
我正在嘗試使用 JetComp.exe 使用 powershell 腳本壓縮 MS-Access 數據庫。
以下是操作線路:
# 4. Run JetComp LogWrite("Begin: Running JetComp") .\JETCOMP.EXE -src: $srcDB -dest: $dstDB | Out-Null #Run this command and wait for it to finish... IfErrorExit("Error Compacting Database") LogWrite("End: Running JetComp")
JETCOMP.EXE 程序似乎在它實際完成之前很久就完成了,並且 $ dstDB ends up being smaller than the compact should even make it. Initially ( $ srcDB)它大約是 1.8 GB,到命令完成時它大約是 300,000 kb(大約 0.29 gb),這與手動壓縮時最終大約為 1.6 gb 的 1.8 gb 相差很遠。
在powershell腳本中是否有某種我不知道的超時?
PS 我知道,當手動執行 JETCOMP.EXE 時,系統經常將其檢測為“無響應”,即使它實際上正在完成工作,並且等待足夠長的時間將允許它完成。
這個數字可疑地接近 150MB 遠端 Powershell 記憶體限制的 2 倍。如果這確實是您的問題,則 JETCOMP 可能沒有足夠的 RAM 來完成它需要做的事情,並且正在悄悄地失敗。如果您通過遠端 PS 執行它,則可以檢查限制:
Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
並設置它們:
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024