PowerShell: L oop через настраиваемые поля журнала сервера IIS 8+ для проверки наличия обязательных полей - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь просмотреть список серверов (в основном IIS 8.5) через l oop и посмотреть, существуют ли определенные имена настраиваемых полей для журналов. Я выполняю эти команды с моего локального компьютера, используя командлет "invoke-command". В настоящее время он просто возвращается к курсору, а не выписывает, если есть совпадение или нет совпадения.

Файл srv.csv содержит: - Host, IP - srv1,10.0.0.2 - Файл srv2,10.0.0.3

log_stig.csv содержит: - LogFieldName, SourceType - соединение, RequestHeader - пользователь-агент, RequestHeader - тип контента, ResponseHeader

Назначает значения в srv.csv переменной $ IISServers

try{
  $IISServers = Import-Csv C:\Users\snappy\ps_script_resources\srv.csv
}
catch{
  "The file 'srv.csv' is not available"
}

Назначает значения в log_stig.csv переменной $ STIG_CustomFields

try{
  $STIG_CustomFields = Import-Csv C:\Users\snappy\ps_script_resources\log_stig.csv
}catch{
  "The file 'log_stig.csv' is not available"
}

L oop через каждый сервер, а затем l oop через каждое имя настраиваемого поля, проверяя, существуют ли они на сервере.

ForEach($IISServer in $IISServers){
  $IISServerName = $($IISServer.Host)

  try{
    invoke-command -ComputerName $IISServerName -ScriptBlock{

    $SiteLogFileCustom = Get-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' - 
    filter "system.applicationHost/sites/site/logFile/customFields" -Name 'Collection'

    ForEach ($STIG_CustomField in $STIG_CustomFields){
      write-output $STIG_CustomField.LogFieldName
      write-output $SiteLogFileCustom.logFieldName
      if($STIG_CustomField.LogFieldName -match $SiteLogFileCustom.logFieldName){
        write-output "Match" 
      }
      else{
        write-output "No Match"
      }
      write-output "This ran"
    }
   }
  }
 catch{
  "Invoke failed for "
  }
}

Текущий код при запуске с локального компьютера возвращается только к курсору Я ожидаю, что для каждого совпадения я буду видеть сообщение «Совпадение» или «Нет совпадения» в моей консоли. Любые рекомендации приветствуются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...