IIS7 全新管理工具AppCmd.exe的命令使用实例分享

1、错误如下:

IIS 7 提供了一个新的命令行工具 Appcmd.exe,可以使用该工具来配置和查询
Web 服务器上的对象,并以文本或 XML 格式返回输出。 下面是一些可以使用
Appcmd.exe 完成的任务的示例:
•创建和配置站点、应用程序、应用程序池和虚拟目录。

== Installation instructions for IIS 7 CosignModule ==

HTTP 错误 500.22 – Internal Server Error

•停止和启动站点。

1) Configure SSL certificates and https.
 1.a) Install rewritemodule to redirect http traffic to https.
2) Modify permissions for ssl certs and private keys.
 2.a) Install any necessary certificate authority files.
3) Create cookie database directory.
4) Copy the cosignmodule files.
5) Modify applicationhost.config with cosign values.
 .a) Turn off cosign protection for /cosign/valid
6) Enable the cosignmodule.
 .a) 32-bit application pools.
7) Create the cosign validation handler.
 .a) 32-bit validation handler.
8) Test a cosign-protected page.
() Turn cosign protection on and off, factors
() Getting more help.
IIS7 CosignModule==安装说明==

检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

•启动、停止和回收应用程序池。

1)配置SSL证书和HTTPS。
1.A)安装rewritemodule HTTP流量重定向到HTTPS。
2)修改为SSL证书和私钥的权限。
2.A)安装任何必要的证书颁发机构文件。
3)创建cookie数据库目录。
4)复制cosignmodule文件。
5)修改applicationHost.config的cosign值。
A)关闭cosign/ cosign/有效保护
6)启用cosignmodule。
A)32位的应用程序池。
7)创建cosign验证处理。
A)32位验证处理。
8)测试cosign受保护的页面。
()打开cosign保护和关闭的因素
()获取更多的帮助。

图片 1

•查看有关在 Web 服务器上运行的工作进程和请求的信息。

(1) Configure SSL and https (1)

Generate an SSL certificate and have it signed, if needed:

Before proceeding, be sure that your web site is accessible over https.
By default, the CosignModule marks its
cookies as secure. This means if a user logs in and browses to an http
part of your web site, it will appear
to the cosignmodule that the user is not logged in. Being sure this
works correctly now, as well as any redirects
from http to https (see below), will save you headaches later.

(1.a) Install RewriteModule to redirect http traffic to https (1.a)
To ensure users are sent to the secure, cosign-protected portion of your
web site, it may be necessary to
intercept http requests and redirect them to their https equivalent. The
Microsoft Rewrite Module is
recommended.
(1)配置SSL和HTTPS(1)
================================================== =
产生SSL证书,并已签署,如果需要的话:
(WS.10)。ASPX

在出发之前,确保你的网站是通过HTTPS访问。默认情况下,CosignModule标志着其
饼干为安全。这意味着如果用户登录并浏览到您的网站HTTP,它会出现
cosignmodule用户不登录英寸作为确保工作正常现在,以及任何重定向
从HTTP到HTTPS(见下文),将节省您的头痛后。

(1.A)安装RewriteModule HTTP流量重定向到HTTPS(1.A)
为了确保用户的安全,cosign保护您的网站的一部分被发送到,它可能是必要的
拦截HTTP请求重定向到他们的HTTPS相当于。微软重写模块
建议。

It can be downloaded here:

可以在以下地址下载到:

解决的方法:

Appcmd.exe
为常见的查询和配置任务提供了一致的命令,从而降低了学习语法的复杂性。
例如,您可以使用 list 命令来搜索有关对象(如应用程序)的信息,也可以使用
add 命令来创建对象(如站点)。
另外,您还可以将命令组合在一起使用,以返回与 Web
服务器上对象相关的更为复杂的数据,或执行更为复杂的任务。
例如,您可以完成类似如下任务的复杂任务:停止所有具有运行时间超过六十秒的请求的站点。

(2) Modify Permissions for SSL Private Keys (2)

The account or group the application pool runs as needs Full Control and
Read permissions in the
following Registry key:
 HKEY_LOCAL_MACHINESOFTWAREMicrosoftSystemCertificatesMY 

By default, this account is IIS AppPoolDefaultAppPool in Windows 2008
R2. “Network Services” should
work for Windows 2008.
(2)修改权限的SSL私钥(2)
================================================== =
应用程序池的运行需要完全控制和读取的权限的帐户或组
以下注册表项:
HKEY_LOCAL_MACHINE SOFTWARE MICROSOFT SystemCertificates我的

