Misc/helper.psm1
# Helper functions to be used across resources Function New-DellEventLog{ [CmdletBinding()] param( [Parameter (Mandatory=$false)][System.string] $LogName="DellClientBIOS PowerShell", [Parameter (Mandatory=$false)][System.string] $SourceName="DellBIOSProvider DSC" ) $CustomLog = Get-EventLog -list | Where-object { $_.logdisplayname -eq $LogName} if (! $CustomLog) { $ErrorActionPreference = "Continue" try{ New-EventLog -LogName $LogName -Source $SourceName Write-EventLog -LogName $LogName -Source $SourceName -EntryType Information -EventID 0 -Message "DellBIOSProvider DSC started." } catch [System.Security.SecurityException] { Write-Error "Error: Run as elevated user. Unable to write or read to event logs." } } } Function Write-DellEventLog{ [CmdletBinding()] [OutputType([int])] param( [Parameter (Mandatory=$false)] [System.string]$LogName="DellClientBIOS PowerShell", [Parameter (Mandatory=$false)] [System.string] $SourceName = "DellBIOSProvider DSC", [Parameter (Mandatory=$false)] [System.Int16] $EventID=0, [Parameter (Mandatory=$false)] [System.String] $EntryType='Information', [Parameter(Mandatory=$true)] [string]$Message ) $CustomLog = Get-EventLog -list | Where-object { $_.logdisplayname -eq $LogName} if (! $CustomLog) { New-DellEventLog } Write-EventLog -LogName $LogName -Source $SourceName -EntryType $EntryType -EventID $EventID -Message $Message } function Confirm-DellPSDrive{ [CmdletBinding()] # Check if DellBIOSProvider module has already been loaded into the PS session $DellPSProvider = Get-Module -name DellBIOSProviderX86 if ( !$DellPSProvider) { Write-Verbose "Drive DellSmbios is not found. Importing DellBiosProviderX86." import-module -name DellBiosProviderX86 -verbose -force -ErrorVariable errorInModule If ($errorInModule) { $Message = �Module DellBiosProviderX86 failed to import. Errors returned: $($errorInModule.exception.message)� Throw $Message } else { return $false # Module was not already loaded } } else { return $true} } function CheckModuleLoaded{ [CmdletBinding()] # Check if DellBIOSProvider module has already been loaded into the PS session $DellPSProvider = Get-Module -name DellBIOSProviderX86 if ( !$DellPSProvider) { return $false # Module was not already loaded } else { return $true } } # SIG # Begin signature block # MIIVqgYJKoZIhvcNAQcCoIIVmzCCFZcCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDzI6aXLSMLY1U2 # gx5rxg5OE6209dkNG9BaR30Fl/h0x6CCCiMwggTCMIIDqqADAgECAhAiNl3Koo7M # bamHXZYvcHGpMA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNVBAYTAlVTMR0wGwYDVQQK # ExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3Qg # TmV0d29yazEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29kZSBT # aWduaW5nIENBMB4XDTE4MDkyNzAwMDAwMFoXDTIxMDkyNjIzNTk1OVowWjELMAkG # A1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRMwEQYDVQQHDApSb3VuZCBSb2NrMRIw # EAYDVQQKDAlEZWxsIEluYy4xEjAQBgNVBAMMCURlbGwgSW5jLjCCASIwDQYJKoZI # hvcNAQEBBQADggEPADCCAQoCggEBAK2E5sUV7O7RXKt547mMdmq27CulgmONL6w3 # 2c5gs7vQsH3KWy9Q5rQ83MEPnRncZy71Alrky1G3dV3d1CxH7kH8xfu+YOUR+OVo # VOFgkoT4tY2xST2B+WfS1jXJKzj5VQuOTn/f2Qie3mA02e3/YlTAMUmOqi4a2gNH # 3r/de81Yj3e/DqzFV5rWrTfdZ7SQNoWVKA/cVu5KrPdXPjqMpRMxnjP4WPzs6eR0 # 4ONH6tvUNWP6PCrRxg5EIpKhbW0DZxvp1VqXDCyQLe98cjgbgD+0pUDrBGa3pxB3 # iJVBvZ5WI/OL0KxlvFtWrdEjIxTnwmq8pqp8i99v3u4LxrQEtZ0CAwEAAaOCAV0w # ggFZMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMCsGA1UdHwQkMCIwIKAeoByG # Gmh0dHA6Ly9zdi5zeW1jYi5jb20vc3YuY3JsMGEGA1UdIARaMFgwVgYGZ4EMAQQB # MEwwIwYIKwYBBQUHAgEWF2h0dHBzOi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUF # BwICMBkMF2h0dHBzOi8vZC5zeW1jYi5jb20vcnBhMBMGA1UdJQQMMAoGCCsGAQUF # BwMDMFcGCCsGAQUFBwEBBEswSTAfBggrBgEFBQcwAYYTaHR0cDovL3N2LnN5bWNk # LmNvbTAmBggrBgEFBQcwAoYaaHR0cDovL3N2LnN5bWNiLmNvbS9zdi5jcnQwHwYD # VR0jBBgwFoAUljtT8Hkzl699g+8uK8zKt4YecmYwHQYDVR0OBBYEFNKZNdkAeaso # MvcuUOlErixyOmzRMA0GCSqGSIb3DQEBCwUAA4IBAQBujEZqs+dJwHwXRBl4HNxI # uOlp7kvlwIMdR+prfX31DALJEEn6qGHHpTMJaIVULHjqindsIDBuANm6fLTWuEPN # bE1W5hd/XdOTKuWJaluAStl32Q0gdsc2nQLVo9KS6b3yJeTFWquDMg0oJrUcQS5n # vxpKfKsukni83wb8dZxXTehzj6TcHdSqMPiU6KxfYB3+PcOfp00obHqOeRDuE8mB # LupPJdUCbK+cq15n+o//wOi6dvoEu3xqJ3lGVDBN1MwbulMbYMt0UDonmn16Tkhj # 80WP5zL65G9kbLD0Vifp4uddXjcHrwu4WEggab49TtcPNayPEofQXRdoHcmx5Tyh # MIIFWTCCBEGgAwIBAgIQPXjX+XZJYLJhffTwHsqGKjANBgkqhkiG9w0BAQsFADCB # yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL # ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp # U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW # ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 # aG9yaXR5IC0gRzUwHhcNMTMxMjEwMDAwMDAwWhcNMjMxMjA5MjM1OTU5WjB/MQsw # CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV # BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMDAuBgNVBAMTJ1N5bWFudGVjIENs # YXNzIDMgU0hBMjU2IENvZGUgU2lnbmluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQAD # ggEPADCCAQoCggEBAJeDHgAWryyx0gjE12iTUWAecfbiR7TbWE0jYmq0v1obUfej # DRh3aLvYNqsvIVDanvPnXydOC8KXyAlwk6naXA1OpA2RoLTsFM6RclQuzqPbROlS # Gz9BPMpK5KrA6DmrU8wh0MzPf5vmwsxYaoIV7j02zxzFlwckjvF7vjEtPW7ctZlC # n0thlV8ccO4XfduL5WGJeMdoG68ReBqYrsRVR1PZszLWoQ5GQMWXkorRU6eZW4U1 # V9Pqk2JhIArHMHckEU1ig7a6e2iCMe5lyt/51Y2yNdyMK29qclxghJzyDJRewFZS # AEjM0/ilfd4v1xPkOKiE1Ua4E4bCG53qWjjdm9sCAwEAAaOCAYMwggF/MC8GCCsG # AQUFBwEBBCMwITAfBggrBgEFBQcwAYYTaHR0cDovL3MyLnN5bWNiLmNvbTASBgNV # HRMBAf8ECDAGAQH/AgEAMGwGA1UdIARlMGMwYQYLYIZIAYb4RQEHFwMwUjAmBggr # BgEFBQcCARYaaHR0cDovL3d3dy5zeW1hdXRoLmNvbS9jcHMwKAYIKwYBBQUHAgIw # HBoaaHR0cDovL3d3dy5zeW1hdXRoLmNvbS9ycGEwMAYDVR0fBCkwJzAloCOgIYYf # aHR0cDovL3MxLnN5bWNiLmNvbS9wY2EzLWc1LmNybDAdBgNVHSUEFjAUBggrBgEF # BQcDAgYIKwYBBQUHAwMwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRow # GAYDVQQDExFTeW1hbnRlY1BLSS0xLTU2NzAdBgNVHQ4EFgQUljtT8Hkzl699g+8u # K8zKt4YecmYwHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZI # hvcNAQELBQADggEBABOFGh5pqTf3oL2kr34dYVP+nYxeDKZ1HngXI9397BoDVTn7 # cZXHZVqnjjDSRFph23Bv2iEFwi5zuknx0ZP+XcnNXgPgiZ4/dB7X9ziLqdbPuzUv # M1ioklbRyE07guZ5hBb8KLCxR/Mdoj7uh9mmf6RWpT+thC4p3ny8qKqjPQQB6rqT # og5QIikXTIfkOhFf1qQliZsFay+0yQFMJ3sLrBkFIqBgFT/ayftNTI/7cmd3/SeU # x7o1DohJ/o39KK9KEr0Ns5cF3kQMFfo2KwPcwVAB8aERXRTl4r0nS1S+K4ReD6bD # dAUK75fDiSKxH3fzvc1D1PFMqT+1i4SvZPLQFCExggrdMIIK2QIBATCBkzB/MQsw # CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV # BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMDAuBgNVBAMTJ1N5bWFudGVjIENs # YXNzIDMgU0hBMjU2IENvZGUgU2lnbmluZyBDQQIQIjZdyqKOzG2ph12WL3BxqTAN # BglghkgBZQMEAgEFAKCBrDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgwb40m9Y2 # pjAdLMggGjISVoQ9/5qME5NOn11I0Guj27kwQAYKKwYBBAGCNwIBDDEyMDCgFoAU # AEQAZQBsAGwALAAgAEkAbgBjAC6hFoAUaHR0cDovL3d3dy5kZWxsLmNvbSAwDQYJ # KoZIhvcNAQEBBQAEggEAWwsG8PSWzFmzNMmque67eDTBPiC0lRYn9ZSmiGZnia8a # rMImNikJyRDGRiGb9z1j8c+dkya+GZlHktdWA3TSIiV7V8GY1jvPotxvWId8JlKQ # 5yJw7eioQWSZDlD1aJUNj701F/NoVfLSTPFC1ooFUjxZKXP1kJBZTlk+/Tu5ao8u # b+nWSiSYWrrh76E7YMjokUEOT87H4XkCByXTwKYo63x9eH55Wwi+jmFqQHrsUeV3 # iNiUS4JYefRZbbMLhuv555/71UKmOnJDlW8pagllWnyDFJMcdH0hCEiS+YL9pWeq # xRmyUVVvouX0gf+TeNeObtErxbC0FjIK6piGk1xM6qGCCGswgghnBgorBgEEAYI3 # AwMBMYIIVzCCCFMGCSqGSIb3DQEHAqCCCEQwgghAAgEDMQ8wDQYJYIZIAWUDBAIB # BQAwggEPBgsqhkiG9w0BCRABBKCB/wSB/DCB+QIBAQYKKwYBBAGyMQIBATAxMA0G # CWCGSAFlAwQCAQUABCDKYqjuJuYUF4qR0EbXVn4ExPGg2TzzxhHRCufS7lNzuQIV # ANjpk/GB/BoHNvrI40zF18/QVagjGA8yMDE5MDQyMjA2MDUxM1qggYykgYkwgYYx # CzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV # BAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSwwKgYDVQQD # EyNDT01PRE8gU0hBLTI1NiBUaW1lIFN0YW1waW5nIFNpZ25lcqCCBKAwggScMIID # hKADAgECAhBOsIePzCQ1NrLYyfe/OVV3MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD # VQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w # HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93 # d3cudXNlcnRydXN0LmNvbTEdMBsGA1UEAxMUVVROLVVTRVJGaXJzdC1PYmplY3Qw # HhcNMTUxMjMxMDAwMDAwWhcNMTkwNzA5MTg0MDM2WjCBhjELMAkGA1UEBhMCR0Ix # GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEa # MBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxLDAqBgNVBAMTI0NPTU9ETyBTSEEt # MjU2IFRpbWUgU3RhbXBpbmcgU2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A # MIIBCgKCAQEAzrx0t3CAT17zP5iqLsvUEgEjNWkLIrzm/QlsKOQTEqy7ui3l1d0i # 7nO2LPjSpHHnSSV4qyW3kBCgm4t3Jt1A6kGj/YjNcqaJO1BXHHolJCICUUA1Z4ox # aQ3lOXNJOZuVAYVS8isUiZpOBKS8QK45pt1AAuA6df49fVWUW/FOJHzIuFgZysDa # vlgTmuYc59HBO/Bdj0kIIZ7Q877W1GZPXHI2e8OC05gIlK+rRE8YxxTaFrEeMg4S # OMC1PHbsdVAAIAQRGe3G/99O/giBJzFPcXRuAwxwJ4FVappDkqR/2/0/xRceQbvO # 6Kd/jJX5/X/4YYiJAD7/CwHb/dW1pOSREQIDAQABo4H0MIHxMB8GA1UdIwQYMBaA # FNrtZHQUnBQ8q92Zqb1bKE2LPMnYMB0GA1UdDgQWBBR9v5HXp2xaR2ZEe5DUjpBy # QY8XwjAOBgNVHQ8BAf8EBAMCBsAwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAK # BggrBgEFBQcDCDBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz # dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMDUGCCsGAQUFBwEBBCkwJzAl # BggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0B # AQsFAAOCAQEAULD131+tM9zDU1hYvMITdXsgHVTKuj9QP7qK9GsJY8BbXYvWdRpz # vYv/R/EV3FEWIxky5m6STdHGLloeiEIUyXLl1whQimr1ZEBWriTjYZcVQvAsSK6D # 5jU8i1vCj66OzDRSNOD7/sr9sSRo0aQRIxAG/bLCJCfH1+lKHI8/Ps/t63V5bI5f # 9yG2UOYloc1mlBJsv9uzrofYaANyIALCftqU83IHPFfoVSTnBaAdxIEBgksfPw+d # M5vwT8yd1oWBz8vn/Urpkrj3DXJzLel3+W+PKHo+Hr0IhtyNHhFf91u7h3bGnkxU # YdBn25OE2jGHA5Lnn+Ppz1pWyGjgUkmUXDGCAnEwggJtAgEBMIGqMIGVMQswCQYD # VQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w # HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93 # d3cudXNlcnRydXN0LmNvbTEdMBsGA1UEAxMUVVROLVVTRVJGaXJzdC1PYmplY3QC # EE6wh4/MJDU2stjJ9785VXcwDQYJYIZIAWUDBAIBBQCggZgwGgYJKoZIhvcNAQkD # MQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0xOTA0MjIwNjA1MTNaMCsG # CyqGSIb3DQEJEAIMMRwwGjAYMBYEFDZSfU+iamj560WW8dmauywOp236MC8GCSqG # SIb3DQEJBDEiBCDa+QtnKVAGLzcQzuRuMllNaerWcT42gRjvQLdvfALJsTANBgkq # hkiG9w0BAQEFAASCAQCvvXNYm35iyGOC9Aid2hrEsv+X408o1OWYzFk4cjv036Zr # JzzsCdJQCHbDs+rx0iQD1qXcIvQ/E7BR+dxLS+bSjMtHtWCQmW6CVyS3xjhbD1wS # EDFWdxfc9AFe2IkjWnPRLW8eYf/V8r4ReA9JjPR4WHMHErwmSM4AFBGR/JEZEv75 # M+VmHDSNWcoK1HShsNPoVQsV+0YJlQ1nl8Pi4RKT0YzIZReyWaof+aLpevednlI3 # 2rC/ttXO7s/rmKcESf8TgmMKvyFLcwIC9vje/2FrqLK/ZORWnPKtZZL5/Z2SS1Pu # F+DwMnUyJ/6iWBYqp7TkwlUCWw06nYbSF4cpnvoe # SIG # End signature block |