moduleImport.ps1

#########################################
# Script lançé à l'import du module ib1 #
#########################################
#Création du journal d'évènements ib1
if (!(Get-EventLog -List|where log -eq ib1 -ErrorAction SilentlyContinue)) {
  New-EventLog -LogName ib1 -Source powerShellib1|Out-Null
  Limit-EventLog -LogName ib1 -OverflowAction OverwriteAsNeeded -MaximumSize 64KB}

$vmCourse=@{
'20411D-LON-DC1'='m20411d';
'20740C-LON-DC1'='m20740c';
'20741B-LON-DC1'='m20741b';
'20741B-LON-DC1-B'='m20741b';
'20742B-LON-DC1'='m20742b';
'20740C-LON-DC1-B'='m20740c';
'20740C-LON-DC1-C'='m20740c';
'10997B-LON-DC1'='m10997c';}
if ($env:ibCourse -eq $null) {
  if ($vms=get-vm -ErrorAction SilentlyContinue) {(Compare-Object -ReferenceObject $($vmCourse.Keys) -DifferenceObject $vms.VMName -ExcludeDifferent -IncludeEqual).inputObject|ForEach-Object{if ($_){$ibCourse=$vmCourse.$_}}}
  if ($ibCourse -ne $null) {
    [System.Environment]::SetEnvironmentVariable('ibCourse',$ibCourse,[System.EnvironmentVariableTarget]::Machine)
    $env:ibCourse=$ibCourse
    Write-EventLog -LogName ib1 -Source powerShellib1 -Message "Import du module : Inscription de l'identité du stage '$ibCourse' dans la variable système 'ibCourse' suite à découverte de VM." -EntryType Information -EventId 3}}
if ($env:ibBoot -eq $null) {
  if ((Get-Disk|Where-Object IsBoot).Model -like 'Virtual Disk*') {$ibBoot='VHD'} else {$ibBoot='HDD'}
  [System.Environment]::SetEnvironmentVariable('ibBoot',$ibBoot,[System.EnvironmentVariableTarget]::Machine)
  $env:ibBoot=$ibBoot
  Write-EventLog -LogName ib1 -Source powerShellib1 -Message "Import du module : Inscription du mode de démarrage '$ibBoot' dans la variable système 'ibBoot'." -EntryType Information -EventId 3}
Write-Warning "Les commandes du module 'ib1' ne sont pas prévues pour être utilisées en dehors de notre environnement de formation..."