Module/Common/Common.psm1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. #region Enum <# STIGS have an associated severity that determines the impact of the finding if it is not configured properly #> enum severity { low medium high } <# The category enum is used to define category and will assist in converting to [severity] Do not change the order of either the severity enum or the category enum #> enum category { CAT_III CAT_II CAT_I } <# The status enum is used to display the status of the STIG item processing #> enum status { pass warn fail } <# The process enum is used as a flag for further automation. The intent is that if a STIG has been fully processed, then the setting can be automatically published to a server. If a setting has not been fully processed then it needs to be manually processed. This is different from the status enum in that status is a control flag to describe the state of the item processing #> enum process { auto manual } enum ensure { Present Absent } #endregion #region RegexClass class RegularExpression { static [string[]] $TextBetweenQuotes = '["''](.*?)["'']' static [bool] MatchTextBetweenQuotes([string] $string) { return $string -Match [RegularExpression]::TextBetweenQuotes } static [string[]] $TextBetweenParentheses = '\(([^\)]+)\)' static [bool] MatchTextBetweenParentheses([string] $string) { return $string -Match [RegularExpression]::TextBetweenParentheses } static [string[]] $CustomFieldSection = 'Under "Custom Fields", verify the following fields' static [bool] MatchCustomFieldSection([string] $string) { return $string -Match [RegularExpression]::CustomFieldSection } static [string[]] $ExcludeExtendedAscii = '[^\x20-\x7A]+' static [bool] MatchExcludeExtendedAscii([string] $string) { return $string -Match [RegularExpression]::ExcludeExtendedAscii } static [string[]] $KeyValuePair = '(?<=\").+?(?=\")' static [bool] MatchKeyValuePair([string] $string) { return $string -Match [RegularExpression]::KeyValuePair } } #endregion foreach ($supportFile in (Get-ChildItem -Path $PSScriptRoot -Recurse -File -Exclude $MyInvocation.MyCommand.Name)) { Write-Verbose "Loading $($supportFile.FullName)" . $supportFile.FullName } Export-ModuleMember -Function '*' -Variable '*' |