Appcmd.exe是IIS7提供的一个管理站点的命令行工具,同时支持Ftp和Http的站点,功能还算强大,具体使用方法参考微软网站。

需求

我这里的例子主要配置一个Ftp站点,并且允许CcUser这个用户对其目录具备读和写的权限:

代码

@echo off
set cc_inbox_dir=c:\CC_Inbox
set cc_outbox_dir=c:\CC_Outbox
set appcmd_exe=%systemroot%\system32\inetsrv\appcmd.exe
set ftp_siet_name=CC_Inbox ::create cc inbox folder
::rd /S /Q %cc_inbox_dir%
IF NOT EXIST %cc_inbox_dir% (md %cc_inbox_dir%) ::create cc outbox folder
::rd /S /Q %cc_outbox_dir%
IF NOT EXIST %cc_outbox_dir% (md %cc_outbox_dir%) ::delete the ftp site and then make a new one. ID of the ftp site will be auto-generated.
%appcmd_exe% delete site %ftp_siet_name%
%appcmd_exe% add site /name:%ftp_siet_name% /bindings:ftp://*:21 /physicalpath:%cc_inbox_dir% ::add virtual dir for cc outbox. Note there is "/' at the end of the app.name
%appcmd_exe% add vdir /app.name:"%ftp_siet_name%/" /path:/outbox /physicalpath:%cc_outbox_dir% ::config ftp authentication
%appcmd_exe% set site %ftp_siet_name% -ftpServer.security.ssl.controlChannelPolicy:SslAllow -ftpServer.security.ssl.dataChannelPolicy:SslAllow -ftpServer.security.authentication.basicAuthentication.enabled:true ::config ftp authorization to allow CcUser to read and write
%appcmd_exe% set config %ftp_siet_name% -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='CcUser',permissions='Read, Write']" /commit:apphost

要点

  • appcmd.exe默认没有添加到Path里,需要指定完整的路径。
  • 如果64机器上应该使用64位的版本,32位的版本在Wow64目录下
  • 如果需要IP Address设置成“All Unassigned”,在bindings的时候使用“*”,而不要使用ip地址或机器名
  • “/app.name”参数的值应该以“/”结尾,比如应该用“CC_Inbox/”而不是“CC_Inbox”
  • Authentication的设置在添加ftp站点的时候没法设置,但是可以通过修改ftp站点的属性来完成
  • Authorization(比如文件的访问权限)不在ftp站点的属性中,而是system级别的属性,修改完最后记得提交 “/commit:apphost”

参考资料

最新文章

  1. Bootstrap表单验证插件bootstrapValidator使用方法整理
  2. 判断 .NET Framework安装版本
  3. NSBundle控件和UIImageView和UIButton区别
  4. mysql循环获取结果集
  5. Android handle 多线程练习
  6. 认真对待每一道算法题 之 两个排序好的数组寻找的第k个大的数
  7. OpenJudge 取数游戏
  8. C#备份,还原数据库
  9. Firebug 调试技巧之console API
  10. MasterPage的自身Bug还是?
  11. JavaIO流(02)RandomAccessFile类详解
  12. BGP协议学习总结
  13. LeetCode——Longest Palindromic Substring
  14. 基于ffmpeg的C++播放器1
  15. DevOps之归纳总结
  16. linux(二)之linux常用命令一
  17. Linux 信号signal处理函数
  18. Java8-函数式接口理解及测试
  19. 从项目需求角度,使用纯CSS方案解决垂直居中
  20. 【项目 · Wonderland】立项报告

热门文章

  1. Java原子操作类,你知道多少?
  2. Delphi通过管道执行外部命令行程序(cmd)并获取返回结果
  3. ArcGIS 10.2 二次开发,兼容Visual Studio 2012二次开发,完美安装教程
  4. 对象第复制operator=
  5. circular-array-loop(蛮难的)
  6. OpenSceneGraph 3.2 版本修改点
  7. Xshell 初次应用
  8. 通达OA 小飞鱼工作流在线培训教程(七)工作流应用的意义及基础设置(图文)
  9. opencv-2.4.11编译备忘
  10. IntelliJ IDEA启动加速