0

環境: Windows 2008 R2 x64、IIS 7

「アプリケーション」と「アプリケーション プール」を IIS に追加しようとしています。IIS が構成され、正常に動作しています。サイト/アプリケーションを手動で追加しましたが、それらも正常に動作します。

import wmi

oWebAdmin = wmi.GetObject(r"winmgmts:root\WebAdministration")

strApplicationPath = "/my_site"
strSiteName = "Default Web Site"
strPhysicalPath = r"C:\Windows\SysNative\certsrv\mscep"

#fails here:
oWebAdmin.Get('Application').Create(strApplicationPath, strSiteName, strPhysicalPath)

oWebAdmin.Get("ApplicationPool").Create("NewAppPool")

エラーが発生します:

Traceback (most recent call last):
  File "C:\work\selenium-project\mdm-setup-assistant\ndes\install_dnes_service.py", line 23, in <module>
    oWebAdmin.Get('Application').Create(strApplicationPath, strSiteName, strPhysicalPath)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 505, in __getattr__
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'SWbemObjectEx', u'Invalid parameter ', None, 0, -2147217400), None)

興味深い部分は.Create() 、msdn から、私が入力したすべてのパラメーターが有効であると述べていることです。

私が試したこと:

1)最初にアプリケーションプールを作成します(ただし、両方が作成されたときにそれらをバインドする必要があるため、順序は重要ではありません)

oWebAdmin.Get("ApplicationPool").Create("NewAppPool")

もちろん、非常によく似たエラーが表示されます。

Traceback (most recent call last):
  File "C:\work\selenium-project\mdm-setup-assistant\ndes\install_dnes_service.py", line 17, in <module>
    oWebAdmin.Get("ApplicationPool").Create("NewAppPool")
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 505, in __getattr__
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'SWbemObjectEx', u'Invalid parameter ', None, 0, -2147217400), None)

2) アプリケーションを一覧表示しようとしました。そしてそれはうまくいきます:

oApps = oWebAdmin.InstancesOf("Application")

for app in oApps:
    print app.SiteName 
    print app.Path
    print app.ApplicationPool
    print app.EnabledProtocols

出力:

Default Web Site
/
DefaultAppPool
http

Default Web Site
/CertSrv/mscep_admin
SCEP
http

Default Web Site
/CertSrv/mscep
SCEP
http

MyApp
/
MyApp AppPool
http

.Create()通話の何が問題になっている可能性がありますか?

注:私は昇格された権限で実行しています(それが重要な場合)

更新:失敗.Getする可能性がありますか?: いいえ、それは明確.Create()です:

app = oWebAdmin.Get('Application')

#fails here:
app.Create(strApplicationPath, strSiteName, strPhysicalPath)

エラー:

Traceback (most recent call last):
  File "C:\work\selenium-project\mdm-setup-assistant\ndes\install_dnes_service.py", line 18, in <module>
    app.Create(strApplicationPath, strSiteName, strPhysicalPath)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 505, in __getattr__
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'SWbemObjectEx', u'Invalid parameter ', None, 0, -2147217400), None)
4

1 に答える 1

0

失敗しているのは GET ではありませんか?

于 2012-12-19T21:17:38.560 に答える