Public/Send-Event.ps1
|
<#
.SYNOPSIS Sends an event to DataConduIT. .DESCRIPTION Sends an event to DataConduIT. If the result return null, try the parameter "-Verbose" to get more details. .EXAMPLE Send-Event .LINK https://github.com/erwindevreugd/PSDataConduIT #> function Send-Event { [CmdletBinding()] param ( [Parameter( Position=0, Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The name of the server where the DataConduIT service is running or localhost')] [string]$Server = $Script:Server, [Parameter( Position=1, Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The credentials used to authenticate the user to the DataConduIT service')] [PSCredential]$Credential = $Script:Credential, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The source parameter')] [string]$Source = $Script:EventSource, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The device parameter')] [string]$Device = [String]::Empty, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The sub device parameter')] [string]$SubDevice = [String]::Empty, [Parameter( Mandatory=$true, ValueFromPipelineByPropertyName=$true, HelpMessage='The message parameter')] [string]$Message = [String]::Empty, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The badge id parameter')] [long]$BadgeID = $null, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='Indicates if this is an access granted event')] [bool]$IsAccessGrant = $false, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='Indicates if this is an access denied event')] [bool]$IsAccessDeny = $false, [Parameter( Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage='The time parameter')] [DateTime]$Time = [DateTime]::UtcNow ) process { $parameters = @{ ComputerName=$Server; Namespace=$Script:OnGuardNamespace; Class="Lnl_IncomingEvent"; Name="SendIncomingEvent"; } if($Credential -ne $null) { $parameters.Add("Credential", $Credential) } Invoke-WmiMethod @parameters -ArgumentList $BadgeID, $Message, $Device, $null, $IsAccessGrant, $IsAccessDeny, $Source, $SubDevice, (ToWmiDateTime $Time) } } |