默认情况下,此帐户是在Windows的IIS程序池 DefaultAppPool2008。
“网络服务”
为Windows 2008。

在证书管理中给帐户权限。

Give said account permission from within certificate manager.
 Start -> Run
 “mmc” (or mmc /64)
 ctrl + M
 Select Certificates
 Add ->
 select Computer Account
 select Local Computer
 Finish, Ok
 点击[开始]—>[运行]—>输入mmc(或者是 mmc /64)—>按ctrl +
M打开添加/删除单元管理—>选择证书—>添加—>选择计算机帐号—>选择本地计算机—>然后完成

 Select Certificates -> Personal -> Certificates
 Select the certificate that matches the one to use for cosign. 
Right-click-> All Tasks -> Manage Private Keys
 Give IIS_IUSRS “Full Control” and “Read” permissions.
选择证书 – >个人 – >证书
选择证书相匹配的一个使用cosign。右键单击 – >所有任务 –
>管理私人密钥
给IIS_IUSRS“完全控制”和“读取”权限。

(2.a) Install Any Necessary Certificate Authority Files (2.a)

Cosign needs a certificate authority file to verify the identity of the
weblogin server it is talking to.

For example, the University of Michigan weblogin servers’ certificates
are signed by the UM Web Certificate authority.
To install UMWebCA.pem certificate:
    Download the file:
 Open Certificates from local machine (see above).
 Action | All tasks | Import …
 Select the umwebca.pem file.
(2.A)安装任何必要的证书颁发机构文件(2.A)

Cosign需要一个证书颁发机构的文件,以验证weblogin服务器,它正在与身份。

例如,密歇根weblogin服务器证书的大学签署UM Web证书的权威。
要安装UMWebCA.pem证书:
    下载文件: umwebCA.pem
从本地机器上打开证书(见上文)。
行动|所有任务|导入…
选择umwebca.pem文件。

首先,找到本地appcmd.xml的这个文件,然后进行下面的操作:

AppCmd.exe工具所在目录 C:windowssytstem32inetsrv目录下

(3) Create a Directory for the Cookie Cache (3)

Create a folder for the service cookie cache:
 md C:inetpubtempCosign Cookie DB

Permissions: IIS_IUSRS, full control
(3)创建一个cookie缓存目录(3)
================================================== =
服务cookie缓存中创建一个文件夹:
md C:inetpubtempCosign Cookie数据库

权限:IIS_IUSRS,完全控制

(1)运行 cmd,进命令行模式,cd到你IIS Express的目录,运行appcmd migrate
config “Default Web Site/”。

使用命令行管理IIS
7.0时,需要使用IIS7.0提供的全新管理工具AppCmd.exe。AppCmd.exe工具可以完成web服务器的全不管理工作。利用AppCmd.exe工具,既可以通过命令行提示完成挂历工作,也可以通过脚本完成管理工作。利用AppCmd.exe工具,可以完成以下工作:

(4) Copy the CosignModule Files (4)

copy /Y x64/CosignModule.dll C:WindowsSystem32inetsrv
copy /Y x86/CosignModule.dll C:WindowsSysWOW64inetsrv
copy /Y Cosign_Schema.xml
C:WindowsSystem32inetsrvconfigschema
(4) 复制过滤模块到指定的目录下 (4)

(2)注意这里Default Web
Site是你在上面那篇文章里site节点里配置的name,比如<site
name=”SampleWeb” id=”1″
serverAutoStart=”true”>里的SampleWeb,这里可能会报错,说:命令“MIGRATE”在对象“CONFIG”上不受支持。请运行“appcmd.exe
CONFIG /?” 显示支持的命令。”

1、添加、删除、修改web网站和应用程序池

(5) Modify applicationhost.config with cosign values.

In the applicationhost.config file, add the following options. Note that
the
proxyCookies section can be ignored. Only add this line, uncommented, of
course
if your weblogin servers are configured to provide your web site with
proxy cookies.
(5)修改applicationHost.config的cosign值。
================================================== =

在applicationHost.config文件,添加以下选项。请注意,
proxyCookies部分可以忽略不计。只有加入这一行注释掉,当然,
如果您weblogin的服务器配置为提供您的网站。
代理cookies。

 <configSections>
  …
  <sectionGroup name=”system.webServer”>
   …
   <section name=”cosign” overrideModeDefault=”Allow” />
   …
  </sectionGroup>
    </configSections>

 …
 
    <system.webServer>

      …

      <cosign>
        <webloginServer name=”weblogin.example.org”
loginUrl=”?” port=”6663″
   postErrorRedirectUrl=””
