msgDSM7Module.deploy.ps1
<#
.SYNOPSIS Installiert Powershell Module msgDSM7Module .DESCRIPTION Installiert Powershell Module msgDSM7Module .EXAMPLE msgDSM7Module.deploy.ps1 #> [CmdletBinding()] Param( ) $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent()) if (-not $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) { Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}"' -f ($myinvocation.MyCommand.Definition)) exit } $scriptpath = Split-Path -parent $MyInvocation.MyCommand.Definition $programpath = "msg services AG\DSMAutomation\Powershell\Modules" $psmodule = "msgDSM7Module" Import-Module "$scriptpath\$psmodule" -Force -ErrorAction SilentlyContinue $psmoduleget = get-module $psmodule write-host "Powershell Module ($psmodule) Version ($($psmoduleget.Version)) wird installiert." if ([Environment]::Is64BitProcess) { $destpath = "$env:ProgramFiles\$programpath" } else { $destpath = "${env:ProgramFiles(x86)}\$programpath" } if (!(test-path "$destpath\$psmodule")) { write-host "Erstelle Dir ($destpath)." mkdir "$destpath\$psmodule" -Verbose:$VerbosePreference| Out-Null } if (!(test-path "$destpath\$psmodule\de-DE")) { write-host "Erstelle Dir ($destpath)." mkdir "$destpath\$psmodule\de-DE" -Verbose:$VerbosePreference| Out-Null } write-host "Kopiere Module nach ($destpath)." Copy-Item "$scriptpath\*.psd1" "$destpath\$psmodule" -Verbose:$VerbosePreference Copy-Item "$scriptpath\*.psm1" "$destpath\$psmodule" -Verbose:$VerbosePreference Copy-Item "$scriptpath\de-DE\*.txt" "$destpath\$psmodule\de-DE" -Verbose:$VerbosePreference Copy-Item "$scriptpath\de-DE\*.xml" "$destpath\$psmodule\de-DE" -Verbose:$VerbosePreference $p = [Environment]::GetEnvironmentVariable("PSModulePath","Machine") if ($p -notlike "*$destpath*"){ write-host "Erweitere PSModulePath ($destpath)." $p += ";$destpath" [Environment]::SetEnvironmentVariable("PSModulePath",$p,"Machine") } # SIG # Begin signature block # MIIEMQYJKoZIhvcNAQcCoIIEIjCCBB4CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUluDxeiwPugwH2QwcBkU1z2rW # +yegggJAMIICPDCCAamgAwIBAgIQUW95fLQCIbVOuAnpDDc4ZTAJBgUrDgMCHQUA # MCcxJTAjBgNVBAMTHFV3ZSBGcmFua2UgKG1zZyBzZXJ2aWNlcyBBRykwHhcNMTcw # MjAxMTQwNjQxWhcNMzkxMjMxMjM1OTU5WjAnMSUwIwYDVQQDExxVd2UgRnJhbmtl # IChtc2cgc2VydmljZXMgQUcpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1 # v0Lx3FIBWwSSu8g2pB3ye4VcqWWjFj3kGaUQZ7JNJcH/uy74jhtfmQgE2NnEbh1X # HM3gbSGyPBHsqSFLpTIqM0VTyOVJk3yB1qfIFxUguEZz87C2yZFFagXbwJHamXR7 # LtB+yjARIrbMUf69c5FFMLS93aRg9cLsGJ3dy4fEVQIDAQABo3EwbzATBgNVHSUE # DDAKBggrBgEFBQcDAzBYBgNVHQEEUTBPgBBp+xZ1jGKZkXWWdUjyNz19oSkwJzEl # MCMGA1UEAxMcVXdlIEZyYW5rZSAobXNnIHNlcnZpY2VzIEFHKYIQUW95fLQCIbVO # uAnpDDc4ZTAJBgUrDgMCHQUAA4GBAGclar+QSH1mKf1gt1oNurpTiXBZbM58Pw2Z # GRRgVc5TaPodd11hJOVYD0GE9MCVu5lA6q2I4aYfN5DWcu5LgmCqfTC1UwTlG9bG # fx+tTVJlbejYRJ/6ETxZ5ZYSnWB8C31hT2g+0wGW16rB7ddnd4enVCEzNW6d1GDQ # gItg/dZ0MYIBWzCCAVcCAQEwOzAnMSUwIwYDVQQDExxVd2UgRnJhbmtlIChtc2cg # c2VydmljZXMgQUcpAhBRb3l8tAIhtU64CekMNzhlMAkGBSsOAwIaBQCgeDAYBgor # BgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEE # MBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBTz # MK0Tsk0oYNQZsoQ/57vVwX8uOTANBgkqhkiG9w0BAQEFAASBgC0MTwUdlEcZdXar # 52XUzF+OfnuqUPQ12qUJNrWsNwFXO6fz5c/SqoUOOrY8CR5okozNtlo412ev9NdC # DtxaNxZtnWzkVm4ISgB5YCIDtNWQn6lEc0cX18UeW+ukry4113pjYxl6aRaOLPSz # Vv3GVBPBWDvbjDNbf2Og2YYqsuPg # SIG # End signature block |