2016-04-11 40 views
0

IISの特定のWebサイト、好ましくはPowerShellでログフィールドを有効にする方法はありますか?IISサイトログフィールドを有効にする[PowerShell]

「クライアントIPアドレス」ロギングフィールドを有効にして、マシンにRDPを設定せずに手動で設定する必要があります。

私はIIS 8.5もう少し検索した後

enter image description here

答えて

0

したWindows Server 2012を実行しています、私はで私の独自のソリューションのベースラインが見つかりました:有効-LoggingField機能が取る Set IIS Log Fields via PowerShell

ウェブサイト名とロギングフィールド名をパラメータとして使用

Get-WebConfigurationPropertyで提供されているウェブサイトのアクティブなロギングフィールドを取得します提供されたログフィールドが存在するかどうかを確認します。それが存在しない場合、それはあなたがあたりとして設定によって必要なフラグの合計値を使用することにより、あなたはまた、次の方法論を使用してフラグを設定することができます

Import-Module Webadministration 

Function Activate-LoggingField 
{ 
    param([Parameter(Mandatory=$true)][string]$websiteName, 
      [Parameter(Mandatory=$true)][string]$loggingField) 

    $loggingFilter = "/system.applicationHost/sites/site[@name=`"$websiteName`"]/LogFile" 
    $currentLoggingFields = Get-WebConfigurationProperty -Filter $loggingFilter -Name LogExtFileFlags 
    if ($currentLoggingFields -notmatch $loggingField) 
    { 
     $newLoggingFields = "$currentLoggingFields,$loggingField" 
     Set-WebConfigurationProperty -Filter $loggingFilter -Name LogExtFileFlags -Value $newLoggingFields 
    } 
} 

Activate-LoggingField -websiteName "MySite" -loggingField "ClientIP" 
1

Set-WebConfigurationPropertyコマンドレットを経由してそれを追加しようとします以下のリストをご覧ください。

フラグの値の2乗に値が設定されます。オンにしたいすべてのフラグを合計して、logExtFileFlagsを設定できる値を取得します。

<flag number= "0" flag name="Date" value="1" /> 
<flag number= "1" flag name="Time" value="2" /> 
<flag number= "2" flag name="ClientIP" value="4" /> 
<flag number= "3" flag name="UserName" value="8" /> 
<flag number= "4" flag name="SiteName" value="16" /> 
<flag number= "5" flag name="ComputerName" value="32" /> 
<flag number= "6" flag name="ServerIP" value="64" /> 
<flag number= "7" flag name="Method" value="128" /> 
<flag number= "8" flag name="UriStem" value="256" /> 
<flag number= "9" flag name="UriQuery" value="512" /> 
<flag number= "10" flag name="HttpStatus" value="1024" /> 
<flag number= "11" flag name="Win32Status" value="2048" /> 
<flag number= "12" flag name="BytesSent" value="4096" /> 
<flag number= "13" flag name="BytesRecv" value="8192" /> 
<flag number= "14" flag name="TimeTaken" value="16384" /> 
<flag number= "15" flag name="ServerPort" value="32768" /> 
<flag number= "16" flag name="UserAgent" value="65536" /> 
<flag number= "17" flag name="Cookie" value="131072" /> 
<flag number= "18" flag name="Referer" value="262144" /> 
<flag number= "19" flag name="ProtocolVersion" value="524288" /> 
<flag number= "20" flag name="Host" value="1048576" /> 
<flag number= "21" flag name="HttpSubStatus" value="2097152" /> 

E.G. UserName、ServerIP、ServerPort、およびHostを有効にします。

Set-ItemProperty "IIS:\Sites\$siteName" -name LogFile.logExtFileFlags -value 1081416 
: これは、コマンドはそのためである8 + 64 + 32768 + 1048576 = 1081416

を追加するために、私たちが必要です

関連する問題