您能告诉我是否可以使用APPCMD应用程序将SSL证书分配给IIS7中的网站?
我熟悉设置HTTPS绑定的命令
appcmd set site /site.name:"A Site" /+bindings.[protocol='https',bindingInformation='*:443:www.mysite.com']
Run Code Online (Sandbox Code Playgroud)
以及如何获取当前映射
%windir%\system32\inetsrv\Appcmd
Run Code Online (Sandbox Code Playgroud)
但似乎找不到任何方法将网站映射到证书(例如证书哈希)
我需要通过命令行通过appcmd.exe工具更改网站的物理路径,但我无法弄清楚语法.有人可以帮忙吗?
众所周知,在通过IIS管理器的窗口界面编辑应用程序设置时,不允许编辑应用程序别名.应用程序的别名具有灰色(不允许更改).但在本文中,您可以通过命令行实用程序软件找到如何执行此操作:
http://www.foliotek.com/devblog/rename-applications-and-virtual-directories-in-iis7/
但还有另一种方法可以做到这一点.您可以按照本文中的说明编辑设置文件:
在设置文件中,我刚刚更改了应用程序元素的path属性的值("/ Site1"),仅此而已:
<application path="/Site1" applicationPool="DefaultAppPool">
<virtualDirectory
path="/"
physicalPath="C:\Sites\Site1" />
</application>
Run Code Online (Sandbox Code Playgroud)
问题是我不知道这两种方式是否相同并且结果相同.除了重命名应用程序名称之外,命令行实用程序(appcmd)可能会做一些额外的工作吗?
我想使用appcmd通过命令行创建一个站点.
如何将特定应用程序池与站点关联?
要创建一个站点,我这样写:
appcmd add site /name:"prova" bindings:http://localhost:8080 /physicalPath:c:\sites\prova
Run Code Online (Sandbox Code Playgroud) 我已经发现我可以将现有的应用程序池与现有的站点相关联,如下所示:
APPCMD.exe set app "sitename/" /applicationPool:"appPoolName"
Run Code Online (Sandbox Code Playgroud)
但是,如何在此命令之前使用名称appPoolName,.NET版本4和集成管道创建自己的应用程序池?
我试图使用网站名称appcmd或其他实用程序找到IIS7站点ID,但没有找到任何方法来实现它.
嗨,我对Powershell很新,但我有一个琐碎的问题.我希望能够判断命令是否已成功完成,这样我就可以向主机发送有意义的消息.
我正在使用该appcmd命令在IIS中添加绑定.基本上如下:
./appcmd set site /site.name:........................
但是我如何检查以确保它是否成功?
我想如果我只是把Write-Host "Successfully added binding"它放在那个声明之后,无论是否appcmd成功都会触发它.
我猜我需要做的事情如下:
$successful = ./appcmd set site /site.name:........................
但$successful似乎是一个包含msg结果的字符串?
感谢任何帮助!干杯
我收到以下错误消息:
术语"appcmd"不会被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在行:1 char:7
是否可以使用appcmd来更改allowDefinition的值?具体来说,我尝试在应用程序级别启用对httpCompression模块的更改.
通过手动更改以下行来修改applicationHost.config:
<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
Run Code Online (Sandbox Code Playgroud)
至
<section name="httpCompression" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)
然后允许我执行以下appcmd命令:
appcmd set config "website name" /section:httpCompression /noCompressionForProxies:false
appcmd set config "website name" /section:httpCompression /noCompressionForHttp10:false
Run Code Online (Sandbox Code Playgroud)
但是,我需要一个不依赖于手动编辑applicationHost.config的解决方案
好的,所以我基本上正在使用新的IIS 8.0应用程序初始化模块实现azure预热.
我有一个启动任务(cmd文件)基本上已经取消了IIS中的空闲超时和回收时间.我正在尝试添加应用程序初始化.
我意识到我需要设置两件事; startMode和preloadEnabled.
我的应用程序在IIS中有大量站点(大约10个),所有站点都由Azure随机命名,并随机命名为应用程序池.
startMode 很容易,因为可以通过执行以下操作将其设置为应用程序池默认值:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.startMode:AlwaysRunning
Run Code Online (Sandbox Code Playgroud)
这适用于所有应用程序池.
然而,这并不容易preloadEnabled.
要设置preloadEnabled,您可以将其用于命名站点:
%windir%\system32\inetsrv\appcmd set config -section:sites [name='MySite'].applicationDefaults.preloadEnabled
Run Code Online (Sandbox Code Playgroud)
但我需要它适用于我不知道名字的所有网站(它们是随机的),默认的类型(我如何设置startMode).
有任何想法吗?