Skip to content

Commit 57b4a3d

Browse files
committed
Initial update to support 4.1 schema
1 parent bf48440 commit 57b4a3d

18 files changed

+186
-26
lines changed

Functions/Get-SysmonRuleFilter.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function Get-SysmonRuleFilter {
3737
'ProcessTerminate', 'ImageLoad', 'DriverLoad',
3838
'CreateRemoteThread','RawAccessRead', 'ProcessAccess',
3939
'FileCreateStreamHash', 'RegistryEvent', 'FileCreate',
40-
'PipeEvent', 'WmiEvent')]
40+
'PipeEvent', 'WmiEvent','RuleName')]
4141
[string]
4242
$EventType,
4343

Functions/New-SysmonConfiguration.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,12 @@ function New-SysmonConfiguration
130130
[String]
131131
$Comment,
132132

133-
# Schema Vesion for the configuration file, default is 3.3.
133+
# Schema Vesion for the configuration file, default is 4.1.
134134
[Parameter(Mandatory=$False,
135135
ValueFromPipelineByPropertyName=$true)]
136-
[ValidateSet('4.0','3.4')]
136+
[ValidateSet('4.0','4.1')]
137137
[string]
138-
$SchemaVersion = '4.0'
138+
$SchemaVersion = '4.1'
139139
)
140140

141141
Begin{}

Functions/New-SysmonCreateRemoteThreadFilter.ps1

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@ function New-SysmonCreateRemoteThreadFilter {
5050
ValueFromPipelineByPropertyName=$true,
5151
Position=4)]
5252
[string[]]
53-
$Value
53+
$Value,
54+
55+
# Rule Name for the filter.
56+
[Parameter(Mandatory=$false,
57+
ValueFromPipelineByPropertyName=$true)]
58+
[string]
59+
$RuleName
5460
)
5561

5662
Begin { }
@@ -64,6 +70,11 @@ function New-SysmonCreateRemoteThreadFilter {
6470
'OnMatch' = $OnMatch
6571

6672
}
73+
74+
if($RuleName) {
75+
$cmdoptions.Add('RuleName',$RuleName)
76+
}
77+
6778
switch($psCmdlet.ParameterSetName) {
6879
'Path' {
6980
$cmdOptions.Add('Path',$Path)

Functions/New-SysmonDriverLoadFilter.ps1

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,13 @@ function New-SysmonDriverLoadFilter {
5151
ValueFromPipelineByPropertyName=$true,
5252
Position=4)]
5353
[string[]]
54-
$Value
54+
$Value,
55+
56+
# Rule Name for the filter.
57+
[Parameter(Mandatory=$false,
58+
ValueFromPipelineByPropertyName=$true)]
59+
[string]
60+
$RuleName
5561
)
5662

5763
Begin {}
@@ -66,6 +72,10 @@ function New-SysmonDriverLoadFilter {
6672

6773
}
6874

75+
if($RuleName) {
76+
$cmdoptions.Add('RuleName',$RuleName)
77+
}
78+
6979
switch($psCmdlet.ParameterSetName) {
7080
'Path' {
7181
$cmdOptions.Add('Path',$Path)

Functions/New-SysmonFileCreateFilter.ps1

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,41 @@ function New-SysmonFileCreateFilter {
5252
ValueFromPipelineByPropertyName=$true,
5353
Position=4)]
5454
[string[]]
55-
$Value
55+
$Value,
56+
57+
# Rule Name for the filter.
58+
[Parameter(Mandatory=$false,
59+
ValueFromPipelineByPropertyName=$true)]
60+
[string]
61+
$RuleName
5662
)
5763

5864
Begin {}
5965
Process {
6066
$FieldString = $MyInvocation.MyCommand.Module.PrivateData[$EventField]
67+
$cmdoptions = @{
68+
'EventType' = 'FileCreateStreamHash'
69+
'Condition' = $Condition
70+
'EventField' = $FieldString
71+
'Value' = $Value
72+
'OnMatch' = $OnMatch
73+
}
6174

62-
switch($psCmdlet.ParameterSetName) {
75+
if($RuleName) {
76+
$cmdoptions.Add('RuleName',$RuleName)
77+
}
78+
79+
switch ($PSCmdlet.ParameterSetName) {
6380
'Path' {
64-
New-RuleFilter -Path $Path -EventType FileCreateTime -Condition $Condition -EventField $FieldString -Value $Value -OnMatch $OnMatch
81+
$cmdOptions.Add('Path',$Path)
82+
New-RuleFilter @cmdOptions
6583
}
6684

6785
'LiteralPath' {
68-
New-RuleFilter -LiteralPath $LiteralPath -EventType FileCreateTime -Condition $Condition -EventField $FieldString -Value $Value -OnMatch $OnMatch
86+
$cmdOptions.Add('LiteralPath',$LiteralPath)
87+
New-RuleFilter @cmdOptions
6988
}
7089
}
71-
7290
}
7391
End {}
7492
}

