forked from microsoft/navcontainerhelper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NavContainerHelper.psd1
370 lines (294 loc) · 17.3 KB
/
NavContainerHelper.psd1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
#
# Module manifest for module 'PSGet_NavContainerHelper'
#
# Generated by: Freddy Kristiansen
#
# Generated on: 30-01-2019
#
@{
# Script module or binary module file associated with this manifest.
RootModule = 'NavContainerHelper.psm1'
# Version number of this module.
ModuleVersion = '0.5.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
# ID used to uniquely identify this module
GUID = 'ae60837a-fa30-4e28-a5ef-b8cd4cf6640a'
# Author of this module
Author = 'Freddy Kristiansen'
# Company or vendor of this module
CompanyName = 'Microsoft'
# Copyright statement for this module
Copyright = '(c) 2017 Freddy Kristiansen. All rights reserved.'
# Description of the functionality provided by this module
Description = 'PowerShell module'
# Minimum version of the Windows PowerShell engine required by this module
# PowerShellVersion = ''
# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''
# Minimum version of the Windows PowerShell host required by this module
# PowerShellHostVersion = ''
# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''
# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''
# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''
# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()
# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()
# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = 'Add-FontsToNavContainer', 'Backup-NavContainerDatabases',
'Check-NavContainerHelperPermissions', 'Compile-AppInNavContainer',
'Compile-ObjectsInNavContainer', 'Convert-AlcOutputToAzureDevOps',
'Convert-CALExecutionTimeToTimeSpan',
'Convert-CALTestOutputToAzureDevOps', 'Convert-ModifiedObjectsToAl',
'Convert-Txt2Al', 'Copy-FileFromNavContainer',
'Copy-FileToNavContainer', 'Create-MyDeltaFolder',
'Create-MyOriginalFolder', 'Create-AadAppsForNav',
'Create-AadUsersInNavContainer', 'Download-File',
'Enter-NavContainer', 'Export-ModifiedObjectsAsDeltas',
'Export-NavContainerDatabasesAsBacpac',
'Export-NavContainerObjects', 'Extract-FilesFromNavContainerImage',
'Generate-SymbolsInNavContainer', 'Get-BestNavContainerImageName',
'Get-CompanyInNavContainer', 'Get-LocaleFromCountry',
'Get-NavContainerAppInfo', 'Get-NavContainerAppRuntimePackage',
'Get-NavContainerCountry', 'Get-NavContainerDebugInfo',
'Get-NavContainerEula', 'Get-NavContainerEventLog',
'Get-NavContainerGenericTag', 'Get-NavContainerId',
'Get-NavContainerImageLabels', 'Get-NavContainerImageName',
'Get-NavContainerImageTags', 'Get-NavContainerIpAddress',
'Get-NavContainerLegal', 'Get-NavContainerName',
'Get-NavContainerNavUser', 'Get-NavContainerNavVersion',
'Get-NavContainerOsVersion', 'Get-NavContainerPath',
'Get-NavContainerPlatformVersion', 'Get-NavContainers',
'Get-NavContainerServerConfiguration', 'Get-NavContainerSession',
'Get-NavContainerSharedFolders', 'Get-NavContainerTenants',
'Get-NavVersionFromVersionInfo',
'Import-ConfigPackageInNavContainer', 'Import-DeltasToNavContainer',
'Import-NavContainerLicense', 'Import-ObjectsToNavContainer',
'Import-PfxCertificateToNavContainer',
'Import-TestToolkitToNavContainer', 'Install-NavContainerApp',
'Install-NAVSipCryptoProviderFromNavContainer',
'Invoke-NavContainerCodeunit', 'Invoke-ScriptInNavContainer',
'New-CompanyInNavContainer', 'New-DesktopShortcut',
'New-LetsEncryptCertificate', 'New-NavContainer',
'New-NavContainerNavUser', 'New-NavContainerTenant',
'New-NavContainerWindowsUser', 'Open-NavContainer',
'Publish-NavContainerApp', 'Remove-CompanyInNavContainer',
'Remove-ConfigPackageInNavContainer', 'Remove-DesktopShortcut',
'Remove-NavContainer', 'Remove-NavContainerSession',
'Remove-NavContainerTenant', 'Renew-LetsEncryptCertificate',
'Repair-NavContainerApp', 'Replace-NavServerContainer',
'Restart-NavContainer', 'Setup-NavContainerTestUsers',
'Sign-NavContainerApp', 'Start-NavContainer',
'Start-NavContainerAppDataUpgrade', 'Stop-NavContainer',
'Sync-NavContainerApp', 'Test-NavContainer',
'UnInstall-NavContainerApp', 'UnPublish-NavContainerApp',
'Wait-NavContainerReady', 'Write-NavContainerHelperWelcomeText'
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()
# Variables to export from this module
# VariablesToExport = @()
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()
# DSC resources to export from this module
# DscResourcesToExport = @()
# List of all modules packaged with this module
# ModuleList = @()
# List of all files packaged with this module
FileList = 'ContainerHandling\docker.ico'
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{
PSData = @{
# Tags applied to this module. These help with module discovery in online galleries.
# Tags = @()
# A URL to the license for this module.
LicenseUri = 'https://github.com/Microsoft/navcontainerhelper/blob/master/LICENSE'
# A URL to the main website for this project.
ProjectUri = 'https://www.github.com/microsoft/navcontainerhelper'
# A URL to an icon representing this module.
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = '0.5.0.1
Fix bug where Get-BestNavContainerImageName returns an illegal image name
0.5.0.0
Support for running NavContainerHelper without elevated permissions
Added function Check-NavContainerHelperPermissions to test whether you have the needed permissions to run NavContainerHelper
Added function Repair-NavContainerApp
Added function Invoke-ScriptInNavContainer to invoke a PowerShell script in a Nav Container
Added function Get-NavContainerAppRuntimePackage to download a runtime package for an app from a container
Added function Get-NavContainerImageLabels to get the labels for an image directly from the registry
Added function Get-NavContainerImageTags to get the available tags a repository directly from the registry
Added parameter doNotUpdateSymbols to Import-TestToolkitToNavContainer to avoid symbol generation
Check Docker OS in New-NavContainer for better error messages
Fix timestamp in file name for Get-NavContainerEventLog
0.4.3.2
BugFix: Replace-NavServerContainer doesn''t resolve the best containername and pulls the wrong container
0.4.3.1
Idea #308: Add ID to finsql shortcut to get individual .zup files
Idea #305: Include #Requires -PSEdition Desktop
Issue #204,#279: Business Inbox fails when running Business Central on Docker
Issue #290: Remove-NavContainer fails sometimes with shar
0.4.3.0
Default to process isolation when running Windows 10 18.09.1 or newer
Include Collation when using UseBestContainerOS
Fix Convert-CALTestOutputToAzureDevOps to support non-us cultures
Display NavContainerHelper version in New-NavContainer output
Check whether current user has access to run docker.exe instead of checking for admin privileges
BugFix: Backup-NavContainerDatabases did not work with multitenant containers
0.4.2.6
BugFix: Publish-NavContainerApp fails in 0.4.2.4 and 0.4.2.5 due to new parameters added
0.4.2.5
BugFix: Wrong defaulting of isolation mode
0.4.2.4
Added Scope and SyncMode parameters to Publish-NavContainerApp
Change mechanism to identify host OS
Display Docker version during New-NavContainer
Removed exception when trying to run Process isolation on Windows 10
Added defaulting mechanism for isolation (Server=process, non-server=hyperv)
0.4.2.3
BugFix: New-NavContainer cannot use images without a platform tag
BugFix: Get-BestNavContainerImageName should not append OS if already appended
BugFix: Extract-FilesFromNavContainerImage didn''t work with SQL 2017
0.4.2.2
Better algorithm for finding which image to use
0.4.2.1
BugFix #268 Revert back to original image name if best container os doesn''t exist
0.4.2.0
Automatically detect host OS and use best pre-built container (ltsc2016 or ltsc2019) unless specified
Added function Get-BestNavContainerImageName
BugFix Export-NavContainerDatabasesAsBacpac didn''t work with containers with generic version pre 0.0.8.0
0.4.1.2
Include docker icon
0.4.1.1
Better error message in New-NavContainer
Bugfix: 1703 and 1709 build numbers was switched
0.4.1.0
Support for Windows Server 2019
Support for images with SQL Server 2017
0.4.0.2
BugFix #246: Windows Server insider builds couldn''t use navcontainerhelper
Added function Sign-NavContainerApp to use a container to Sign an app file with a code signing certificate
When running generic image, .txt files were exported to a wrong folder (country not included)
Division by zero when exporting objects from a container and no objects matched the filter
0.4.0.1
Bugfix: If you specify -includeTestToolkit to New-NavContainer and use a foreign database, the import would fail
New-NavContainer will cache the files from Extract-FilesFromNavContainer for future usage instead of deleting them
New-CSideDevContainer has been removed - use New-NavContainer with -includeCSide instead
Added function Import-PfxCertificateToNavContainer
Feature request #238: Adding SynchronizeSchemaChanges parametar to Import-ObjectsToNavContainer
Added parameters -publishPorts and -publicDnsName in order to be able to create publicly available containers easier
Extract-FilesFromNavContainerImage would fail if any folders were missing
0.4.0.0
BugFix #207: Compile-AppInNavContainer is downloading symbols for app which is in the AppSymbolFolder
Include timezone parameter on Invoke-NavContainerCodeunit
Compile-AppInNavContainer checks existance of dependencies in app.json
Use .alpackages as default symbols folder
BugFix #216: enableSymbolLoading only works with includeCSide
BugFix #215: Naming symbol-files when compiling with Compile-AppInNavContainer
Display progress when pulling and avoid deadlocks when running using New-NavContainer
Bugfix Get-AzureADUser didn''t always retrieve the user needed
New-NavContainer automatically detects best os version of generic image
Bugfix: navdvdpath didn''t work when pointing to a url which was case sensitive
Feature #232: added tenant parameter to Get-NavContainerAppInfo
Added function Extract-FilesFromNavContainerImage to extract the files from a Nav Container image
Added parameter UseBestContainerOS to tell New-NavContainer to spin up a container based on the best compatible generic image.
Added parameter TestToolkitCountry to import-TestToolkitToNavContainer
0.3.1.4
BugFix Convert-ModifiedObjectsToAl failed after the newly introduced [LineStart()] property in newsyntax export
0.3.1.3
Bugfix #202: NavDvd tempfolder was not deleted when using a navdvd.zip file
Added function Convert-CALTestOutputToAzureDevOps to convert CAL Test Runner output to XUnit Test Xml for Azure DevOps
Added function Convert-CALExecutionTimeToTimeSpan to convert text based ExecutionTime to System.TimeSpan
Added parameter doNotSaveData to UnInstall-NavContainerApp and UnPublish-NavContainerApp
0.3.1.2
Bugfix - Setting timezone didn''t work with all timezones
Automatically use hyperv isolation if host operating system doesn''t match container os
0.3.1.1
New flag on Compile-AppInNavContainer -AzureDevOps to output the result in AzureDevOps/VSTS compatible format
New function Convert-ALCOutputToAzureDevOps
0.3.1.0
New function Add-FontsToNavContainer
Added ClickOnce switch to New-NavContainer
Added new parameters to New-NavContainer: WebClientPort, FileSharePort, ManagementServicesPort, ClientServicesPort, SoapServicesPort, ODataServicesPort and DeveloperServicesPort
Bugfix #163: Perform Sync-NavTenant after all objects have been imported in Import-TestToolkitToNavContainer
Added mode and appVersion to Sync-NavContainerApp
Bugfix #143: CSIDE desktop shortcut authentication method follows service tier authentication method
Check that windows authentication user is not a Microsoft user in New-NavContainer
Added appVersion to Start-NavContainerAppDataUpgrade
Ensure that NavContainerHelper is running as administrator
Bugfix #153: Ensure that timeZone is set correctly
Added function Generate-SymbolsInNavContainer
Include test in app.json in Compile-AppInNavContainer
Bugfix #nav-docker/251: Create-AadUsersInNavContainer now creates all users (not only the first 100)
0.3.0.1
Added function Get-NavCompanyInNavContainer
Always enable API Services in container
Throw error if new-navcontainer fails (instead of just displaying error)
0.3.0.0
Update navcontainerhelper welcome text with some missing functions
Added function Stop-NavContainer
Added function Start-NavContainer
Added function Restart-NavContainer
Added function New-LetsEncryptCertificate
Added function Renew-LetsEncryptCertificate
Bugfix: Invoke-NavContainerCodeunit fails if the user already exists
Added ReplyTo address to Aad App, which matches Business Central Sandbox Containers
0.2.9.7
Bugfix: docker restart caused Windows Client deployed by -includeCSide to loose ACSUri setting
0.2.9.6
Rewrote Create-AadAppsForNAV to use AzureAD powershell package instead or AzureRM
Added function Create-AadUsersInNavContainer
0.2.9.5
Add generatesymbolreference=1 when Importing objects using Import-ObjectsToNavContainer or ImportTestToolkitToNavContainer
0.2.9.4
Set license to NULL from dbo.[dbproperty] and dbo.[tenantproperty] tables when exporting databases to bacpac
0.2.9.3
Use containername for hosts file when using -updatehosts (like remove-navcontainer)
Added parameter isolation to new-navcontainer to allow Windows Server to use hyperv isolation
Fixed a number of ScriptAnalyzer errors/warnings in NavContainerHelper
Empty the dbo.[Tenant License State] table when exporting databases to bacpac
0.2.9.1
Added function Backup-NavContainerDatabases
Added function New-CompanyInNavContainer (thanks Mike Glue)
Added function Remove-CompanyInNavContainer (thanks Mike Glue)
Added function Import-ConfigPackageInNavContainer.ps1 (thanks Mike Glue)
Added function Remove-ConfigPackageInNavContainer.ps1 (thanks Mike Glue)
Added function Get-NavContainerServerConfiguration (thanks Richard Robberse)
In Get-NavContainerPath - if you start the path with a colon (:), then the path refers to a path inside the container and not a shared folder
Bugfix: Create-AadAppsForNav required reboot after setup
0.2.9.0
Added tenant parameter (0..many tenants) to Export-NavContainerDatabasesAsBacpac
Object handling functions will not ask for credentials if not specified
BugFix: doNotOpen in Get-NavContainerEventLog was string - should be switch
Compile-AppInNavContainer had a dependency on the WebClient, this dependency is removed
BufFix: Compile-AppInNavContainer did not work on multitenant containers
BugFix: New-NavContainer will not crash when running the generic image with a NAV 2013 DVD
Updated tests
0.2.8.4
Bugfix: Invoke-NavContainerCodeunit didn''t work with multitenancy
Bugfix: Premium user didn''t work with multitenancy
Bugfix: Hardcoded containername in Setup-NavContainerTestUsers'
# Prerelease string of this module
# Prerelease = ''
# Flag to indicate whether the module requires explicit user acceptance for install/update
# RequireLicenseAcceptance = $false
# External dependent modules of this module
# ExternalModuleDependencies = @()
} # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfo URI of this module
# HelpInfoURI = ''
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}