TrainingUtils.psm1

<#
 .Synopsis
  Función para loguear información.
 
 .Description
  Esta función nos permite escribir logs de diferentes tipos para poder posteriormente persistirlo en disco.
 
 .Parameter LogType
  Tipo de log
 
 .Parameter Message
  Mensaje que queremos escribir en el log.
 
  .Parameter LogFilePath
  Path donde vamos a guardar nuestro fichero de log.
 
 .Example
   Write-TrainingUtilsLog -LogType "INFO" -Message "Esto es un mensaje Informativo" -LogFilePath .\scriptLogging.log
#>

function Write-TrainingUtilsLog ([string]$LogType, [string]$Message, [string]$LogFilePath) {
    $LogMessage = "{0}: {1}" -f $LogType, $Message
    switch ($LogType) {
        "INFO" {
            Write-Host $LogMessage
        }
        "VERBOSE" {
            Write-Verbose $Message
        }
        "ERROR" {
            Write-Host $LogMessage
        }
        "WARNING" {
            Write-Warning $Message
        }
        default {
            Write-Host "{0}" -f $LogMessage
        }
    }
    Write-ToLogFile -Message $LogMessage -LogFilePath $LogFilePath
}
<#
 .Synopsis
  Funciones para loguear información y guardarla en disco.
 
 .Description
  Módulo para poder escribir logs de diferentes tipos y posteriormente persistirlo en disco.
 
 .Parameter LogType
  Tipo de log
 
 .Parameter Message
  Mensaje que queremos escribir en el log.
 
  .Parameter LogFilePath
  Path donde vamos a guardar nuestro fichero de log.
 
 .Example
   Write-TrainingUtilsLog -LogType "INFO" -Message "Esto es un mensaje Informativo" -LogFilePath .\scriptLogging.log
#>

function Write-TrainingUtilsLogToFile([string]$Message, [string]$LogFilePath) {
    $TimeStamp = (Get-Date).toString("dd/MM/yyyy HH:mm:ss")
    $LogMessage = "[$TimeStamp] $Message"
    Add-Content $LogFilePath -Value $LogMessage
}
<#
 .Synopsis
  Funciones para loguear información y guardarla en disco.
 
 .Description
  Módulo para poder escribir logs de diferentes tipos y posteriormente persistirlo en disco.
 
 .Parameter LogType
  Tipo de log
 
 .Parameter Message
  Mensaje que queremos escribir en el log.
 
  .Parameter LogFilePath
  Path donde vamos a guardar nuestro fichero de log.
 
 .Example
   Write-TrainingUtilsLog -LogType "INFO" -Message "Esto es un mensaje Informativo" -LogFilePath .\scriptLogging.log
#>

function Check-PDFExists([string]$filePath) {
    $files = Get-ChildItem $filePath -Recurse -Include *.pdf
    if ($files) {
        $files
        return $true
    }
    return $false
}