1

一部のIISアプリケーションの展開の自動化に取り組んでいます。Windowsバッチファイル内でcscript.exeを使用して、Webアプリなどを作成しました。ただし、現在手作業で行っている、自動化する必要のある設定がいくつかあります。つまり、アプリのプロパティを確認する場合は、[ディレクトリ構造]->[認証とアクセス制御]->[編集]で、[匿名アクセスを有効にする]をオフにし、[統合Windows認証]をオンにする必要があります。

Windowsバッチファイルからこれを行う簡単な方法はありますか?

編集:これがIIS 6.0であることを明確にする必要があるため、appcmdは使用できません。

4

4 に答える 4

2

これがお役に立てば幸いです。

http://forums.iis.net/t/1159665.aspx

于 2009-12-07T18:52:41.477 に答える
1

Windows認証の構成(IIS 7)を参照してください。

appcmd set config /section:windowsAuthentication /enabled:true | false

IIS 6の場合、おそらくWMIが代替手段です。

于 2009-12-07T18:53:45.203 に答える
1

少し前に、私は非常によく似た質問に答えました。この例では、asdutil.vbsバッチファイルから呼び出すことができるツールを使用しています。

IIS 6のアプリケーションレベルでのNTAuthenticationProvidersの設定(スタックオーバーフロー)

更新しました:

Webサイトを作成するためのCScriptスクリプトがすでにあるので、スクリプトでを設定するだけですAuthFlags

'' Some values just as an example
iisNumber = 668
ipAddress = "172.16.3.200"
hostName = "myserver.com"
wwwfolder = "c:\mysites\www"


Dim serverBindings(1)
serverBindings(0) = ipAddress & ":80:www." & hostName
serverBindings(1) = ipAddress & ":80:" & hostName


'' Create server
Set w3svc = GetObject("IIS://localhost/w3svc")
Set newWebServer = w3svc.Create("IIsWebServer", iisNumber)
newWebServer.ServerBindings = serverBindings
newWebServer.ServerComment = "Server is: " & hostName
newWebServer.SetInfo

'' Create /root app
Set rootApp = newWebServer.Create("IIsWebVirtualDir", "ROOT")
rootApp.Path = wwwFolder
rootApp.AccessRead = true
rootApp.AccessScript = true
rootApp.AppCreate(True)
rootApp.AuthFlags = 4 '' <== Set AuthFlags here
rootApp.SetInfo
于 2009-12-08T14:20:59.643 に答える
0
Dim sSitePath = "1" 'Set the site ID here
Set oSite =  GetObject("IIS://localhost/" & sSitePath & "/root")

Select Case oSite.AuthFlags
  Case 1
    Wscript.Echo "Anonymous"
  Case 2
    Wscript.Echo "Basic"
  Case 4
    Wscript.Echo "NTLM"
  Case 6
    Wscript.Echo "MD5"
  Case 64
    Wscript.Echo "Passport"
End Select
于 2012-01-20T07:57:48.267 に答える