Windows görev zamanlayıcımın içindeki bir görev sunucumun yanıt vermemesine neden olacak


0

AppPoolActivation.ps1Bir URL'yi çağırmak için aşağıdaki dosyaya sahibim : -

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$request = [System.Net.WebRequest]::Create("https://IPADDRESS***/")
$response = $request.GetResponse()
$response.Close()

ve app.batyukarıdaki AppPoolActivation.ps1dosyayı çağırmak için aşağıdaki dosyayı yazdım : -

"%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe" -Command Start-Process "$PSHOME\powershell.exe" -Verb RunAs -ArgumentList "'-NoExit %~dp0\AppPoolActivation.ps1'

Ardından windows server 2012 windows görev zamanlayıcısında, her 15 dakikada bir 1 günlük bir süre boyunca çalışan bir Günlük görev tanımlarım, bu yüzden esas olarak her 15 dakikada bir çalışacak ve bu görevi .bat dosyasını çağırmak için tanımlarım. takip et:-

görüntü tanımını buraya girin

görüntü tanımını buraya girin

Şimdi, görevi ilk kez tanımladığımda yaklaşık 5 saat boyunca iyi çalıştığını, ancak 10-12 saat sonra sunucunun yanıt vermeyi bırakana kadar çok yavaş olacağını not ettim, şimdi sunucudaki görev yöneticisini kontrol ediyorum ve orada buluyorum aşağıdaki gibi, Windows güç kabuğu ve Konsol windows ana çalışan birçok örnek olacak:

görüntü tanımını buraya girin

kimse bu sorunun üstesinden nasıl gelebileceğimi tavsiye edebilir mi? Yani neden Windows güç kabuğu ve Konsol Windows ana bilgisayarının çalıştığı birçok Windows olayı olacak? ve bunun gerçekleşmesini engellemenin ve sunucumun görev zamanlaması nedeniyle çok yavaş olmasını önlemenin bir yolu var mı? Yıllar önce bu sunucuda hiçbir zaman herhangi bir sorunla karşılaşmadığımı ve bu zamanlama görevini oluşturduğumda başladığımı ...

Yanıtlar:


1
"%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe" -Command Start-Process "$PSHOME\powershell.exe" -Verb RunAs -ArgumentList "'-NoExit %~dp0\AppPoolActivation.ps1'

Yani, powershell örneğini başlatan, başka bir powershell örneğini Yönetici olarak başlatan, AppPoolActivation.ps1komut dosyasını çalıştıran bir toplu iş dosyanız var mı?

Neden sadece koymak olmaz PowerShell.exeiçinde Program/Scriptalanda Task Propertiesve kullanımı -ExecutionPolicy Bypass -File C:\T\AppPoolActivation.ps1argüman olarak? Web isteği yapmak için PowerShell'i yönetici olarak çalıştırmanız gerektiğinden şüpheliyim. Ve eğer bu sorun devam ederse, bu hata ayıklamayı daha kolay hale getirecektir.


Yaklaşımınızı başlangıçta .ps1'i doğrudan görevden çağırmaya çalıştım, ancak hiçbir zaman başarılı olmadı. Sorunun PowerShell komut dosyalarını çalıştıramayacağımız bir politika ile ilgili olduğunu düşünüyorum, şimdi ne yaptığımı değiştirdim. dosya ve ben ondan "-NoExit" i kaldırdım ve şimdi görev yöneticimde tekrarlanan işlemleri göremiyorum ,, görünüyor -NoExit powershell betiği bittiğinde işlemi bitirmeyecek, -NoExit işlemin olmasını engelleyeceğini düşündüm Yürütme sırasında sona erdi, ancak tamamlandıktan sonra bile süreci asla sonlandırmayacağınız anlamına geliyor ..
John John

1
@JohnJohn Yürütme politikasını da Görev Yöneticisi'nden atlayabilirsiniz. Güncellenmiş cevaba bakınız. "seems -NoExit will not end the process once the powershell script ends"- evet, bkz. PowerShell.exe Komut Satırı Yardımı .
beatcracker
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.