我想讓PowerShell在提供憑據後停止並在遠程計算機上啓動AppPool。在遠程計算機上使用Powershell啓動和停止應用程序池
函數來啓動應用程序池:
Function fnStartApplicationPool([string]$appPoolName)
{
import-module WebAdministration
if((Get-WebAppPoolState $appPoolName).Value -ne 'Started')
{
Start-WebAppPool -Name $appPoolName
}
}
函數停止應用程序池:
Function fnStopApplicationPool([string]$appPoolName)
{
import-module WebAdministration
if((Get-WebAppPoolState $appPoolName).Value -ne 'Stopped')
{
Stop-WebAppPool -Name $appPoolName
}
}
我的代碼不工作:
if ($pathback -eq $false)
{
#Copying Data from Source to Destination
copy-Item -Recurse $backupsrc -Destination $backupdes
write-host "Backup Successful"
#Validating the apppool value
import-module WebAdministration
if((Get-WebAppPoolState $appPoolName).Value -ne 'Stopped')
{
#Stop apppool
Stop-WebAppPool -Name $appPoolName
write-host "AppPool Stopped Successfully"
}
#Copying Data from Source to Destination
#Start apppool
Start-WebAppPool -Name $appPoolName
write-host "AppPool Started Sucessfully"
cd c:\
}
那麼當你嘗試這個解決方案時發生了什麼?你是否收到任何錯誤信息或腳本是否無法正常工作? –
它的工作完美,但現在我在每臺服務器上手動單獨運行對於例如: - 我想停止從服務器A.So服務器B中的應用程序池因此,我認爲我需要提供一些信譽?如何做到這一點 –
如果您的帳戶在兩臺服務器上都有權限,則不需要傳遞憑證。只需創建一個接受'$ appPoolName'參數的scriptblock,將你的函數放在它的內部,然後遍歷運行[invoke-command]的服務器列表(https://msdn.microsoft.com/en-us/powershell /reference/5.1/microsoft.powershell.core/invoke-command)並傳遞您的腳本塊和應用程序池名稱。 –