使用python枚举IIS的虚拟目录(改)
用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
# 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

分类: 07 . 不上档的三流程序员
python主要可以用来做什么?
everything you want