Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
# WebDAV 機能をインストール
PS C:\Users\Administrator> Install-WindowsFeature Web-DAV-Publishing
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {WebDAV Publishing}
# IIS 再起動
PS C:\Users\Administrator> Restart-Service W3SVC
# [DavGroup] グループ新規作成
PS C:\Users\Administrator> New-LocalGroup -Name "DavGroup"
Name Description
---- -----------
DavGroup
# 任意のローカルユーザーを [DavGroup] グループに追加
# (WebDAV 経由の読み取り書き込みを許可するユーザー)
PS C:\Users\Administrator> Add-LocalGroupMember -Group "DavGroup" -Member "Serverworld"
PS C:\Users\Administrator> Get-Website
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot http *:80:
RX-7.srv.world 2 Started C:\inetpub\newsite http *:80:rx-7.srv.world
https *:443:rx-7.srv.world sslFlags=0
# [webdav] フォルダー作成
PS C:\Users\Administrator> mkdir C:\inetpub\webdav
# [webdav] フォルダーを仮想ディレクトリに設定
PS C:\Users\Administrator> New-WebVirtualDirectory -Site "RX-7.srv.world" -Name "webdav" -PhysicalPath "C:\inetpub\webdav"
Name PhysicalPath
---- ------------
webdav C:\inetpub\webdav
# WebDAV 機能を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/webdav/authoring' -Location "RX-7.srv.world" -Name enabled -Value True
# [webdav] フォルダーでは匿名認証を無効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Location "RX-7.srv.world/webdav" -Name enabled -Value False
# [webdav] フォルダーでは基本認証を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/basicAuthentication' -Location "RX-7.srv.world/webdav" -Name enabled -Value True
# [webdav] フォルダーに [DavGroup] グループの Read,Write,Source を許可
PS C:\Users\Administrator> Add-WebConfiguration -Filter "/system.webServer/webdav/authoringRules" -Location "RX-7.srv.world/webdav" -Value @{path="*";roles="DavGroup";access="Read,Write,Source"}
# [webdav] フォルダーに [DavGroup] グループの NTFS フルコントロールを許可 (継承含む)
PS C:\Users\Administrator> icacls "C:\inetpub\webdav" /grant "DavGroup:(OI)(CI)(F)"
processed file: C:\inetpub\webdav
Successfully processed 1 files; Failed processing 0 files
# [webdav] フォルダーに [ディレクトリの参照] の設定を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/directoryBrowse' -Location "RX-7.srv.world/webdav" -Name enabled -Value True
# Web サイト再起動
PS C:\Users\Administrator> Restart-WebItem -PSPath 'IIS:\Sites\RX-7.srv.world'
# HTTP アクセスして動作確認 ⇒ [-u (ユーザー名)]
PS C:\Users\Administrator> curl.exe -u Serverworld https://rx-7.srv.world/webdav/
Enter host password for user 'Serverworld': # ユーザーのパスワード
<html><head><title>rx-7.srv.world - /webdav/</title></head><body><H1>rx-7.srv.world - /webdav/</H1><hr>
<pre><A HREF="/">[To Parent Directory]</A><br><br></pre><hr></body></html>
|