/>
        <crypto certificateCommonName=””
/>
        <cookieDb directory=”%systemDrive%inetpubtempCosign
Cookie DB” expireTime=”120″ />
     <!– proxyCookies
directory=”%SystemDrive%inetpubtempCosign Proxy DB” / –>
        <validation
validReference=”https?://www.example.org(/.*)?”
                   
errorRedirectUrl=””
/>     
        <cookies secure=”true” httpOnly=”true” />
        <service name=”cosign-www.example.org” />
        <protected status=”on” />
      </cosign>

      …
     
   </system.webServer>

(5.a) Turn Off Cosign Protection for /cosign/valid (5.a)

For the validation handler (see below) to work correctly, cosign
protection
needs to be turned off for the /cosign/valid location. This can be done
by
adding the following XML to applicationHost.config:
(5.A)关闭/cosign/valid(5.A)Cosign保护

为验证处理程序(见下文)才能正常工作,cosign保护
需要打开/cosign/valid 的位置。这可以通过
下面的XML添加到applicationHost.config的:

<location path=”Default Web Site/cosign/valid”>
    <system.webServer>
     <cosign>
            <protected status=”off” />
     </cosign>
    </system.webServer>
</location> 

解决办法是到IIS
express的目录下找到appcmd.xml,把<verb name=”migrate” classId=”DefaultConfigObject”  />这句的注释去掉,

2、停止,启动web网站和应用程序池

(6) Enable the CosignModule.(5)

启用CosignModule
Here are the command line options for adding and removing the cosign
module.
If appcmd.exe is not in your %PATH%, you can find it in
%windier%system32inetsrv

下面是通过命令行添加和移除CosignModule的方法,如果appcmd.exe不在环境变量中,你可以在%windier%system32inetsrv目录中找到

appcmd delete module “Cosign” /app.name:”Default Web Site/”
appcmd uninstall module “Cosign”
appcmd install module /name:”Cosign” /image:”CosignModule.dll”
/add:”false”
appcmd add module /name:”Cosign” /app.name:”Default Web Site/”

The module can also be added and removed from the IIS Manager
interface.
该模块同样也可以从IIS管理界面中添加和移除

(6.a) 32-bit Application Pools (6.a)
If you have 32-bit applications enabled and want to use cosign with
these sites
you will need to add the 32-bit module as well.

(6.A)32位的应用程序池(6.A)
如果您有启用32位应用程序,要使用这些网站的cosign
你将需要添加32位模块以及。

appcmd install module /name:”Cosign-x86″
/image:”%windir%SysWOW64inetsrvCosignModule.dll” /add:”false”
/precondition=”bitness32″
appcmd add module /name:”Cosign-x86″ /app.name:”32-bit legacy app”

然后在运行上面那句命令,成功的话出现

3、观察工作进程和请求信息

(7) Create the Cosign Validation Handler.

This can be done from within the IIS Manager under “Sites”, “[name of
your web site]”, Handler Mappings, then select
“Add Module Mapping…”, and specify the following items:

(7)创建Cosign验证处理程序。
================================================== =

这可以从在IIS管理器下“网站”,“[网站名称]”,处理程序映射,然后选择
“添加模块映射…”,并载明下列事项:

RequestPath:
/cosign/valid*

Module:
Cosign

Name:
Cosign Validation

The validation handler can also be added with the following command:
appcmd set config “Default Web Site” /section:handlers
/+[name=’Cosign-Validation’,path=’/cosign/valid*’,verb=’*’,modules=’Cosign’]

(7.a) 32-bit Validation Handler (7.a)
Same as above, but be sure to specify the 32-bit CosignModule and set
the
precondition to bitness32.

appcmd set config “32-bit legacy app” /section:handlers
/+[name=’Cosign-Validation’,path=’/cosign/valid*’,verb=’*’,modules=’Cosign-x86′,precondition=’bitness32′]

验证处理,也可以添加以下命令:
appcmd set config “Default Web Site” /section:handlers
/+[name=’Cosign-Validation’,path=’/cosign/valid*’,verb=’*’,modules=’Cosign’]

(7.A)32位的验证处理程序(7.A)
同上,但可以肯定的,到指定的32位CosignModule设置
先决条件bitness32
appcmd set config “32-bit legacy app” /section:handlers
/+[name=’Cosign-Validation’,path=’/cosign/valid*’,verb=’*’,modules=’Cosign-x86′,precondition=’bitness32′]

Successfully migrated section “system.web/httpModules”.

