NavContainerHelper.psm1
Set-StrictMode -Version 2.0 $verbosePreference = "SilentlyContinue" $warningPreference = "SilentlyContinue" $errorActionPreference = 'Stop' $hostHelperFolder = "C:\ProgramData\NavContainerHelper" New-Item -Path $hostHelperFolder -ItemType Container -Force -ErrorAction Ignore $extensionsFolder = Join-Path $hostHelperFolder "Extensions" New-Item -Path $extensionsFolder -ItemType Container -Force -ErrorAction Ignore $containerHelperFolder = "C:\ProgramData\NavContainerHelper" $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) if (!($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))) { Write-Error "NavContainerHelper needs to run with administrator privileges" } $sessions = @{} . (Join-Path $PSScriptRoot "HelperFunctions.ps1") # Container Info functions . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerNavVersion.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerImageName.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerGenericTag.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerOsVersion.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerEula.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerLegal.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerCountry.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerIpAddress.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerSharedFolders.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerPath.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerName.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerDebugInfo") . (Join-Path $PSScriptRoot "ContainerInfo\Test-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerId.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainers.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerEventLog.ps1") . (Join-Path $PSScriptRoot "ContainerInfo\Get-NavContainerServerConfiguration") # Container Handling Functions . (Join-Path $PSScriptRoot "ContainerHandling\Get-NavContainerSession.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Remove-NavContainerSession.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Enter-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Open-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\New-CSideDevContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\New-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Restart-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Stop-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Start-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Import-NavContainerLicense.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Remove-NavContainer.ps1") . (Join-Path $PSScriptRoot "ContainerHandling\Wait-NavContainerReady.ps1") # Object Handling functions . (Join-Path $PSScriptRoot "ObjectHandling\Export-NavContainerObjects.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Create-MyOriginalFolder.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Create-MyDeltaFolder.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Convert-Txt2Al.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Export-ModifiedObjectsAsDeltas.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Convert-ModifiedObjectsToAl.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Import-ObjectsToNavContainer.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Import-DeltasToNavContainer.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Import-TestToolkitToNavContainer.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Compile-ObjectsInNavContainer.ps1") . (Join-Path $PSScriptRoot "ObjectHandling\Invoke-NavContainerCodeunit.ps1") # App Handling functions . (Join-Path $PSScriptRoot "AppHandling\Publish-NavContainerApp.ps1") . (Join-Path $PSScriptRoot "AppHandling\Sync-NavContainerApp.ps1") . (Join-Path $PSScriptRoot "AppHandling\Install-NavContainerApp.ps1") . (Join-Path $PSScriptRoot "AppHandling\Start-NavContainerAppDataUpgrade.ps1") . (Join-Path $PSScriptRoot "AppHandling\UnInstall-NavContainerApp.ps1") . (Join-Path $PSScriptRoot "AppHandling\UnPublish-NavContainerApp.ps1") . (Join-Path $PSScriptRoot "AppHandling\Get-NavContainerAppInfo.ps1") . (Join-Path $PSScriptRoot "AppHandling\Compile-AppInNavContainer.ps1") . (Join-Path $PSScriptRoot "AppHandling\Install-NAVSipCryptoProviderFromNavContainer.ps1") # Tenant Handling functions . (Join-Path $PSScriptRoot "TenantHandling\New-NavContainerTenant.ps1") . (Join-Path $PSScriptRoot "TenantHandling\Remove-NavContainerTenant.ps1") . (Join-Path $PSScriptRoot "TenantHandling\Get-NavContainerTenants.ps1") # Bacpac Handling functions . (Join-Path $PSScriptRoot "Bacpac\Export-NavContainerDatabasesAsBacpac.ps1") . (Join-Path $PSScriptRoot "Bacpac\Backup-NavContainerDatabases.ps1") # User Handling functions . (Join-Path $PSScriptRoot "UserHandling\Get-NavContainerNavUser.ps1") . (Join-Path $PSScriptRoot "UserHandling\New-NavContainerNavUser.ps1") . (Join-Path $PSScriptRoot "UserHandling\New-NavContainerWindowsUser.ps1") . (Join-Path $PSScriptRoot "UserHandling\Setup-NavContainerTestUsers.ps1") # Azure AD specific functions . (Join-Path $PSScriptRoot "AzureAD\Create-AadAppsForNav.ps1") . (Join-Path $PSScriptRoot "AzureAD\Create-AadUsersInNavContainer.ps1") # Azure VM specific functions . (Join-Path $PSScriptRoot "AzureVM\Replace-NavServerContainer.ps1") . (Join-Path $PSScriptRoot "AzureVM\New-LetsEncryptCertificate.ps1") . (Join-Path $PSScriptRoot "AzureVM\Renew-LetsEncryptCertificate.ps1") # Misc functions . (Join-Path $PSScriptRoot "Misc\New-DesktopShortcut.ps1") . (Join-Path $PSScriptRoot "Misc\Remove-DesktopShortcut.ps1") . (Join-Path $PSScriptRoot "Misc\Write-NavContainerHelperWelcomeText.ps1") . (Join-Path $PSScriptRoot "Misc\Download-File.ps1") . (Join-Path $PSScriptRoot "Misc\Get-LocaleFromCountry.ps1") . (Join-Path $PSScriptRoot "Misc\Get-NavVersionFromVersionInfo.ps1") . (Join-Path $PSScriptRoot "Misc\Copy-FileFromNavContainer.ps1") . (Join-Path $PSScriptRoot "Misc\Copy-FileToNavContainer.ps1") . (Join-Path $PSScriptRoot "Misc\Add-FontsToNavContainer.ps1") # Company Handling functions . (Join-Path $PSScriptRoot "CompanyHandling\Get-CompanyInNavContainer.ps1") . (Join-Path $PSScriptRoot "CompanyHandling\New-CompanyInNavContainer.ps1") . (Join-Path $PSScriptRoot "CompanyHandling\Remove-CompanyInNavContainer.ps1") # Configuration Package Handling . (Join-Path $PSScriptRoot "ConfigPackageHandling\Import-ConfigPackageInNavContainer.ps1") . (Join-Path $PSScriptRoot "ConfigPackageHandling\Remove-ConfigPackageInNavContainer.ps1") # Symbol Handling . (Join-Path $PSScriptRoot "SymbolHandling\Generate-SymbolsInNavContainer.ps1") |