devam yapılırsa, Uzaktan Süreci kontrol edin. InVoke-WMIMethod
'u kullanırken sorun yok.PowerShell - yedek operasyonun parçası olarak, tek bir .7z dosya içine bir klasör sıkıştırmak için 7zip komutunu çalıştırıyorum
Örnek: benim senaryom devam ettikçe
$zip = "cmd /c $irFolder\7za.exe a $somedirectory.7z $somedirectory"
"InVoke-WmiMethod -class Win32_process -name Create -ArgumentList $zip -ComputerName $remotehost"
Benim sorunum geliyor
, 7za.exe işlem tamamlamamıştır. Daha sonra, öğeyi uzak sistemden kopyalamaya çalışıyorum ve eksik ya da başarısız. o ölene kadarbirisi anlamaya 7za.exe süreç hala çalışıyorsa nasıl tespit etmek, beklemek yönde işaret edebilir, daha sonra Senaryomun kalanı ile devam? Ben üzerinden uzaktan sistemden süreci çekerek kavrayabilir
...
get-wmiobject -class Win32_Process -ComputerName $remotehost | Where-Object $_.ProcessName -eq "7za.exe"}
sorunumun kullanışlı bilgi dönüştürmeye nasıl emin değilim.
Cevap GÜNCELLEME: (@dugas tarafından dürtmek için thx)
Bu ... Gerekli olanlara bazı geribildirim ile yapacak
do {(Write-Host "Waiting..."),(Start-Sleep -Seconds 5)}
until ((Get-WMIobject -Class Win32_process -Filter "Name='7za.exe'" -ComputerName $target | where {$_.Name -eq "7za.exe"}).ProcessID -eq $null)
Ben ancak winrm kullanan bu noktada ınvoke Komutanlığı'nda benziyordu uzak sistemlerde benim için bir seçenek değildir. Gelecekte umuyoruz. Özür dilerim bu bilgiyi eklemedim ... – c3uba9wfaq
Güncelleme yanıtı. Sana veriyorum – dugas
Tamam credit..you doğru yolda beni. Tekrar ... Bu durumda Get-Süreci çalışmıyor, ancak Get-WMIObject'i güzelce kullanarak buldum. do {(-Sunucuyu yazın "waitng ..."), (Start-Uyku -Seconds 5)} ((Get-WMIobject -Class Win32_Process -ComputerName $ hedefine kadar |. {$ _ Adı -eq "7za.exe "}) işlemkimliği -eq $ null) – c3uba9wfaq