Module/Common/Common.psm1
# 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 '*' |