2
我目前正在使用新的自足PowerShell腳本更新和替換舊的過時夜間計劃批處理文件。如何檢查已停止的網站並使用PowerShell功能啓動這些網站
我遇到麻煩的是網站啓動。我能夠使用當前的測試代碼來獲取網站列表並顯示它們,但無法找到正確啓動它們的方法(如果它們已停止)。
Set-ExecutionPolicy Unrestricted
start-transcript -path C:\TESTSTART.TXT
#function to get list of websites that are currently stopped
function Get-StoppedSites {
Import-Module WebAdministration
$website = Get-ChildItem IIS:\Sites | where {$_.State -eq 'Stopped'}
write-host "$website is stopped"
}
#function to start the stopped website
function StartSites {
param(
$websitename
)
start-website $websitename
write-host "$website was started"
}
$Script = Get-StoppedSites
$Script | ForEach-Object{StartSites -websitename $website}
stop-transcript
當我把這種由PowerShell的,它就像它不出差錯完成,但該網站沒有開始,我已經停了下來。 Windows 2008 R2服務器,PS 2.0。一旦它準備好推出,我將在2003服務器上運行它。
這是我的成績單:
Transcript started, output file is C:\TESTSTART.TXT
is stopped
Start-Website : Cannot validate argument on parameter 'Name'. The argument is null. Supply a non-null argument and try
the command again.
At C:\Users\Administrator\Desktop\test.ps1:14 char:18
+ start-website <<<< $websitename
+ CategoryInfo : InvalidData: (:) [Start-Website], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.IIs.PowerShell.Provider.StartWebsiteCommand
was started
**********************
Windows PowerShell Transcript End
End time: 20120823150248
你們可以幫我找出哪裏/我在做什麼錯在這裏?謝謝!
謝謝!這現在對我有效。我有一種感覺,我正在考慮太多。 – bbinnebose