我想在IIS中创建一个不在IIS站点根目录的Web应用程序。
即。的MySite /β/ WebApplication的。
这是我的出发点:
New-WebApplication“WebApplication”-Site“MySite”-ApplicationPool“MyAppPool”-PhysicalPath“C:\ Sites \ MySite \ beta \ WebApplication”
这为我创建了我想要的物理结构C:\Sites\MySite\beta\WebApplication
,但是让IIS看起来像这样:
MySite(IIS网站)
WebApplication(IIS WebApplication)
beta(文件夹)
WebApplication(文件夹)
有没有办法可以通过PowerShell完成?我真的不希望beta
成为一个Web应用程序,只是一个文件夹。
答案 0 :(得分:10)
我知道这篇文章有点旧了但这里是我编写的powershell脚本,它将现有文件夹转换为IIS中的Web应用程序,或者如果它不存在则会创建一个新的文件夹和Web应用程序。它还为它创建了应用程序池。它接收一组应用程序名称,以便您可以创建多个Web应用程序。这是我的第一个powershell脚本,所以如果您有任何建议,请随时发表评论。
#Receives an array of appnames and creates the app pools and web applications or converts the folder to an application
Param([parameter(Mandatory=$true)][string[]]$appNames)
$useDefaultPhysicalPath = Read-Host "Would you like to use the default physical path? (C:\inetpub\wwwroot\)";
Import-Module WebAdministration;
$physicalPath = "C:\inetpub\wwwroot\";
if(!($useDefaultPhysicalPath.ToString().ToLower() -eq "yes" -or $useDefaultPhysicalPath.ToString().ToLower() -eq "y"))
{
$physicalPath = Read-Host "Please enter the physical path you would like to use with a trailing \ (do not include the app name)";
}
$appPath = "IIS:\Sites\Default Web Site\";
foreach($appName in $appNames)
{
if((Test-Path IIS:\AppPools\$appName) -eq 0)
{
New-WebAppPool -Name $appName -Force;
}
if((Test-Path $appPath$appName) -eq 0 -and (Get-WebApplication -Name $appName) -eq $null)
{
New-Item -ItemType directory -Path $physicalPath$appName;
New-WebApplication -Name $appName -ApplicationPool $appName -Site "Default Web Site" -PhysicalPath $physicalPath$appName;
}
elseif((Get-WebApplication -Name $appName) -eq $null -and (Test-Path $appPath$appName) -eq $true)
{
ConvertTo-WebApplication -ApplicationPool $appName $appPath$appName;
}
else
{
echo "$appName already exists";
}
}
答案 1 :(得分:4)
由于您使用的是“MySite”集合使用的相同物理文件存储库,因此它将创建“beta”文件夹。如果将此新Web应用程序放在其自己的路径中(即“C:\ Sites \ WebApps \ WebApplication”),您将获得所需的结果。下面的代码对我有用。
New-WebApplication "TestingViaPosh" -Site "Default Web Site" -ApplicationPool "DefaultAppPool" -
PhysicalPath "C:\Users\MyUserId\Documents\TestWebApp"
编辑:要在网站根目录下的文件夹中创建Web应用程序,您需要首先在所需的站点中创建该文件夹(即“C:\ Sites \ MySite \ Beta”)。然后Powershell命令将如下所示:
New-WebApplication "TestingViaPosh" -Site "Default Web Site\Beta" -ApplicationPool "DefaultAppPool" -PhysicalPath "C:\Users\MyUserId\Documents\TestWebApp"
答案 2 :(得分:0)
由于有些人使用了“文件夹和虚拟目录”一词,所以我认为值得一提的是如何在“文件夹/虚拟目录”中创建新的Web应用程序。在IIS管理器中看起来像这样。
您只需要使用“路径”作为站点名称。
String contact = "+00 9876543210"; // use country code with your phone number
String url = "https://api.whatsapp.com/send?phone=" + contact;
try {
PackageManager pm = context.getPackageManager();
pm.getPackageInfo("com.whatsapp", PackageManager.GET_ACTIVITIES);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
Toast.makeText(MainActivity.activity, "Whatsapp app not installed in your phone", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
$ SiteName \ APFW-api在运行时等于“ Act.Web.API \ APFW-api”,因此将创建突出显示的应用程序。