2016-05-24 115 views
0

我有以下腳本來創建其工作PowerShell腳本創建IIS

New-Website -Name "TestApp1" -Port 80 -IPAddress "192.168.1.222" -HostHeader "testapp1.example.com" -PhysicalPath C:\Powershell\TestCreateFolder1 -ApplicationPool "DefaultAppPool" 

一個基本的IIS網站,但我沒有這個劇本的工作

$site_command = "-Name ""TestApp1"" -Port 80 -IPAddress ""192.168.1.222"" -HostHeader ""testapp1.example.com"" -PhysicalPath C:\Powershell\TestCreateFolder1 -ApplicationPool ""DefaultAppPool""" 

New-WebSite $site_command 

我收到此錯誤

-Name "TestApp1" -Port 80 -IPAddress "192.168.1.222" -H 
ershell\TestCreateFolder1 -ApplicationPool "DefaultAppP 
New-Website : Invalid site name 
At C:\powershell\CreateIisSite.ps1:35 char:12 
+ New-WebSite <<<< $site_command 
    + CategoryInfo   : InvalidData: (:) [New-Web 
    + FullyQualifiedErrorId : Invalid site name 
,Microsoft.IIs.PowerShell.Provider.NewWebsiteCommand 

回答

1

PowerShell命令New-WebSite $site_command正在解釋整個$site_command作爲網站的名稱。如果你想用你New-Website命令作爲一個變量,那麼試試這個來代替:

$site_command = "New-Website -Name ""TestApp1"" -Port 80 -IPAddress ""192.168.1.222"" -HostHeader ""testapp1.example.com"" -PhysicalPath ""C:\Powershell\TestCreateFolder1"" -ApplicationPool ""DefaultAppPool""" 
Invoke-Expression $site_command 

注意,New-Website命令是在變量,而不是在你的例子開始-Name

+0

是否有任何其他可能的方法只是將$ site_command保存在不同的變量中。 – Praneeth

+0

是的,你可以這樣做:'Invoke-Expression「New-Website $ site_command」' – Toomaja