4、一列表形式显示IIS和ASP.NET的配置信息,并支持对IIS和ASP.NET的配置信息进行修改

(8) Test a cosign-protected page.

Load up your favorite, modern web browser and navigate to a
cosign-protected
page on your web site. If everything went smoothly, you should be
redirected
to your weblogin server and back to your cosign-protected web site.

Also see the included example scripts to get an idea of how to access
the
cosign server variables.
(8)测试cosign受保护的页面。
================================================== =

载入您最喜爱的,现代的Web浏览器并导航到cosign保护
您的网站页面上。如果一切顺利的话,你应该重定向
weblogin服务器和您cosign保护的网站。

还可以看到包含的示例脚本的想法如何访问
cosign服务器变量。

Successfully migrated section “system.web/httpHandlers”.” 

AppCmd.exe工具提供了一个一直的命令集,利用该命令集,针对受支持的对象类型,可以执行查询操作并完成一些其他任务,既可以段杜运行这些命令,也可以讲命令进行组合并欲行命令组合,从而可以执行复杂的任务,完成复杂的查询工作,如表:

() Turn cosign protection on and off, factors ()

Each directory can also have a web.config file that overrides inherited
configuration options:

()打开cosign保护和关闭,这些因素()
================================================== =

每个目录也可以有一个web.config文件,覆盖继承的配置选项:

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
    <system.webServer>
       <cosign>
            <protected status=”off” />
        </cosign>
    </system.webServer>
</configuration>

If your server needs to configure specific authentication factors,
you’ll need
to add some items to the <service> tag.
如果您的服务器需要配置特定的身份验证因素,您需要
添加一些项目的<service>标签。

<service name=”cosign-www.example.org” />
 <add factor=”rsatoken” />
</service>

If you need to enable the optional ignore suffix, it will look like
this:
如果您需要启用可选忽略后缀,它会看起来像这样:

<service name=”cosign-www.example.org” />
 <add factor=”rsatoken” />
 <add ignoreSuffix=”-magic” />
</service>

Note that the “factor” items must all be satisfied, the “ignoreSuffix”
will be
matched to any factor. For example, this configuration…
需要注意的是“生产要素”的项目都必须满意,“ignoreSuffix”将
相匹配的任何因素。例如,此配置…

<service name=”cosign-www.example.org” />
 <add factor=”rsatoken” />
 <add factor=”kerberos” />
 <add ignoreSuffix=”-magic” />
</service>

… will match the following factor combinations:
… …将符合下列因素组合:
rsatoken kerberos
rsatoken-magic kerberos-magic
rsatoken-magic kerberos
rsatoken kerberos-magic

NOTE: Running an application pool in “classic mode” may result in the
server variables not being available to ASP scripts.  There is a
compatibilityMode
option to correct this.  You can add it to the <cosign> section of
your config file.
注:在“经典模式”运行的应用程序池,可能会导致在服务器变量不可用的ASP脚本。有一个compatibilityMode
选项??,以正确的。你可以把它添加到你的config文件<cosign>节。

<cosign>

    <compatibilityMode mode=”true” />
</cosign>

其次,在vs2013项目文件夹的属性窗口修改如下内容:

对象名称 描述
site 管理虚拟网站
app 管理应用程序
vdir 管理虚拟目录
appool 管理应用程序池
config 挂历通用配置文件
wp 挂历工作进程
request 管理http请求
module 管理服务器模块
backup 管理服务器配置备份
trace 管理失效请求跟踪日志

() Getting More Help ()

更多帮助

Please join the discussion list before sending e-mail:

cosign-discuss@lists.sourceforge.net

To receive announcements, please join:

cosign-announce@lists.sourceforge.net

 

图片 2

AppCmd.exe工具支持的命令:

此时,重新运行项目问题已经解决了。

add

 

clear

注意:本地如果第一步无法完成手动修改文件,直接执行里面的命令也可以,然后继续第二部,应该也可以解决。

configure

 

delete

 

inspect

install

list

lock

migrate

recycle

reset

restore

search

set

start

stop

uninstall

unlock

AppCmd命令

温馨提示:命令总是位于对象之前,而属性总是位于对象之后,这样就可以通过创建一个类似于一条语句的结构,在这个结构中,appcmd.exe通知对象做某事。

  list      列出应用程序池
  set       配置应用程序池
  add       添加新应用程序池
  delete    删除应用程序池
  start     启动应用程序池
  stop      停止应用程序池
  recycle   回收应用程序池

1、列出一个对象所有实例

appcmd.exe list app

2、列出独一无二的对象实例

appcmd.exe list app “Default Web Site/”

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website