读书人

vc设置iis属性,该如何处理

发布时间: 2012-03-24 14:00:46 作者: rapoo

vc设置iis属性
请问如何用VC操作IIS 的 "启用父路径" 选项?
请问如何用VC操作IIS 的 目录安全 中的账户设置?
感谢!

[解决办法]
搜索IADsContainer, ADSI
[解决办法]
2008 有新的接口
不过要下载sdk
[解决办法]
可参考http://msdn.microsoft.com/en-us/site/ms524767及http://blog.sina.com.cn/s/blog_52f54aa701009z29.html
[解决办法]
IIS的配置信息都在这里:C:\Windows\System32\inetsrv\config\applicationHost.config
你可以手工修改,然后看改了哪些 再用接口处理

那些接口并不是一个接口对应一个操作,而已直接操作applicationHost.config文件
该文件是xml格式,然后你要去查找全路径的这个属性对应的是标识,然后调用接口改
这个标识,类似操作xml文件

你可以先到服务器管理那边的IIS管理器,里面有个功能叫 配置编辑器
那边你可以查找你想要修改的属性,而且他会生成修改次配置的命令或代码
可以查询这个命令:appcmd.exe
我所说的是基于IIS7的,不知你是几?

如果是6 就用1楼说的接口


[解决办法]
那可以用ADSI接口,
你可以下载一个metabase工具对iis6一些属性进行查看
然后调用接口去修改
[解决办法]
以前用过工具 MtaEdt22.exe, 自己也根据里面的配置方式修改IIS

C/C++ code
BOOL    CIisControl::Init(){    HRESULT        hr;    m_nTimeOut = 5000;    hr = ::CoInitialize(NULL);    if(FAILED(hr))        return FALSE;    hr = ::CoCreateInstance(CLSID_MSAdminBase, NULL, CLSCTX_ALL, IID_IMSAdminBase, (void **) &m_spAdminBase);    if(FAILED(hr))        return FALSE;...}BOOL    CIisControl::AddVirtualDir(CHAR *pName, CHAR *pRealPath, int nSite, DWORD dwPermission){    CHAR        szSitePath[MAXPATH];    CHAR        szVrlDirKey[MAXPATH];    BOOL        bRetVal;    sprintf(szSitePath, "/LM/W3SVC/%d/ROOT", nSite);    bRetVal = MetaAddKey(szSitePath, pName);    if(bRetVal == FALSE)        return FALSE;    sprintf(szVrlDirKey, "/LM/W3SVC/%d/ROOT/%s", nSite, pName);    bRetVal = MetaSetKeyType(szVrlDirKey, "IIsWebVirtualDir");    bRetVal = MetaSetFilePath(szVrlDirKey, pRealPath);    bRetVal = MetaSetFileAccess(szVrlDirKey, dwPermission);    return bRetVal;}
[解决办法]
启用户路径配置在:
"LM\W3SVC\%d\ROOT", "AspEnableParentPaths" 是个DWORD值
[解决办法]
权限是 "AccessFlags", 如果没有就会继承上一级的权限

读书人网 >VC/MFC

热点推荐