首页 > 07 . 不上档的三流程序员 > 使用python枚举IIS的虚拟目录(改)

使用python枚举IIS的虚拟目录(改)

六月 22nd 2009 Python 发表评论 阅读评论

用python的pywin32扩展操作IIS
其实一切非常简单,只要对象找对了,其他的搜M$的MSDN就OK了

#!/usr/bin/env python
# win32com
# List All Virtual Directory in IIS
# Python[AT]Live.it
import re
import win32com.client
 
def ListVirtualDir(layerName,parentLayer,layerCounter):
    
# layerName : Current Layer Name
    
# parentLayer : Current Layer Path
    
vdName = []
    
IISObj = parentLayer + / + layerName# Current Layer Path
    
vd = win32com.client.GetObject(IISObj)
    
exePerm = #{’Scripts Only’:0,’Scripts and Executables’:0,’None’:0}# Execute Permission
    
for w3 in vd:
        
if iiswebvirtualdir == w3.Class.lower():
            
VirDirList.append(   *layerCounter + "Virtual Directory Name : %s" %w3.Name)
            
VirDirList.append(   *layerCounter + "Virtual Directory Path : %s" %w3.Path)
            
VirDirList.append(   *layerCounter + "Application Name : %s" %w3.AppFriendlyName)
            
VirDirList.append(   *layerCounter + "Script Source Access : %s" %w3.AccessSource)
            
VirDirList.append(   *layerCounter + "Read Permission : %s" %w3.AccessRead)
            
VirDirList.append(   *layerCounter + "Write Permission : %s" %w3.AccessWrite)
            
VirDirList.append(   *layerCounter + "Directory Browsing Enable : %s" %w3.EnableDirBrowsing)
            
#VirDirList.append(’   ’*layerCounter + "Execute Permissions : Scripts and Executables : %s" %w3.AccessExecute)
            
#VirDirList.append(’   ’*layerCounter + "Execute Permission is None : %s" %w3.AccessScript)
            
if w3.AccessExecute:
                
exePerm = Scripts and Executables
            
if w3.AccessScript:
                
if not w3.AccessExecute:
                    
exePerm = Scripts Only
            
else:
                
exePerm = None
            
VirDirList.append(   *layerCounter + "Execute Permissions : %s" %exePerm)
            
vdName.append(w3.Name)
    
layerCounter = layerCounter+1
    
for i in vdName:
        
ListVirtualDir(i,IISObj,layerCounter)
 
 
SiteName = {}
layerCounter = 1
iis = win32com.client.GetObject(IIS://localhost/w3svc)
for w3 in iis:
    
if iiswebserver == w3.Class.lower():
        
SiteName[w3.Name] = w3.ServerComment
for SiteID in SiteName.keys():
    
VirDirList = []
    
ListVirtualDir(ROOT,IIS://localhost/w3svc/%s %SiteID,layerCounter)
    
if len(VirDirList)>0:
        
print "Site : IIS://localhost/w3svc/%s " %SiteName[SiteID]
        
for i in VirDirList:
            
print i
        
print "\n";
#
# E_O_F

vd

  1. 2009年6月26日16:54 | #1

    python主要可以用来做什么?

  2. 2009年6月26日21:32 | #2

    everything you want

  1. 本文目前尚无任何 trackbacks 和 pingbacks.