Functions/New-SysmonFileCreateStreamHashFilter.ps1

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,13 @@ function New-SysmonFileCreateStreamHashFilter {
5656
ValueFromPipelineByPropertyName=$true,
5757
Position=4)]
5858
[string[]]
59-
$Value
59+
$Value,
60+
61+
# Rule Name for the filter.
62+
[Parameter(Mandatory=$false,
63+
ValueFromPipelineByPropertyName=$true)]
64+
[string]
65+
$RuleName
6066
)
6167

6268
Begin {}
@@ -70,6 +76,10 @@ function New-SysmonFileCreateStreamHashFilter {
7076
'OnMatch' = $OnMatch
7177
}
7278

79+
if($RuleName) {
80+
$cmdoptions.Add('RuleName',$RuleName)
81+
}
82+
7383
switch ($PSCmdlet.ParameterSetName) {
7484
'Path' {
7585
$cmdOptions.Add('Path',$Path)

Functions/New-SysmonImageLoadFilter.ps1

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ function New-SysmonImageLoadFilter {
5353
ValueFromPipelineByPropertyName=$true,
5454
Position=4)]
5555
[string[]]
56-
$Value
56+
$Value,
57+
58+
# Rule Name for the filter.
59+
[Parameter(Mandatory=$false,
60+
ValueFromPipelineByPropertyName=$true)]
61+
[string]
62+
$RuleName
5763
)
5864

5965
Begin {}
@@ -86,6 +92,11 @@ function New-SysmonImageLoadFilter {
8692
'OnMatch' = $OnMatch
8793

8894
}
95+
96+
if($RuleName) {
97+
$cmdoptions.Add('RuleName',$RuleName)
98+
}
99+
89100
switch($psCmdlet.ParameterSetName)
90101
{
91102
'Path'

Functions/New-SysmonNetworkConnectFilter.ps1

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,13 @@ function New-SysmonNetworkConnectFilter
5656
ValueFromPipelineByPropertyName=$true,
5757
Position=4)]
5858
[string[]]
59-
$Value
59+
$Value,
60+
61+
# Rule Name for the filter.
62+
[Parameter(Mandatory=$false,
63+
ValueFromPipelineByPropertyName=$true)]
64+
[string]
65+
$RuleName
6066
)
6167

6268
Begin {}
@@ -71,6 +77,10 @@ function New-SysmonNetworkConnectFilter
7177

7278
}
7379

80+
if($RuleName) {
81+
$cmdoptions.Add('RuleName',$RuleName)
82+
}
83+
7484
switch($psCmdlet.ParameterSetName) {
7585
'Path' {
7686
$cmdOptions.Add('Path',$Path)

Functions/New-SysmonPipeFilter.ps1

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,13 @@ function New-SysmonPipeFilter {
5757
ValueFromPipelineByPropertyName=$true,
5858
Position=4)]
5959
[string[]]
60-
$Value
60+
$Value,
61+
62+
# Rule Name for the filter.
63+
[Parameter(Mandatory=$false,
64+
ValueFromPipelineByPropertyName=$true)]
65+
[string]
66+
$RuleName
6167
)
6268

6369
Begin {}
@@ -71,6 +77,11 @@ function New-SysmonPipeFilter {
7177
'OnMatch' = $OnMatch
7278

7379
}
80+
81+
if($RuleName) {
82+
$cmdoptions.Add('RuleName',$RuleName)
83+
}
84+
7485
switch ($PSCmdlet.ParameterSetName) {
7586
'Path' {
7687
$cmdOptions.Add('Path',$Path)

Functions/New-SysmonProcessAccessFilter.ps1

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,13 @@ function New-SysmonProcessAccessFilter {
6161
ValueFromPipelineByPropertyName=$true,
6262
Position=4)]
6363
[string[]]
64-
$Value
64+
$Value,
65+
66+
# Rule Name for the filter.
67+
[Parameter(Mandatory=$false,
68+
ValueFromPipelineByPropertyName=$true)]
69+
[string]
70+
$RuleName
6571
)
6672

6773
Begin {}
@@ -75,6 +81,11 @@ function New-SysmonProcessAccessFilter {
7581
'OnMatch' = $OnMatch
7682

7783
}
84+
85+
if($RuleName) {
86+
$cmdoptions.Add('RuleName',$RuleName)
87+
}
88+
7889
switch ($PSCmdlet.ParameterSetName) {
7990
'Path' {
8091
$cmdOptions.Add('Path',$Path)

0 commit comments

Comments
 (0)