Certera.psm1
# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #Requires -Version 4 $startedAt = Get-Date function Write-Timing { param( [Parameter(Position=0)] $Message ) $now = Get-Date Write-Debug -Message ('[{0}] [{1}] {2}' -f $now,($now - $startedAt),$Message) } Write-Timing ('BEGIN') $IsPSCore = $PSVersionTable['PSEdition'] -eq 'Core' # IIS $exportIisFunctions = $false if( (Test-Path -Path 'env:SystemRoot') ) { Write-Timing ('Adding System.Web assembly.') Add-Type -AssemblyName "System.Web" $microsoftWebAdministrationPath = Join-Path -Path $env:SystemRoot -ChildPath 'system32\inetsrv\Microsoft.Web.Administration.dll' if( (Test-Path -Path $microsoftWebAdministrationPath -PathType Leaf) ) { $exportIisFunctions = $true if( -not $IsPSCore ) { Write-Timing ('Adding Microsoft.Web.Administration assembly.') Add-Type -Path $microsoftWebAdministrationPath } } } Write-Timing ('Dot-sourcing functions.') $functionRoot = Join-Path -Path $PSScriptRoot -ChildPath 'Functions' -Resolve Get-ChildItem -Path (Join-Path -Path $functionRoot -ChildPath '*') -Filter '*.ps1' | ForEach-Object { Write-Debug "Dot-sourcing $($_.FullName)" . $_.FullName } |