Showing preview only (4,796K chars total). Download the full file or copy to clipboard to get everything.
Repository: d365collaborative/d365fo.tools
Branch: master
Commit: 20562ddf3d4c
Files: 915
Total size: 4.4 MB
Directory structure:
gitextract_ur7j2o7_/
├── .gitattributes
├── .github/
│ └── workflows/
│ ├── Release-Management.yml
│ ├── build-manual.yml
│ ├── build.yml
│ ├── dependencies.yml
│ ├── update-generated-text.yml
│ └── update-wiki.yml
├── .gitignore
├── LICENSE
├── README.md
├── build/
│ ├── buildtools.ps1
│ ├── filesAfter.txt
│ ├── filesBefore.txt
│ ├── format-commentbasedhelp.ps1
│ ├── generate-findcommandindex.ps1
│ ├── generate-parameterunittests.ps1
│ ├── update-docs.ps1
│ ├── vsts-build.ps1
│ ├── vsts-prerequisites.ps1
│ ├── vsts-validate-psscriptanalyzer.ps1
│ └── vsts-validate.ps1
├── contributing.md
├── d365fo.tools/
│ ├── bin/
│ │ ├── d365fo.tools-index.json
│ │ └── readme.md
│ ├── d365fo.tools.psd1
│ ├── d365fo.tools.psm1
│ ├── en-us/
│ │ ├── about_Deployable_Packages.help.txt
│ │ └── about_d365fo.tools.help.txt
│ ├── functions/
│ │ ├── add-d365azurestorageconfig.ps1
│ │ ├── add-d365broadcastmessageconfig.ps1
│ │ ├── add-d365moduletoremove.ps1
│ │ ├── add-d365rsatwifconfigauthoritythumbprint.ps1
│ │ ├── add-d365windowsdefenderrules.ps1
│ │ ├── backup-d365devconfig.ps1
│ │ ├── backup-d365metadatadir.ps1
│ │ ├── backup-d365runbook.ps1
│ │ ├── backup-d365webconfig.ps1
│ │ ├── backup-d365wifconfig.ps1
│ │ ├── clear-d365activebroadcastmessageconfig.ps1
│ │ ├── clear-d365bacpacobject.ps1
│ │ ├── clear-d365bacpactabledata.ps1
│ │ ├── clear-d365monitordata.ps1
│ │ ├── clear-d365tempdbtables.ps1
│ │ ├── convertto-d365dacpac.ps1
│ │ ├── disable-d365exception.ps1
│ │ ├── disable-d365flight.ps1
│ │ ├── disable-d365iispreload.ps1
│ │ ├── disable-d365maintenancemode.ps1
│ │ ├── disable-d365sqlchangetracking.ps1
│ │ ├── disable-d365user.ps1
│ │ ├── enable-d365exception.ps1
│ │ ├── enable-d365flight.ps1
│ │ ├── enable-d365iispreload.ps1
│ │ ├── enable-d365maintenancemode.ps1
│ │ ├── enable-d365sqlchangetracking.ps1
│ │ ├── enable-d365user.ps1
│ │ ├── export-d365bacpacmodelfile.ps1
│ │ ├── export-d365model.ps1
│ │ ├── export-d365securitydetails.ps1
│ │ ├── find-d365command.ps1
│ │ ├── get-d365activeazurestorageconfig.ps1
│ │ ├── get-d365activebroadcastmessageconfig.ps1
│ │ ├── get-d365aotobject.ps1
│ │ ├── get-d365azuredevopsnuget.ps1
│ │ ├── get-d365azurestorageconfig.ps1
│ │ ├── get-d365azurestoragefile.ps1
│ │ ├── get-d365azurestorageurl.ps1
│ │ ├── get-d365bacpacsqloptions.ps1
│ │ ├── get-d365bacpactable.ps1
│ │ ├── get-d365broadcastmessage.ps1
│ │ ├── get-d365broadcastmessageconfig.ps1
│ │ ├── get-d365clickoncetrustprompt.ps1
│ │ ├── get-d365compilerresult.ps1
│ │ ├── get-d365database.ps1
│ │ ├── get-d365databaseaccess.ps1
│ │ ├── get-d365decryptedwebconfig.ps1
│ │ ├── get-d365defaultmodelfornewprojects.ps1
│ │ ├── get-d365dotnetclass.ps1
│ │ ├── get-d365dotnetmethod.ps1
│ │ ├── get-d365environment.ps1
│ │ ├── get-d365environmentsettings.ps1
│ │ ├── get-d365eventtraceprovider.ps1
│ │ ├── get-d365externalip.ps1
│ │ ├── get-d365flight.ps1
│ │ ├── get-d365iispreload.ps1
│ │ ├── get-d365installedhotfix.ps1
│ │ ├── get-d365installedpackage.ps1
│ │ ├── get-d365installedservice.ps1
│ │ ├── get-d365instancename.ps1
│ │ ├── get-d365jsonservice.ps1
│ │ ├── get-d365label.ps1
│ │ ├── get-d365labelfile.ps1
│ │ ├── get-d365language.ps1
│ │ ├── get-d365lcsapiconfig.ps1
│ │ ├── get-d365lcsapitoken.ps1
│ │ ├── get-d365lcsassetfile.ps1
│ │ ├── get-d365lcsassetvalidationstatus.ps1
│ │ ├── get-d365lcsdatabasebackups.ps1
│ │ ├── get-d365lcsdatabaseoperationstatus.ps1
│ │ ├── get-d365lcsdeploymentstatus.ps1
│ │ ├── get-d365lcsenvironmenthistory.ps1
│ │ ├── get-d365lcsenvironmentmetadata.ps1
│ │ ├── get-d365lcsenvironmentrsatcertificate.ps1
│ │ ├── get-d365lcssharedassetfile.ps1
│ │ ├── get-d365maintenancemode.ps1
│ │ ├── get-d365model.ps1
│ │ ├── get-d365module.ps1
│ │ ├── get-d365offlineauthenticationadminemail.ps1
│ │ ├── get-d365packagebundledetail.ps1
│ │ ├── get-d365packagelabelresourcefile.ps1
│ │ ├── get-d365packagelabelresources.ps1
│ │ ├── get-d365productinformation.ps1
│ │ ├── get-d365rsatcertificatethumbprint.ps1
│ │ ├── get-d365rsatplaybackfile.ps1
│ │ ├── get-d365rsatsoaphostname.ps1
│ │ ├── get-d365runbook.ps1
│ │ ├── get-d365runbookid.ps1
│ │ ├── get-d365runbooklogfile.ps1
│ │ ├── get-d365sdpcleanup.ps1
│ │ ├── get-d365sdpdetails.ps1
│ │ ├── get-d365table.ps1
│ │ ├── get-d365tablefield.ps1
│ │ ├── get-d365tablesequence.ps1
│ │ ├── get-d365tablesinchangedtracking.ps1
│ │ ├── get-d365tfsuri.ps1
│ │ ├── get-d365tfsworkspace.ps1
│ │ ├── get-d365url.ps1
│ │ ├── get-d365user.ps1
│ │ ├── get-d365userauthenticationdetail.ps1
│ │ ├── get-d365visualstudiocompilerresult.ps1
│ │ ├── get-d365webservertype.ps1
│ │ ├── get-d365windowsactivationstatus.ps1
│ │ ├── import-d365aadapplication.ps1
│ │ ├── import-d365aaduser.ps1
│ │ ├── import-d365bacpac.ps1
│ │ ├── import-d365dacpac.ps1
│ │ ├── import-d365externaluser.ps1
│ │ ├── import-d365model.ps1
│ │ ├── import-d365rsatselfservicecertificates.ps1
│ │ ├── initialize-d365rsatcertificate.ps1
│ │ ├── install-d365supportingsoftware.ps1
│ │ ├── invoke-d365azcopytransfer.ps1
│ │ ├── invoke-d365azuredevopsnugetpush.ps1
│ │ ├── invoke-d365azurestoragedownload.ps1
│ │ ├── invoke-d365azurestorageupload.ps1
│ │ ├── invoke-d365bestpractice.ps1
│ │ ├── invoke-d365compilerresultanalyzer.ps1
│ │ ├── invoke-d365dataflush.ps1
│ │ ├── invoke-d365dbsync.ps1
│ │ ├── invoke-d365dbsyncmodule.ps1
│ │ ├── invoke-d365dbsyncpartial.ps1
│ │ ├── invoke-d365generatereportaggregatedataentity.ps1
│ │ ├── invoke-d365generatereportaggregatemeasure.ps1
│ │ ├── invoke-d365generatereportconfigkey.ps1
│ │ ├── invoke-d365generatereportconfigkeygroup.ps1
│ │ ├── invoke-d365generatereportdataentity.ps1
│ │ ├── invoke-d365generatereportdataentityfield.ps1
│ │ ├── invoke-d365generatereportkpi.ps1
│ │ ├── invoke-d365generatereportlicensecode.ps1
│ │ ├── invoke-d365generatereportmenuitem.ps1
│ │ ├── invoke-d365generatereports.ps1
│ │ ├── invoke-d365generatereportssrs.ps1
│ │ ├── invoke-d365generatereporttable.ps1
│ │ ├── invoke-d365generatereportworkflowtype.ps1
│ │ ├── invoke-d365installazcopy.ps1
│ │ ├── invoke-d365installlicense.ps1
│ │ ├── invoke-d365installnuget.ps1
│ │ ├── invoke-d365installsqlpackage.ps1
│ │ ├── invoke-d365lcsapirefreshtoken.ps1
│ │ ├── invoke-d365lcsdatabaseexport.ps1
│ │ ├── invoke-d365lcsdatabaserefresh.ps1
│ │ ├── invoke-d365lcsdeployment.ps1
│ │ ├── invoke-d365lcsenvironmentstart.ps1
│ │ ├── invoke-d365lcsenvironmentstop.ps1
│ │ ├── invoke-d365lcsupload.ps1
│ │ ├── invoke-d365modulecompile.ps1
│ │ ├── invoke-d365modulefullcompile.ps1
│ │ ├── invoke-d365modulelabelgeneration.ps1
│ │ ├── invoke-d365modulereportscompile.ps1
│ │ ├── invoke-d365processmodule.ps1
│ │ ├── invoke-d365rearmwindows.ps1
│ │ ├── invoke-d365runbookanalyzer.ps1
│ │ ├── invoke-d365scdpbundleinstall.ps1
│ │ ├── invoke-d365sdpinstall.ps1
│ │ ├── invoke-d365sdpinstallude.ps1
│ │ ├── invoke-d365seleniumdownload.ps1
│ │ ├── invoke-d365sqlscript.ps1
│ │ ├── invoke-d365sysflushaodcache.ps1
│ │ ├── invoke-d365sysrunnerclass.ps1
│ │ ├── invoke-d365tablebrowser.ps1
│ │ ├── invoke-d365visualstudiocompilerresultanalyzer.ps1
│ │ ├── invoke-d365winrmcertificaterotation.ps1
│ │ ├── new-d365bacpac.ps1
│ │ ├── new-d365careport.ps1
│ │ ├── new-d365entraintegration.ps1
│ │ ├── new-d365isvlicense.ps1
│ │ ├── new-d365moduletoremove.ps1
│ │ ├── new-d365topologyfile.ps1
│ │ ├── publish-d365ssrsreport.ps1
│ │ ├── publish-d365webresources.ps1
│ │ ├── register-d365azurestorageconfig.ps1
│ │ ├── remove-d365broadcastmessageconfig.ps1
│ │ ├── remove-d365database.ps1
│ │ ├── remove-d365lcsassetfile.ps1
│ │ ├── remove-d365model.ps1
│ │ ├── remove-d365user.ps1
│ │ ├── rename-d365computername.ps1
│ │ ├── rename-d365instance.ps1
│ │ ├── repair-d365bacpacmodelfile.ps1
│ │ ├── restart-d365environment.ps1
│ │ ├── restore-d365devconfig.ps1
│ │ ├── restore-d365webconfig.ps1
│ │ ├── send-d365broadcastmessage.ps1
│ │ ├── set-d365activeazurestorageconfig.ps1
│ │ ├── set-d365activebroadcastmessageconfig.ps1
│ │ ├── set-d365admin.ps1
│ │ ├── set-d365azcopypath.ps1
│ │ ├── set-d365clickoncetrustprompt.ps1
│ │ ├── set-d365defaultmodelfornewprojects.ps1
│ │ ├── set-d365favoritebookmark.ps1
│ │ ├── set-d365flightservicecatalogid.ps1
│ │ ├── set-d365lcsapiconfig.ps1
│ │ ├── set-d365nugetpath.ps1
│ │ ├── set-d365offlineauthenticationadminemail.ps1
│ │ ├── set-d365rsatconfiguration.ps1
│ │ ├── set-d365rsattier2crypto.ps1
│ │ ├── set-d365sdpcleanup.ps1
│ │ ├── set-d365sqlpackagepath.ps1
│ │ ├── set-d365startpage.ps1
│ │ ├── set-d365sysadmin.ps1
│ │ ├── set-d365traceparserfilesize.ps1
│ │ ├── set-d365webconfigdatabase.ps1
│ │ ├── set-d365webservertype.ps1
│ │ ├── set-d365workstationmode.ps1
│ │ ├── start-d365environment.ps1
│ │ ├── start-d365environmentv2.ps1
│ │ ├── start-d365eventtrace.ps1
│ │ ├── stop-d365environment.ps1
│ │ ├── stop-d365eventtrace.ps1
│ │ ├── switch-d365activedatabase.ps1
│ │ ├── test-d365command.ps1
│ │ ├── test-d365dataverseconnection.ps1
│ │ ├── test-d365entraintegration.ps1
│ │ ├── test-d365flightservicecatalogid.ps1
│ │ ├── test-d365labelidisvalid.ps1
│ │ ├── update-d365bacpacmodelfilesingletable.ps1
│ │ └── update-d365user.ps1
│ ├── internal/
│ │ ├── configurations/
│ │ │ ├── configuration.ps1
│ │ │ └── readme.md
│ │ ├── functions/
│ │ │ ├── add-aadusersecurity.ps1
│ │ │ ├── add-filetopackage.ps1
│ │ │ ├── backup-file.ps1
│ │ │ ├── complete-lcsuploadv2.ps1
│ │ │ ├── convert-hashtoargstringswitch.ps1
│ │ │ ├── convertto-booleanordefault.ps1
│ │ │ ├── convertto-hashtable.ps1
│ │ │ ├── convertto-pscustomobject.ps1
│ │ │ ├── copy-filetolcsblob.ps1
│ │ │ ├── get-applicationenvironment.ps1
│ │ │ ├── get-asyncresult.ps1
│ │ │ ├── get-axaggregatedimensions.ps1
│ │ │ ├── get-axaggregatemeasures.ps1
│ │ │ ├── get-axdataentities.ps1
│ │ │ ├── get-axforms.ps1
│ │ │ ├── get-axviews.ps1
│ │ │ ├── get-azureserviceobjective.ps1
│ │ │ ├── get-backupname.ps1
│ │ │ ├── get-canonicalidentityprovider.ps1
│ │ │ ├── get-compilerresult.ps1
│ │ │ ├── get-deepclone.ps1
│ │ │ ├── get-fileversion.ps1
│ │ │ ├── get-identityprovider.ps1
│ │ │ ├── get-instanceidentityprovider.ps1
│ │ │ ├── get-instancevalues.ps1
│ │ │ ├── get-lcsassetfilev2.ps1
│ │ │ ├── get-lcsassetvalidationstatusv2.ps1
│ │ │ ├── get-lcsdatabasebackupsv2.ps1
│ │ │ ├── get-lcsdatabaseoperationstatusv2.ps1
│ │ │ ├── get-lcsdeploymentstatusv2.ps1
│ │ │ ├── get-lcsenvironmenthistory.ps1
│ │ │ ├── get-lcsenvironmentmetadata.ps1
│ │ │ ├── get-lcsenvironmentrsatcertificate.ps1
│ │ │ ├── get-lcsfileasset.ps1
│ │ │ ├── get-lcssharedassetfile.ps1
│ │ │ ├── get-loginfromemail.ps1
│ │ │ ├── get-networkdomain.ps1
│ │ │ ├── get-productinfoprovider.ps1
│ │ │ ├── get-servicelist.ps1
│ │ │ ├── get-sqlcommand.ps1
│ │ │ ├── get-sqlparametersize.ps1
│ │ │ ├── get-sqlparametervalue.ps1
│ │ │ ├── get-sqlstring.ps1
│ │ │ ├── get-syncelements.ps1
│ │ │ ├── get-tenantfromemail.ps1
│ │ │ ├── get-timezone.ps1
│ │ │ ├── get-usersidfromaad.ps1
│ │ │ ├── get-windowsdefenderstatus.ps1
│ │ │ ├── import-aadapplicationIntod365fo.ps1
│ │ │ ├── import-aaduserIntod365fo.ps1
│ │ │ ├── import-assemblyfileintomemory.ps1
│ │ │ ├── import-generatereportassemblies.ps1
│ │ │ ├── invoke-azurebackuprestore.ps1
│ │ │ ├── invoke-clearazurespecificobjects.ps1
│ │ │ ├── invoke-clearsqlspecificobjects.ps1
│ │ │ ├── invoke-compilerresultanalyzer.ps1
│ │ │ ├── invoke-modelutil.ps1
│ │ │ ├── invoke-process.ps1
│ │ │ ├── invoke-requesthandler.ps1
│ │ │ ├── invoke-sqlbackuprestore.ps1
│ │ │ ├── invoke-sqlpackage.ps1
│ │ │ ├── invoke-timesignal.ps1
│ │ │ ├── new-d365foaadapplication.ps1
│ │ │ ├── new-d365fouser.ps1
│ │ │ ├── new-d365selfsignedcertificate.ps1
│ │ │ ├── new-decryptedfile.ps1
│ │ │ ├── new-webrequest.ps1
│ │ │ ├── publish-d365foresources.ps1
│ │ │ ├── readme.md
│ │ │ ├── remove-lcsassetfile.ps1
│ │ │ ├── rename-configvalue.ps1
│ │ │ ├── repair-bacpacmodelqualifier.ps1
│ │ │ ├── repair-bacpacmodelsimpleandreplace.ps1
│ │ │ ├── select-defaultview.ps1
│ │ │ ├── set-adminuser.ps1
│ │ │ ├── set-azurebacpacvalues.ps1
│ │ │ ├── set-browserbookmark.ps1
│ │ │ ├── set-sqlbacpacvalues.ps1
│ │ │ ├── start-lcsdatabaseexportv2.ps1
│ │ │ ├── start-lcsdatabaserefreshv2.ps1
│ │ │ ├── start-lcsdeploymentv2.ps1
│ │ │ ├── start-lcsenvironmentstartstopv2.ps1
│ │ │ ├── start-lcsuploadv2.ps1
│ │ │ ├── test-aaduseridind365fo.ps1
│ │ │ ├── test-aaduserind365fo.ps1
│ │ │ ├── test-assembliesloaded.ps1
│ │ │ ├── test-configstoreagelocation.ps1
│ │ │ ├── test-pathexists.ps1
│ │ │ ├── test-registryvalue.ps1
│ │ │ ├── test-trustedconnection.ps1
│ │ │ ├── update-azurestoragevariables.ps1
│ │ │ ├── update-broadcastvariables.ps1
│ │ │ ├── update-lcsapivariables.ps1
│ │ │ ├── update-modulevariables.ps1
│ │ │ ├── update-psfconfigvariables.ps1
│ │ │ └── update-topologyfile.ps1
│ │ ├── misc/
│ │ │ ├── AzureDevOps.url
│ │ │ ├── Bookmarks
│ │ │ ├── D365FO.url
│ │ │ ├── RepairBacpac.Qualifier.json
│ │ │ ├── RepairBacpac.Replace.json
│ │ │ └── RepairBacpac.Simple.json
│ │ ├── scripts/
│ │ │ ├── enums.ps1
│ │ │ ├── license.ps1
│ │ │ ├── load-dotnet-assemblies.ps1
│ │ │ ├── postimport.ps1
│ │ │ ├── preimport.ps1
│ │ │ └── variables.ps1
│ │ ├── sql/
│ │ │ ├── add-aadapplicationintod365fo.sql
│ │ │ ├── add-aaduserintod365fo.sql
│ │ │ ├── add-bacpacdatabase.sql
│ │ │ ├── backuprestoredb.sql
│ │ │ ├── checkfornewazuredb.sql
│ │ │ ├── clear-azurebacpacdatabase.sql
│ │ │ ├── clear-d365tempdbtables.sql
│ │ │ ├── clear-sqlbacpacdatabase.sql
│ │ │ ├── disable-changetracking.sql
│ │ │ ├── disable-flight.sql
│ │ │ ├── disable-maintenancemode.sql
│ │ │ ├── disable-user.sql
│ │ │ ├── enable-changetracking.sql
│ │ │ ├── enable-flight.sql
│ │ │ ├── enable-maintenancemode.sql
│ │ │ ├── enable-user.sql
│ │ │ ├── get-alltablefields.sql
│ │ │ ├── get-azureserviceobjective.sql
│ │ │ ├── get-broadcastmessage.sql
│ │ │ ├── get-broadcastmessageactive.sql
│ │ │ ├── get-database.sql
│ │ │ ├── get-flight.sql
│ │ │ ├── get-instancevalues.sql
│ │ │ ├── get-maintenancemode.sql
│ │ │ ├── get-tablefields.sql
│ │ │ ├── get-tables.sql
│ │ │ ├── get-tablesequence.sql
│ │ │ ├── get-tablesinchangedtracking.sql
│ │ │ ├── get-user.sql
│ │ │ ├── invoke-sphelp.sql
│ │ │ ├── newazuredbfromcopy.sql
│ │ │ ├── remove-database.sql
│ │ │ ├── remove-user.sql
│ │ │ ├── rename-computer.sql
│ │ │ ├── set-aadusersecurityind365fo.sql
│ │ │ ├── set-bacpacvaluesazure.sql
│ │ │ ├── set-bacpacvaluessql.sql
│ │ │ ├── set-sysadmin.sql
│ │ │ ├── switch-database-tier1.sql
│ │ │ ├── switch-database-tier2.sql
│ │ │ ├── test-aaduseridind365fo.sql
│ │ │ ├── test-aaduserind365fo.sql
│ │ │ └── update-user.sql
│ │ └── tepp/
│ │ ├── assignment.ps1
│ │ ├── eventtrace.tepp.ps1
│ │ ├── example.tepp.ps1
│ │ ├── lcs.tepp.ps1
│ │ ├── readme.md
│ │ └── send-d365message.tepp.ps1
│ ├── readme.md
│ ├── tests/
│ │ ├── examples/
│ │ │ ├── Get-DeepClone.Tests.ps1
│ │ │ ├── Import-D365Bacpac.Tests.ps1
│ │ │ └── Test-TrustedConnection.Tests.ps1
│ │ ├── functions/
│ │ │ ├── Add-D365AzureStorageConfig.Tests.ps1
│ │ │ ├── Add-D365BroadcastMessageConfig.Tests.ps1
│ │ │ ├── Add-D365ModuleToRemove.Tests.ps1
│ │ │ ├── Add-D365RsatWifConfigAuthorityThumbprint.Tests.ps1
│ │ │ ├── Add-D365WindowsDefenderRules.Tests.ps1
│ │ │ ├── Backup-D365DevConfig.Tests.ps1
│ │ │ ├── Backup-D365MetaDataDir.Tests.ps1
│ │ │ ├── Backup-D365Runbook.Tests.ps1
│ │ │ ├── Backup-D365WebConfig.Tests.ps1
│ │ │ ├── Backup-D365WifConfig.Tests.ps1
│ │ │ ├── Clear-D365ActiveBroadcastMessageConfig.Tests.ps1
│ │ │ ├── Clear-D365BacpacObject.Tests.ps1
│ │ │ ├── Clear-D365BacpacTableData.Tests.ps1
│ │ │ ├── Clear-D365MonitorData.Tests.ps1
│ │ │ ├── Clear-D365TempDbTables.Tests.ps1
│ │ │ ├── ConvertTo-D365Dacpac.Tests.ps1
│ │ │ ├── Disable-D365Exception.Tests.ps1
│ │ │ ├── Disable-D365Flight.Tests.ps1
│ │ │ ├── Disable-D365IISPreload.Tests.ps1
│ │ │ ├── Disable-D365MaintenanceMode.Tests.ps1
│ │ │ ├── Disable-D365SqlChangeTracking.Tests.ps1
│ │ │ ├── Disable-D365User.Tests.ps1
│ │ │ ├── Enable-D365Exception.Tests.ps1
│ │ │ ├── Enable-D365Flight.Tests.ps1
│ │ │ ├── Enable-D365IISPreload.Tests.ps1
│ │ │ ├── Enable-D365MaintenanceMode.Tests.ps1
│ │ │ ├── Enable-D365SqlChangeTracking.Tests.ps1
│ │ │ ├── Enable-D365User.Tests.ps1
│ │ │ ├── Export-D365BacpacModelFile.Tests.ps1
│ │ │ ├── Export-D365Model.Tests.ps1
│ │ │ ├── Export-D365SecurityDetails.Tests.ps1
│ │ │ ├── Find-D365Command.Tests.ps1
│ │ │ ├── Get-D365AOTObject.Tests.ps1
│ │ │ ├── Get-D365ActiveAzureStorageConfig.Tests.ps1
│ │ │ ├── Get-D365ActiveBroadcastMessageConfig.Tests.ps1
│ │ │ ├── Get-D365AzureDevOpsNuget.Tests.ps1
│ │ │ ├── Get-D365AzureStorageConfig.Tests.ps1
│ │ │ ├── Get-D365AzureStorageFile.Tests.ps1
│ │ │ ├── Get-D365AzureStorageUrl.Tests.ps1
│ │ │ ├── Get-D365BacpacSqlOptions.Tests.ps1
│ │ │ ├── Get-D365BacpacTable.Tests.ps1
│ │ │ ├── Get-D365BroadcastMessage.Tests.ps1
│ │ │ ├── Get-D365BroadcastMessageConfig.Tests.ps1
│ │ │ ├── Get-D365ClickOnceTrustPrompt.Tests.ps1
│ │ │ ├── Get-D365CompilerResult.Tests.ps1
│ │ │ ├── Get-D365Database.Tests.ps1
│ │ │ ├── Get-D365DatabaseAccess.Tests.ps1
│ │ │ ├── Get-D365DecryptedWebConfig.Tests.ps1
│ │ │ ├── Get-D365DefaultModelForNewProjects.Tests.ps1
│ │ │ ├── Get-D365DotNetClass.Tests.ps1
│ │ │ ├── Get-D365DotNetMethod.Tests.ps1
│ │ │ ├── Get-D365Environment.Tests.ps1
│ │ │ ├── Get-D365EnvironmentSettings.Tests.ps1
│ │ │ ├── Get-D365EventTraceProvider.Tests.ps1
│ │ │ ├── Get-D365ExternalIP.Tests.ps1
│ │ │ ├── Get-D365Flight.Tests.ps1
│ │ │ ├── Get-D365IISPreload.Tests.ps1
│ │ │ ├── Get-D365InstalledHotfix.Tests.ps1
│ │ │ ├── Get-D365InstalledPackage.Tests.ps1
│ │ │ ├── Get-D365InstalledService.Tests.ps1
│ │ │ ├── Get-D365InstanceName.Tests.ps1
│ │ │ ├── Get-D365JsonService.Tests.ps1
│ │ │ ├── Get-D365Label.Tests.ps1
│ │ │ ├── Get-D365LabelFile.Tests.ps1
│ │ │ ├── Get-D365Language.Tests.ps1
│ │ │ ├── Get-D365LcsApiConfig.Tests.ps1
│ │ │ ├── Get-D365LcsApiToken.Tests.ps1
│ │ │ ├── Get-D365LcsAssetFile.Tests.ps1
│ │ │ ├── Get-D365LcsAssetValidationStatus.Tests.ps1
│ │ │ ├── Get-D365LcsDatabaseBackups.Tests.ps1
│ │ │ ├── Get-D365LcsDatabaseOperationStatus.Tests.ps1
│ │ │ ├── Get-D365LcsDeploymentStatus.Tests.ps1
│ │ │ ├── Get-D365LcsEnvironmentHistory.Tests.ps1
│ │ │ ├── Get-D365LcsEnvironmentMetadata.Tests.ps1
│ │ │ ├── Get-D365LcsEnvironmentRsatCertificate.Tests.ps1
│ │ │ ├── Get-D365LcsSharedAssetFile.Tests.ps1
│ │ │ ├── Get-D365MaintenanceMode.Tests.ps1
│ │ │ ├── Get-D365Model.Tests.ps1
│ │ │ ├── Get-D365Module.Tests.ps1
│ │ │ ├── Get-D365OfflineAuthenticationAdminEmail.Tests.ps1
│ │ │ ├── Get-D365PackageBundleDetail.Tests.ps1
│ │ │ ├── Get-D365PackageLabelResourceFile.Tests.ps1
│ │ │ ├── Get-D365PackageLabelResources.Tests.ps1
│ │ │ ├── Get-D365ProductInformation.Tests.ps1
│ │ │ ├── Get-D365RsatCertificateThumbprint.Tests.ps1
│ │ │ ├── Get-D365RsatPlaybackFile.Tests.ps1
│ │ │ ├── Get-D365RsatSoapHostname.Tests.ps1
│ │ │ ├── Get-D365Runbook.Tests.ps1
│ │ │ ├── Get-D365RunbookId.Tests.ps1
│ │ │ ├── Get-D365RunbookLogFile.Tests.ps1
│ │ │ ├── Get-D365SDPCleanUp.Tests.ps1
│ │ │ ├── Get-D365SDPDetails.Tests.ps1
│ │ │ ├── Get-D365Table.Tests.ps1
│ │ │ ├── Get-D365TableField.Tests.ps1
│ │ │ ├── Get-D365TableSequence.Tests.ps1
│ │ │ ├── Get-D365TablesInChangedTracking.Tests.ps1
│ │ │ ├── Get-D365TfsUri.Tests.ps1
│ │ │ ├── Get-D365TfsWorkspace.Tests.ps1
│ │ │ ├── Get-D365Url.Tests.ps1
│ │ │ ├── Get-D365User.Tests.ps1
│ │ │ ├── Get-D365UserAuthenticationDetail.Tests.ps1
│ │ │ ├── Get-D365VisualStudioCompilerResult.Tests.ps1
│ │ │ ├── Get-D365WebServerType.Tests.ps1
│ │ │ ├── Get-D365WindowsActivationStatus.Tests.ps1
│ │ │ ├── Import-D365AadApplication.Tests.ps1
│ │ │ ├── Import-D365AadUser.Tests.ps1
│ │ │ ├── Import-D365Bacpac.Tests.ps1
│ │ │ ├── Import-D365Dacpac.Tests.ps1
│ │ │ ├── Import-D365ExternalUser.Tests.ps1
│ │ │ ├── Import-D365Model.Tests.ps1
│ │ │ ├── Import-D365RsatSelfServiceCertificates.Tests.ps1
│ │ │ ├── Initialize-D365RsatCertificate.Tests.ps1
│ │ │ ├── Install-D365SupportingSoftware.Tests.ps1
│ │ │ ├── Invoke-D365AzCopyTransfer.Tests.ps1
│ │ │ ├── Invoke-D365AzureDevOpsNugetPush.Tests.ps1
│ │ │ ├── Invoke-D365AzureStorageDownload.Tests.ps1
│ │ │ ├── Invoke-D365AzureStorageUpload.Tests.ps1
│ │ │ ├── Invoke-D365BestPractice.Tests.ps1
│ │ │ ├── Invoke-D365CompilerResultAnalyzer.Tests.ps1
│ │ │ ├── Invoke-D365DBSync.Tests.ps1
│ │ │ ├── Invoke-D365DBSyncPartial.Tests.ps1
│ │ │ ├── Invoke-D365DataFlush.Tests.ps1
│ │ │ ├── Invoke-D365DbSyncModule.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportAggregateDataEntity.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportAggregateMeasure.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportConfigKey.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportConfigKeyGroup.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportDataEntity.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportDataEntityField.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportKpi.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportLicenseCode.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportMenuItem.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportSsrs.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportTable.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportWorkflowType.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReports.Tests.ps1
│ │ │ ├── Invoke-D365InstallAzCopy.Tests.ps1
│ │ │ ├── Invoke-D365InstallLicense.Tests.ps1
│ │ │ ├── Invoke-D365InstallNuget.Tests.ps1
│ │ │ ├── Invoke-D365InstallSqlPackage.Tests.ps1
│ │ │ ├── Invoke-D365LcsApiRefreshToken.Tests.ps1
│ │ │ ├── Invoke-D365LcsDatabaseExport.Tests.ps1
│ │ │ ├── Invoke-D365LcsDatabaseRefresh.Tests.ps1
│ │ │ ├── Invoke-D365LcsDeployment.Tests.ps1
│ │ │ ├── Invoke-D365LcsEnvironmentStart.Tests.ps1
│ │ │ ├── Invoke-D365LcsEnvironmentStop.Tests.ps1
│ │ │ ├── Invoke-D365LcsUpload.Tests.ps1
│ │ │ ├── Invoke-D365ModuleCompile.Tests.ps1
│ │ │ ├── Invoke-D365ModuleFullCompile.Tests.ps1
│ │ │ ├── Invoke-D365ModuleLabelGeneration.Tests.ps1
│ │ │ ├── Invoke-D365ModuleReportsCompile.Tests.ps1
│ │ │ ├── Invoke-D365ProcessModule.Tests.ps1
│ │ │ ├── Invoke-D365ReArmWindows.Tests.ps1
│ │ │ ├── Invoke-D365RunbookAnalyzer.Tests.ps1
│ │ │ ├── Invoke-D365SCDPBundleInstall.Tests.ps1
│ │ │ ├── Invoke-D365SDPInstall.Tests.ps1
│ │ │ ├── Invoke-D365SDPInstallUDE.Tests.ps1
│ │ │ ├── Invoke-D365SeleniumDownload.Tests.ps1
│ │ │ ├── Invoke-D365SqlScript.Tests.ps1
│ │ │ ├── Invoke-D365SysFlushAodCache.Tests.ps1
│ │ │ ├── Invoke-D365SysRunnerClass.Tests.ps1
│ │ │ ├── Invoke-D365TableBrowser.Tests.ps1
│ │ │ ├── Invoke-D365VisualStudioCompilerResultAnalyzer.Tests.ps1
│ │ │ ├── Invoke-D365WinRmCertificateRotation.Tests.ps1
│ │ │ ├── New-D365Bacpac.Tests.ps1
│ │ │ ├── New-D365CAReport.Tests.ps1
│ │ │ ├── New-D365EntraIntegration.Tests.ps1
│ │ │ ├── New-D365ISVLicense.Tests.ps1
│ │ │ ├── New-D365ModuleToRemove.Tests.ps1
│ │ │ ├── New-D365TopologyFile.Tests.ps1
│ │ │ ├── Publish-D365SsrsReport.Tests.ps1
│ │ │ ├── Publish-D365WebResources.Tests.ps1
│ │ │ ├── Register-D365AzureStorageConfig.Tests.ps1
│ │ │ ├── Remove-D365BroadcastMessageConfig.Tests.ps1
│ │ │ ├── Remove-D365Database.Tests.ps1
│ │ │ ├── Remove-D365LcsAssetFile.Tests.ps1
│ │ │ ├── Remove-D365Model.Tests.ps1
│ │ │ ├── Remove-D365User.Tests.ps1
│ │ │ ├── Rename-D365ComputerName.Tests.ps1
│ │ │ ├── Rename-D365Instance.Tests.ps1
│ │ │ ├── Repair-D365BacpacModelFile.Tests.ps1
│ │ │ ├── Restart-D365Environment.Tests.ps1
│ │ │ ├── Restore-D365DevConfig.Tests.ps1
│ │ │ ├── Restore-D365WebConfig.Tests.ps1
│ │ │ ├── Send-D365BroadcastMessage.Tests.ps1
│ │ │ ├── Set-D365ActiveAzureStorageConfig.Tests.ps1
│ │ │ ├── Set-D365ActiveBroadcastMessageConfig.Tests.ps1
│ │ │ ├── Set-D365Admin.Tests.ps1
│ │ │ ├── Set-D365AzCopyPath.Tests.ps1
│ │ │ ├── Set-D365ClickOnceTrustPrompt.Tests.ps1
│ │ │ ├── Set-D365DefaultModelForNewProjects.Tests.ps1
│ │ │ ├── Set-D365FavoriteBookmark.Tests.ps1
│ │ │ ├── Set-D365FlightServiceCatalogId.Tests.ps1
│ │ │ ├── Set-D365LcsApiConfig.Tests.ps1
│ │ │ ├── Set-D365NugetPath.Tests.ps1
│ │ │ ├── Set-D365OfflineAuthenticationAdminEmail.Tests.ps1
│ │ │ ├── Set-D365RsatConfiguration.Tests.ps1
│ │ │ ├── Set-D365RsatTier2Crypto.Tests.ps1
│ │ │ ├── Set-D365SDPCleanUp.Tests.ps1
│ │ │ ├── Set-D365SqlPackagePath.Tests.ps1
│ │ │ ├── Set-D365StartPage.Tests.ps1
│ │ │ ├── Set-D365SysAdmin.Tests.ps1
│ │ │ ├── Set-D365TraceParserFileSize.Tests.ps1
│ │ │ ├── Set-D365WebConfigDatabase.Tests.ps1
│ │ │ ├── Set-D365WebServerType.Tests.ps1
│ │ │ ├── Set-D365WorkstationMode.Tests.ps1
│ │ │ ├── Start-D365Environment.Tests.ps1
│ │ │ ├── Start-D365EnvironmentV2.Tests.ps1
│ │ │ ├── Start-D365EventTrace.Tests.ps1
│ │ │ ├── Stop-D365Environment.Tests.ps1
│ │ │ ├── Stop-D365EventTrace.Tests.ps1
│ │ │ ├── Switch-D365ActiveDatabase.Tests.ps1
│ │ │ ├── Test-D365Command.Tests.ps1
│ │ │ ├── Test-D365DataverseConnection.Tests.ps1
│ │ │ ├── Test-D365EntraIntegration.Tests.ps1
│ │ │ ├── Test-D365FlightServiceCatalogId.Tests.ps1
│ │ │ ├── Test-D365LabelIdIsValid.Tests.ps1
│ │ │ ├── Update-D365BacpacModelFileSingleTable.Tests.ps1
│ │ │ └── Update-D365User.Tests.ps1
│ │ ├── general/
│ │ │ ├── FileIntegrity.Exceptions.ps1
│ │ │ ├── FileIntegrity.Tests.ps1
│ │ │ ├── Help.Example.Parameters.Tests.ps1
│ │ │ ├── Help.Example.Tests.ps1
│ │ │ ├── Help.Exceptions.ps1
│ │ │ ├── Help.Tests.ps1
│ │ │ ├── Manifest.Tests.ps1
│ │ │ └── PSScriptAnalyzer.Tests.ps1
│ │ ├── pester-PSScriptAnalyzer.ps1
│ │ ├── pester.ps1
│ │ └── readme.md
│ └── xml/
│ ├── d365fo.tools.Format.ps1xml
│ ├── d365fo.tools.Types.ps1xml
│ └── readme.md
├── docs/
│ ├── Add-D365AzureStorageConfig.md
│ ├── Add-D365BroadcastMessageConfig.md
│ ├── Add-D365ModuleToRemove.md
│ ├── Add-D365RsatWifConfigAuthorityThumbprint.md
│ ├── Add-D365WindowsDefenderRules.md
│ ├── Backup-D365DevConfig.md
│ ├── Backup-D365MetaDataDir.md
│ ├── Backup-D365Runbook.md
│ ├── Backup-D365WebConfig.md
│ ├── Backup-D365WifConfig.md
│ ├── Clear-D365ActiveBroadcastMessageConfig.md
│ ├── Clear-D365BacpacObject.md
│ ├── Clear-D365BacpacTableData.md
│ ├── Clear-D365MonitorData.md
│ ├── Clear-D365TempDbTables.md
│ ├── ConvertTo-D365Dacpac.md
│ ├── Disable-D365Exception.md
│ ├── Disable-D365Flight.md
│ ├── Disable-D365IISPreload.md
│ ├── Disable-D365MaintenanceMode.md
│ ├── Disable-D365SqlChangeTracking.md
│ ├── Disable-D365User.md
│ ├── Enable-D365Exception.md
│ ├── Enable-D365Flight.md
│ ├── Enable-D365IISPreload.md
│ ├── Enable-D365MaintenanceMode.md
│ ├── Enable-D365SqlChangeTracking.md
│ ├── Enable-D365User.md
│ ├── Export-D365BacpacModelFile.md
│ ├── Export-D365Model.md
│ ├── Export-D365SecurityDetails.md
│ ├── Find-D365Command.md
│ ├── Get-D365AOTObject.md
│ ├── Get-D365ActiveAzureStorageConfig.md
│ ├── Get-D365ActiveBroadcastMessageConfig.md
│ ├── Get-D365AzureDevOpsNuget.md
│ ├── Get-D365AzureStorageConfig.md
│ ├── Get-D365AzureStorageFile.md
│ ├── Get-D365AzureStorageUrl.md
│ ├── Get-D365BacpacSqlOptions.md
│ ├── Get-D365BacpacTable.md
│ ├── Get-D365BroadcastMessage.md
│ ├── Get-D365BroadcastMessageConfig.md
│ ├── Get-D365ClickOnceTrustPrompt.md
│ ├── Get-D365CompilerResult.md
│ ├── Get-D365Database.md
│ ├── Get-D365DatabaseAccess.md
│ ├── Get-D365DecryptedWebConfig.md
│ ├── Get-D365DefaultModelForNewProjects.md
│ ├── Get-D365DotNetClass.md
│ ├── Get-D365DotNetMethod.md
│ ├── Get-D365Environment.md
│ ├── Get-D365EnvironmentSettings.md
│ ├── Get-D365EventTraceProvider.md
│ ├── Get-D365ExternalIP.md
│ ├── Get-D365Flight.md
│ ├── Get-D365IISPreload.md
│ ├── Get-D365InstalledHotfix.md
│ ├── Get-D365InstalledPackage.md
│ ├── Get-D365InstalledService.md
│ ├── Get-D365InstanceName.md
│ ├── Get-D365JsonService.md
│ ├── Get-D365Label.md
│ ├── Get-D365LabelFile.md
│ ├── Get-D365Language.md
│ ├── Get-D365LcsApiConfig.md
│ ├── Get-D365LcsApiToken.md
│ ├── Get-D365LcsAssetFile.md
│ ├── Get-D365LcsAssetValidationStatus.md
│ ├── Get-D365LcsDatabaseBackups.md
│ ├── Get-D365LcsDatabaseOperationStatus.md
│ ├── Get-D365LcsDeploymentStatus.md
│ ├── Get-D365LcsEnvironmentHistory.md
│ ├── Get-D365LcsEnvironmentMetadata.md
│ ├── Get-D365LcsEnvironmentRsatCertificate.md
│ ├── Get-D365LcsSharedAssetFile.md
│ ├── Get-D365MaintenanceMode.md
│ ├── Get-D365Model.md
│ ├── Get-D365Module.md
│ ├── Get-D365OfflineAuthenticationAdminEmail.md
│ ├── Get-D365PackageBundleDetail.md
│ ├── Get-D365PackageLabelResourceFile.md
│ ├── Get-D365PackageLabelResources.md
│ ├── Get-D365ProductInformation.md
│ ├── Get-D365RsatCertificateThumbprint.md
│ ├── Get-D365RsatPlaybackFile.md
│ ├── Get-D365RsatSoapHostname.md
│ ├── Get-D365Runbook.md
│ ├── Get-D365RunbookId.md
│ ├── Get-D365RunbookLogFile.md
│ ├── Get-D365SDPCleanUp.md
│ ├── Get-D365SDPDetails.md
│ ├── Get-D365Table.md
│ ├── Get-D365TableField.md
│ ├── Get-D365TableSequence.md
│ ├── Get-D365TablesInChangedTracking.md
│ ├── Get-D365TfsUri.md
│ ├── Get-D365TfsWorkspace.md
│ ├── Get-D365Url.md
│ ├── Get-D365User.md
│ ├── Get-D365UserAuthenticationDetail.md
│ ├── Get-D365VisualStudioCompilerResult.md
│ ├── Get-D365WebServerType.md
│ ├── Get-D365WindowsActivationStatus.md
│ ├── Import-D365AadApplication.md
│ ├── Import-D365AadUser.md
│ ├── Import-D365Bacpac.md
│ ├── Import-D365Dacpac.md
│ ├── Import-D365ExternalUser.md
│ ├── Import-D365Model.md
│ ├── Import-D365RsatSelfServiceCertificates.md
│ ├── Initialize-D365RsatCertificate.md
│ ├── Install-D365SupportingSoftware.md
│ ├── Invoke-D365AzCopyTransfer.md
│ ├── Invoke-D365AzureDevOpsNugetPush.md
│ ├── Invoke-D365AzureStorageDownload.md
│ ├── Invoke-D365AzureStorageUpload.md
│ ├── Invoke-D365BestPractice.md
│ ├── Invoke-D365CompilerResultAnalyzer.md
│ ├── Invoke-D365DBSync.md
│ ├── Invoke-D365DBSyncPartial.md
│ ├── Invoke-D365DataFlush.md
│ ├── Invoke-D365DbSyncModule.md
│ ├── Invoke-D365GenerateReportAggregateDataEntity.md
│ ├── Invoke-D365GenerateReportAggregateMeasure.md
│ ├── Invoke-D365GenerateReportConfigKey.md
│ ├── Invoke-D365GenerateReportConfigKeyGroup.md
│ ├── Invoke-D365GenerateReportDataEntity.md
│ ├── Invoke-D365GenerateReportDataEntityField.md
│ ├── Invoke-D365GenerateReportKpi.md
│ ├── Invoke-D365GenerateReportLicenseCode.md
│ ├── Invoke-D365GenerateReportMenuItem.md
│ ├── Invoke-D365GenerateReportSsrs.md
│ ├── Invoke-D365GenerateReportTable.md
│ ├── Invoke-D365GenerateReportWorkflowType.md
│ ├── Invoke-D365GenerateReports.md
│ ├── Invoke-D365InstallAzCopy.md
│ ├── Invoke-D365InstallLicense.md
│ ├── Invoke-D365InstallNuget.md
│ ├── Invoke-D365InstallSqlPackage.md
│ ├── Invoke-D365LcsApiRefreshToken.md
│ ├── Invoke-D365LcsDatabaseExport.md
│ ├── Invoke-D365LcsDatabaseRefresh.md
│ ├── Invoke-D365LcsDeployment.md
│ ├── Invoke-D365LcsEnvironmentStart.md
│ ├── Invoke-D365LcsEnvironmentStop.md
│ ├── Invoke-D365LcsUpload.md
│ ├── Invoke-D365ModuleCompile.md
│ ├── Invoke-D365ModuleFullCompile.md
│ ├── Invoke-D365ModuleLabelGeneration.md
│ ├── Invoke-D365ModuleReportsCompile.md
│ ├── Invoke-D365ProcessModule.md
│ ├── Invoke-D365ReArmWindows.md
│ ├── Invoke-D365RunbookAnalyzer.md
│ ├── Invoke-D365SCDPBundleInstall.md
│ ├── Invoke-D365SDPInstall.md
│ ├── Invoke-D365SDPInstallUDE.md
│ ├── Invoke-D365SeleniumDownload.md
│ ├── Invoke-D365SqlScript.md
│ ├── Invoke-D365SysFlushAodCache.md
│ ├── Invoke-D365SysRunnerClass.md
│ ├── Invoke-D365TableBrowser.md
│ ├── Invoke-D365VisualStudioCompilerResultAnalyzer.md
│ ├── Invoke-D365WinRmCertificateRotation.md
│ ├── New-D365Bacpac.md
│ ├── New-D365CAReport.md
│ ├── New-D365EntraIntegration.md
│ ├── New-D365ISVLicense.md
│ ├── New-D365ModuleToRemove.md
│ ├── New-D365TopologyFile.md
│ ├── Publish-D365SsrsReport.md
│ ├── Publish-D365WebResources.md
│ ├── Register-D365AzureStorageConfig.md
│ ├── Remove-D365BroadcastMessageConfig.md
│ ├── Remove-D365Database.md
│ ├── Remove-D365LcsAssetFile.md
│ ├── Remove-D365Model.md
│ ├── Remove-D365User.md
│ ├── Rename-D365ComputerName.md
│ ├── Rename-D365Instance.md
│ ├── Repair-D365BacpacModelFile.md
│ ├── Restart-D365Environment.md
│ ├── Restore-D365DevConfig.md
│ ├── Restore-D365WebConfig.md
│ ├── Send-D365BroadcastMessage.md
│ ├── Set-D365ActiveAzureStorageConfig.md
│ ├── Set-D365ActiveBroadcastMessageConfig.md
│ ├── Set-D365Admin.md
│ ├── Set-D365AzCopyPath.md
│ ├── Set-D365ClickOnceTrustPrompt.md
│ ├── Set-D365DefaultModelForNewProjects.md
│ ├── Set-D365FavoriteBookmark.md
│ ├── Set-D365FlightServiceCatalogId.md
│ ├── Set-D365LcsApiConfig.md
│ ├── Set-D365NugetPath.md
│ ├── Set-D365OfflineAuthenticationAdminEmail.md
│ ├── Set-D365RsatConfiguration.md
│ ├── Set-D365RsatTier2Crypto.md
│ ├── Set-D365SDPCleanUp.md
│ ├── Set-D365SqlPackagePath.md
│ ├── Set-D365StartPage.md
│ ├── Set-D365SysAdmin.md
│ ├── Set-D365TraceParserFileSize.md
│ ├── Set-D365WebConfigDatabase.md
│ ├── Set-D365WebServerType.md
│ ├── Set-D365WorkstationMode.md
│ ├── Start-D365Environment.md
│ ├── Start-D365EnvironmentV2.md
│ ├── Start-D365EventTrace.md
│ ├── Stop-D365Environment.md
│ ├── Stop-D365EventTrace.md
│ ├── Switch-D365ActiveDatabase.md
│ ├── Test-D365Command.md
│ ├── Test-D365DataverseConnection.md
│ ├── Test-D365EntraIntegration.md
│ ├── Test-D365FlightServiceCatalogId.md
│ ├── Test-D365LabelIdIsValid.md
│ ├── Update-D365BacpacModelFileSingleTable.md
│ └── Update-D365User.md
├── install.ps1
├── library/
│ └── d365fo.tools/
│ ├── d365fo.tools/
│ │ ├── Class1.cs
│ │ └── d365fo.tools.csproj
│ └── d365fo.tools.sln
└── wiki/
├── Azure-DevOps-Build-Configuration.md
├── Branching.md
├── Building-tools.md
├── Call-Internal-Functions.md
├── Calling-the-Table-Browser-from-the-browser.md
├── Configuration.md
├── Configure-Azure-Logic-App.md
├── Deprecation-guidelines.md
├── Do-And-Do-Not.md
├── Exception-handling.md
├── Fix-AzureStorageConfig.md
├── Getting-Started-with-GitHub.md
├── Home.md
├── How-To-Authenticate-With-LCS-API.md
├── How-To-Compile-Model.md
├── How-To-Download-Latest-Bacpac-From-Lcs.md
├── How-To-Enable-Users-In-Db.md
├── How-To-Export-Bacpac-From-Tier1.md
├── How-To-Import-Bacpac-Into-Tier1.md
├── How-To-Import-External-User-Into-Db.md
├── How-To-Import-User-Into-Db.md
├── How-To-Install-AzCopy.md
├── How-To-Install-NuGet.md
├── How-To-Install-SqlPackage.md
├── How-To-List-Models.md
├── How-To-Provision-Environment-Tier1.md
├── How-To-Register-NuGet-Source.md
├── How-To-Start-Stop-List-D365FO-Services.md
├── How-To-Transfer-Via-AzCopy.md
├── How-To-Update-Users-In-Db.md
├── How-To-Write-Wiki-Pages.md
├── Implementing-the-messaging-system.md
├── Load-individual-files-or-dot-source-the-files.md
├── Old-readme-examples.md
├── Open-the-path-where-D365FO.Tools-is-installed.md
├── Run-a-runnable-class.md
├── Troubleshoot.md
├── Tutorial-Import-Module.md
├── Tutorial-Install-Administrator.md
├── Tutorial-Install-Non-Administrator.md
├── Tutorial-List-Commands.md
├── Tutorial-Show-Help.md
├── Update-users-in-environment.md
├── Utilizing-the-configuration-system.md
├── Work-with-Azure-Storage-Account.md
├── Work-with-packages,-resource---label-files,-language-and-lables.md
├── Work-with-tables-and-fields.md
├── Working-with-the-different-D365-services.md
└── _Sidebar.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
================================================
FILE: .github/workflows/Release-Management.yml
================================================
on:
workflow_dispatch:
inputs:
gallery_publish:
description: "Publish to the PowerShell Gallery?"
default: true
required: false
type: boolean
github_release:
description: "Create a GitHub release?"
default: true
required: false
type: boolean
module_validation:
description: "Module validation?"
default: true
required: false
type: boolean
jobs:
call-tmpl-build-release:
uses: fh-inway/d365.psmodule-alm/.github/workflows/tmpl-build-release.yml@main
with:
module: 'd365fo.tools'
skippublish: not(${{ inputs.gallery_publish }})
skipghrelease: not(${{ inputs.github_release }})
skipValidation: not(${{ inputs.module_validation }})
secrets:
apikey: ${{ secrets.ApiKey }}
================================================
FILE: .github/workflows/build-manual.yml
================================================
on:
workflow_dispatch:
inputs:
skippublish:
description: "Determines if the publishing to the PowerShell Gallery is skipped"
default: $True
required: false
type: choice
options:
- $False
- $True
skipghrelease:
description: "Determines if creation of a GitHub release is skipped"
default: false
required: false
type: boolean
skipValidation:
description: "Determines if the module validation is skipped"
default: false
required: false
type: boolean
jobs:
call-tmpl-build-release:
uses: fh-inway/d365.psmodule-alm/.github/workflows/tmpl-build-release.yml@main
with:
module: 'd365fo.tools'
skippublish: ${{ inputs.skippublish }}
skipghrelease: ${{ inputs.skipghrelease }}
skipValidation: ${{ inputs.skipValidation }}
secrets:
apikey: ${{ secrets.ApiKey }}
================================================
FILE: .github/workflows/build.yml
================================================
# run the Powershell scripts in build folder as part of a GitHub Action
name: d365fo.tools-PR-Test
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
jobs:
prerequisites:
name: Prerequisites
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
shell: powershell
run: build\vsts-prerequisites.ps1
general-unit-tests:
name: Validate General Unit Tests
runs-on: windows-latest
needs: prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate.ps1 -TestGeneral $true -TestFunctions $false -Exclude "PSScriptAnalyzer.Tests.ps1"
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'General Unit Tests Results'
comment_mode: 'off'
public-functions-unit-tests:
name: Validate Public Functions using PSScriptAnalyzer Unit Tests
runs-on: windows-latest
needs: prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate-psscriptanalyzer.ps1 -TestPublic $true -TestInternal $false
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'Public Functions Unit Tests Results'
comment_mode: 'off'
internal-functions-unit-tests:
name: Validate Internal Functions using PSScriptAnalyzer Unit Tests
runs-on: windows-latest
needs: Prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate-psscriptanalyzer.ps1 -TestPublic $false -TestInternal $true
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'Internal Functions Unit Tests Results'
comment_mode: 'off'
individual-unit-tests:
name: Validate Individual Unit Tests
runs-on: windows-latest
needs: prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate.ps1 -TestGeneral $false -TestFunctions $true
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'Individual Unit Tests Results'
comment_mode: 'off'
================================================
FILE: .github/workflows/dependencies.yml
================================================
# Used to define the dependencies of the d365fo.tools PowerShell module
# in a way that can be evaluated for the GitHub dependency graph.
# See https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph
# The actual dependencies are defined in https://github.com/d365collaborative/d365fo.tools/blob/master/d365fo.tools/d365fo.tools.psd1
name: Dependencies
on:
workflow_dispatch:
jobs:
dependencies:
steps:
- name: PSFramework
uses: PowershellFrameworkCollective/psframework@9b601d25f5831569ec42747be8053d6f6a50723d # version 1.9.308
- name: Azure.Storage
uses: Azure/azure-powershell@v4.4.0-September2017 # unclear which commit/tag corresponds to https://www.powershellgallery.com/packages/Azure.Storage/4.4.0
- name: PSOAuthHelper
uses: Splaxi/PSOAuthHelper@837a2da63bf76e86f339a4e43e38df5a3b82affe # version 0.3.0
- name: ImportExcel
uses: dfinke/ImportExcel@v7.1.0
================================================
FILE: .github/workflows/update-generated-text.yml
================================================
# Run the scrips documented in https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools
# Creates a pull request with the changes
name: d365fo.tools-Generate-Text
on:
workflow_dispatch:
jobs:
generateText:
name: Generate text
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1', '**/buildtools.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: BuildTools
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\buildtools.ps1
- name: Format comment based help
shell: powershell
run: build\format-commentbasedhelp.ps1
- name: Generate parameter unit tests
shell: powershell
run: build\generate-parameterunittests.ps1
- name: Update documentation
shell: powershell
run: build\update-docs.ps1
- name: Generate Find-D365Command index
shell: powershell
run: build\generate-findcommandindex.ps1
- name: Create a pull request for changes
uses: peter-evans/create-pull-request@v7
with:
commit-message: |
🤖 Fix best practice deviations
This pull request was automatically created by the d365fo.tools-Generate-Text action'
title: '🤖 Fix best practice deviations'
body: 'This pull request was automatically created by the d365fo.tools-Generate-Text action. See [Building tools](https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools) for more information.'
branch: 'update-generated-text/pull-request-patch-for-branch-${{ github.ref_name }}'
================================================
FILE: .github/workflows/update-wiki.yml
================================================
name: Wiki Update
# Run when contents of the wiki folder are changed
on:
push:
paths:
- 'wiki/**'
- 'docs/**'
branches:
- master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Publish wiki folder to repository wiki
uses: FH-Inway/github-wiki-publish-action@rsync
with:
path: "wiki/ docs"
env:
GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
================================================
FILE: .gitignore
================================================
# ignore the settings folder and files for VSCode and PSS
.vscode/*
*.psproj
*TempPoint*
# Ignore staging info from Visual Studio
library/d365fo.tools/.vs/*
library/d365fo.tools/d365fo.tools/bin/*
library/d365fo.tools/d365fo.tools/obj/*
# ignore PowerShell Studio MetaData
d365fo.tools/d365fo.tools.psproj
d365fo.tools/d365fo.tools.psproj.bak
d365fo.tools/d365fo.tools.psprojs
d365fo.tools/d365fo.tools.psproj
# ignore the TestResults
TestResults/*
# ignore the publishing Directory
publish/*
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2018 Mötz Jensen & Rasmus Andersen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# **d365fo.tools**
A PowerShell module to handle different management tasks related to Microsoft Dynamics 365 Finance & Operations (D365FO).
Read more about D365FO on [docs.microsoft.com](https://docs.microsoft.com/en-us/dynamics365/unified-operations/fin-and-ops/index).
Available on PowerShell Gallery:
[d365fo.tools](https://www.powershellgallery.com/packages/d365fo.tools).
## Table of contents
* [Getting started](#getting-started)
* [Getting help](#getting-help)
* [Contributing](#contributing)
* [Dependencies](#dependencies)
## Getting started
### Install the latest module
```PowerShell
Install-Module -Name d365fo.tools
```
### Install without administrator privileges
```PowerShell
Install-Module -Name d365fo.tools -Scope CurrentUser
```
### List all available commands / functions
```PowerShell
Get-Command -Module d365fo.tools
```
### Update the module
```PowerShell
Update-Module -name d365fo.tools
```
### Update the module - force
```PowerShell
Update-Module -name d365fo.tools -Force
```
## Getting help
[The wiki](https://github.com/d365collaborative/d365fo.tools/wiki) contains more details about installation and also guides to help you with some common tasks. It also contains documentation for all the module's commands. Expand the wiki's `Pages` control at the top of the content sidebar to view and search the list of command documentation pages.
Another way to learn about the different cmdlets available is to install the tools onto your D365FO developer box.
You can also visit the **'docs'** folder in this repository (look at the top). Click this link [**docs**](https://github.com/d365collaborative/d365fo.tools/tree/master/docs) to jump straight inside.
Since the project started we have adopted and extended the comment based help inside each cmdlet / function. This means that every single command contains at least one fully working example on how to run it and what to expect from the cmdlet.
If you are just starting out with the module (and maybe with PowerShell as well), consider setting the [`$ConfirmPreference`](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables#confirmpreference) to `Medium` or `Low`. This will increase the number of prompts you will receive to confirm executing a command. It will help to avoid accidentally running a command that you didn't intend to run.
**Getting help inside the PowerShell console**
Getting help is as easy as writing **Get-Help CommandName**
```PowerShell
Get-Help New-D365Bacpac
```
*This will display the available default help.*
Getting the entire help is as easy as writing **Get-Help CommandName -Full**
```PowerShell
Get-Help New-D365Bacpac -Full
```
*This will display all available help content there is for the cmdlet / function*
Getting all the available examples for a given command is as easy as writing **Get-Help CommandName -Examples**
```PowerShell
Get-Help New-D365Bacpac -Examples
```
*This will display all the available **examples** for the cmdlet / function.*
We know that when you are learning about new stuff and just want to share your findings with your peers, working with help inside a PowerShell session isn't that great.
### Web based help and examples
We have implemented **platyPS** (https://github.com/PowerShell/platyPS) to generate markdown files for each cmdlet / function available in the module. These files are hosted here on github for you to consume in your web browser and the give you the look and feel of other documentation sites.
The generated help markdown files are located inside the **'docs'** folder in this repository. Click this [link](https://github.com/d365collaborative/d365fo.tools/tree/master/docs) to jump straight inside.
They are also available in the [wiki](https://github.com/d365collaborative/d365fo.tools/wiki) in the list of pages.
For sake of the sanity and just trying to help people out, we copy & pasted **all** the old examples previously available in the readme into the wiki. The page is located [here](https://github.com/d365collaborative/d365fo.tools/wiki/Old-readme-examples). We **don't** plan on keep the **"Old readme examples"** wiki up-to-date going forward. If you believe we are missing some examples that should be part of the comment based help, please create an issue.
## Contributing
Want to contribute to the project? We'd love to have you! Visit our [contributing.md](https://github.com/d365collaborative/d365fo.tools/blob/master/contributing.md) for a jump start.
## Dependencies
This module depends on other modules. The dependencies are documented in the [dependency graph](https://github.com/d365collaborative/d365fo.tools/network/dependencies) and the Dependencies section of the Package Details of the [package listing](https://www.powershellgallery.com/packages/d365fo.tools) in the PowerShell Gallery.
================================================
FILE: build/buildtools.ps1
================================================
# Installs the modules required for the automatic text generation.
# See also https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools
Write-Host "Working on the machine named: $($env:computername)"
Write-Host "The user running is: $($env:UserName)"
$modules = @("PSModuleDevelopment", "platyPS")
foreach ($item in $modules) {
$module = Get-InstalledModule -Name $item -ErrorAction SilentlyContinue
if ($null -eq $module) {
Write-Host "Installing $item" -ForegroundColor Cyan
Install-Module -Name $item -Force -Confirm:$false -Scope CurrentUser -AllowClobber -SkipPublisherCheck
}
Import-Module $item -Force
Get-Module -Name $item
}
================================================
FILE: build/filesAfter.txt
================================================
# List all files that are loaded in the postimport.ps1
# In the order they are loaded during postimport
internal\configurations\*.ps1
internal\tepp\*.tepp.ps1
internal\tepp\assignment.ps1
internal\scripts\license.ps1
internal\scripts\variables.ps1
internal\scripts\load-dotnet-assemblies.ps1
================================================
FILE: build/filesBefore.txt
================================================
# List all files that are loaded in the preimport.ps1
# In the order they are loaded during preimport
internal\scripts\enums.ps1
================================================
FILE: build/format-commentbasedhelp.ps1
================================================
# Script to format the comments/documentation of the cmdlets used for the commend based help.
# based on https://gist.github.com/Splaxi/ff7485a24f6ed9937f3e8da76b5d4840
# See also https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools
$path = "$PSScriptRoot\..\d365fo.tools"
function Get-Header ($text) {
$start = $text.IndexOf('<#')
$temp = $start - 2
if($temp -gt 0) {
$text.SubString(0, $start - 2)
}
else {
""
}
}
function Format-Help ($text) {
$start = $text.IndexOf('<#')
$end = $text.IndexOf('#>')
$help = $text.SubString($start + 2, $end - $start - 3)
$skipfirst = $null # to avoid trailing spaces
foreach ($newline in $help.Split("`n")) {
if (-not $skipfirst) { $skipfirst = $true; continue }
$trimmed = $newline.Trim()
foreach ($line in $trimmed) {
if ($line.StartsWith(".")) {
" $line"
}
else {
" $line"
}
}
}
}
function Get-Body ($text) {
$end = $text.IndexOf('#>')
$text.SubString($end, $text.Length - $end)
}
$files = New-Object System.Collections.ArrayList
$filesPublic = Get-ChildItem -Path "$path\functions\*.ps1"
$files.AddRange($filesPublic)
$filesInternal = Get-ChildItem -Path "$path\internal\functions\*.ps1"
$files.AddRange($filesInternal)
foreach ($file in $files) {
$text = ($file | Get-Content -Raw).Trim()
Set-Content -Path $file.FullName -Encoding UTF8 -Value (Get-Header $text).TrimEnd()
Add-Content -Path $file.FullName -Encoding UTF8 -Value "<#".Trim()
Add-Content -Path $file.FullName -Encoding UTF8 -Value (Format-Help $text)
Add-Content -Path $file.FullName -Encoding UTF8 -Value (Get-Body $text).TrimEnd() -NoNewline
}
================================================
FILE: build/generate-findcommandindex.ps1
================================================
# Script to generate the comment based markdown help files.
# See also https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools
$path = "$PSScriptRoot\.."
Import-Module "$path\d365fo.tools" -Force
$null = Find-D365Command -Rebuild -Verbose
================================================
FILE: build/generate-parameterunittests.ps1
================================================
# Script to generate the parameter unit tests.
# based on https://gist.github.com/Splaxi/2a24fc3c5193089ae7047ac5b8f104db
# See also https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools
$path = "$PSScriptRoot\..\d365fo.tools"
Import-Module $path -Force
$excludeCommands = @()
$commandsRaw = Get-Command -Module d365fo.tools -CommandType Function
if ($excludeCommands.Count -gt 0) {
$commands = $commandsRaw | Select-String -Pattern $excludeCommands -SimpleMatch -NotMatch
} else {
$commands = $commandsRaw
}
Remove-Item -Path "$path\tests\functions\*.Tests.ps1"
foreach ( $commandName in $commands) {
Invoke-PSMDTemplate CommandTest -OutPath "$path\tests\functions" -Name $commandName -Force
}
Get-ChildItem -Path "$path\tests\functions" -Recurse -File | Set-PSMDEncoding
================================================
FILE: build/update-docs.ps1
================================================
# Script to generate the comment based markdown help files.
# based on https://gist.github.com/Splaxi/8934e13cb35918d13af6e3a21c208b0e
# See also https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools
$path = "$PSScriptRoot\.."
Import-Module "$path\d365fo.tools" -Force
Remove-Item -Path "$path\docs\*.md"
$null = New-MarkdownHelp -Module d365fo.tools -OutputFolder "$path\docs" -Force
Get-ChildItem -Path "$path\docs" -Recurse -File | Set-PSMDEncoding
================================================
FILE: build/vsts-build.ps1
================================================
<#
This script publishes the module to the gallery.
It expects as input an ApiKey authorized to publish the module.
Insert any build steps you may need to take before publishing it here.
#>
param (
$ModuleName = 'd365fo.tools',
$Repository = 'PSGallery',
$WorkingDirectory,
$ApiKey,
[switch]
$SkipPublish,
[switch]
$AutoVersion
)
#region Handle Working Directory Defaults
if (-not $WorkingDirectory)
{
if ($env:RELEASE_PRIMARYARTIFACTSOURCEALIAS)
{
$WorkingDirectory = Join-Path -Path $env:SYSTEM_DEFAULTWORKINGDIRECTORY -ChildPath $env:RELEASE_PRIMARYARTIFACTSOURCEALIAS
}
else { $WorkingDirectory = $env:SYSTEM_DEFAULTWORKINGDIRECTORY }
}
if (-not $WorkingDirectory) { $WorkingDirectory = Split-Path $PSScriptRoot }
#endregion Handle Working Directory Defaults
# Prepare publish folder
Write-PSFMessage -Level Important -Message "Creating and populating publishing directory"
$publishDir = New-Item -Path $WorkingDirectory -Name publish -ItemType Directory
Copy-Item -Path "$WorkingDirectory\$ModuleName" -Destination $publishDir.FullName -Recurse -Force
# Create commands.ps1
$text = @()
Get-ChildItem -Path "$($publishDir.FullName)\$ModuleName\internal\functions\" -Recurse -File -Filter "*.ps1" | ForEach-Object {
$text += [System.IO.File]::ReadAllText($_.FullName)
}
Get-ChildItem -Path "$($publishDir.FullName)\$ModuleName\functions\" -Recurse -File -Filter "*.ps1" | ForEach-Object {
$text += [System.IO.File]::ReadAllText($_.FullName)
}
$text -join "`n`n" | Set-Content -Path "$($publishDir.FullName)\$ModuleName\commands.ps1"
# Create resourcesBefore.ps1
$processed = @()
$text = @()
foreach ($line in (Get-Content "$($PSScriptRoot)\filesBefore.txt" | Where-Object { $_ -notlike "#*" }))
{
if ([string]::IsNullOrWhiteSpace($line)) { continue }
$basePath = Join-Path "$($publishDir.FullName)\$ModuleName" $line
foreach ($entry in (Resolve-PSFPath -Path $basePath))
{
$item = Get-Item $entry
if ($item.PSIsContainer) { continue }
if ($item.FullName -in $processed) { continue }
$text += [System.IO.File]::ReadAllText($item.FullName)
$processed += $item.FullName
}
}
if ($text) { $text -join "`n`n" | Set-Content -Path "$($publishDir.FullName)\$ModuleName\resourcesBefore.ps1" }
# Create resourcesAfter.ps1
$processed = @()
$text = @()
foreach ($line in (Get-Content "$($PSScriptRoot)\filesAfter.txt" | Where-Object { $_ -notlike "#*" }))
{
if ([string]::IsNullOrWhiteSpace($line)) { continue }
$basePath = Join-Path "$($publishDir.FullName)\$ModuleName" $line
foreach ($entry in (Resolve-PSFPath -Path $basePath))
{
$item = Get-Item $entry
if ($item.PSIsContainer) { continue }
if ($item.FullName -in $processed) { continue }
$text += [System.IO.File]::ReadAllText($item.FullName)
$processed += $item.FullName
}
}
if ($text) { $text -join "`n`n" | Set-Content -Path "$($publishDir.FullName)\$ModuleName\resourcesAfter.ps1" }
#region Updating the Module Version
if ($AutoVersion)
{
Write-PSFMessage -Level Important -Message "Updating module version numbers."
try { [version]$remoteVersion = (Find-Module $ModuleName -Repository $Repository -ErrorAction Stop).Version }
catch
{
Stop-PSFFunction -Message "Failed to access $Repository" -EnableException $true -ErrorRecord $_
}
if (-not $remoteVersion)
{
Stop-PSFFunction -Message "Couldn't find $ModuleName on repository $Repository" -EnableException $true
}
$newBuildNumber = $remoteVersion.Build + 1
[version]$localVersion = (Import-PowerShellDataFile -Path "$($publishDir.FullName)\$ModuleName\$ModuleName.psd1").ModuleVersion
Update-ModuleManifest -Path "$($publishDir.FullName)\$ModuleName\$ModuleName.psd1" -ModuleVersion "$($localVersion.Major).$($localVersion.Minor).$($newBuildNumber)"
}
#endregion Updating the Module Version
# Publish to Gallery
if ($SkipPublish) { return }
Publish-Module -Path "$($publishDir.FullName)\$ModuleName" -NuGetApiKey $ApiKey -Force
================================================
FILE: build/vsts-prerequisites.ps1
================================================
Write-Host "Working on the machine named: $($env:computername)"
Write-Host "The user running is: $($env:UserName)"
# $modules = @("PSFramework", "Az.Storage", "AzureAd", "PSNotification", "PSOAuthHelper", "PowerShellGet", "PackageManagement","ImportExcel","PSScriptAnalyzer")
$modules = @("PSFramework", "PSScriptAnalyzer", "Az.Storage", "PSOAuthHelper", "ImportExcel")
Write-Host "Installing Pester, maximum version 4.99.99" -ForegroundColor Cyan
Install-Module "Pester" -MaximumVersion 4.99.99 -Force -Confirm:$false -Scope CurrentUser -AllowClobber -SkipPublisherCheck
foreach ($item in $modules) {
$module = Get-InstalledModule -Name $item -ErrorAction SilentlyContinue
if ($null -eq $module) {
Write-Host "Installing $item" -ForegroundColor Cyan
Install-Module -Name $item -Force -Confirm:$false -Scope CurrentUser -AllowClobber -SkipPublisherCheck
}
Import-Module $item -Force
Get-Module -Name $item
}
================================================
FILE: build/vsts-validate-psscriptanalyzer.ps1
================================================
param (
$TestPublic = $true,
$TestInternal = $true
)
# Guide for available variables and working with secrets:
# https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=powershell
# Needs to ensure things are Done Right and only legal commits to master get built
# Run internal pester tests
Write-Host "Working on the machine named: $($env:computername)"
Write-Host "The user running is: $($env:UserName)"
$modules = @("PSFramework", "PSScriptAnalyzer", "Az.Storage", "PSOAuthHelper", "ImportExcel")
foreach ($item in $modules) {
$module = Get-Module -Name $item -ErrorAction SilentlyContinue
if ($null -eq $module) {
Write-Host "Importing $item" -ForegroundColor Cyan
Import-Module $item -Force
}
}
Import-Module "Pester" -MaximumVersion 4.99.99 -Force
& "$PSScriptRoot\..\d365fo.tools\tests\pester-PSScriptAnalyzer.ps1" -TestPublic $TestPublic -TestInternal $TestInternal
================================================
FILE: build/vsts-validate.ps1
================================================
param (
$TestGeneral = $true,
$TestFunctions = $true,
$Exclude = ""
)
# Guide for available variables and working with secrets:
# https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=powershell
# Needs to ensure things are Done Right and only legal commits to master get built
# Run internal pester tests
Write-Host "Working on the machine named: $($env:computername)"
Write-Host "The user running is: $($env:UserName)"
$modules = @("PSFramework", "PSScriptAnalyzer", "Az.Storage", "PSOAuthHelper", "ImportExcel")
foreach ($item in $modules) {
$module = Get-Module -Name $item -ErrorAction SilentlyContinue
if ($null -eq $module) {
Write-Host "Importing $item" -ForegroundColor Cyan
Import-Module $item -Force
}
}
Import-Module "Pester" -MaximumVersion 4.99.99 -Force
& "$PSScriptRoot\..\d365fo.tools\tests\pester.ps1" -TestGeneral $TestGeneral -TestFunctions $TestFunctions -Exclude $Exclude
================================================
FILE: contributing.md
================================================
Here, we'll help you understand how to contribute to the project, and talk about fun stuff like styles and guidelines.
# Contributing
Let's sum this up saying that we'd **LOVE** your help. We're slowly getting the hang of running an open source project of this size but we're still learning along the way.
There are several ways to contribute:
- Create new commands (PowerShell/Dynamics 365 for Finance & Operations knowledge required)
- Report bugs (everyone can do it)
- Tests (Pester knowledge required)
- Documentation: functions, website, this guide, everything can be improved (everyone can)
- Code review (PowerShell/Dynamics 365 for Finance & Operations knowledge required)
If you wanna help out to make the module even more robust
- Standardize param names
- Create tests for existing functions
- Review existing function documentation
## Documentation
Documentation is really the area we welcome any help possible. The documentation refers to CBH (Comment Based Help). The CBH documentation is included with each command and is the content you see when you run `Get-Help Function-Name`. If any of that content is not clear enough or if the examples in the functions are not working, you should say so (e.g. raise an issue on GitHub or contact us on twitter). Even if you are a casual user or a PowerShell newbie, we need your angle to make it as straight forward and clear as possible.
## Contribute New Commands
Start out reviewing the [list of functions on in the docs folder](https://github.com/d365collaborative/d365fo.tools/tree/master/docs), or pulling the list from the module with `Get-Command -Module d365fo.tools -CommandType Function | Out-GridView`. If you find something similar already exists, open [a new issue on GitHub](https://github.com/d365collaborative/d365fo.tools/issues/new) to request an enhancement to that command. If nothing similar pops up, either ping @splaxi on twitter with your idea about the new command or open a new issue on GitHub with details or requirements you need.
## Report Bugs
[Open a new issue](https://github.com/d365collaborative/d365fo.tools/issues/new) on GitHub and fill in all the details. The title should report the affected function, followed by a brief description (e.g. _Get-D365Environment - Add property x to default view_). The provided template holds most of the details coders need to fix the issue.
## Fix Bugs
If you feel for fixing a bug, but don't know GitHub enough, the dbatools.io project has a good starting guide. We are on the same team, so instead of us writing a guide that is close to theirs - we simply point to theirs [step-by-step guide](https://dbatools.io/firstpull).
[Open a PR](https://github.com/d365collaborative/d365fo.tools/pulls) targeting ideally just one ps1 file (the PR needs to target the *master* branch), with the name of the function being fixed as a title. Everyone will chime in reviewing the code and either approve the PR or request changes. The more targeted and focused the PR, the easier to merge, the fastest to go into the next release. Keep them as simple as possible to speed up the process.
## Branching
Make sure to read our [branching guide](https://github.com/d365collaborative/d365fo.tools/wiki/Branching) on the wiki to get a good starting point.
## Automated build
If you want to get early warning about what you need to fix in the PR you want to create, you could configure your own Azure DevOps account to build from your own Github repository. Read the guide on how to utilize the same build steps as we are [here](https://github.com/d365collaborative/d365fo.tools/wiki/Azure-DevOps-Build-Configuration)
## Standardize Parameters and Variables
We chose to follow the standards below when creating parameters and variables for a function:
1) Any variable used in the parameter block must have first letter of each word capitalized. (e.g. `$FilePath`, `$BacpacPath`). This is also called [PascalCase](https://en.wikipedia.org/wiki/Camel_case).
2) Any variable used in the parameter block **is required** to be singular.
3) Any variable not part of the parameter block, that is multiple words, will follow the camelCase format. (e.g. `$currentFile`, `$hotfixManifest`)
4) Refrain from using single character variable names (e.g. `$i` or `$x`). Try to make them "readable" in the sense that if someone sees the variable name they can get a hint what it presents (e.g. `$db`, `$operatorName`).
When you are working with "objects" in D365FO, say with files, what variable name you use should be based on what operation you are doing. You can find examples of various situations in the current code of the module to see more detailed examples. As an example: in situations where you are looping over the files for a folder, try to use a plural variable name for the collection and then single or abbreviated name in the loop for each object of that collection. e.g. `foreach ($file in $files) {...`.
## Tests
Remember that tests are needed to make sure d365fo.tools code behaves properly. The ultimate goal is for any user to be able to run d365fo.tools' tests within their environment and, depending on the result, be sure everything works as expected. d365fo.tools works on a matrix of environments that will hardly be fully covered by a Continuous Integration system. That being said, we have Azure DevOps set up to run at each and every commit.
### How to write tests
To save resources and be more flexible, we split tests with tags into two main categories, "UnitTests" and "IntegrationTests". Below is a starting list of things to consider when writing your test:
- "UnitTests" do not require an instance to be up and running, and are easily the most flexible to be ran on every user computer. - "IntegrationTests" instead require one or more active instances, and there is a bit of setup to do in order to run them.
- Every one of the "IntegrationTests" may need to create a resource (e.g. a database).
- Every resource should be named with the "d365fo.toolsci_" prefix. _The test should attempt to clean up after itself leaving a pristine environment._
- Try to write tests thinking they may run in each and every user's test environment.
The d365fo.tools-templates repository holds examples, but you can also inspect/copy/cannibalize existing tests. You'll see that every test file is named with a simple convention _Verb-Noun*.Tests.ps1_, and this is required by [Pester](https://GitHub.com/pester/Pester), which is the de-facto standard for running tests in PowerShell.
Tests make sure a "contract" is made between the code and its behavior: once a test is formalized, changes to the code itself or enhancement will be written making sure existing functionality is retained, making the entire d365fo.tools experience more stable.
**Note:** This entire page is deeply inspired by the work done over in the [dbatool.io](https://github.com/sqlcollaborative/dbatools) module. Pay them a visit and learn from the very same people as we did.
================================================
FILE: d365fo.tools/bin/d365fo.tools-index.json
================================================
[
{
"CommandName": "Add-D365AzureStorageConfig",
"Description": "Adds an Azure Storage Account config to the configuration store",
"Tags": [
"Azure",
"Azure Storage",
"Config",
"Configuration",
"Token",
"Blob",
"Container"
],
"Params": [
[
"Name",
"The logical name of the Azure Storage Account you are about to registered in the configuration store",
"",
true,
"false",
""
],
[
"AccountId",
"The account id for the Azure Storage Account you want to register in the configuration store",
"",
true,
"false",
""
],
[
"AccessToken",
"The access token for the Azure Storage Account you want to register in the configuration store",
"",
true,
"false",
""
],
[
"SAS",
"The SAS key that you have created for the storage account or blob container",
"",
true,
"false",
""
],
[
"Container",
"The name of the blob container inside the Azure Storage Account you want to register in the configuration store",
"Blobname,Blob",
true,
"false",
""
],
[
"Temporary",
"Instruct the cmdlet to only temporarily add the azure storage account configuration in the configuration store",
"",
false,
"false",
"False"
],
[
"Force",
"Switch to instruct the cmdlet to overwrite already registered Azure Storage Account entry",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Save an Azure Storage Account config",
"Name": "Add-D365AzureStorageConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-D365AzureStorageConfig -Name \"UAT-Exports\" -AccountId \"1234\" -AccessToken \"dafdfasdfasdf\" -Container \"testblob\"\nThis will add an entry into the list of Azure Storage Accounts that is stored with the name \"UAT-Exports\" with AccountId \"1234\", AccessToken \"dafdfasdfasdf\" and blob container \"testblob\".\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eAdd-D365AzureStorageConfig -Name UAT-Exports -SAS \"sv2018-03-28\u0026siunlisted\u0026src\u0026sigAUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" -AccountId \"1234\" -Container \"testblob\"\nThis will add an entry into the list of Azure Storage Accounts that is stored with the name \"UAT-Exports\" with AccountId \"1234\", SAS \r\n\"sv=2018-03-28\u0026si=unlisted\u0026sr=c\u0026sig=AUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" and blob container \"testblob\".\r\nThe SAS key enables you to provide explicit access to a given blob container inside an Azure Storage Account.\r\nThe SAS key can easily be revoked and that way you have control over the access to the container and its content.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eAdd-D365AzureStorageConfig -Name UAT-Exports -SAS \"sv2018-03-28\u0026siunlisted\u0026src\u0026sigAUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" -AccountId \"1234\" -Container \"testblob\" -Temporary\nThis will add an entry into the list of Azure Storage Accounts that is stored with the name \"UAT-Exports\" with AccountId \"1234\", SAS \r\n\"sv=2018-03-28\u0026si=unlisted\u0026sr=c\u0026sig=AUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" and blob container \"testblob\".\r\nThe SAS key enables you to provide explicit access to a given blob container inside an Azure Storage Account.\r\nThe SAS key can easily be revoked and that way you have control over the access to the container and its content.\nThe configuration will only last for the rest of this PowerShell console session.",
"Syntax": "Add-D365AzureStorageConfig -Name \u003cString\u003e -AccountId \u003cString\u003e -AccessToken \u003cString\u003e -Container \u003cString\u003e [-Temporary] [-Force] [\u003cCommonParameters\u003e]\nAdd-D365AzureStorageConfig -Name \u003cString\u003e -AccountId \u003cString\u003e -SAS \u003cString\u003e -Container \u003cString\u003e [-Temporary] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Add-D365BroadcastMessageConfig",
"Description": "Adds a broadcast message config to the configuration store",
"Tags": [
"Servicing",
"Broadcast",
"Message",
"Users",
"Environment",
"Config",
"Configuration",
"ClientId",
"ClientSecret"
],
"Params": [
[
"Name",
"The logical name of the broadcast configuration you are about to register in the configuration store",
"",
true,
"false",
""
],
[
"Tenant",
"Azure Active Directory (AAD) tenant id (Guid) that the D365FO environment is connected to, that you want to send a message to",
"$AADGuid",
false,
"false",
""
],
[
"URL",
"URL / URI for the D365FO environment you want to send a message to",
"URI",
false,
"false",
""
],
[
"ClientId",
"The ClientId obtained from the Azure Portal when you created a Registered Application",
"",
false,
"false",
""
],
[
"ClientSecret",
"The ClientSecret obtained from the Azure Portal when you created a Registered Application",
"",
false,
"false",
""
],
[
"TimeZone",
"Id of the Time Zone your environment is running in\nYou might experience that the local VM running the D365FO is running another Time Zone than the computer you are running this cmdlet from\nAll available .NET Time Zones can be traversed with tab for this parameter\nThe default value is \"UTC\"",
"",
false,
"false",
"UTC"
],
[
"EndingInMinutes",
"Specify how many minutes into the future you want this message / maintenance window to last\nDefault value is 60 minutes\nThe specified StartTime will always be based on local Time Zone. If you specify a different Time Zone than the local computer is running, the start and end time will be calculated based on your \r\nselection.",
"",
false,
"false",
"60"
],
[
"OnPremise",
"Specify if environnement is an D365 OnPremise\nDefault value is \"Not set\" (= Cloud Environnement)",
"",
false,
"false",
"False"
],
[
"Temporary",
"Instruct the cmdlet to only temporarily add the broadcast message configuration in the configuration store",
"",
false,
"false",
"False"
],
[
"Force",
"Instruct the cmdlet to overwrite the broadcast message configuration with the same name",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Save a broadcast message config",
"Name": "Add-D365BroadcastMessageConfig",
"Links": [
null,
null,
null,
null,
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-D365BroadcastMessageConfig -Name \"UAT\" -Tenant \"e674da86-7ee5-40a7-b777-1111111111111\" -URL \"https://usnconeboxax1aos.cloud.onebox.dynamics.com\" -ClientId \r\n\"dea8d7a9-1602-4429-b138-111111111111\" -ClientSecret \"Vja/VmdxaLOPR+alkjfsadffelkjlfw234522\"\nThis will create a new broadcast message configuration with the name \"UAT\".\r\nIt will save \"e674da86-7ee5-40a7-b777-1111111111111\" as the Azure Active Directory guid.\r\nIt will save \"https://usnconeboxax1aos.cloud.onebox.dynamics.com\" as the D365FO environment.\r\nIt will save \"dea8d7a9-1602-4429-b138-111111111111\" as the ClientId.\r\nIt will save \"Vja/VmdxaLOPR+alkjfsadffelkjlfw234522\" as ClientSecret.\r\nIt will use the default value \"UTC\" Time Zone for converting the different time and dates.\r\nIt will use the default end time which is 60 minutes.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eAdd-D365BroadcastMessageConfig -Name \"UAT\" -OnPremise -Tenant \"https://adfs.local/adfs\" -URL \"https://ax-sandbox.d365fo.local\" -ClientId \"dea8d7a9-1602-4429-b138-111111111111\" -ClientSecret \r\n\"Vja/VmdxaLOPR+alkjfsadffelkjlfw234522\"\nThis will create a new broadcast message configuration with the name \"UAT\".\r\nIt will target an OnPremise environment.\r\nIt will save \"https://adfs.local/adfs\" as the OAuth Tenant Provider.\r\nIt will save \"https://ax-sandbox.d365fo.local\" as the D365FO environment.\r\nIt will save \"dea8d7a9-1602-4429-b138-111111111111\" as the ClientId.\r\nIt will save \"Vja/VmdxaLOPR+alkjfsadffelkjlfw234522\" as ClientSecret.\r\nIt will use the default value \"UTC\" Time Zone for converting the different time and dates.\r\nIt will use the default end time which is 60 minutes.",
"Syntax": "Add-D365BroadcastMessageConfig [-Name] \u003cString\u003e [[-Tenant] \u003cString\u003e] [[-URL] \u003cString\u003e] [[-ClientId] \u003cString\u003e] [[-ClientSecret] \u003cString\u003e] [[-TimeZone] \u003cString\u003e] [[-EndingInMinutes] \u003cInt32\u003e] [-OnPremise] [-Temporary] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Add-D365ModuleToRemove",
"Description": "Modifies an existing deployable package and adds a ModuleToRemove.txt file to it.",
"Params": [
[
"ModuleToRemove",
"Path to the ModuleToRemove.txt file that you want to have inside a deployable package",
"",
true,
"true (ByPropertyName)",
""
],
[
"DeployablePackage",
"Path to the deployable package file where the ModuleToRemove.txt file should be added",
"",
true,
"false",
""
],
[
"OutputPath",
"Path where you want the generated deployable package to be stored\nDefault value is the same as the \"DeployablePackage\" parameter",
"",
false,
"false",
"$DeployablePackage"
]
],
"Alias": "",
"Author": "Florian Hopfner (@FH-Inway)",
"Synopsis": "Adds a ModuleToRemove.txt file to a deployable package",
"Name": "Add-D365ModuleToRemove",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-D365ModuleToRemove -ModuleToRemove \"C:\\temp\\ModuleToRemove.txt\" -DeployablePackage \"C:\\temp\\DeployablePackage.zip\"\nThis will take the \"C:\\temp\\ModuleToRemove.txt\" file and add it to the \"C:\\temp\\DeployablePackage.zip\" deployable package in the \"AOSService/Scripts\" folder.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eNew-D365ModuleToRemove -Path C:\\Temp -Modules \"MyRemovedModule1\",\"MySecondRemovedModule\" | Add-D365ModuleToRemove -DeployablePackage C:\\Temp\\DeployablePackage.zip\nThis will create a new ModuleToRemove.txt file and fill in \"MyRemovedModule1\" and \"MySecondRemovedModule\" as the modules to remove. The file is then added to the \"C:\\Temp\\DeployablePackage.zip\" \r\ndeployable package.",
"Syntax": "Add-D365ModuleToRemove [-ModuleToRemove] \u003cString\u003e [-DeployablePackage] \u003cString\u003e [-OutputPath \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Add-D365RsatWifConfigAuthorityThumbprint",
"Description": "Register a certificate thumbprint in the wif.config file.\nThis can be useful for example when configuring RSAT on a local machine and add the used certificate thumbprint to that AOS.s",
"Tags": [
"RSAT",
"Certificate",
"Testing",
"Regression Suite Automation Test",
"Regression",
"Test",
"Automation"
],
"Params": [
[
"CertificateThumbprint",
"The thumbprint value of the certificate that you want to register in the wif.config file",
"",
true,
"false",
""
]
],
"Alias": "Add-D365WIFConfigAuthorityThumbprint",
"Author": "Kenny Saelen (@kennysaelen)",
"Synopsis": "Add a certificate thumbprint to the wif.config.",
"Name": "Add-D365RsatWifConfigAuthorityThumbprint",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-D365RsatWifConfigAuthorityThumbprint -CertificateThumbprint \"12312323r424\"\nThis will open the wif.config file and insert the \"12312323r424\" thumbprint value into the file.",
"Syntax": "Add-D365RsatWifConfigAuthorityThumbprint [-CertificateThumbprint] \u003cString\u003e [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Add-D365WindowsDefenderRules",
"Description": "Add rules to the Windows Defender to exclude Visual Studio, D365 Batch process, D365 Sync process, XPP related processes and SQL Server processes from scans and monitoring.\nThis will lead to performance gains because the Windows Defender stops to scan every file accessed by e.g. the MSBuild process, the cache and things around Visual Studio.\nSupports rules for VS 2015 and VS 2019.",
"Tags": [
"DevTools",
"Developer",
"Performance"
],
"Params": [
[
"Silent",
"Instruct the cmdlet to silence the output written to the console\nIf set the output will be silenced, if not set, the output will be written to the console",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Robin Kretzschmar (@darksmile92)",
"Synopsis": "Add rules to Windows Defender to enhance performance during development.",
"Name": "Add-D365WindowsDefenderRules",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-D365WindowsDefenderRules\nThis will add the most common rules to the Windows Defender as exceptions.\r\nAll output will be written to the console.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eAdd-D365WindowsDefenderRules -Silent\nThis will add the most common rules to the Windows Defender as exceptions.\r\nAll output will be silenced and not outputted to the console.",
"Syntax": "Add-D365WindowsDefenderRules [-Silent] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Backup-D365DevConfig",
"Description": "Will backup the DynamicsDevConfig.xml file located in the PackagesLocalDirectory\\Bin folder",
"Tags": [
"Web Server",
"IIS",
"IIS Express",
"Development"
],
"Params": [
[
"OutputPath",
"Path to the folder where you want the DynamicsDevConfig.xml file to be persisted\nDefault is: \"C:\\Temp\\d365fo.tools\\DevConfigBackup\"",
"",
false,
"false",
"$(Join-Path $Script:DefaultTempPath \"DevConfigBackup\")"
],
[
"Force",
"Instructs the cmdlet to overwrite the destination file if it already exists",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Sander Holvoet (@smholvoet)",
"Synopsis": "Backup the DynamicsDevConfig.xml file",
"Name": "Backup-D365DevConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-D365DevConfig\nWill locate the DynamicsDevConfig.xml file, and back it up.\r\nIt will look for the file in the PackagesLocalDirectory\\Bin folder. E.g. K:\\AosService\\PackagesLocalDirectory\\Bin\\DynamicsDevConfig.xml.\r\nIt will save the file to the default location: \"C:\\Temp\\d365fo.tools\\DevConfigBackup\".\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nDynamicsDevConfig.xml 6/29/2021 7:31:04 PM C:\\temp\\d365fo.tools\\DevConfigBackup\\DynamicsDevConfig.xml\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eBackup-D365DevConfig -Force\nWill locate the DynamicsDevConfig.xml file, back it up, and overwrite if a previous backup file exists.\r\nIt will look for the file in the PackagesLocalDirectory\\Bin folder. E.g. K:\\AosService\\PackagesLocalDirectory\\Bin\\DynamicsDevConfig.xml.\r\nIt will save the file to the default location: \"C:\\Temp\\d365fo.tools\\DevConfigBackup\".\r\nIt will overwrite any file named DynamicsDevConfig.xml in the destination folder.\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nDynamicsDevConfig.xml 6/29/2021 7:31:04 PM C:\\temp\\d365fo.tools\\DevConfigBackup\\DynamicsDevConfig.xml",
"Syntax": "Backup-D365DevConfig [[-OutputPath] \u003cString\u003e] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Backup-D365MetaDataDir",
"Description": "Creates a backup of all the files and folders from the Metadata directory",
"Tags": [
"PackagesLocalDirectory",
"MetaData",
"MetaDataDir",
"MeteDataDirectory",
"Backup",
"Development"
],
"Params": [
[
"MetaDataDir",
"Path to the Metadata directory\nDefault value is the PackagesLocalDirectory",
"",
false,
"false",
"\"$Script:MetaDataDir\""
],
[
"BackupDir",
"Path where you want the backup to be place",
"",
false,
"false",
"\"$($Script:MetaDataDir)_backup\""
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Create a backup of the Metadata directory",
"Name": "Backup-D365MetaDataDir",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-D365MetaDataDir\nThis will backup the PackagesLocalDirectory and create an PackagesLocalDirectory_backup next to it",
"Syntax": "Backup-D365MetaDataDir [[-MetaDataDir] \u003cString\u003e] [[-BackupDir] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Backup-D365Runbook",
"Description": "Backup a runbook file for you to persist it for later analysis",
"Tags": [
"Runbook",
"Backup",
"Analysis"
],
"Params": [
[
"File",
"Path to the file you want to backup",
"Path",
true,
"true (ByPropertyName)",
""
],
[
"DestinationPath",
"Path to the folder where you want the backup file to be placed",
"",
false,
"false",
"$(Join-Path $Script:DefaultTempPath \"RunbookBackups\")"
],
[
"Force",
"Instructs the cmdlet to overwrite the destination file if it already exists",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Backup a runbook file",
"Name": "Backup-D365Runbook",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-D365Runbook -File \"C:\\DynamicsAX\\InstallationRecords\\Runbooks\\Runbook_20190327.xml\"\nThis will backup the \"C:\\DynamicsAX\\InstallationRecords\\Runbooks\\Runbook_20190327.xml\".\r\nThe default destination folder is used, \"c:\\temp\\d365fo.tools\\runbookbackups\\\".\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eBackup-D365Runbook -File \"C:\\DynamicsAX\\InstallationRecords\\Runbooks\\Runbook_20190327.xml\" -Force\nThis will backup the \"C:\\DynamicsAX\\InstallationRecords\\Runbooks\\Runbook_20190327.xml\".\r\nThe default destination folder is used, \"c:\\temp\\d365fo.tools\\runbookbackups\\\".\r\nIf the file already exists in the destination folder, it will be overwritten.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365Runbook | Backup-D365Runbook\nThis will backup all runbook files found with the \"Get-D365Runbook\" cmdlet.\r\nThe default destination folder is used, \"c:\\temp\\d365fo.tools\\runbookbackups\\\".",
"Syntax": "Backup-D365Runbook [-File] \u003cString\u003e [[-DestinationPath] \u003cString\u003e] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Backup-D365WebConfig",
"Description": "Will backup the web.config file located in the AOS / IIS folder",
"Tags": [
"DEV",
"Tier2",
"DB",
"Database",
"Debug",
"JIT",
"LCS",
"Azure DB"
],
"Params": [
[
"OutputPath",
"Path to the folder where you want the web.config file to be persisted\nDefault is: \"C:\\Temp\\d365fo.tools\\WebConfigBackup\"",
"",
false,
"false",
"$(Join-Path $Script:DefaultTempPath \"WebConfigBackup\")"
],
[
"Force",
"Instructs the cmdlet to overwrite the destination file if it already exists",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Backup the web.config file",
"Name": "Backup-D365WebConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-D365WebConfig\nWill locate the web.config file, and back it up.\r\nIt will look for the file in the AOS / IIS folder. E.g. K:\\AosService\\WebRoot\\web.config.\r\nIt will save the file to the default location: \"C:\\Temp\\d365fo.tools\\WebConfigBackup\".\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nweb.config 6/29/2021 7:31:04 PM C:\\temp\\d365fo.tools\\WebConfigBackup\\web.config\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eBackup-D365WebConfig -Force\nWill locate the web.config file, back it up, and overwrite if a previous backup file exists.\r\nIt will look for the file in the AOS / IIS folder. E.g. K:\\AosService\\WebRoot\\web.config.\r\nIt will save the file to the default location: \"C:\\Temp\\d365fo.tools\\WebConfigBackup\".\r\nIt will overwrite any file named web.config in the destination folder.\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nweb.config 6/29/2021 7:31:04 PM C:\\temp\\d365fo.tools\\WebConfigBackup\\web.config",
"Syntax": "Backup-D365WebConfig [[-OutputPath] \u003cString\u003e] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Backup-D365WifConfig",
"Description": "Will backup the wif.config file located in the AOS / IIS folder",
"Params": [
[
"OutputPath",
"Path to the folder where you want the web.config file to be persisted\nDefault is: \"C:\\Temp\\d365fo.tools\\WifConfigBackup\"",
"",
false,
"false",
"$(Join-Path $Script:DefaultTempPath \"WifConfigBackup\")"
],
[
"Force",
"Instructs the cmdlet to overwrite the destination file if it already exists",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Florian Hopfner (@FH-Inway)",
"Synopsis": "Backup the wif.config file",
"Name": "Backup-D365WifConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-D365WifConfig\nWill locate the wif.config file, and back it up.\r\nIt will look for the file in the AOS / IIS folder. E.g. K:\\AosService\\WebRoot\\wif.config.\r\nIt will save the file to the default location: \"C:\\Temp\\d365fo.tools\\WifConfigBackup\".\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nwif.config 6/29/2021 7:31:04 PM C:\\temp\\d365fo.tools\\WifConfigBackup\\wif.config\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eBackup-D365WifConfig -Force\nWill locate the wif.config file, back it up, and overwrite if a previous backup file exists.\r\nIt will look for the file in the AOS / IIS folder. E.g. K:\\AosService\\WebRoot\\wif.config.\r\nIt will save the file to the default location: \"C:\\Temp\\d365fo.tools\\WifConfigBackup\".\r\nIt will overwrite any file named wif.config in the destination folder.\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nwif.config 6/29/2021 7:31:04 PM C:\\temp\\d365fo.tools\\WifConfigBackup\\wif.config",
"Syntax": "Backup-D365WifConfig [[-OutputPath] \u003cString\u003e] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Clear-D365ActiveBroadcastMessageConfig",
"Description": "Clear the active broadcast message config from the configuration store",
"Tags": [
"Servicing",
"Broadcast",
"Message",
"Users",
"Environment",
"Config",
"Configuration",
"ClientId",
"ClientSecret"
],
"Params": [
[
"Temporary",
"Instruct the cmdlet to only temporarily clear the active broadcast message configuration in the configuration store",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Clear the active broadcast message config",
"Name": "Clear-D365ActiveBroadcastMessageConfig",
"Links": [
null,
null,
null,
null,
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-D365ActiveBroadcastMessageConfig\nThis will clear the active broadcast message configuration from the configuration store.",
"Syntax": "Clear-D365ActiveBroadcastMessageConfig [-Temporary] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Clear-D365BacpacObject",
"Description": "Remove a set of sql objects from inside a bacpac/dacpac or zip file, before restoring it into your SQL Server / Azure SQL DB\n\nIt will open the file as a zip archive, locate the desired sql object and remove it, so when importing the bacpac the object will not be created\n\nThe default behavior is that you get a copy of the file, where the desired sql objects are removed",
"Params": [
[
"Path",
"Path to the bacpac/dacpac or zip file that you want to work against",
"BacpacFile,File",
true,
"false",
""
],
[
"Name",
"Name of the sql object that you want to remove\nSupports an array of names\nIf a schema name isn\u0027t supplied as part of the table name, the cmdlet will prefix it with \"dbo.\"\nSome sql objects are 3 part named, which will require that you fill them in with brackets E.g. [dbo].[SalesTable].[CustomIndexName1]\r\n- Index\r\n- Constraints",
"ObjectName",
true,
"false",
""
],
[
"ObjectType",
"Instruct the cmdlet, the type of object that you want to remove\nAs we are manipulating the bacpac file, we can only handle 1 ObjectType per run\nIf you want to remove SqlView and SqlIndex, you will have to run the cmdlet 1 time for SqlViews and 1 time for SqlIndex\nSupported types are:\r\n\"SqlView\", \"SqlTable\", \"SqlIndex\", \"SqlCheckConstraint\"",
"",
false,
"false",
""
],
[
"OutputPath",
"Path to where you want the updated bacpac/dacpac or zip file to be saved",
"",
true,
"false",
""
],
[
"ClearFromSource",
"Instruct the cmdlet to delete sql objects directly from the source file\nIt will save disk space and time, because it doesn\u0027t have to create a copy of the bacpac file, before deleting sql objects from it",
"",
true,
"false",
"False"
]
],
"Alias": "",
"Synopsis": "Clear out sql objects from inside the bacpac/dacpac or zip file",
"Name": "Clear-D365BacpacObject",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-D365BacpacObject -Path \"C:\\Temp\\AxDB.bacpac\" -ObjectType SqlView -Name \"View2\" -OutputPath \"C:\\Temp\\AXBD_Cleaned.bacpac\"\nThis will remove the SqlView \"View2\" from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"View2\" as the name of the object to delete.\r\nIt uses \"C:\\Temp\\AXBD_Cleaned.bacpac\" as the OutputPath to where it will store the updated bacpac file.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eClear-D365BacpacObject -Path \"C:\\Temp\\AxDB.bacpac\" -ObjectType SqlView -Name \"dbo.View1\",\"View2\" -OutputPath \"C:\\Temp\\AXBD_Cleaned.bacpac\"\nThis will remove the SqlView(s) \"dbo.View1\" and \"View2\" from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"dbo.View1\",\"View2\" as the names of objects to delete.\r\nIt uses \"C:\\Temp\\AXBD_Cleaned.bacpac\" as the OutputPath to where it will store the updated bacpac file.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eClear-D365BacpacObject -Path \"C:\\Temp\\AxDB.bacpac\" -ObjectType SqlIndex -Name \"[dbo].[SalesTable].[CustomIndexName1]\" -ClearFromSource\nThis will remove the SqlIndex \"CustomIndexName1\" from the dbo.SalesTable table from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"[dbo].[SalesTable].[CustomIndexName1]\" as the name of the object to delete.\nCaution:\r\nIt will remove from the source \"C:\\Temp\\AxDB.bacpac\" directly. So if the original file is important for further processing, please consider the risks carefully.",
"Syntax": "Clear-D365BacpacObject -Path \u003cString\u003e -Name \u003cString[]\u003e [-ObjectType \u003cString\u003e] -OutputPath \u003cString\u003e [\u003cCommonParameters\u003e]\nClear-D365BacpacObject -Path \u003cString\u003e -Name \u003cString[]\u003e [-ObjectType \u003cString\u003e] -ClearFromSource [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Clear-D365BacpacTableData",
"Description": "Remove all data for a table inside a bacpac/dacpac or zip file, before restoring it into your SQL Server / Azure SQL DB\n\nIt will open the file as a zip archive, locate the desired table and remove the data that otherwise would have been loaded\n\nThe default behavior is that you get a copy of the file, where the desired data is removed",
"Tags": [
"Bacpac",
"Servicing",
"Data",
"Deletion",
"SqlPackage"
],
"Params": [
[
"Path",
"Path to the bacpac/dacpac or zip file that you want to work against",
"BacpacFile,File",
true,
"false",
""
],
[
"Table",
"Name of the table that you want to delete the data for\nSupports an array of table names\nIf a schema name isn\u0027t supplied as part of the table name, the cmdlet will prefix it with \"dbo.\"\nSupports wildcard searching e.g. \"Sales*\" will delete all \"dbo.Sales*\" tables in the bacpac file",
"TableName",
true,
"false",
""
],
[
"OutputPath",
"Path to where you want the updated bacpac/dacpac or zip file to be saved",
"",
true,
"false",
""
],
[
"ClearFromSource",
"Instruct the cmdlet to delete tables directly from the source file\nIt will save disk space and time, because it doesn\u0027t have to create a copy of the bacpac file, before deleting tables from it",
"",
true,
"false",
"False"
]
],
"Alias": "Clear-D365TableDataFromBacpac",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Clear out data for a table inside the bacpac/dacpac or zip file",
"Name": "Clear-D365BacpacTableData",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-D365BacpacTableData -Path \"C:\\Temp\\AxDB.bacpac\" -Table \"BATCHJOBHISTORY\" -OutputPath \"C:\\Temp\\AXBD_Cleaned.bacpac\"\nThis will remove the data from the BatchJobHistory table from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"BATCHJOBHISTORY\" as the Table to delete data from.\r\nIt uses \"C:\\Temp\\AXBD_Cleaned.bacpac\" as the OutputPath to where it will store the updated bacpac file.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eClear-D365BacpacTableData -Path \"C:\\Temp\\AxDB.bacpac\" -Table \"dbo.BATCHHISTORY\",\"BATCHJOBHISTORY\" -OutputPath \"C:\\Temp\\AXBD_Cleaned.bacpac\"\nThis will remove the data from the dbo.BatchHistory and BatchJobHistory table from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"dbo.BATCHHISTORY\",\"BATCHJOBHISTORY\" as the Table to delete data from.\r\nIt uses \"C:\\Temp\\AXBD_Cleaned.bacpac\" as the OutputPath to where it will store the updated bacpac file.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eClear-D365BacpacTableData -Path \"C:\\Temp\\AxDB.bacpac\" -Table \"dbo.BATCHHISTORY\",\"BATCHJOBHISTORY\" -ClearFromSource\nThis will remove the data from the dbo.BatchHistory and BatchJobHistory table from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"dbo.BATCHHISTORY\",\"BATCHJOBHISTORY\" as the Table to delete data from.\nCaution:\r\nIt will remove from the source \"C:\\Temp\\AxDB.bacpac\" directly. So if the original file is important for further processing, please consider the risks carefully.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eClear-D365BacpacTableData -Path \"C:\\Temp\\AxDB.bacpac\" -Table \"CustomTableNameThatDoesNotExists\",\"BATCHJOBHISTORY\" -OutputPath \"C:\\Temp\\AXBD_Cleaned.bacpac\" -ErrorAction SilentlyContinue\nThis will remove the data from the BatchJobHistory table from inside the bacpac file.\nIt uses \"C:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"CustomTableNameThatDoesNotExists\",\"BATCHJOBHISTORY\" as the Table to delete data from.\r\nIt respects the respects the ErrorAction \"SilentlyContinue\", and will continue removing tables from the bacpac file, even when some tables are missing.\r\nIt uses \"C:\\Temp\\AXBD_Cleaned.bacpac\" as the OutputPath to where it will store the updated bacpac file.",
"Syntax": "Clear-D365BacpacTableData -Path \u003cString\u003e -Table \u003cString[]\u003e -OutputPath \u003cString\u003e [\u003cCommonParameters\u003e]\nClear-D365BacpacTableData -Path \u003cString\u003e -Table \u003cString[]\u003e -ClearFromSource [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Clear-D365MonitorData",
"Description": "Clear the monitoring data that is filling up the service drive on a Dynamics 365 for Finance \u0026 Operations",
"Tags": [
"Monitor",
"MonitorData",
"MonitorAgent",
"CleanUp",
"Servicing"
],
"Params": [
[
"Path",
"The path to where the monitoring data is located\nThe default value is the \"ServiceDrive\" (j:\\ | k:\\) and the \\MonAgentData\\SingleAgent\\Tables folder structure",
"",
false,
"true (ByValue, ByPropertyName)",
"(Join-Path $script:ServiceDrive \"\\MonAgentData\\SingleAgent\\Tables\")"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Clear the monitoring data from a Dynamics 365 for Finance \u0026 Operations machine",
"Name": "Clear-D365MonitorData",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-D365MonitorData\nThis will delete all the files that are located in the default path on the machine.\r\nSome files might be locked by a process, but the cmdlet will attemp to delete all files.",
"Syntax": "Clear-D365MonitorData [[-Path] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Clear-D365TempDbTables",
"Description": "This will cleanup X days of TempDB tables\n\nThe reason behind this process is that sp_updatestats takes significantly longer depending on the number of TempDB tables in the system",
"Params": [
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"Days",
"Temp tables older than this Days input will be dropped\nThe default value is 7 (days)",
"",
false,
"false",
"7"
],
[
"EnableException",
"This parameters disables user-friendly warnings and enables the throwing of exceptions\r\nThis is less user friendly, but allows catching exceptions in calling scripts",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Alex Kwitny (@AlexOnDAX)",
"Synopsis": "Cleanup TempDB tables in Microsoft Dynamics 365 for Finance and Operations environment",
"Name": "Clear-D365TempDbTables",
"Links": [
"https://msdyn365fo.wordpress.com/2019/12/18/cleanup-tempdb-tables-in-a-msdyn365fo-sandbox-environment/",
"https://github.com/PaulHeisterkamp/d365fo.blog/blob/master/Tools/SQL/DropTempDBTables.sql"
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-D365TempDbTables -Days 7\nThis will cleanup old tempdb tables.\r\nIt will use 7 as the Days parameter.\nThe remaining parameters will use their default values, which are provided by the tools.",
"Syntax": "Clear-D365TempDbTables [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [[-Days] \u003cInt32\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "ConvertTo-D365Dacpac",
"Description": "Convert bacpac file to dacpac\n\nIt will extract the origin.xml file from the file, and set the \u003cContainsExportedData\u003efalse\u003c/ContainsExportedData\u003e for the file to be valid to be used as a dacpac file",
"Tags": [
"Bacpac",
"Servicing",
"Data",
"SqlPackage",
"Dacpac",
"Table"
],
"Params": [
[
"Path",
"Path to the bacpac file that you want to work against\nIt can also be a zip file",
"BacpacFile,File",
true,
"false",
""
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Convert bacpac file to dacpac",
"Name": "ConvertTo-D365Dacpac",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eConvertTo-D365Dacpac -Path \"C:\\Temp\\AxDB.bacpac\"\nThis will convert the bacpac file into a dacpac file.\r\nIt will extract the origin.xml file, update it and apply it to the file.\r\nIt will rename the file into a dacpac.\nThe source file will be manipulated, so be careful to have an extra copy of the file.",
"Syntax": "ConvertTo-D365Dacpac [-Path] \u003cString\u003e [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Disable-D365Exception",
"Description": "Restore the default exception behavior of the module to not support throwing exceptions\n\nUseful when the default behavior was changed with Enable-D365Exception and the default behavior should be restored",
"Tags": [
"Exception",
"Exceptions",
"Warning",
"Warnings"
],
"Params": [
],
"Alias": "",
"Author": "Florian Hopfner (@FH-Inway)",
"Synopsis": "Disables throwing of exceptions",
"Name": "Disable-D365Exception",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-D365Exception\nThis will restore the default behavior of the module to not support throwing exceptions.",
"Syntax": "Disable-D365Exception [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Disable-D365Flight",
"Description": "Provides a method for disabling a flight in D365FO.",
"Tags": [
"Flight",
"Flighting"
],
"Params": [
[
"FlightName",
"Name of the flight to disable",
"",
true,
"false",
""
],
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN)\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
]
],
"Alias": "",
"Author": "Frank Hüther (@FrankHuether)",
"Synopsis": "Used to disable a flight",
"Name": "Disable-D365Flight",
"Links": "https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/data-entities-data-packages#features-flighted-in-data-management-and-enabling-flighted-features",
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-D365Flight -FlightName DMFEnableAllCompanyExport\nDisables the flight DMFEnableAllCompanyExport",
"Syntax": "Disable-D365Flight [-FlightName] \u003cString\u003e [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Disable-D365IISPreload",
"Description": "Reverts IIS Preload settings for the AOSService application:\n- Sets Application Pool Start Mode to OnDemand\n- Sets Idle Time-out to 0 (default)\n- Disables Preload on the AOSService website\n- Sets doAppInitAfterRestart to false (if Application Initialization is installed)\n- Restores previous IIS Preload configuration from backup if available\n- Restores or removes the initializationPage property as appropriate\n- Uninstalls IIS Application Initialization feature if it was not installed in the backup",
"Params": [
],
"Alias": "",
"Author": "Florian Hopfner (FH-Inway)",
"Synopsis": "Disables IIS Preload for the AOSService application pool and website.",
"Name": "Disable-D365IISPreload",
"Links": [
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-D365IISPreload\nDisables IIS Preload for the AOSService application pool and website, restoring previous settings from backup if available.",
"Syntax": "Disable-D365IISPreload [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Disable-D365MaintenanceMode",
"Description": "Sets the Dynamics 365 environment back into operating / running state after it has been in maintenance mode.",
"Tags": [
"MaintenanceMode",
"Maintenance",
"License",
"Configuration",
"Servicing"
],
"Params": [
[
"MetaDataDir",
"The path to the meta data directory for the environment\nDefault path is the same as the aos service PackagesLocalDirectory",
"",
false,
"false",
"\"$Script:MetaDataDir\""
],
[
"BinDir",
"The path to the bin directory for the environment\nDefault path is the same as the aos service PackagesLocalDirectory\\bin",
"",
false,
"false",
"\"$Script:BinDir\""
],
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"LogPath",
"The path where the log file(s) will be saved\nWhen running without the ShowOriginalProgress parameter, the log files will be the standard output and the error output from the underlying tool executed",
"LogDir",
false,
"false",
"$(Join-Path -Path $Script:DefaultTempPath -ChildPath \"Logs\\MaintenanceMode\")"
],
[
"ShowOriginalProgress",
"Instruct the cmdlet to show the standard output in the console\nDefault is $false which will silence the standard output",
"",
false,
"false",
"False"
],
[
"OutputCommandOnly",
"Instruct the cmdlet to only output the command that you would have to execute by hand\nWill include full path to the executable or SQL script and the needed parameters based on your selection",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@splaxi)",
"Synopsis": "Sets the environment back into operating state",
"Name": "Disable-D365MaintenanceMode",
"Links": [
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-D365MaintenanceMode\nOn VHD based environments, this will execute the Microsoft.Dynamics.AX.Deployment.Setup.exe with the default values that was pulled from the environment and put the environment into the operate / \r\nrunning state. On cloud hosted environments, a SQL script is used instead.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eDisable-D365MaintenanceMode -ShowOriginalProgress\nOn VHD based environments, this will execute the Microsoft.Dynamics.AX.Deployment.Setup.exe with the default values that was pulled from the environment and put the environment into the operate / \r\nrunning state. On cloud hosted environments, a SQL script is used instead.\r\nThe output from stopping the services will be written to the console / host.\r\nThe output from the \"deployment\" process will be written to the console / host.\r\nThe output from starting the services will be written to the console / host.",
"Syntax": "Disable-D365MaintenanceMode [[-MetaDataDir] \u003cString\u003e] [[-BinDir] \u003cString\u003e] [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [[-LogPath] \u003cString\u003e] [-ShowOriginalProgress] [-OutputCommandOnly] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Disable-D365SqlChangeTracking",
"Description": "Disables the SQL Server Change Tracking for the environments database and all tables inside the database",
"Tags": [
"MaintenanceMode",
"Maintenance",
"License",
"Configuration",
"Servicing"
],
"Params": [
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"EnableException",
"This parameters disables user-friendly warnings and enables the throwing of exceptions\r\nThis is less user friendly, but allows catching exceptions in calling scripts",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@splaxi)",
"Synopsis": "Disable Change Tracking for the environment",
"Name": "Disable-D365SqlChangeTracking",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-D365SqlChangeTracking\nThis will disable the Change Tracking on the Sql Server.",
"Syntax": "Disable-D365SqlChangeTracking [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Disable-D365User",
"Description": "Sets the enabled to 0 in the userinfo table.",
"Tags": [
"User",
"Users",
"Security",
"Configuration",
"Permission"
],
"Params": [
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"Email",
"The search string to select which user(s) should be disabled.\nThe parameter supports wildcards. E.g. -Email \"*@contoso.com*\"",
"",
false,
"true (ByPropertyName)",
"*"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Disables the user in D365FO",
"Name": "Disable-D365User",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-D365User\nThis will Disable all users for the environment\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eDisable-D365User -Email \"claire@contoso.com\"\nThis will Disable the user with the email address \"claire@contoso.com\"\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eDisable-D365User -Email \"*contoso.com\"\nThis will Disable all users that matches the search \"*contoso.com\" in their email address",
"Syntax": "Disable-D365User [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [[-Email] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Enable-D365Exception",
"Description": "Change the default exception behavior of the module to support throwing exceptions\n\nUseful when the module is used in an automated fashion, like inside Azure DevOps pipelines and large PowerShell scripts",
"Tags": [
"Exception",
"Exceptions",
"Warning",
"Warnings"
],
"Params": [
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Enable exceptions to be thrown",
"Name": "Enable-D365Exception",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-D365Exception\nThis will for the rest of the current PowerShell session make sure that exceptions will be thrown.",
"Syntax": "Enable-D365Exception [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Enable-D365Flight",
"Description": "Provides a method for enabling a flight in D365FO.",
"Tags": [
"Flight",
"Flighting"
],
"Params": [
[
"FlightName",
"Name of the flight to enable",
"",
true,
"false",
""
],
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN)\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
]
],
"Alias": "",
"Author": "Frank Hüther (@FrankHuether)",
"Synopsis": "Used to enable a flight",
"Name": "Enable-D365Flight",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-D365Flight -FlightName DMFEnableAllCompanyExport\nEnables the flight DMFEnableAllCompanyExport",
"Syntax": "Enable-D365Flight [-FlightName] \u003cString\u003e [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Enable-D365IISPreload",
"Description": "Configures IIS to preload the AOSService application, improving startup time after X++ compile.\n- Sets Application Pool Start Mode to AlwaysRunning\n- Sets Idle Time-out to 0\n- Enables Preload on the AOSService website\n- Sets doAppInitAfterRestart to true (if Application Initialization is installed)\n- Optionally sets the initializationPage to a custom base URL",
"Params": [
[
"BaseUrl",
"The base URL to use for the initializationPage setting in IIS Application Initialization.\r\nIf not provided, the function will attempt to determine the base URL automatically using Get-D365Url.\r\nExample: https://usnconeboxax1aos.cloud.onebox.dynamics.com",
"",
false,
"false",
""
]
],
"Alias": "",
"Author": "Florian Hopfner (FH-Inway)",
"Synopsis": "Enables IIS Preload for the AOSService application pool and website.",
"Name": "Enable-D365IISPreload",
"Links": [
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-D365IISPreload\nThis will enable IIS Preload and set the initializationPage using the automatically detected base URL.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eEnable-D365IISPreload -BaseUrl \"https://usnconeboxax1aos.cloud.onebox.dynamics.com\"\nThis will enable IIS Preload and set the initializationPage to https://usnconeboxax1aos.cloud.onebox.dynamics.com/?mi=DefaultDashboard",
"Syntax": "Enable-D365IISPreload [[-BaseUrl] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Enable-D365MaintenanceMode",
"Description": "Sets the Dynamics 365 environment into maintenance mode to enable the user to update the license configuration",
"Tags": [
"MaintenanceMode",
"Maintenance",
"License",
"Configuration",
"Servicing"
],
"Params": [
[
"MetaDataDir",
"The path to the meta data directory for the environment\nDefault path is the same as the aos service PackagesLocalDirectory",
"",
false,
"false",
"\"$Script:MetaDataDir\""
],
[
"BinDir",
"The path to the bin directory for the environment\nDefault path is the same as the aos service PackagesLocalDirectory\\bin",
"",
false,
"false",
"\"$Script:BinDir\""
],
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"LogPath",
"The path where the log file(s) will be saved\nWhen running without the ShowOriginalProgress parameter, the log files will be the standard output and the error output from the underlying tool executed",
"LogDir",
false,
"false",
"$(Join-Path -Path $Script:DefaultTempPath -ChildPath \"Logs\\MaintenanceMode\")"
],
[
"ShowOriginalProgress",
"Instruct the cmdlet to show the standard output in the console\nDefault is $false which will silence the standard output",
"",
false,
"false",
"False"
],
[
"OutputCommandOnly",
"Instruct the cmdlet to only output the command that you would have to execute by hand\nWill include full path to the executable or SQL script and the needed parameters based on your selection",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@splaxi)",
"Synopsis": "Sets the environment into maintenance mode",
"Name": "Enable-D365MaintenanceMode",
"Links": [
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-D365MaintenanceMode\nOn VHD based environments, this will execute the Microsoft.Dynamics.AX.Deployment.Setup.exe with the default values that was pulled from the environment and put the environment into the maintenance \r\nmode. On cloud hosted environments, a SQL script is used instead.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eEnable-D365MaintenanceMode -ShowOriginalProgress\nOn VHD based environments, this will execute the Microsoft.Dynamics.AX.Deployment.Setup.exe with the default values that was pulled from the environment and put the environment into the maintenance \r\nmode. On cloud hosted environments, a SQL script is used instead.\r\nThe output from stopping the services will be written to the console / host.\r\nThe output from the \"deployment\" process will be written to the console / host.\r\nThe output from starting the services will be written to the console / host.",
"Syntax": "Enable-D365MaintenanceMode [[-MetaDataDir] \u003cString\u003e] [[-BinDir] \u003cString\u003e] [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [[-LogPath] \u003cString\u003e] [-ShowOriginalProgress] [-OutputCommandOnly] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Enable-D365SqlChangeTracking",
"Description": "Enable the SQL Server Change Tracking for the environments database\n\nIt is a requirement for the Data Entities refresh to be able to complete correctly",
"Tags": [
"MaintenanceMode",
"Maintenance",
"License",
"Configuration",
"Servicing"
],
"Params": [
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"EnableException",
"This parameters disables user-friendly warnings and enables the throwing of exceptions\r\nThis is less user friendly, but allows catching exceptions in calling scripts",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@splaxi)",
"Synopsis": "Enable Change Tracking for the environment",
"Name": "Enable-D365SqlChangeTracking",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-D365SqlChangeTracking\nThis will enable the Change Tracking on the Sql Server.",
"Syntax": "Enable-D365SqlChangeTracking [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Enable-D365User",
"Description": "Sets the enabled to 1 in the userinfo table",
"Tags": [
"User",
"Users",
"Security",
"Configuration",
"Permission"
],
"Params": [
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN)\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"Email",
"The search string to select which user(s) should be enabled\nThe parameter supports wildcards. E.g. -Email \"*@contoso.com*\"\nDefault value is \"*\" to update all users",
"",
false,
"true (ByPropertyName)",
"*"
]
],
"Alias": "",
"Author": "Mötz Jensen",
"Synopsis": "Enables the user in D365FO",
"Name": "Enable-D365User",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-D365User\nThis will enable all users for the environment\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eEnable-D365User -Email \"claire@contoso.com\"\nThis will enable the user with the email address \"claire@contoso.com\"\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eEnable-D365User -Email \"*contoso.com\"\nThis will enable all users that matches the search \"*contoso.com\" in their email address",
"Syntax": "Enable-D365User [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [[-Email] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Export-D365BacpacModelFile",
"Description": "Extract the \"model.xml\" file from inside the bacpac file\n\nThis can be used to update SQL Server options for how the SqlPackage.exe should import the bacpac file into your SQL Server / Azure SQL DB",
"Tags": [
"Bacpac",
"Servicing",
"Data",
"SqlPackage",
"Sql Server Options",
"Collation"
],
"Params": [
[
"Path",
"Path to the bacpac file that you want to work against\nIt can also be a zip file",
"BacpacFile,File",
true,
"false",
""
],
[
"OutputPath",
"Path to where you want the updated bacpac file to be saved\nDefault value is: \"c:\\temp\\d365fo.tools\"",
"",
false,
"false",
"$Script:DefaultTempPath"
],
[
"Force",
"Switch to instruct the cmdlet to overwrite the \"model.xml\" specified in the OutputPath",
"",
false,
"false",
"False"
]
],
"Alias": "Get-D365ModelFileFromBacpac",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Extract the \"model.xml\" from the bacpac file",
"Name": "Export-D365BacpacModelFile",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-D365BacpacModelFile -Path \"c:\\Temp\\AxDB.bacpac\"\nThis will extract the \"model.xml\" file from inside the bacpac file.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"c:\\temp\\d365fo.tools\" as the OutputPath to where it will store the extracted \"bacpac.model.xml\" file.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-D365BacpacModelFile -Path \"c:\\Temp\\AxDB.bacpac\" -OutputPath \"c:\\Temp\\model.xml\" -Force\nThis will extract the \"model.xml\" file from inside the bacpac file.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses \"c:\\Temp\\model.xml\" as the OutputPath to where it will store the extracted \"model.xml\" file.\nIt will override the \"c:\\Temp\\model.xml\" if already present.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eExport-D365BacpacModelFile -Path \"c:\\Temp\\AxDB.bacpac\" | Get-D365BacpacSqlOptions\nThis will display all the SQL Server options configured in the bacpac file.\r\nFirst it will export the bacpac.model.xml from the \"c:\\Temp\\AxDB.bacpac\" file, using the Export-D365BacpacModelFile function.\r\nThe output from Export-D365BacpacModelFile will be piped into the Get-D365BacpacSqlOptions function.",
"Syntax": "Export-D365BacpacModelFile [-Path] \u003cString\u003e [[-OutputPath] \u003cString\u003e] [-Force] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Export-D365Model",
"Description": "Export a model from a Dynamics 365 for Finance \u0026 Operations environment",
"Tags": [
"ModelUtil",
"Axmodel",
"Model",
"Export"
],
"Params": [
[
"Path",
"Path to the folder where you want to save the model file",
"File",
true,
"false",
""
],
[
"Model",
"Name of the model that you want to work against",
"Modelname",
true,
"true (ByPropertyName)",
""
],
[
"Force",
"Instruct the cmdlet to overwrite already existing file",
"",
false,
"false",
"False"
],
[
"BinDir",
"The path to the bin directory for the environment\nDefault path is the same as the AOS service PackagesLocalDirectory\\bin\nDefault value is fetched from the current configuration on the machine",
"",
false,
"false",
"\"$Script:PackageDirectory\\bin\""
],
[
"MetaDataDir",
"The path to the meta data directory for the environment\nDefault path is the same as the aos service PackagesLocalDirectory",
"",
false,
"false",
"\"$Script:MetaDataDir\""
],
[
"LogPath",
"The path where the log file(s) will be saved\nWhen running without the ShowOriginalProgress parameter, the log files will be the standard output and the error output from the underlying tool executed",
"LogDir",
false,
"false",
"$(Join-Path -Path $Script:DefaultTempPath -ChildPath \"Logs\\ModelUtilExport\")"
],
[
"ShowOriginalProgress",
"Instruct the cmdlet to show the standard output in the console\nDefault is $false which will silence the standard output",
"",
false,
"false",
"False"
],
[
"OutputCommandOnly",
"Instruct the cmdlet to only output the command that you would have to execute by hand\nWill include full path to the executable and the needed parameters based on your selection",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Export a model from Dynamics 365 for Finance \u0026 Operations",
"Name": "Export-D365Model",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-D365Model -Path c:\\temp\\d365fo.tools -Model CustomModelName\nThis will export the \"CustomModelName\" model from the default PackagesLocalDirectory path.\r\nIt export the model to the \"c:\\temp\\d365fo.tools\" location.",
"Syntax": "Export-D365Model [-Path] \u003cString\u003e [-Model] \u003cString\u003e [-Force] [[-BinDir] \u003cString\u003e] [[-MetaDataDir] \u003cString\u003e] [[-LogPath] \u003cString\u003e] [-ShowOriginalProgress] [-OutputCommandOnly] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Export-D365SecurityDetails",
"Description": "Extracts and partitions the security details from an User Interface Security file into the same structure as AOT security files",
"Tags": [
"Security",
"Configuration",
"Permission",
"Development"
],
"Params": [
[
"FilePath",
"Path to the User Interface Security XML file you want to work against",
"Path",
true,
"false",
""
],
[
"OutputDirectory",
"Path to the folder where the cmdlet will output and structure the details from the file.\r\nThe cmdlet will create a sub folder named like the input file.\nDefault value is: \"C:\\temp\\d365fo.tools\\security-extraction\"",
"Output",
false,
"false",
"C:\\temp\\d365fo.tools\\security-extraction"
]
],
"Alias": "",
"Author": "Mötz Jensen (@splaxi)",
"Synopsis": "Extract details from a User Interface Security file",
"Name": "Export-D365SecurityDetails",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-D365SecurityDetails -FilePath C:\\temp\\d365fo.tools\\SecurityDatabaseCustomizations.xml\nThis will grab all the details inside the \"C:\\temp\\d365fo.tools\\SecurityDatabaseCustomizations.xml\" file and extract that into the default path \"C:\\temp\\d365fo.tools\\security-extraction\"",
"Syntax": "Export-D365SecurityDetails [-FilePath] \u003cString\u003e [[-OutputDirectory] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Find-D365Command",
"Description": "Finds d365fo.tools commands searching through the inline help text, building a consolidated json index and querying it because Get-Help is too slow",
"Tags": [
"Find",
"Help",
"Command"
],
"Params": [
[
"Pattern",
"Searches help for all commands in d365fo.tools for the specified pattern and displays all results",
"",
false,
"false",
""
],
[
"Tag",
"Finds all commands tagged with this auto-populated tag",
"",
false,
"false",
""
],
[
"Author",
"Finds all commands tagged with this author",
"",
false,
"false",
""
],
[
"MinimumVersion",
"Finds all commands tagged with this auto-populated minimum version",
"",
false,
"false",
""
],
[
"MaximumVersion",
"Finds all commands tagged with this auto-populated maximum version",
"",
false,
"false",
""
],
[
"Rebuild",
"Rebuilds the index",
"",
false,
"false",
"False"
],
[
"EnableException",
"By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
"Silent",
false,
"false",
"False"
],
[
"WhatIf",
"Displays what would happen if the command is run",
"wi",
false,
"false",
""
],
[
"Confirm",
"Confirms overwrite of index",
"cf",
false,
"false",
""
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Finds d365fo.tools commands searching through the inline help text",
"Name": "Find-D365Command",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-D365Command \"snapshot\"\nFor lazy typers: finds all commands searching the entire help for \"snapshot\"\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-D365Command -Pattern \"snapshot\"\nFor rigorous typers: finds all commands searching the entire help for \"snapshot\"\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-D365Command -Tag copy\nFinds all commands tagged with \"copy\"\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-D365Command -Tag copy,user\nFinds all commands tagged with BOTH \"copy\" and \"user\"\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eFind-D365Command -Author Mötz\nFinds every command whose author contains \"Mötz\"\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eFind-D365Command -Author Mötz -Tag copy\nFinds every command whose author contains \"Mötz\" and it tagged as \"copy\"\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eFind-D365Command -Pattern snapshot -Rebuild\nFinds all commands searching the entire help for \"snapshot\", rebuilding the index (good for developers)",
"Syntax": "Find-D365Command [[-Pattern] \u003cString\u003e] [[-Tag] \u003cString[]\u003e] [[-Author] \u003cString\u003e] [[-MinimumVersion] \u003cString\u003e] [[-MaximumVersion] \u003cString\u003e] [-Rebuild] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365ActiveAzureStorageConfig",
"Description": "Get active Azure Storage Account configuration object from the configuration store",
"Tags": [
"Azure",
"Azure Storage",
"Config",
"Configuration",
"Token",
"Blob",
"Container"
],
"Params": [
[
"OutputAsPsCustomObject",
"Instruct the cmdlet to return a PsCustomObject object",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get active Azure Storage Account configuration",
"Name": "Get-D365ActiveAzureStorageConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365ActiveAzureStorageConfig\nThis will get the active Azure Storage configuration.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365ActiveAzureStorageConfig -OutputAsPsCustomObject\nThis will get the active Azure Storage configuration.\r\nThe object will be output as a PsCustomObject, for you to utilize across your scripts.",
"Syntax": "Get-D365ActiveAzureStorageConfig [-OutputAsPsCustomObject] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365ActiveBroadcastMessageConfig",
"Description": "Get active broadcast message configuration from the configuration store",
"Tags": [
"Servicing",
"Message",
"Users",
"Environment",
"Config",
"Configuration",
"ClientId",
"ClientSecret"
],
"Params": [
[
"OutputAsHashtable",
"Instruct the cmdlet to return a hastable object",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get active broadcast message configuration",
"Name": "Get-D365ActiveBroadcastMessageConfig",
"Links": [
null,
null,
null,
null,
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365ActiveBroadcastMessageConfig\nThis will get the active broadcast message configuration.",
"Syntax": "Get-D365ActiveBroadcastMessageConfig [-OutputAsHashtable] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365AOTObject",
"Description": "Enables you to search for different AOT objects",
"Params": [
[
"Path",
"Path to the package that you want to work against",
"PackageDirectory",
true,
"true (ByPropertyName)",
""
],
[
"ObjectType",
"The type of AOT object you\u0027re searching for",
"Type",
false,
"false",
"@(\"AxClass\")"
],
[
"Name",
"Name of the object that you\u0027re looking for\nAccepts wildcards for searching. E.g. -Name \"Work*status\"\nDefault value is \"*\" which will search for all objects",
"",
false,
"false",
"*"
],
[
"SearchInPackages",
"Switch to instruct the cmdlet to search in packages directly instead\r\nof searching in the XppMetaData directory under a given package",
"",
false,
"false",
"False"
],
[
"IncludePath",
"Switch to instruct the cmdlet to include the path for the object found",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Search for AOT object",
"Name": "Get-D365AOTObject",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365AOTObject -Name *flush* -ObjectType AxClass -Path \"C:\\AOSService\\PackagesLocalDirectory\\ApplicationFoundation\"\nThis will search inside the ApplicationFoundation package for all AxClasses that matches the search *flush*.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365AOTObject -Name *flush* -ObjectType AxClass -IncludePath -Path \"C:\\AOSService\\PackagesLocalDirectory\\ApplicationFoundation\"\nThis will search inside the ApplicationFoundation package for all AxClasses that matches the search *flush* and include the full path to the files.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365InstalledPackage -Name Application* | Get-D365AOTObject -Name *flush* -ObjectType AxClass\nThis searches for all packages that matches Application* and pipes them into Get-D365AOTObject which will search for all AxClasses that matches the search *flush*.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-D365AOTObject -Path \"C:\\AOSService\\PackagesLocalDirectory\\*\" -Name *flush* -ObjectType AxClass -SearchInPackages\nThis is an advanced example and shouldn\u0027t be something you resolve to every time.\nThis will search across all packages and will look for the all AxClasses that matches the search *flush*.\r\nIt will NOT search in the XppMetaData directory for each package.\nThis can stress your system.",
"Syntax": "Get-D365AOTObject [-Path] \u003cString\u003e [[-ObjectType] \u003cString[]\u003e] [[-Name] \u003cString\u003e] [-SearchInPackages] [-IncludePath] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365AzureDevOpsNuget",
"Description": "Get Azure DevOps nugets from a feed, to list all available details",
"Params": [
[
"Url",
"The Azure DevOps url that you want to work against\nIt needs to be the full url for the organization and project, e.g. \"https://dev.azure.com/Contoso/Financials\" - where Contoso is the organization and the Financials is the project.",
"Uri",
true,
"false",
""
],
[
"FeedName",
"Name of the feed that you want to work against\nThe feed name is found under the Artifacts area in Azure DevOps",
"",
true,
"false",
""
],
[
"PeronalAccessToken",
"The Personal Access Token that you need to provide for the cmdlet to be able to communicate with the Azure DevOps REST services\nThe Personal Access Token is configured via the Azure DevOps portal, on your own account",
"",
true,
"false",
""
],
[
"Name",
"Name of the package / nuget that you are searching for\nSupports wildcard searching e.g. \"*platform*\" will output all packages / nugets that matches the search pattern\nDefault value is \"*\" which will search for all packages / nugets",
"PackageName",
false,
"false",
"*"
],
[
"Latest",
"Instruct the cmdlet to only fetch the latest package / nuget based on the version (highest)",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get Azure DevOps nugets",
"Name": "Get-D365AzureDevOpsNuget",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365AzureDevOpsNuget -Uri \"https://dev.azure.com/Contoso/Financials\" -FeedName \"AASBuild365\" -PeronalAccessToken \"m9o7jfuch0huJ0YP2W46tTB90TQrMv0rcoZNaueBs3TLy68vF4Ny\"\nThis will list all packages / nugets from the Azure DevOps feed. Foreach packacge, it will list all available versions.\r\nThe http request will be going to the Uri \"https://dev.azure.com/Contoso/Financials\".\r\nThe feed is identified by the FeedName \"AASBuild365\".\r\nThe request will authenticate with the PeronalAccessToken \"m9o7jfuch0huJ0YP2W46tTB90TQrMv0rcoZNaueBs3TLy68vF4Ny\"\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365AzureDevOpsNuget -Uri \"https://dev.azure.com/Contoso/Financials\" -FeedName \"AASBuild365\" -PeronalAccessToken \"m9o7jfuch0huJ0YP2W46tTB90TQrMv0rcoZNaueBs3TLy68vF4Ny\" -Latest\nThis will list all packages / nugets from the Azure DevOps feed. Foreach packacge, it will only list the latest version (highest).\r\nThe http request will be going to the Uri \"https://dev.azure.com/Contoso/Financials\".\r\nThe feed is identified by the FeedName \"AASBuild365\".\r\nThe request will authenticate with the PeronalAccessToken \"m9o7jfuch0huJ0YP2W46tTB90TQrMv0rcoZNaueBs3TLy68vF4Ny\"\r\nThe cmdlet will only output the latest version by the Latest switch.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$currentNugets = Get-D365AzureDevOpsNuget -Uri \"https://dev.azure.com/Contoso/Financials\" -FeedName \"AASBuild365\" -PeronalAccessToken \"m9o7jfuch0huJ0YP2W46tTB90TQrMv0rcoZNaueBs3TLy68vF4Ny\" \r\n-Latest\nPS C:\\\u003e foreach ($item in $currentNugets) {\r\nPS C:\\\u003e $lcsNugets = Get-D365LcsAssetFile -FileType NuGetPackage -AssetFilename \"$($item.Name)*\"\r\nPS C:\\\u003e foreach ($itemInner in $lcsNugets) {\r\nPS C:\\\u003e if ($itemInner.FileName -Match \"\\d+\\.\\d+\\.\\d+\\.\\d+\") {\r\nPS C:\\\u003e if ($([Version]$Matches[0]) -gt [Version]$item.Version) {\r\nPS C:\\\u003e $itemInner\r\nPS C:\\\u003e }\r\nPS C:\\\u003e }\r\nPS C:\\\u003e }\r\nPS C:\\\u003e }\nThis will fetch all latest nugets from the Azure DevOps artifacts feed (nuget).\r\nFor each nuget found, it will fetch matching nugets from the LCS Asset Library and return those that have a higher version.\nThis can be used to automatically download and push the latest nuget from LCS to Azure DevOps.\r\nNeeds to be put into work with Invoke-D365AzureDevOpsNugetPush",
"Syntax": "Get-D365AzureDevOpsNuget [-Url] \u003cString\u003e [-FeedName] \u003cString\u003e [-PeronalAccessToken] \u003cString\u003e [[-Name] \u003cString\u003e] [-Latest] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365AzureStorageConfig",
"Description": "Get all Azure Storage Account configuration objects from the configuration store",
"Tags": [
"Azure",
"Azure Storage",
"Config",
"Configuration",
"Token",
"Blob",
"Container"
],
"Params": [
[
"Name",
"The name of the Azure Storage Account you are looking for\nDefault value is \"*\" to display all Azure Storage Account configs",
"",
false,
"false",
"*"
],
[
"OutputAsHashtable",
"Instruct the cmdlet to return a hastable object",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get Azure Storage Account configs",
"Name": "Get-D365AzureStorageConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365AzureStorageConfig\nThis will show all Azure Storage Account configs\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365AzureStorageConfig -OutputAsHashtable\nThis will show all Azure Storage Account configs.\r\nEvery object will be output as a hashtable, for you to utilize as parameters for other cmdlets.",
"Syntax": "Get-D365AzureStorageConfig [[-Name] \u003cString\u003e] [-OutputAsHashtable] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365AzureStorageFile",
"Description": "Get information for files from an Azure Storage Account",
"Tags": [
"Azure",
"Azure Storage",
"Token",
"Blob",
"File",
"Container"
],
"Params": [
[
"AccountId",
"Storage Account Name / Storage Account Id where file information should be retrieved from",
"",
false,
"false",
"$Script:AzureStorageAccountId"
],
[
"AccessToken",
"The token that has the needed permissions for the search action",
"",
false,
"false",
"$Script:AzureStorageAccessToken"
],
[
"SAS",
"The SAS key for the storage account or blob container",
"",
false,
"false",
"$Script:AzureStorageSAS"
],
[
"Container",
"Name of the blob container inside the storage account where file information should be retrieved from",
"Blobname,Blob",
false,
"false",
"$Script:AzureStorageContainer"
],
[
"Name",
"Name of the files information should be retrieved for\nAccepts wildcards for searching. E.g. -Name \"Application*Adaptor\"\nDefault value is \"*\" which will search for all files",
"FileName",
false,
"false",
"*"
],
[
"Latest",
"Instruct the cmdlet to only fetch the information of the latest file from the Azure Storage Account",
"GetLatest",
true,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get file information from Azure Storage",
"Name": "Get-D365AzureStorageFile",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365AzureStorageFile -AccountId \"miscfiles\" -AccessToken \"xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51\" -Container \"backupfiles\"\nThis will get information for all files in the blob container \"backupfiles\".\r\nIt will use the AccessToken \"xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51\" to gain access.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365AzureStorageFile -AccountId \"miscfiles\" -AccessToken \"xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51\" -Container \"backupfiles\" -Latest\nThis will get information for the latest (newest) file from the blob container \"backupfiles\".\r\nIt will use the AccessToken \"xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51\" to gain access to the container.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365AzureStorageFile -AccountId \"miscfiles\" -AccessToken \"xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51\" -Container \"backupfiles\" -Name \"*UAT*\"\nThis will get information for all files in the blob container \"backupfiles\" that fits the \"*UAT*\" search value.\r\nIt will use the AccessToken \"xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51\" to gain access to the container.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-D365AzureStorageFile -AccountId \"miscfiles\" -SAS \"sv2018-03-28\u0026siunlisted\u0026src\u0026sigAUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" -Container \"backupfiles\" -Latest\nThis will get information for the latest (newest) file from the blob container \"backupfiles\".\r\nIt will use the SAS key \"sv2018-03-28\u0026siunlisted\u0026src\u0026sigAUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" to gain access to the container.",
"Syntax": "Get-D365AzureStorageFile [-AccountId \u003cString\u003e] [-AccessToken \u003cString\u003e] [-SAS \u003cString\u003e] [-Container \u003cString\u003e] [-Name \u003cString\u003e] [\u003cCommonParameters\u003e]\nGet-D365AzureStorageFile [-AccountId \u003cString\u003e] [-AccessToken \u003cString\u003e] [-SAS \u003cString\u003e] [-Container \u003cString\u003e] -Latest [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365AzureStorageUrl",
"Description": "Get a valid blob container url from an Azure Storage Account",
"Tags": [
"Azure",
"Azure Storage",
"Token",
"Blob",
"File",
"Container",
"LCS",
"Asset",
"Bacpac",
"Backup"
],
"Params": [
[
"AccountId",
"Storage Account Name / Storage Account Id you want to work against",
"",
false,
"false",
"$Script:AzureStorageAccountId"
],
[
"SAS",
"The SAS key that you have created for the storage account or blob container",
"",
false,
"false",
"$Script:AzureStorageSAS"
],
[
"Container",
"Name of the blob container inside the storage account you want to work against",
"Blobname,Blob",
false,
"false",
"$Script:AzureStorageContainer"
],
[
"OutputAsHashtable",
"Instruct the cmdlet to return a hastable object",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get a blob Url from Azure Storage account",
"Name": "Get-D365AzureStorageUrl",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365AzureStorageUrl -AccountId \"miscfiles\" -SAS \"sv2018-03-28\u0026siunlisted\u0026src\u0026sigAUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" -Container \"backupfiles\"\nThis will generate a valid Url for the blob container in the Azure Storage Account.\r\nIt will use the AccountId \"miscfiles\" as the name of the storage account.\r\nIt will use the SAS key \"sv2018-03-28\u0026siunlisted\u0026src\u0026sigAUOpdsfpoWE976ASDhfjkasdf(5678sdfhk\" to add the SAS token/key to the Url.\r\nIt will use the Container \"backupfiles\" as the container name in the Url.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365AzureStorageUrl\nThis will generate a valid Url for the blob container in the Azure Storage Account.\r\nIt will use the default values that are configured using the Set-D365ActiveAzureStorageConfig cmdlet and view using the Get-D365ActiveAzureStorageConfig cmdlet.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365AzureStorageUrl -OutputAsHashtable\nThis will generate a valid Url for the blob container in the Azure Storage Account.\r\nIt will use the default values that are configured using the Set-D365ActiveAzureStorageConfig cmdlet and view using the Get-D365ActiveAzureStorageConfig cmdlet.\nThe output object will be a Hashtable, which you can use as a parameter for other cmdlets.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$DestinationParms = Get-D365AzureStorageUrl -OutputAsHashtable\nPS C:\\\u003e $BlobFileDetails = Get-D365LcsDatabaseBackups -Latest | Invoke-D365AzCopyTransfer @DestinationParms\r\nPS C:\\\u003e $BlobFileDetails | Invoke-D365AzCopyTransfer -DestinationUri \"C:\\Temp\" -DeleteOnTransferComplete\nThis will transfer the lastest backup file from LCS Asset Library to your local \"C:\\Temp\".\r\nIt will get a destination Url, for it to transfer the backup file between the LCS storage account and your own.\r\nThe newly transfered file, that lives in your own storage account, will then be downloaded to your local \"c:\\Temp\".\nAfter the file has been downloaded to your local \"C:\\Temp\", it will be deleted from your own storage account.",
"Syntax": "Get-D365AzureStorageUrl [[-AccountId] \u003cString\u003e] [[-SAS] \u003cString\u003e] [[-Container] \u003cString\u003e] [-OutputAsHashtable] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365BacpacSqlOptions",
"Description": "Extract the SQL Server options that are listed inside the model.xml file originating from a bacpac file",
"Tags": [
"Bacpac",
"Servicing",
"Data",
"SqlPackage",
"Sql Server Options",
"Collation"
],
"Params": [
[
"Path",
"Path to the extracted model.xml file that you want to work against",
"File,ModelFile",
false,
"true (ByPropertyName)",
""
]
],
"Alias": "Get-D365SqlOptionsFromBacpacModelFile",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get the SQL Server options from the bacpac model.xml file",
"Name": "Get-D365BacpacSqlOptions",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365BacpacSqlOptions -Path \"c:\\temp\\d365fo.tools\\bacpac.model.xml\"\nThis will display all the SQL Server options configured in the bacpac model file.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-D365BacpacModelFile -Path \"c:\\Temp\\AxDB.bacpac\" | Get-D365BacpacSqlOptions\nThis will display all the SQL Server options configured in the bacpac file.\r\nFirst it will export the model.xml from the \"c:\\Temp\\AxDB.bacpac\" file, using the Export-D365BacpacModelFile function.\r\nThe output from Export-D365BacpacModelFile will be piped into the Get-D365BacpacSqlOptions function.",
"Syntax": "Get-D365BacpacSqlOptions [[-Path] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365BacpacTable",
"Description": "Get tables and their metadata from the bacpac file\n\nMetadata as in original size and compressed size, which are what size the bulk files are and will only indicate what you can expect of the table size",
"Tags": [
"Bacpac",
"Servicing",
"Data",
"SqlPackage",
"Table",
"Size",
"Troubleshooting"
],
"Params": [
[
"Path",
"Path to the bacpac file that you want to work against\nIt can also be a zip file",
"BacpacFile,File",
true,
"false",
""
],
[
"Table",
"Name of the table that you want to delete the data for\nSupports an array of table names\nIf a schema name isn\u0027t supplied as part of the table name, the cmdlet will prefix it with \"dbo.\"\nSupports wildcard searching e.g. \"Sales*\" will locate all \"dbo.Sales*\" tables in the bacpac file",
"",
false,
"false",
"*"
],
[
"Top",
"Instruct the cmdlet with how many tables you want returned\nDefault is [int]::max, which translates into all tables present inside the bapcac file",
"",
false,
"false",
"2147483647"
],
[
"SortSizeAsc",
"Instruct the cmdlet to sort the output by size (original) ascending",
"",
false,
"false",
"False"
],
[
"SortSizeDesc",
"Instruct the cmdlet to sort the output by size (original) descending",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get tables from the bacpac file",
"Name": "Get-D365BacpacTable",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\"\nThis will return all tables from inside the bacpac file.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"*\" as the Table parameter, to output all tables.\r\nIt uses the default value \"[int]::max\" as the Top parameter, to output all tables.\r\nIt uses the default sort, which is by name acsending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\nax.DBVERSION 62 B 52 B 1\r\ncrt.RETAILUPGRADEHISTORY 13,49 MB 13,41 MB 3\r\ndbo.__AOSMESSAGEREGISTRATION 1,80 KB 540 B 2\r\ndbo.__AOSSTARTUPVERSION 4 B 6 B 1\r\ndbo.ACCOUNTINGDISTRIBUTION 48,60 MB 4,50 MB 95\r\ndbo.ACCOUNTINGEVENT 11,16 MB 1,51 MB 128\r\ndbo.AGREEMENTPARAMETERS_RU 366 B 113 B 1\r\ndbo.AIFSQLCDCENABLEDTABLES 13,63 KB 2,19 KB 1\r\ndbo.AIFSQLCHANGETRACKINGENABLEDTABLES 9,89 KB 1,42 KB 1\r\ndbo.AIFSQLCTTRIGGERS 44,75 KB 6,29 KB 1\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\" -SortSizeAsc\nThis will return all tables from inside the bacpac file, sorted by the original size, ascending.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"*\" as the Table parameter, to output all tables.\r\nIt uses the default value \"[int]::max\" as the Top parameter, to output all tables.\r\nIt uses the SortSizeAsc parameter, which is by original size acsending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\ndbo.__AOSSTARTUPVERSION 4 B 6 B 1\r\ndbo.SYSSORTORDER 20 B 20 B 1\r\ndbo.SECURITYDATABASESETTINGS 20 B 12 B 1\r\ndbo.SYSPOLICYSEQUENCEGROUP 24 B 10 B 1\r\ndbo.SYSFILESTOREPARAMETERS 26 B 10 B 1\r\ndbo.SYSHELPCPSSETUP 28 B 15 B 1\r\ndbo.DATABASELOGPARAMETERS 28 B 10 B 1\r\ndbo.FEATUREMANAGEMENTPARAMETERS 28 B 10 B 1\r\ndbo.AIFSQLCTVERSION 28 B 24 B 1\r\ndbo.SYSHELPSETUP 28 B 15 B 1\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\" -SortSizeDesc\nThis will return all tables from inside the bacpac file, sorted by the original size, descending.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"*\" as the Table parameter, to output all tables.\r\nIt uses the default value \"[int]::max\" as the Top parameter, to output all tables.\r\nIt uses the SortSizeDesc parameter, which is by original size descending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\ndbo.TSTIMESHEETLINESTAGING 35,31 GB 2,44 GB 9077\r\ndbo.RESROLLUP 13,30 GB 367,19 MB 3450\r\ndbo.PROJECTSTAGING 11,31 GB 508,70 MB 2929\r\ndbo.TSTIMESHEETTABLESTAGING 5,93 GB 246,65 MB 1564\r\ndbo.BATCHHISTORY 5,80 GB 234,99 MB 1529\r\ndbo.HCMPOSITIONHIERARCHYSTAGING 5,16 GB 222,18 MB 1358\r\ndbo.ERLCSFILEASSETTABLE 3,15 GB 217,68 MB 302\r\ndbo.EVENTINBOX 2,92 GB 105,63 MB 747\r\ndbo.HCMPOSITIONV2STAGING 2,79 GB 200,27 MB 755\r\ndbo.HCMEMPLOYEESTAGING 2,49 GB 218,69 MB 677\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\" -SortSizeDesc -Top 5\nThis will return all tables from inside the bacpac file, sorted by the original size, descending.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"*\" as the Table parameter, to output all tables.\r\nIt uses the value 5 as the Top parameter, to output only 5 tables, based on the sorting selected.\r\nIt uses the SortSizeDesc parameter, which is by original size descending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\ndbo.TSTIMESHEETLINESTAGING 35,31 GB 2,44 GB 9077\r\ndbo.RESROLLUP 13,30 GB 367,19 MB 3450\r\ndbo.PROJECTSTAGING 11,31 GB 508,70 MB 2929\r\ndbo.TSTIMESHEETTABLESTAGING 5,93 GB 246,65 MB 1564\r\ndbo.BATCHHISTORY 5,80 GB 234,99 MB 1529\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\" -Table \"Sales*\"\nThis will return all tables which matches the \"Sales*\" wildcard search from inside the bacpac file.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"Sales*\" as the Table parameter, to output all tables that matches the wildcard pattern.\r\nIt uses the default value \"[int]::max\" as the Top parameter, to output all tables.\r\nIt uses the default sort, which is by name acsending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\ndbo.SALESPARAMETERS 4,29 KB 310 B 1\r\ndbo.SALESPARMUPDATE 273,48 KB 24,21 KB 1\r\ndbo.SALESQUOTATIONTOLINEPARAMETERS 4,18 KB 596 B 1\r\ndbo.SALESSUMMARYPARAMETERS 2,95 KB 425 B 1\r\ndbo.SALESTABLE 1,20 KB 313 B 1\r\ndbo.SALESTABLE_W 224 B 60 B 1\r\ndbo.SALESTABLE2LINEPARAMETERS 4,46 KB 637 B 1\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\" -Table \"Sales*\",\"CUSTINVOICE*\"\nThis will return all tables which matches the \"Sales*\" and \"CUSTINVOICE*\" wildcard searches from inside the bacpac file.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"Sales*\" and \"CUSTINVOICE*\" as the Table parameter, to output all tables that matches the wildcard pattern.\r\nIt uses the default value \"[int]::max\" as the Top parameter, to output all tables.\r\nIt uses the default sort, which is by name acsending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\ndbo.CUSTINVOICEJOUR 2,01 MB 118,87 KB 1\r\ndbo.CUSTINVOICELINE 14,64 MB 975,30 KB 4\r\ndbo.CUSTINVOICELINEINTERPROJ 6,58 MB 477,97 KB 2\r\ndbo.CUSTINVOICETABLE 1,06 MB 56,56 KB 1\r\ndbo.CUSTINVOICETRANS 32,34 MB 1,51 MB 54\r\ndbo.SALESPARAMETERS 4,29 KB 310 B 1\r\ndbo.SALESPARMUPDATE 273,48 KB 24,21 KB 1\r\ndbo.SALESQUOTATIONTOLINEPARAMETERS 4,18 KB 596 B 1\r\ndbo.SALESSUMMARYPARAMETERS 2,95 KB 425 B 1\r\ndbo.SALESTABLE 1,20 KB 313 B 1\r\ndbo.SALESTABLE_W 224 B 60 B 1\r\ndbo.SALESTABLE2LINEPARAMETERS 4,46 KB 637 B 1\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eGet-D365BacpacTable -Path \"c:\\Temp\\AxDB.bacpac\" -Table \"SalesTable\",\"CustTable\"\nThis will return the tables \"dbo.SalesTable\" and \"dbo.CustTable\" from inside the bacpac file.\nIt uses \"c:\\Temp\\AxDB.bacpac\" as the Path for the bacpac file.\r\nIt uses the default value \"SalesTable\" and \"CustTable\" as the Table parameter, to output the tables that matches the names.\r\nIt uses the default value \"[int]::max\" as the Top parameter, to output all tables.\r\nIt uses the default sort, which is by name acsending.\nA result set example:\nName OriginalSize CompressedSize BulkFiles\r\n---- ------------ -------------- ---------\r\ndbo.CUSTTABLE 154,91 KB 8,26 KB 1\r\ndbo.SALESTABLE 1,20 KB 313 B 1",
"Syntax": "Get-D365BacpacTable -Path \u003cString\u003e [-Table \u003cString[]\u003e] [-Top \u003cInt32\u003e] [\u003cCommonParameters\u003e]\nGet-D365BacpacTable -Path \u003cString\u003e [-Table \u003cString[]\u003e] [-Top \u003cInt32\u003e] [-SortSizeAsc] [\u003cCommonParameters\u003e]\nGet-D365BacpacTable -Path \u003cString\u003e [-Table \u003cString[]\u003e] [-Top \u003cInt32\u003e] [-SortSizeDesc] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365BroadcastMessage",
"Description": "Get broadcast message from the D365FO environment by looking into the database table",
"Tags": [
"Broadcast",
"Message",
"SysBroadcastMessage",
"Servicing",
"Message",
"Users",
"Environment"
],
"Params": [
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN)\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
],
[
"ExcludeExpired",
"Exclude all the records that has already expired",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get broadcast message from the D365FO environment",
"Name": "Get-D365BroadcastMessage",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365BroadcastMessage\nThis will display all the broadcast message records from the SysBroadcastMessage table.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365BroadcastMessage -ExcludeExpired\nThis will display all active the broadcast message records from the SysBroadcastMessage table.",
"Syntax": "Get-D365BroadcastMessage [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [-ExcludeExpired] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365BroadcastMessageConfig",
"Description": "Get all broadcast message configuration objects from the configuration store",
"Tags": [
"Servicing",
"Message",
"Users",
"Environment",
"Config",
"Configuration",
"ClientId",
"ClientSecret"
],
"Params": [
[
"Name",
"The name of the broadcast message configuration you are looking for\nDefault value is \"*\" to display all broadcast message configs",
"",
false,
"false",
"*"
],
[
"OutputAsHashtable",
"Instruct the cmdlet to return a hastable object",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get broadcast message configs",
"Name": "Get-D365BroadcastMessageConfig",
"Links": [
null,
null,
null,
null,
null,
null
],
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365BroadcastMessageConfig\nThis will display all broadcast message configurations on the machine.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365BroadcastMessageConfig -OutputAsHashtable\nThis will display all broadcast message configurations on the machine.\r\nEvery object will be output as a hashtable, for you to utilize as parameters for other cmdlets.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365BroadcastMessageConfig -Name \"UAT\"\nThis will display the broadcast message configuration that is saved with the name \"UAT\" on the machine.",
"Syntax": "Get-D365BroadcastMessageConfig [[-Name] \u003cString\u003e] [-OutputAsHashtable] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365ClickOnceTrustPrompt",
"Description": "Creates the needed registry keys and values for ClickOnce to work on the machine",
"Tags": [
"ClickOnce",
"Registry",
"TrustPrompt"
],
"Params": [
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get the ClickOnce configuration",
"Name": "Get-D365ClickOnceTrustPrompt",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365ClickOnceTrustPrompt\nThis will get the current ClickOnce configuration",
"Syntax": "Get-D365ClickOnceTrustPrompt [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365CompilerResult",
"Description": "Get the compiler outputs presented in a structured manner on the screen\n\nIt could be a Visual Studio compiler log or it could be a Invoke-D365ModuleCompile log you want analyzed",
"Tags": [
"Compiler",
"Build",
"Errors",
"Warnings",
"Tasks"
],
"Params": [
[
"Path",
"Path to the compiler log file that you want to work against\nA BuildModelResult.log or a Dynamics.AX.*.xppc.log file will both work",
"LogFile",
true,
"true (ByValue, ByPropertyName)",
""
],
[
"ErrorsOnly",
"Instructs the cmdlet to only output compile results where there was errors detected",
"",
false,
"false",
"False"
],
[
"OutputTotals",
"Instructs the cmdlet to output the total errors and warnings after the analysis",
"",
false,
"false",
"False"
],
[
"OutputAsObjects",
"Instructs the cmdlet to output the objects instead of formatting them\nIf you don\u0027t assign the output, it will be formatted the same way as the original output, but without the coloring of the column values",
"",
false,
"false",
"False"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get the compiler outputs presented",
"Name": "Get-D365CompilerResult",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365CompilerResult -Path \"c:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log\"\nThis will analyze the compiler log file for warning and errors.\nA result set example:\nFile Warnings Errors\r\n---- -------- ------\r\nc:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log 2 1\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365CompilerResult -Path \"c:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log\" -ErrorsOnly\nThis will analyze the compiler log file for warning and errors, but only output if it has errors.\nA result set example:\nFile Warnings Errors\r\n---- -------- ------\r\nc:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log 2 1\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-D365CompilerResult -Path \"c:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log\" -ErrorsOnly -OutputAsObjects\nThis will analyze the compiler log file for warning and errors, but only output if it has errors.\r\nThe output will be PSObjects, which can be assigned to a variable and used for futher analysis.\nA result set example:\nFile Warnings Errors\r\n---- -------- ------\r\nc:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log 2 1\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-D365Module -Name *Custom* | Invoke-D365ModuleCompile | Get-D365CompilerResult -OutputTotals\nThis will find all modules with Custom in their name.\r\nIt will pass thoses modules into the Invoke-D365ModuleCompile, which will compile them.\r\nIt will pass the paths to each compile output log to Get-D365CompilerResult, which will analyze them for warning and errors.\r\nIt will output the total number of warning and errors found.\nFile Warnings Errors\r\n---- -------- ------\r\nc:\\temp\\d365fo.tools\\Custom\\Dynamics.AX.Custom.xppc.log 2 1\nTotal Errors: 1\r\nTotal Warnings: 2",
"Syntax": "Get-D365CompilerResult [-Path] \u003cString\u003e [-ErrorsOnly] [-OutputTotals] [-OutputAsObjects] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365Database",
"Description": "Get the names of databases on either SQL Server or in Azure SQL Database instance",
"Tags": [
"Database",
"DB",
"Servicing"
],
"Params": [
[
"Name",
"Name of the database that you are looking for\nDefault value is \"*\" which will show all databases",
"",
false,
"false",
"*"
],
[
"DatabaseServer",
"The name of the database server\nIf on-premises or classic SQL Server, use either short name og Fully Qualified Domain Name (FQDN).\nIf Azure use the full address to the database server, e.g. server.database.windows.net",
"",
false,
"false",
"$Script:DatabaseServer"
],
[
"DatabaseName",
"The name of the database",
"",
false,
"false",
"$Script:DatabaseName"
],
[
"SqlUser",
"The login name for the SQL Server instance",
"",
false,
"false",
"$Script:DatabaseUserName"
],
[
"SqlPwd",
"The password for the SQL Server user",
"",
false,
"false",
"$Script:DatabaseUserPassword"
]
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get databases from the server",
"Name": "Get-D365Database",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365Database\nThis will show all databases on the default SQL Server / Azure SQL Database instance.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365Database -Name AXDB_ORIGINAL\nThis will show if the AXDB_ORIGINAL database exists on the default SQL Server / Azure SQL Database instance.",
"Syntax": "Get-D365Database [[-Name] \u003cString[]\u003e] [[-DatabaseServer] \u003cString\u003e] [[-DatabaseName] \u003cString\u003e] [[-SqlUser] \u003cString\u003e] [[-SqlPwd] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365DatabaseAccess",
"Description": "Gets all database information from the D365 environment",
"Tags": [
"Database",
"Connection",
"Sql",
"SqlUser",
"SqlPwd"
],
"Params": [
],
"Alias": "",
"Author": "Rasmus Andersen (@ITRasmus)",
"Synopsis": "Shows the Database Access information for the D365 Environment",
"Name": "Get-D365DatabaseAccess",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365DatabaseAccess\nThis will get all relevant details, including connection details, for the database configured for the environment",
"Syntax": "Get-D365DatabaseAccess [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365DecryptedWebConfig",
"Description": "Function used for decrypting the config file used by the D365 Finance \u0026 Operations AOS service",
"Tags": [
"Configuration",
"Service Account",
"Sql",
"SqlUser",
"SqlPwd",
"WebConfig",
"Web.Config",
"Decryption"
],
"Params": [
[
"OutputPath",
"Place where the decrypted files should be placed\nDefault value is: \"c:\\temp\\d365fo.tools\\WebConfigDecrypted\"",
"",
false,
"false",
"c:\\temp\\d365fo.tools\\WebConfigDecrypted"
],
[
"AosServiceWebRootPath",
"Location of the D365 webroot folder",
"",
false,
"false",
"$Script:AOSPath"
]
],
"Alias": "Get-D365DecryptedConfigFile",
"Synopsis": "Decrypts the AOS config file",
"Name": "Get-D365DecryptedWebConfig",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365DecryptedWebConfig\nThis will get the config file from the instance, decrypt it and save it.\r\nIT will save the decrypted web.config file in the default location: \"c:\\temp\\d365fo.tools\\WebConfigDecrypted\".\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nweb.config 7/1/2021 9:01:31 PM C:\\temp\\d365fo.tools\\WebConfigDecrypted\\web.config\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-D365DecryptedWebConfig -OutputPath \"c:\\temp\\d365fo.tools\"\nThis will get the config file from the instance, decrypt it and save it to \"c:\\temp\\d365fo.tools\"\nA result set example:\nFilename LastModified File\r\n-------- ------------ ----\r\nweb.config 7/1/2021 9:07:36 PM C:\\temp\\d365fo.tools\\web.config",
"Syntax": "Get-D365DecryptedWebConfig [[-OutputPath] \u003cString\u003e] [[-AosServiceWebRootPath] \u003cString\u003e] [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365DefaultModelForNewProjects",
"Description": "Get the registered default model that is used across all new projects that are created inside Visual Studio when working with D365FO project types",
"Params": [
],
"Alias": "",
"Author": "Mötz Jensen (@Splaxi)",
"Synopsis": "Get the default model used creating new projects in Visual Studio",
"Name": "Get-D365DefaultModelForNewProjects",
"Links": null,
"Examples": "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-D365DefaultModelForNewProjects\nThis will display the current default module registered in the \"DynamicsDevConfig.xml\" file.\r\nLocated in Documents\\Visual Studio Dynamics 365\\ or in Documents\\Visual Studio 2015\\Settings\\ depending on the version.",
"Syntax": "Get-D365DefaultModelForNewProjects [\u003cCommonParameters\u003e]"
},
{
"CommandName": "Get-D365DotNetClass",
"Description": "Get a .NET class from an assembly file (dll) from the package directory",
"Tags": [
".Net",
"DotNet",
"Class",
"Development"
],
"Params": [
[
"Name",
"Name of the .NET class that you are looking for\nAccepts wildcards for searching. E.g. -Name \"ER*Excel*\"\nDefault value is \"*\" which will search for all classes",
"",
false,
"false",
"*"
],
[
"Assembly",
"Name of the assembly file that you want to search for the .NET class\nAccepts wildcards for searching. E.g. -Name \"*AX*Framework*.dll\"\nDefault value is \"*.dll\" which will search for assembly files",
"",
false,
"false",
"*.dll"
],
[
"PackageDirectory",
"Path to the directory containing the installed packages\nNormally it is located under the AOSService directory in \"PackagesLocalDirectory\"\nDefault value is fetched from the current configuration on the machine",
"",
false,
"false",
"$Script:PackageDirectory"
]
],
"Alias": "",
"Author": "Mötz
gitextract_ur7j2o7_/
├── .gitattributes
├── .github/
│ └── workflows/
│ ├── Release-Management.yml
│ ├── build-manual.yml
│ ├── build.yml
│ ├── dependencies.yml
│ ├── update-generated-text.yml
│ └── update-wiki.yml
├── .gitignore
├── LICENSE
├── README.md
├── build/
│ ├── buildtools.ps1
│ ├── filesAfter.txt
│ ├── filesBefore.txt
│ ├── format-commentbasedhelp.ps1
│ ├── generate-findcommandindex.ps1
│ ├── generate-parameterunittests.ps1
│ ├── update-docs.ps1
│ ├── vsts-build.ps1
│ ├── vsts-prerequisites.ps1
│ ├── vsts-validate-psscriptanalyzer.ps1
│ └── vsts-validate.ps1
├── contributing.md
├── d365fo.tools/
│ ├── bin/
│ │ ├── d365fo.tools-index.json
│ │ └── readme.md
│ ├── d365fo.tools.psd1
│ ├── d365fo.tools.psm1
│ ├── en-us/
│ │ ├── about_Deployable_Packages.help.txt
│ │ └── about_d365fo.tools.help.txt
│ ├── functions/
│ │ ├── add-d365azurestorageconfig.ps1
│ │ ├── add-d365broadcastmessageconfig.ps1
│ │ ├── add-d365moduletoremove.ps1
│ │ ├── add-d365rsatwifconfigauthoritythumbprint.ps1
│ │ ├── add-d365windowsdefenderrules.ps1
│ │ ├── backup-d365devconfig.ps1
│ │ ├── backup-d365metadatadir.ps1
│ │ ├── backup-d365runbook.ps1
│ │ ├── backup-d365webconfig.ps1
│ │ ├── backup-d365wifconfig.ps1
│ │ ├── clear-d365activebroadcastmessageconfig.ps1
│ │ ├── clear-d365bacpacobject.ps1
│ │ ├── clear-d365bacpactabledata.ps1
│ │ ├── clear-d365monitordata.ps1
│ │ ├── clear-d365tempdbtables.ps1
│ │ ├── convertto-d365dacpac.ps1
│ │ ├── disable-d365exception.ps1
│ │ ├── disable-d365flight.ps1
│ │ ├── disable-d365iispreload.ps1
│ │ ├── disable-d365maintenancemode.ps1
│ │ ├── disable-d365sqlchangetracking.ps1
│ │ ├── disable-d365user.ps1
│ │ ├── enable-d365exception.ps1
│ │ ├── enable-d365flight.ps1
│ │ ├── enable-d365iispreload.ps1
│ │ ├── enable-d365maintenancemode.ps1
│ │ ├── enable-d365sqlchangetracking.ps1
│ │ ├── enable-d365user.ps1
│ │ ├── export-d365bacpacmodelfile.ps1
│ │ ├── export-d365model.ps1
│ │ ├── export-d365securitydetails.ps1
│ │ ├── find-d365command.ps1
│ │ ├── get-d365activeazurestorageconfig.ps1
│ │ ├── get-d365activebroadcastmessageconfig.ps1
│ │ ├── get-d365aotobject.ps1
│ │ ├── get-d365azuredevopsnuget.ps1
│ │ ├── get-d365azurestorageconfig.ps1
│ │ ├── get-d365azurestoragefile.ps1
│ │ ├── get-d365azurestorageurl.ps1
│ │ ├── get-d365bacpacsqloptions.ps1
│ │ ├── get-d365bacpactable.ps1
│ │ ├── get-d365broadcastmessage.ps1
│ │ ├── get-d365broadcastmessageconfig.ps1
│ │ ├── get-d365clickoncetrustprompt.ps1
│ │ ├── get-d365compilerresult.ps1
│ │ ├── get-d365database.ps1
│ │ ├── get-d365databaseaccess.ps1
│ │ ├── get-d365decryptedwebconfig.ps1
│ │ ├── get-d365defaultmodelfornewprojects.ps1
│ │ ├── get-d365dotnetclass.ps1
│ │ ├── get-d365dotnetmethod.ps1
│ │ ├── get-d365environment.ps1
│ │ ├── get-d365environmentsettings.ps1
│ │ ├── get-d365eventtraceprovider.ps1
│ │ ├── get-d365externalip.ps1
│ │ ├── get-d365flight.ps1
│ │ ├── get-d365iispreload.ps1
│ │ ├── get-d365installedhotfix.ps1
│ │ ├── get-d365installedpackage.ps1
│ │ ├── get-d365installedservice.ps1
│ │ ├── get-d365instancename.ps1
│ │ ├── get-d365jsonservice.ps1
│ │ ├── get-d365label.ps1
│ │ ├── get-d365labelfile.ps1
│ │ ├── get-d365language.ps1
│ │ ├── get-d365lcsapiconfig.ps1
│ │ ├── get-d365lcsapitoken.ps1
│ │ ├── get-d365lcsassetfile.ps1
│ │ ├── get-d365lcsassetvalidationstatus.ps1
│ │ ├── get-d365lcsdatabasebackups.ps1
│ │ ├── get-d365lcsdatabaseoperationstatus.ps1
│ │ ├── get-d365lcsdeploymentstatus.ps1
│ │ ├── get-d365lcsenvironmenthistory.ps1
│ │ ├── get-d365lcsenvironmentmetadata.ps1
│ │ ├── get-d365lcsenvironmentrsatcertificate.ps1
│ │ ├── get-d365lcssharedassetfile.ps1
│ │ ├── get-d365maintenancemode.ps1
│ │ ├── get-d365model.ps1
│ │ ├── get-d365module.ps1
│ │ ├── get-d365offlineauthenticationadminemail.ps1
│ │ ├── get-d365packagebundledetail.ps1
│ │ ├── get-d365packagelabelresourcefile.ps1
│ │ ├── get-d365packagelabelresources.ps1
│ │ ├── get-d365productinformation.ps1
│ │ ├── get-d365rsatcertificatethumbprint.ps1
│ │ ├── get-d365rsatplaybackfile.ps1
│ │ ├── get-d365rsatsoaphostname.ps1
│ │ ├── get-d365runbook.ps1
│ │ ├── get-d365runbookid.ps1
│ │ ├── get-d365runbooklogfile.ps1
│ │ ├── get-d365sdpcleanup.ps1
│ │ ├── get-d365sdpdetails.ps1
│ │ ├── get-d365table.ps1
│ │ ├── get-d365tablefield.ps1
│ │ ├── get-d365tablesequence.ps1
│ │ ├── get-d365tablesinchangedtracking.ps1
│ │ ├── get-d365tfsuri.ps1
│ │ ├── get-d365tfsworkspace.ps1
│ │ ├── get-d365url.ps1
│ │ ├── get-d365user.ps1
│ │ ├── get-d365userauthenticationdetail.ps1
│ │ ├── get-d365visualstudiocompilerresult.ps1
│ │ ├── get-d365webservertype.ps1
│ │ ├── get-d365windowsactivationstatus.ps1
│ │ ├── import-d365aadapplication.ps1
│ │ ├── import-d365aaduser.ps1
│ │ ├── import-d365bacpac.ps1
│ │ ├── import-d365dacpac.ps1
│ │ ├── import-d365externaluser.ps1
│ │ ├── import-d365model.ps1
│ │ ├── import-d365rsatselfservicecertificates.ps1
│ │ ├── initialize-d365rsatcertificate.ps1
│ │ ├── install-d365supportingsoftware.ps1
│ │ ├── invoke-d365azcopytransfer.ps1
│ │ ├── invoke-d365azuredevopsnugetpush.ps1
│ │ ├── invoke-d365azurestoragedownload.ps1
│ │ ├── invoke-d365azurestorageupload.ps1
│ │ ├── invoke-d365bestpractice.ps1
│ │ ├── invoke-d365compilerresultanalyzer.ps1
│ │ ├── invoke-d365dataflush.ps1
│ │ ├── invoke-d365dbsync.ps1
│ │ ├── invoke-d365dbsyncmodule.ps1
│ │ ├── invoke-d365dbsyncpartial.ps1
│ │ ├── invoke-d365generatereportaggregatedataentity.ps1
│ │ ├── invoke-d365generatereportaggregatemeasure.ps1
│ │ ├── invoke-d365generatereportconfigkey.ps1
│ │ ├── invoke-d365generatereportconfigkeygroup.ps1
│ │ ├── invoke-d365generatereportdataentity.ps1
│ │ ├── invoke-d365generatereportdataentityfield.ps1
│ │ ├── invoke-d365generatereportkpi.ps1
│ │ ├── invoke-d365generatereportlicensecode.ps1
│ │ ├── invoke-d365generatereportmenuitem.ps1
│ │ ├── invoke-d365generatereports.ps1
│ │ ├── invoke-d365generatereportssrs.ps1
│ │ ├── invoke-d365generatereporttable.ps1
│ │ ├── invoke-d365generatereportworkflowtype.ps1
│ │ ├── invoke-d365installazcopy.ps1
│ │ ├── invoke-d365installlicense.ps1
│ │ ├── invoke-d365installnuget.ps1
│ │ ├── invoke-d365installsqlpackage.ps1
│ │ ├── invoke-d365lcsapirefreshtoken.ps1
│ │ ├── invoke-d365lcsdatabaseexport.ps1
│ │ ├── invoke-d365lcsdatabaserefresh.ps1
│ │ ├── invoke-d365lcsdeployment.ps1
│ │ ├── invoke-d365lcsenvironmentstart.ps1
│ │ ├── invoke-d365lcsenvironmentstop.ps1
│ │ ├── invoke-d365lcsupload.ps1
│ │ ├── invoke-d365modulecompile.ps1
│ │ ├── invoke-d365modulefullcompile.ps1
│ │ ├── invoke-d365modulelabelgeneration.ps1
│ │ ├── invoke-d365modulereportscompile.ps1
│ │ ├── invoke-d365processmodule.ps1
│ │ ├── invoke-d365rearmwindows.ps1
│ │ ├── invoke-d365runbookanalyzer.ps1
│ │ ├── invoke-d365scdpbundleinstall.ps1
│ │ ├── invoke-d365sdpinstall.ps1
│ │ ├── invoke-d365sdpinstallude.ps1
│ │ ├── invoke-d365seleniumdownload.ps1
│ │ ├── invoke-d365sqlscript.ps1
│ │ ├── invoke-d365sysflushaodcache.ps1
│ │ ├── invoke-d365sysrunnerclass.ps1
│ │ ├── invoke-d365tablebrowser.ps1
│ │ ├── invoke-d365visualstudiocompilerresultanalyzer.ps1
│ │ ├── invoke-d365winrmcertificaterotation.ps1
│ │ ├── new-d365bacpac.ps1
│ │ ├── new-d365careport.ps1
│ │ ├── new-d365entraintegration.ps1
│ │ ├── new-d365isvlicense.ps1
│ │ ├── new-d365moduletoremove.ps1
│ │ ├── new-d365topologyfile.ps1
│ │ ├── publish-d365ssrsreport.ps1
│ │ ├── publish-d365webresources.ps1
│ │ ├── register-d365azurestorageconfig.ps1
│ │ ├── remove-d365broadcastmessageconfig.ps1
│ │ ├── remove-d365database.ps1
│ │ ├── remove-d365lcsassetfile.ps1
│ │ ├── remove-d365model.ps1
│ │ ├── remove-d365user.ps1
│ │ ├── rename-d365computername.ps1
│ │ ├── rename-d365instance.ps1
│ │ ├── repair-d365bacpacmodelfile.ps1
│ │ ├── restart-d365environment.ps1
│ │ ├── restore-d365devconfig.ps1
│ │ ├── restore-d365webconfig.ps1
│ │ ├── send-d365broadcastmessage.ps1
│ │ ├── set-d365activeazurestorageconfig.ps1
│ │ ├── set-d365activebroadcastmessageconfig.ps1
│ │ ├── set-d365admin.ps1
│ │ ├── set-d365azcopypath.ps1
│ │ ├── set-d365clickoncetrustprompt.ps1
│ │ ├── set-d365defaultmodelfornewprojects.ps1
│ │ ├── set-d365favoritebookmark.ps1
│ │ ├── set-d365flightservicecatalogid.ps1
│ │ ├── set-d365lcsapiconfig.ps1
│ │ ├── set-d365nugetpath.ps1
│ │ ├── set-d365offlineauthenticationadminemail.ps1
│ │ ├── set-d365rsatconfiguration.ps1
│ │ ├── set-d365rsattier2crypto.ps1
│ │ ├── set-d365sdpcleanup.ps1
│ │ ├── set-d365sqlpackagepath.ps1
│ │ ├── set-d365startpage.ps1
│ │ ├── set-d365sysadmin.ps1
│ │ ├── set-d365traceparserfilesize.ps1
│ │ ├── set-d365webconfigdatabase.ps1
│ │ ├── set-d365webservertype.ps1
│ │ ├── set-d365workstationmode.ps1
│ │ ├── start-d365environment.ps1
│ │ ├── start-d365environmentv2.ps1
│ │ ├── start-d365eventtrace.ps1
│ │ ├── stop-d365environment.ps1
│ │ ├── stop-d365eventtrace.ps1
│ │ ├── switch-d365activedatabase.ps1
│ │ ├── test-d365command.ps1
│ │ ├── test-d365dataverseconnection.ps1
│ │ ├── test-d365entraintegration.ps1
│ │ ├── test-d365flightservicecatalogid.ps1
│ │ ├── test-d365labelidisvalid.ps1
│ │ ├── update-d365bacpacmodelfilesingletable.ps1
│ │ └── update-d365user.ps1
│ ├── internal/
│ │ ├── configurations/
│ │ │ ├── configuration.ps1
│ │ │ └── readme.md
│ │ ├── functions/
│ │ │ ├── add-aadusersecurity.ps1
│ │ │ ├── add-filetopackage.ps1
│ │ │ ├── backup-file.ps1
│ │ │ ├── complete-lcsuploadv2.ps1
│ │ │ ├── convert-hashtoargstringswitch.ps1
│ │ │ ├── convertto-booleanordefault.ps1
│ │ │ ├── convertto-hashtable.ps1
│ │ │ ├── convertto-pscustomobject.ps1
│ │ │ ├── copy-filetolcsblob.ps1
│ │ │ ├── get-applicationenvironment.ps1
│ │ │ ├── get-asyncresult.ps1
│ │ │ ├── get-axaggregatedimensions.ps1
│ │ │ ├── get-axaggregatemeasures.ps1
│ │ │ ├── get-axdataentities.ps1
│ │ │ ├── get-axforms.ps1
│ │ │ ├── get-axviews.ps1
│ │ │ ├── get-azureserviceobjective.ps1
│ │ │ ├── get-backupname.ps1
│ │ │ ├── get-canonicalidentityprovider.ps1
│ │ │ ├── get-compilerresult.ps1
│ │ │ ├── get-deepclone.ps1
│ │ │ ├── get-fileversion.ps1
│ │ │ ├── get-identityprovider.ps1
│ │ │ ├── get-instanceidentityprovider.ps1
│ │ │ ├── get-instancevalues.ps1
│ │ │ ├── get-lcsassetfilev2.ps1
│ │ │ ├── get-lcsassetvalidationstatusv2.ps1
│ │ │ ├── get-lcsdatabasebackupsv2.ps1
│ │ │ ├── get-lcsdatabaseoperationstatusv2.ps1
│ │ │ ├── get-lcsdeploymentstatusv2.ps1
│ │ │ ├── get-lcsenvironmenthistory.ps1
│ │ │ ├── get-lcsenvironmentmetadata.ps1
│ │ │ ├── get-lcsenvironmentrsatcertificate.ps1
│ │ │ ├── get-lcsfileasset.ps1
│ │ │ ├── get-lcssharedassetfile.ps1
│ │ │ ├── get-loginfromemail.ps1
│ │ │ ├── get-networkdomain.ps1
│ │ │ ├── get-productinfoprovider.ps1
│ │ │ ├── get-servicelist.ps1
│ │ │ ├── get-sqlcommand.ps1
│ │ │ ├── get-sqlparametersize.ps1
│ │ │ ├── get-sqlparametervalue.ps1
│ │ │ ├── get-sqlstring.ps1
│ │ │ ├── get-syncelements.ps1
│ │ │ ├── get-tenantfromemail.ps1
│ │ │ ├── get-timezone.ps1
│ │ │ ├── get-usersidfromaad.ps1
│ │ │ ├── get-windowsdefenderstatus.ps1
│ │ │ ├── import-aadapplicationIntod365fo.ps1
│ │ │ ├── import-aaduserIntod365fo.ps1
│ │ │ ├── import-assemblyfileintomemory.ps1
│ │ │ ├── import-generatereportassemblies.ps1
│ │ │ ├── invoke-azurebackuprestore.ps1
│ │ │ ├── invoke-clearazurespecificobjects.ps1
│ │ │ ├── invoke-clearsqlspecificobjects.ps1
│ │ │ ├── invoke-compilerresultanalyzer.ps1
│ │ │ ├── invoke-modelutil.ps1
│ │ │ ├── invoke-process.ps1
│ │ │ ├── invoke-requesthandler.ps1
│ │ │ ├── invoke-sqlbackuprestore.ps1
│ │ │ ├── invoke-sqlpackage.ps1
│ │ │ ├── invoke-timesignal.ps1
│ │ │ ├── new-d365foaadapplication.ps1
│ │ │ ├── new-d365fouser.ps1
│ │ │ ├── new-d365selfsignedcertificate.ps1
│ │ │ ├── new-decryptedfile.ps1
│ │ │ ├── new-webrequest.ps1
│ │ │ ├── publish-d365foresources.ps1
│ │ │ ├── readme.md
│ │ │ ├── remove-lcsassetfile.ps1
│ │ │ ├── rename-configvalue.ps1
│ │ │ ├── repair-bacpacmodelqualifier.ps1
│ │ │ ├── repair-bacpacmodelsimpleandreplace.ps1
│ │ │ ├── select-defaultview.ps1
│ │ │ ├── set-adminuser.ps1
│ │ │ ├── set-azurebacpacvalues.ps1
│ │ │ ├── set-browserbookmark.ps1
│ │ │ ├── set-sqlbacpacvalues.ps1
│ │ │ ├── start-lcsdatabaseexportv2.ps1
│ │ │ ├── start-lcsdatabaserefreshv2.ps1
│ │ │ ├── start-lcsdeploymentv2.ps1
│ │ │ ├── start-lcsenvironmentstartstopv2.ps1
│ │ │ ├── start-lcsuploadv2.ps1
│ │ │ ├── test-aaduseridind365fo.ps1
│ │ │ ├── test-aaduserind365fo.ps1
│ │ │ ├── test-assembliesloaded.ps1
│ │ │ ├── test-configstoreagelocation.ps1
│ │ │ ├── test-pathexists.ps1
│ │ │ ├── test-registryvalue.ps1
│ │ │ ├── test-trustedconnection.ps1
│ │ │ ├── update-azurestoragevariables.ps1
│ │ │ ├── update-broadcastvariables.ps1
│ │ │ ├── update-lcsapivariables.ps1
│ │ │ ├── update-modulevariables.ps1
│ │ │ ├── update-psfconfigvariables.ps1
│ │ │ └── update-topologyfile.ps1
│ │ ├── misc/
│ │ │ ├── AzureDevOps.url
│ │ │ ├── Bookmarks
│ │ │ ├── D365FO.url
│ │ │ ├── RepairBacpac.Qualifier.json
│ │ │ ├── RepairBacpac.Replace.json
│ │ │ └── RepairBacpac.Simple.json
│ │ ├── scripts/
│ │ │ ├── enums.ps1
│ │ │ ├── license.ps1
│ │ │ ├── load-dotnet-assemblies.ps1
│ │ │ ├── postimport.ps1
│ │ │ ├── preimport.ps1
│ │ │ └── variables.ps1
│ │ ├── sql/
│ │ │ ├── add-aadapplicationintod365fo.sql
│ │ │ ├── add-aaduserintod365fo.sql
│ │ │ ├── add-bacpacdatabase.sql
│ │ │ ├── backuprestoredb.sql
│ │ │ ├── checkfornewazuredb.sql
│ │ │ ├── clear-azurebacpacdatabase.sql
│ │ │ ├── clear-d365tempdbtables.sql
│ │ │ ├── clear-sqlbacpacdatabase.sql
│ │ │ ├── disable-changetracking.sql
│ │ │ ├── disable-flight.sql
│ │ │ ├── disable-maintenancemode.sql
│ │ │ ├── disable-user.sql
│ │ │ ├── enable-changetracking.sql
│ │ │ ├── enable-flight.sql
│ │ │ ├── enable-maintenancemode.sql
│ │ │ ├── enable-user.sql
│ │ │ ├── get-alltablefields.sql
│ │ │ ├── get-azureserviceobjective.sql
│ │ │ ├── get-broadcastmessage.sql
│ │ │ ├── get-broadcastmessageactive.sql
│ │ │ ├── get-database.sql
│ │ │ ├── get-flight.sql
│ │ │ ├── get-instancevalues.sql
│ │ │ ├── get-maintenancemode.sql
│ │ │ ├── get-tablefields.sql
│ │ │ ├── get-tables.sql
│ │ │ ├── get-tablesequence.sql
│ │ │ ├── get-tablesinchangedtracking.sql
│ │ │ ├── get-user.sql
│ │ │ ├── invoke-sphelp.sql
│ │ │ ├── newazuredbfromcopy.sql
│ │ │ ├── remove-database.sql
│ │ │ ├── remove-user.sql
│ │ │ ├── rename-computer.sql
│ │ │ ├── set-aadusersecurityind365fo.sql
│ │ │ ├── set-bacpacvaluesazure.sql
│ │ │ ├── set-bacpacvaluessql.sql
│ │ │ ├── set-sysadmin.sql
│ │ │ ├── switch-database-tier1.sql
│ │ │ ├── switch-database-tier2.sql
│ │ │ ├── test-aaduseridind365fo.sql
│ │ │ ├── test-aaduserind365fo.sql
│ │ │ └── update-user.sql
│ │ └── tepp/
│ │ ├── assignment.ps1
│ │ ├── eventtrace.tepp.ps1
│ │ ├── example.tepp.ps1
│ │ ├── lcs.tepp.ps1
│ │ ├── readme.md
│ │ └── send-d365message.tepp.ps1
│ ├── readme.md
│ ├── tests/
│ │ ├── examples/
│ │ │ ├── Get-DeepClone.Tests.ps1
│ │ │ ├── Import-D365Bacpac.Tests.ps1
│ │ │ └── Test-TrustedConnection.Tests.ps1
│ │ ├── functions/
│ │ │ ├── Add-D365AzureStorageConfig.Tests.ps1
│ │ │ ├── Add-D365BroadcastMessageConfig.Tests.ps1
│ │ │ ├── Add-D365ModuleToRemove.Tests.ps1
│ │ │ ├── Add-D365RsatWifConfigAuthorityThumbprint.Tests.ps1
│ │ │ ├── Add-D365WindowsDefenderRules.Tests.ps1
│ │ │ ├── Backup-D365DevConfig.Tests.ps1
│ │ │ ├── Backup-D365MetaDataDir.Tests.ps1
│ │ │ ├── Backup-D365Runbook.Tests.ps1
│ │ │ ├── Backup-D365WebConfig.Tests.ps1
│ │ │ ├── Backup-D365WifConfig.Tests.ps1
│ │ │ ├── Clear-D365ActiveBroadcastMessageConfig.Tests.ps1
│ │ │ ├── Clear-D365BacpacObject.Tests.ps1
│ │ │ ├── Clear-D365BacpacTableData.Tests.ps1
│ │ │ ├── Clear-D365MonitorData.Tests.ps1
│ │ │ ├── Clear-D365TempDbTables.Tests.ps1
│ │ │ ├── ConvertTo-D365Dacpac.Tests.ps1
│ │ │ ├── Disable-D365Exception.Tests.ps1
│ │ │ ├── Disable-D365Flight.Tests.ps1
│ │ │ ├── Disable-D365IISPreload.Tests.ps1
│ │ │ ├── Disable-D365MaintenanceMode.Tests.ps1
│ │ │ ├── Disable-D365SqlChangeTracking.Tests.ps1
│ │ │ ├── Disable-D365User.Tests.ps1
│ │ │ ├── Enable-D365Exception.Tests.ps1
│ │ │ ├── Enable-D365Flight.Tests.ps1
│ │ │ ├── Enable-D365IISPreload.Tests.ps1
│ │ │ ├── Enable-D365MaintenanceMode.Tests.ps1
│ │ │ ├── Enable-D365SqlChangeTracking.Tests.ps1
│ │ │ ├── Enable-D365User.Tests.ps1
│ │ │ ├── Export-D365BacpacModelFile.Tests.ps1
│ │ │ ├── Export-D365Model.Tests.ps1
│ │ │ ├── Export-D365SecurityDetails.Tests.ps1
│ │ │ ├── Find-D365Command.Tests.ps1
│ │ │ ├── Get-D365AOTObject.Tests.ps1
│ │ │ ├── Get-D365ActiveAzureStorageConfig.Tests.ps1
│ │ │ ├── Get-D365ActiveBroadcastMessageConfig.Tests.ps1
│ │ │ ├── Get-D365AzureDevOpsNuget.Tests.ps1
│ │ │ ├── Get-D365AzureStorageConfig.Tests.ps1
│ │ │ ├── Get-D365AzureStorageFile.Tests.ps1
│ │ │ ├── Get-D365AzureStorageUrl.Tests.ps1
│ │ │ ├── Get-D365BacpacSqlOptions.Tests.ps1
│ │ │ ├── Get-D365BacpacTable.Tests.ps1
│ │ │ ├── Get-D365BroadcastMessage.Tests.ps1
│ │ │ ├── Get-D365BroadcastMessageConfig.Tests.ps1
│ │ │ ├── Get-D365ClickOnceTrustPrompt.Tests.ps1
│ │ │ ├── Get-D365CompilerResult.Tests.ps1
│ │ │ ├── Get-D365Database.Tests.ps1
│ │ │ ├── Get-D365DatabaseAccess.Tests.ps1
│ │ │ ├── Get-D365DecryptedWebConfig.Tests.ps1
│ │ │ ├── Get-D365DefaultModelForNewProjects.Tests.ps1
│ │ │ ├── Get-D365DotNetClass.Tests.ps1
│ │ │ ├── Get-D365DotNetMethod.Tests.ps1
│ │ │ ├── Get-D365Environment.Tests.ps1
│ │ │ ├── Get-D365EnvironmentSettings.Tests.ps1
│ │ │ ├── Get-D365EventTraceProvider.Tests.ps1
│ │ │ ├── Get-D365ExternalIP.Tests.ps1
│ │ │ ├── Get-D365Flight.Tests.ps1
│ │ │ ├── Get-D365IISPreload.Tests.ps1
│ │ │ ├── Get-D365InstalledHotfix.Tests.ps1
│ │ │ ├── Get-D365InstalledPackage.Tests.ps1
│ │ │ ├── Get-D365InstalledService.Tests.ps1
│ │ │ ├── Get-D365InstanceName.Tests.ps1
│ │ │ ├── Get-D365JsonService.Tests.ps1
│ │ │ ├── Get-D365Label.Tests.ps1
│ │ │ ├── Get-D365LabelFile.Tests.ps1
│ │ │ ├── Get-D365Language.Tests.ps1
│ │ │ ├── Get-D365LcsApiConfig.Tests.ps1
│ │ │ ├── Get-D365LcsApiToken.Tests.ps1
│ │ │ ├── Get-D365LcsAssetFile.Tests.ps1
│ │ │ ├── Get-D365LcsAssetValidationStatus.Tests.ps1
│ │ │ ├── Get-D365LcsDatabaseBackups.Tests.ps1
│ │ │ ├── Get-D365LcsDatabaseOperationStatus.Tests.ps1
│ │ │ ├── Get-D365LcsDeploymentStatus.Tests.ps1
│ │ │ ├── Get-D365LcsEnvironmentHistory.Tests.ps1
│ │ │ ├── Get-D365LcsEnvironmentMetadata.Tests.ps1
│ │ │ ├── Get-D365LcsEnvironmentRsatCertificate.Tests.ps1
│ │ │ ├── Get-D365LcsSharedAssetFile.Tests.ps1
│ │ │ ├── Get-D365MaintenanceMode.Tests.ps1
│ │ │ ├── Get-D365Model.Tests.ps1
│ │ │ ├── Get-D365Module.Tests.ps1
│ │ │ ├── Get-D365OfflineAuthenticationAdminEmail.Tests.ps1
│ │ │ ├── Get-D365PackageBundleDetail.Tests.ps1
│ │ │ ├── Get-D365PackageLabelResourceFile.Tests.ps1
│ │ │ ├── Get-D365PackageLabelResources.Tests.ps1
│ │ │ ├── Get-D365ProductInformation.Tests.ps1
│ │ │ ├── Get-D365RsatCertificateThumbprint.Tests.ps1
│ │ │ ├── Get-D365RsatPlaybackFile.Tests.ps1
│ │ │ ├── Get-D365RsatSoapHostname.Tests.ps1
│ │ │ ├── Get-D365Runbook.Tests.ps1
│ │ │ ├── Get-D365RunbookId.Tests.ps1
│ │ │ ├── Get-D365RunbookLogFile.Tests.ps1
│ │ │ ├── Get-D365SDPCleanUp.Tests.ps1
│ │ │ ├── Get-D365SDPDetails.Tests.ps1
│ │ │ ├── Get-D365Table.Tests.ps1
│ │ │ ├── Get-D365TableField.Tests.ps1
│ │ │ ├── Get-D365TableSequence.Tests.ps1
│ │ │ ├── Get-D365TablesInChangedTracking.Tests.ps1
│ │ │ ├── Get-D365TfsUri.Tests.ps1
│ │ │ ├── Get-D365TfsWorkspace.Tests.ps1
│ │ │ ├── Get-D365Url.Tests.ps1
│ │ │ ├── Get-D365User.Tests.ps1
│ │ │ ├── Get-D365UserAuthenticationDetail.Tests.ps1
│ │ │ ├── Get-D365VisualStudioCompilerResult.Tests.ps1
│ │ │ ├── Get-D365WebServerType.Tests.ps1
│ │ │ ├── Get-D365WindowsActivationStatus.Tests.ps1
│ │ │ ├── Import-D365AadApplication.Tests.ps1
│ │ │ ├── Import-D365AadUser.Tests.ps1
│ │ │ ├── Import-D365Bacpac.Tests.ps1
│ │ │ ├── Import-D365Dacpac.Tests.ps1
│ │ │ ├── Import-D365ExternalUser.Tests.ps1
│ │ │ ├── Import-D365Model.Tests.ps1
│ │ │ ├── Import-D365RsatSelfServiceCertificates.Tests.ps1
│ │ │ ├── Initialize-D365RsatCertificate.Tests.ps1
│ │ │ ├── Install-D365SupportingSoftware.Tests.ps1
│ │ │ ├── Invoke-D365AzCopyTransfer.Tests.ps1
│ │ │ ├── Invoke-D365AzureDevOpsNugetPush.Tests.ps1
│ │ │ ├── Invoke-D365AzureStorageDownload.Tests.ps1
│ │ │ ├── Invoke-D365AzureStorageUpload.Tests.ps1
│ │ │ ├── Invoke-D365BestPractice.Tests.ps1
│ │ │ ├── Invoke-D365CompilerResultAnalyzer.Tests.ps1
│ │ │ ├── Invoke-D365DBSync.Tests.ps1
│ │ │ ├── Invoke-D365DBSyncPartial.Tests.ps1
│ │ │ ├── Invoke-D365DataFlush.Tests.ps1
│ │ │ ├── Invoke-D365DbSyncModule.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportAggregateDataEntity.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportAggregateMeasure.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportConfigKey.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportConfigKeyGroup.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportDataEntity.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportDataEntityField.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportKpi.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportLicenseCode.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportMenuItem.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportSsrs.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportTable.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReportWorkflowType.Tests.ps1
│ │ │ ├── Invoke-D365GenerateReports.Tests.ps1
│ │ │ ├── Invoke-D365InstallAzCopy.Tests.ps1
│ │ │ ├── Invoke-D365InstallLicense.Tests.ps1
│ │ │ ├── Invoke-D365InstallNuget.Tests.ps1
│ │ │ ├── Invoke-D365InstallSqlPackage.Tests.ps1
│ │ │ ├── Invoke-D365LcsApiRefreshToken.Tests.ps1
│ │ │ ├── Invoke-D365LcsDatabaseExport.Tests.ps1
│ │ │ ├── Invoke-D365LcsDatabaseRefresh.Tests.ps1
│ │ │ ├── Invoke-D365LcsDeployment.Tests.ps1
│ │ │ ├── Invoke-D365LcsEnvironmentStart.Tests.ps1
│ │ │ ├── Invoke-D365LcsEnvironmentStop.Tests.ps1
│ │ │ ├── Invoke-D365LcsUpload.Tests.ps1
│ │ │ ├── Invoke-D365ModuleCompile.Tests.ps1
│ │ │ ├── Invoke-D365ModuleFullCompile.Tests.ps1
│ │ │ ├── Invoke-D365ModuleLabelGeneration.Tests.ps1
│ │ │ ├── Invoke-D365ModuleReportsCompile.Tests.ps1
│ │ │ ├── Invoke-D365ProcessModule.Tests.ps1
│ │ │ ├── Invoke-D365ReArmWindows.Tests.ps1
│ │ │ ├── Invoke-D365RunbookAnalyzer.Tests.ps1
│ │ │ ├── Invoke-D365SCDPBundleInstall.Tests.ps1
│ │ │ ├── Invoke-D365SDPInstall.Tests.ps1
│ │ │ ├── Invoke-D365SDPInstallUDE.Tests.ps1
│ │ │ ├── Invoke-D365SeleniumDownload.Tests.ps1
│ │ │ ├── Invoke-D365SqlScript.Tests.ps1
│ │ │ ├── Invoke-D365SysFlushAodCache.Tests.ps1
│ │ │ ├── Invoke-D365SysRunnerClass.Tests.ps1
│ │ │ ├── Invoke-D365TableBrowser.Tests.ps1
│ │ │ ├── Invoke-D365VisualStudioCompilerResultAnalyzer.Tests.ps1
│ │ │ ├── Invoke-D365WinRmCertificateRotation.Tests.ps1
│ │ │ ├── New-D365Bacpac.Tests.ps1
│ │ │ ├── New-D365CAReport.Tests.ps1
│ │ │ ├── New-D365EntraIntegration.Tests.ps1
│ │ │ ├── New-D365ISVLicense.Tests.ps1
│ │ │ ├── New-D365ModuleToRemove.Tests.ps1
│ │ │ ├── New-D365TopologyFile.Tests.ps1
│ │ │ ├── Publish-D365SsrsReport.Tests.ps1
│ │ │ ├── Publish-D365WebResources.Tests.ps1
│ │ │ ├── Register-D365AzureStorageConfig.Tests.ps1
│ │ │ ├── Remove-D365BroadcastMessageConfig.Tests.ps1
│ │ │ ├── Remove-D365Database.Tests.ps1
│ │ │ ├── Remove-D365LcsAssetFile.Tests.ps1
│ │ │ ├── Remove-D365Model.Tests.ps1
│ │ │ ├── Remove-D365User.Tests.ps1
│ │ │ ├── Rename-D365ComputerName.Tests.ps1
│ │ │ ├── Rename-D365Instance.Tests.ps1
│ │ │ ├── Repair-D365BacpacModelFile.Tests.ps1
│ │ │ ├── Restart-D365Environment.Tests.ps1
│ │ │ ├── Restore-D365DevConfig.Tests.ps1
│ │ │ ├── Restore-D365WebConfig.Tests.ps1
│ │ │ ├── Send-D365BroadcastMessage.Tests.ps1
│ │ │ ├── Set-D365ActiveAzureStorageConfig.Tests.ps1
│ │ │ ├── Set-D365ActiveBroadcastMessageConfig.Tests.ps1
│ │ │ ├── Set-D365Admin.Tests.ps1
│ │ │ ├── Set-D365AzCopyPath.Tests.ps1
│ │ │ ├── Set-D365ClickOnceTrustPrompt.Tests.ps1
│ │ │ ├── Set-D365DefaultModelForNewProjects.Tests.ps1
│ │ │ ├── Set-D365FavoriteBookmark.Tests.ps1
│ │ │ ├── Set-D365FlightServiceCatalogId.Tests.ps1
│ │ │ ├── Set-D365LcsApiConfig.Tests.ps1
│ │ │ ├── Set-D365NugetPath.Tests.ps1
│ │ │ ├── Set-D365OfflineAuthenticationAdminEmail.Tests.ps1
│ │ │ ├── Set-D365RsatConfiguration.Tests.ps1
│ │ │ ├── Set-D365RsatTier2Crypto.Tests.ps1
│ │ │ ├── Set-D365SDPCleanUp.Tests.ps1
│ │ │ ├── Set-D365SqlPackagePath.Tests.ps1
│ │ │ ├── Set-D365StartPage.Tests.ps1
│ │ │ ├── Set-D365SysAdmin.Tests.ps1
│ │ │ ├── Set-D365TraceParserFileSize.Tests.ps1
│ │ │ ├── Set-D365WebConfigDatabase.Tests.ps1
│ │ │ ├── Set-D365WebServerType.Tests.ps1
│ │ │ ├── Set-D365WorkstationMode.Tests.ps1
│ │ │ ├── Start-D365Environment.Tests.ps1
│ │ │ ├── Start-D365EnvironmentV2.Tests.ps1
│ │ │ ├── Start-D365EventTrace.Tests.ps1
│ │ │ ├── Stop-D365Environment.Tests.ps1
│ │ │ ├── Stop-D365EventTrace.Tests.ps1
│ │ │ ├── Switch-D365ActiveDatabase.Tests.ps1
│ │ │ ├── Test-D365Command.Tests.ps1
│ │ │ ├── Test-D365DataverseConnection.Tests.ps1
│ │ │ ├── Test-D365EntraIntegration.Tests.ps1
│ │ │ ├── Test-D365FlightServiceCatalogId.Tests.ps1
│ │ │ ├── Test-D365LabelIdIsValid.Tests.ps1
│ │ │ ├── Update-D365BacpacModelFileSingleTable.Tests.ps1
│ │ │ └── Update-D365User.Tests.ps1
│ │ ├── general/
│ │ │ ├── FileIntegrity.Exceptions.ps1
│ │ │ ├── FileIntegrity.Tests.ps1
│ │ │ ├── Help.Example.Parameters.Tests.ps1
│ │ │ ├── Help.Example.Tests.ps1
│ │ │ ├── Help.Exceptions.ps1
│ │ │ ├── Help.Tests.ps1
│ │ │ ├── Manifest.Tests.ps1
│ │ │ └── PSScriptAnalyzer.Tests.ps1
│ │ ├── pester-PSScriptAnalyzer.ps1
│ │ ├── pester.ps1
│ │ └── readme.md
│ └── xml/
│ ├── d365fo.tools.Format.ps1xml
│ ├── d365fo.tools.Types.ps1xml
│ └── readme.md
├── docs/
│ ├── Add-D365AzureStorageConfig.md
│ ├── Add-D365BroadcastMessageConfig.md
│ ├── Add-D365ModuleToRemove.md
│ ├── Add-D365RsatWifConfigAuthorityThumbprint.md
│ ├── Add-D365WindowsDefenderRules.md
│ ├── Backup-D365DevConfig.md
│ ├── Backup-D365MetaDataDir.md
│ ├── Backup-D365Runbook.md
│ ├── Backup-D365WebConfig.md
│ ├── Backup-D365WifConfig.md
│ ├── Clear-D365ActiveBroadcastMessageConfig.md
│ ├── Clear-D365BacpacObject.md
│ ├── Clear-D365BacpacTableData.md
│ ├── Clear-D365MonitorData.md
│ ├── Clear-D365TempDbTables.md
│ ├── ConvertTo-D365Dacpac.md
│ ├── Disable-D365Exception.md
│ ├── Disable-D365Flight.md
│ ├── Disable-D365IISPreload.md
│ ├── Disable-D365MaintenanceMode.md
│ ├── Disable-D365SqlChangeTracking.md
│ ├── Disable-D365User.md
│ ├── Enable-D365Exception.md
│ ├── Enable-D365Flight.md
│ ├── Enable-D365IISPreload.md
│ ├── Enable-D365MaintenanceMode.md
│ ├── Enable-D365SqlChangeTracking.md
│ ├── Enable-D365User.md
│ ├── Export-D365BacpacModelFile.md
│ ├── Export-D365Model.md
│ ├── Export-D365SecurityDetails.md
│ ├── Find-D365Command.md
│ ├── Get-D365AOTObject.md
│ ├── Get-D365ActiveAzureStorageConfig.md
│ ├── Get-D365ActiveBroadcastMessageConfig.md
│ ├── Get-D365AzureDevOpsNuget.md
│ ├── Get-D365AzureStorageConfig.md
│ ├── Get-D365AzureStorageFile.md
│ ├── Get-D365AzureStorageUrl.md
│ ├── Get-D365BacpacSqlOptions.md
│ ├── Get-D365BacpacTable.md
│ ├── Get-D365BroadcastMessage.md
│ ├── Get-D365BroadcastMessageConfig.md
│ ├── Get-D365ClickOnceTrustPrompt.md
│ ├── Get-D365CompilerResult.md
│ ├── Get-D365Database.md
│ ├── Get-D365DatabaseAccess.md
│ ├── Get-D365DecryptedWebConfig.md
│ ├── Get-D365DefaultModelForNewProjects.md
│ ├── Get-D365DotNetClass.md
│ ├── Get-D365DotNetMethod.md
│ ├── Get-D365Environment.md
│ ├── Get-D365EnvironmentSettings.md
│ ├── Get-D365EventTraceProvider.md
│ ├── Get-D365ExternalIP.md
│ ├── Get-D365Flight.md
│ ├── Get-D365IISPreload.md
│ ├── Get-D365InstalledHotfix.md
│ ├── Get-D365InstalledPackage.md
│ ├── Get-D365InstalledService.md
│ ├── Get-D365InstanceName.md
│ ├── Get-D365JsonService.md
│ ├── Get-D365Label.md
│ ├── Get-D365LabelFile.md
│ ├── Get-D365Language.md
│ ├── Get-D365LcsApiConfig.md
│ ├── Get-D365LcsApiToken.md
│ ├── Get-D365LcsAssetFile.md
│ ├── Get-D365LcsAssetValidationStatus.md
│ ├── Get-D365LcsDatabaseBackups.md
│ ├── Get-D365LcsDatabaseOperationStatus.md
│ ├── Get-D365LcsDeploymentStatus.md
│ ├── Get-D365LcsEnvironmentHistory.md
│ ├── Get-D365LcsEnvironmentMetadata.md
│ ├── Get-D365LcsEnvironmentRsatCertificate.md
│ ├── Get-D365LcsSharedAssetFile.md
│ ├── Get-D365MaintenanceMode.md
│ ├── Get-D365Model.md
│ ├── Get-D365Module.md
│ ├── Get-D365OfflineAuthenticationAdminEmail.md
│ ├── Get-D365PackageBundleDetail.md
│ ├── Get-D365PackageLabelResourceFile.md
│ ├── Get-D365PackageLabelResources.md
│ ├── Get-D365ProductInformation.md
│ ├── Get-D365RsatCertificateThumbprint.md
│ ├── Get-D365RsatPlaybackFile.md
│ ├── Get-D365RsatSoapHostname.md
│ ├── Get-D365Runbook.md
│ ├── Get-D365RunbookId.md
│ ├── Get-D365RunbookLogFile.md
│ ├── Get-D365SDPCleanUp.md
│ ├── Get-D365SDPDetails.md
│ ├── Get-D365Table.md
│ ├── Get-D365TableField.md
│ ├── Get-D365TableSequence.md
│ ├── Get-D365TablesInChangedTracking.md
│ ├── Get-D365TfsUri.md
│ ├── Get-D365TfsWorkspace.md
│ ├── Get-D365Url.md
│ ├── Get-D365User.md
│ ├── Get-D365UserAuthenticationDetail.md
│ ├── Get-D365VisualStudioCompilerResult.md
│ ├── Get-D365WebServerType.md
│ ├── Get-D365WindowsActivationStatus.md
│ ├── Import-D365AadApplication.md
│ ├── Import-D365AadUser.md
│ ├── Import-D365Bacpac.md
│ ├── Import-D365Dacpac.md
│ ├── Import-D365ExternalUser.md
│ ├── Import-D365Model.md
│ ├── Import-D365RsatSelfServiceCertificates.md
│ ├── Initialize-D365RsatCertificate.md
│ ├── Install-D365SupportingSoftware.md
│ ├── Invoke-D365AzCopyTransfer.md
│ ├── Invoke-D365AzureDevOpsNugetPush.md
│ ├── Invoke-D365AzureStorageDownload.md
│ ├── Invoke-D365AzureStorageUpload.md
│ ├── Invoke-D365BestPractice.md
│ ├── Invoke-D365CompilerResultAnalyzer.md
│ ├── Invoke-D365DBSync.md
│ ├── Invoke-D365DBSyncPartial.md
│ ├── Invoke-D365DataFlush.md
│ ├── Invoke-D365DbSyncModule.md
│ ├── Invoke-D365GenerateReportAggregateDataEntity.md
│ ├── Invoke-D365GenerateReportAggregateMeasure.md
│ ├── Invoke-D365GenerateReportConfigKey.md
│ ├── Invoke-D365GenerateReportConfigKeyGroup.md
│ ├── Invoke-D365GenerateReportDataEntity.md
│ ├── Invoke-D365GenerateReportDataEntityField.md
│ ├── Invoke-D365GenerateReportKpi.md
│ ├── Invoke-D365GenerateReportLicenseCode.md
│ ├── Invoke-D365GenerateReportMenuItem.md
│ ├── Invoke-D365GenerateReportSsrs.md
│ ├── Invoke-D365GenerateReportTable.md
│ ├── Invoke-D365GenerateReportWorkflowType.md
│ ├── Invoke-D365GenerateReports.md
│ ├── Invoke-D365InstallAzCopy.md
│ ├── Invoke-D365InstallLicense.md
│ ├── Invoke-D365InstallNuget.md
│ ├── Invoke-D365InstallSqlPackage.md
│ ├── Invoke-D365LcsApiRefreshToken.md
│ ├── Invoke-D365LcsDatabaseExport.md
│ ├── Invoke-D365LcsDatabaseRefresh.md
│ ├── Invoke-D365LcsDeployment.md
│ ├── Invoke-D365LcsEnvironmentStart.md
│ ├── Invoke-D365LcsEnvironmentStop.md
│ ├── Invoke-D365LcsUpload.md
│ ├── Invoke-D365ModuleCompile.md
│ ├── Invoke-D365ModuleFullCompile.md
│ ├── Invoke-D365ModuleLabelGeneration.md
│ ├── Invoke-D365ModuleReportsCompile.md
│ ├── Invoke-D365ProcessModule.md
│ ├── Invoke-D365ReArmWindows.md
│ ├── Invoke-D365RunbookAnalyzer.md
│ ├── Invoke-D365SCDPBundleInstall.md
│ ├── Invoke-D365SDPInstall.md
│ ├── Invoke-D365SDPInstallUDE.md
│ ├── Invoke-D365SeleniumDownload.md
│ ├── Invoke-D365SqlScript.md
│ ├── Invoke-D365SysFlushAodCache.md
│ ├── Invoke-D365SysRunnerClass.md
│ ├── Invoke-D365TableBrowser.md
│ ├── Invoke-D365VisualStudioCompilerResultAnalyzer.md
│ ├── Invoke-D365WinRmCertificateRotation.md
│ ├── New-D365Bacpac.md
│ ├── New-D365CAReport.md
│ ├── New-D365EntraIntegration.md
│ ├── New-D365ISVLicense.md
│ ├── New-D365ModuleToRemove.md
│ ├── New-D365TopologyFile.md
│ ├── Publish-D365SsrsReport.md
│ ├── Publish-D365WebResources.md
│ ├── Register-D365AzureStorageConfig.md
│ ├── Remove-D365BroadcastMessageConfig.md
│ ├── Remove-D365Database.md
│ ├── Remove-D365LcsAssetFile.md
│ ├── Remove-D365Model.md
│ ├── Remove-D365User.md
│ ├── Rename-D365ComputerName.md
│ ├── Rename-D365Instance.md
│ ├── Repair-D365BacpacModelFile.md
│ ├── Restart-D365Environment.md
│ ├── Restore-D365DevConfig.md
│ ├── Restore-D365WebConfig.md
│ ├── Send-D365BroadcastMessage.md
│ ├── Set-D365ActiveAzureStorageConfig.md
│ ├── Set-D365ActiveBroadcastMessageConfig.md
│ ├── Set-D365Admin.md
│ ├── Set-D365AzCopyPath.md
│ ├── Set-D365ClickOnceTrustPrompt.md
│ ├── Set-D365DefaultModelForNewProjects.md
│ ├── Set-D365FavoriteBookmark.md
│ ├── Set-D365FlightServiceCatalogId.md
│ ├── Set-D365LcsApiConfig.md
│ ├── Set-D365NugetPath.md
│ ├── Set-D365OfflineAuthenticationAdminEmail.md
│ ├── Set-D365RsatConfiguration.md
│ ├── Set-D365RsatTier2Crypto.md
│ ├── Set-D365SDPCleanUp.md
│ ├── Set-D365SqlPackagePath.md
│ ├── Set-D365StartPage.md
│ ├── Set-D365SysAdmin.md
│ ├── Set-D365TraceParserFileSize.md
│ ├── Set-D365WebConfigDatabase.md
│ ├── Set-D365WebServerType.md
│ ├── Set-D365WorkstationMode.md
│ ├── Start-D365Environment.md
│ ├── Start-D365EnvironmentV2.md
│ ├── Start-D365EventTrace.md
│ ├── Stop-D365Environment.md
│ ├── Stop-D365EventTrace.md
│ ├── Switch-D365ActiveDatabase.md
│ ├── Test-D365Command.md
│ ├── Test-D365DataverseConnection.md
│ ├── Test-D365EntraIntegration.md
│ ├── Test-D365FlightServiceCatalogId.md
│ ├── Test-D365LabelIdIsValid.md
│ ├── Update-D365BacpacModelFileSingleTable.md
│ └── Update-D365User.md
├── install.ps1
├── library/
│ └── d365fo.tools/
│ ├── d365fo.tools/
│ │ ├── Class1.cs
│ │ └── d365fo.tools.csproj
│ └── d365fo.tools.sln
└── wiki/
├── Azure-DevOps-Build-Configuration.md
├── Branching.md
├── Building-tools.md
├── Call-Internal-Functions.md
├── Calling-the-Table-Browser-from-the-browser.md
├── Configuration.md
├── Configure-Azure-Logic-App.md
├── Deprecation-guidelines.md
├── Do-And-Do-Not.md
├── Exception-handling.md
├── Fix-AzureStorageConfig.md
├── Getting-Started-with-GitHub.md
├── Home.md
├── How-To-Authenticate-With-LCS-API.md
├── How-To-Compile-Model.md
├── How-To-Download-Latest-Bacpac-From-Lcs.md
├── How-To-Enable-Users-In-Db.md
├── How-To-Export-Bacpac-From-Tier1.md
├── How-To-Import-Bacpac-Into-Tier1.md
├── How-To-Import-External-User-Into-Db.md
├── How-To-Import-User-Into-Db.md
├── How-To-Install-AzCopy.md
├── How-To-Install-NuGet.md
├── How-To-Install-SqlPackage.md
├── How-To-List-Models.md
├── How-To-Provision-Environment-Tier1.md
├── How-To-Register-NuGet-Source.md
├── How-To-Start-Stop-List-D365FO-Services.md
├── How-To-Transfer-Via-AzCopy.md
├── How-To-Update-Users-In-Db.md
├── How-To-Write-Wiki-Pages.md
├── Implementing-the-messaging-system.md
├── Load-individual-files-or-dot-source-the-files.md
├── Old-readme-examples.md
├── Open-the-path-where-D365FO.Tools-is-installed.md
├── Run-a-runnable-class.md
├── Troubleshoot.md
├── Tutorial-Import-Module.md
├── Tutorial-Install-Administrator.md
├── Tutorial-Install-Non-Administrator.md
├── Tutorial-List-Commands.md
├── Tutorial-Show-Help.md
├── Update-users-in-environment.md
├── Utilizing-the-configuration-system.md
├── Work-with-Azure-Storage-Account.md
├── Work-with-packages,-resource---label-files,-language-and-lables.md
├── Work-with-tables-and-fields.md
├── Working-with-the-different-D365-services.md
└── _Sidebar.md
SYMBOL INDEX (3 symbols across 2 files) FILE: d365fo.tools/internal/sql/clear-azurebacpacdatabase.sql type tmpsetstoplist (line 217) | CREATE TABLE #tmpsetstoplist type dropfulltextstoplist (line 277) | CREATE TABLE #dropfulltextstoplist FILE: library/d365fo.tools/d365fo.tools/Class1.cs class Class1 (line 5) | public class Class1
Condensed preview — 915 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,910K chars).
[
{
"path": ".gitattributes",
"chars": 66,
"preview": "# Auto detect text files and perform LF normalization\n* text=auto"
},
{
"path": ".github/workflows/Release-Management.yml",
"chars": 831,
"preview": "on:\n workflow_dispatch:\n inputs:\n gallery_publish:\n description: \"Publish to the PowerShell Gallery?\"\n "
},
{
"path": ".github/workflows/build-manual.yml",
"chars": 944,
"preview": "on:\n workflow_dispatch:\n inputs:\n skippublish:\n description: \"Determines if the publishing to the PowerS"
},
{
"path": ".github/workflows/build.yml",
"chars": 4544,
"preview": "# run the Powershell scripts in build folder as part of a GitHub Action\n\nname: d365fo.tools-PR-Test\n\non:\n push:\n bra"
},
{
"path": ".github/workflows/dependencies.yml",
"chars": 1007,
"preview": "# Used to define the dependencies of the d365fo.tools PowerShell module\n# in a way that can be evaluated for the GitHub "
},
{
"path": ".github/workflows/update-generated-text.yml",
"chars": 1973,
"preview": "# Run the scrips documented in https://github.com/d365collaborative/d365fo.tools/wiki/Building-tools\n# Creates a pull re"
},
{
"path": ".github/workflows/update-wiki.yml",
"chars": 577,
"preview": "name: Wiki Update\n\n# Run when contents of the wiki folder are changed\non:\n push:\n paths:\n - 'wiki/**'\n - '"
},
{
"path": ".gitignore",
"chars": 498,
"preview": "\n# ignore the settings folder and files for VSCode and PSS\n.vscode/*\n*.psproj\n*TempPoint*\n\n# Ignore staging info from V"
},
{
"path": "LICENSE",
"chars": 1086,
"preview": "MIT License\n\nCopyright (c) 2018 Mötz Jensen & Rasmus Andersen\n\nPermission is hereby granted, free of charge, to any pers"
},
{
"path": "README.md",
"chars": 4878,
"preview": "# **d365fo.tools**\n\nA PowerShell module to handle different management tasks related to Microsoft Dynamics 365 Finance "
},
{
"path": "build/buildtools.ps1",
"chars": 695,
"preview": "# Installs the modules required for the automatic text generation.\n# See also https://github.com/d365collaborative/d365f"
},
{
"path": "build/filesAfter.txt",
"chars": 293,
"preview": "# List all files that are loaded in the postimport.ps1\n# In the order they are loaded during postimport\n\ninternal\\confi"
},
{
"path": "build/filesBefore.txt",
"chars": 131,
"preview": "# List all files that are loaded in the preimport.ps1\n# In the order they are loaded during preimport\n\ninternal\\scripts"
},
{
"path": "build/format-commentbasedhelp.ps1",
"chars": 1788,
"preview": "# Script to format the comments/documentation of the cmdlets used for the commend based help.\n# based on https://gist.gi"
},
{
"path": "build/generate-findcommandindex.ps1",
"chars": 254,
"preview": "# Script to generate the comment based markdown help files.\n# See also https://github.com/d365collaborative/d365fo.tools"
},
{
"path": "build/generate-parameterunittests.ps1",
"chars": 807,
"preview": "# Script to generate the parameter unit tests.\n# based on https://gist.github.com/Splaxi/2a24fc3c5193089ae7047ac5b8f104d"
},
{
"path": "build/update-docs.ps1",
"chars": 470,
"preview": "# Script to generate the comment based markdown help files.\n# based on https://gist.github.com/Splaxi/8934e13cb35918d13a"
},
{
"path": "build/vsts-build.ps1",
"chars": 3907,
"preview": "<#\nThis script publishes the module to the gallery.\nIt expects as input an ApiKey authorized to publish the module.\n\nIn"
},
{
"path": "build/vsts-prerequisites.ps1",
"chars": 958,
"preview": "Write-Host \"Working on the machine named: $($env:computername)\"\nWrite-Host \"The user running is: $($env:UserName)\"\n\n# $"
},
{
"path": "build/vsts-validate-psscriptanalyzer.ps1",
"chars": 959,
"preview": "param (\n $TestPublic = $true,\n\t\n $TestInternal = $true\n)\n\n# Guide for available variables and working with secret"
},
{
"path": "build/vsts-validate.ps1",
"chars": 984,
"preview": "param (\n $TestGeneral = $true,\n\t\n $TestFunctions = $true,\n\n\t$Exclude = \"\"\n\n)\n\n# Guide for available variables and"
},
{
"path": "contributing.md",
"chars": 6998,
"preview": "Here, we'll help you understand how to contribute to the project, and talk about fun stuff like styles and guidelines.\n"
},
{
"path": "d365fo.tools/bin/d365fo.tools-index.json",
"chars": 880836,
"preview": "[\n {\n \"CommandName\": \"Add-D365AzureStorageConfig\",\n \"Description\": \"Adds an Azure Storage Account co"
},
{
"path": "d365fo.tools/bin/readme.md",
"chars": 361,
"preview": "# bin folder\n\nThe bin folder exists to store binary data. And scripts related to the type system.\n\nThis may include you"
},
{
"path": "d365fo.tools/d365fo.tools.psd1",
"chars": 10316,
"preview": "@{\n\t# Script module or binary module file associated with this manifest\n\tRootModule = 'd365fo.tools.psm1'\n\n\t# Ve"
},
{
"path": "d365fo.tools/d365fo.tools.psm1",
"chars": 3109,
"preview": "$script:ModuleRoot = $PSScriptRoot\n$script:ModuleVersion = \"0.7.10\"\n\n# Detect whether at some level dotsourcing was enf"
},
{
"path": "d365fo.tools/en-us/about_Deployable_Packages.help.txt",
"chars": 3360,
"preview": "TOPIC\n about_Deployable_Packages\n\nSHORT DESCRIPTION\n Describes the concept of deployable packages and how to work"
},
{
"path": "d365fo.tools/en-us/about_d365fo.tools.help.txt",
"chars": 168,
"preview": "TOPIC\n\tabout_d365fo.tools\n\t\nSHORT DESCRIPTION\n\tExplains how to use the d365fo.tools powershell module\n\t\nLONG DESCRIPTIO"
},
{
"path": "d365fo.tools/functions/add-d365azurestorageconfig.ps1",
"chars": 5057,
"preview": "\n<#\n .SYNOPSIS\n Save an Azure Storage Account config\n \n .DESCRIPTION\n Adds an Azure Storage "
},
{
"path": "d365fo.tools/functions/add-d365broadcastmessageconfig.ps1",
"chars": 6828,
"preview": "\n<#\n .SYNOPSIS\n Save a broadcast message config\n \n .DESCRIPTION\n Adds a broadcast message co"
},
{
"path": "d365fo.tools/functions/add-d365moduletoremove.ps1",
"chars": 2397,
"preview": "\n<#\n .SYNOPSIS\n Adds a ModuleToRemove.txt file to a deployable package\n \n .DESCRIPTION\n Modi"
},
{
"path": "d365fo.tools/functions/add-d365rsatwifconfigauthoritythumbprint.ps1",
"chars": 3074,
"preview": "\n<#\n .SYNOPSIS\n Add a certificate thumbprint to the wif.config.\n \n .DESCRIPTION\n Register a "
},
{
"path": "d365fo.tools/functions/add-d365windowsdefenderrules.ps1",
"chars": 10326,
"preview": "\n<#\n .SYNOPSIS\n Add rules to Windows Defender to enhance performance during development.\n \n .DESCRI"
},
{
"path": "d365fo.tools/functions/backup-d365devconfig.ps1",
"chars": 2731,
"preview": "\n<#\n .SYNOPSIS\n Backup the DynamicsDevConfig.xml file\n \n .DESCRIPTION\n Will backup the Dynam"
},
{
"path": "d365fo.tools/functions/backup-d365metadatadir.ps1",
"chars": 2056,
"preview": "\n<#\n .SYNOPSIS\n Create a backup of the Metadata directory\n \n .DESCRIPTION\n Creates a backup "
},
{
"path": "d365fo.tools/functions/backup-d365runbook.ps1",
"chars": 2224,
"preview": "\n<#\n .SYNOPSIS\n Backup a runbook file\n \n .DESCRIPTION\n Backup a runbook file for you to pers"
},
{
"path": "d365fo.tools/functions/backup-d365webconfig.ps1",
"chars": 2443,
"preview": "\n<#\n .SYNOPSIS\n Backup the web.config file\n \n .DESCRIPTION\n Will backup the web.config file "
},
{
"path": "d365fo.tools/functions/backup-d365wifconfig.ps1",
"chars": 2374,
"preview": "\n<#\n .SYNOPSIS\n Backup the wif.config file\n \n .DESCRIPTION\n Will backup the wif.config file "
},
{
"path": "d365fo.tools/functions/clear-d365activebroadcastmessageconfig.ps1",
"chars": 1422,
"preview": "\n<#\n .SYNOPSIS\n Clear the active broadcast message config\n \n .DESCRIPTION\n Clear the active "
},
{
"path": "d365fo.tools/functions/clear-d365bacpacobject.ps1",
"chars": 12440,
"preview": "\n<#\n .SYNOPSIS\n Clear out sql objects from inside the bacpac/dacpac or zip file\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/clear-d365bacpactabledata.ps1",
"chars": 8094,
"preview": "\n<#\n .SYNOPSIS\n Clear out data for a table inside the bacpac/dacpac or zip file\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/clear-d365monitordata.ps1",
"chars": 1351,
"preview": "\n<#\n .SYNOPSIS\n Clear the monitoring data from a Dynamics 365 for Finance & Operations machine\n \n ."
},
{
"path": "d365fo.tools/functions/clear-d365tempdbtables.ps1",
"chars": 3983,
"preview": "\n<#\n .SYNOPSIS\n Cleanup TempDB tables in Microsoft Dynamics 365 for Finance and Operations environment\n "
},
{
"path": "d365fo.tools/functions/convertto-d365dacpac.ps1",
"chars": 3316,
"preview": "\n<#\n .SYNOPSIS\n Convert bacpac file to dacpac\n \n .DESCRIPTION\n Convert bacpac file to dacpac"
},
{
"path": "d365fo.tools/functions/disable-d365exception.ps1",
"chars": 1117,
"preview": "\n<#\n .SYNOPSIS\n Disables throwing of exceptions\n \n .DESCRIPTION\n Restore the default excepti"
},
{
"path": "d365fo.tools/functions/disable-d365flight.ps1",
"chars": 4746,
"preview": "\n<#\n .SYNOPSIS\n Used to disable a flight\n \n .DESCRIPTION\n Provides a method for disabling a "
},
{
"path": "d365fo.tools/functions/disable-d365iispreload.ps1",
"chars": 8263,
"preview": "\n<#\n .SYNOPSIS\n Disables IIS Preload for the AOSService application pool and website.\n \n .DESCRIPTI"
},
{
"path": "d365fo.tools/functions/disable-d365maintenancemode.ps1",
"chars": 6737,
"preview": "\n<#\n .SYNOPSIS\n Sets the environment back into operating state\n \n .DESCRIPTION\n Sets the Dyn"
},
{
"path": "d365fo.tools/functions/disable-d365sqlchangetracking.ps1",
"chars": 3018,
"preview": "\n<#\n .SYNOPSIS\n Disable Change Tracking for the environment\n \n .DESCRIPTION\n Disables the SQ"
},
{
"path": "d365fo.tools/functions/disable-d365user.ps1",
"chars": 4241,
"preview": "\n<#\n .SYNOPSIS\n Disables the user in D365FO\n \n .DESCRIPTION\n Sets the enabled to 0 in the us"
},
{
"path": "d365fo.tools/functions/enable-d365exception.ps1",
"chars": 1115,
"preview": "\n<#\n .SYNOPSIS\n Enable exceptions to be thrown\n \n .DESCRIPTION\n Change the default exception"
},
{
"path": "d365fo.tools/functions/enable-d365flight.ps1",
"chars": 4717,
"preview": "\n<#\n .SYNOPSIS\n Used to enable a flight\n \n .DESCRIPTION\n Provides a method for enabling a fl"
},
{
"path": "d365fo.tools/functions/enable-d365iispreload.ps1",
"chars": 7032,
"preview": "\n<#\n .SYNOPSIS\n Enables IIS Preload for the AOSService application pool and website.\n \n .DESCRIPTIO"
},
{
"path": "d365fo.tools/functions/enable-d365maintenancemode.ps1",
"chars": 6761,
"preview": "\n<#\n .SYNOPSIS\n Sets the environment into maintenance mode\n \n .DESCRIPTION\n Sets the Dynamic"
},
{
"path": "d365fo.tools/functions/enable-d365sqlchangetracking.ps1",
"chars": 3076,
"preview": "\n<#\n .SYNOPSIS\n Enable Change Tracking for the environment\n \n .DESCRIPTION\n Enable the SQL S"
},
{
"path": "d365fo.tools/functions/enable-d365user.ps1",
"chars": 4275,
"preview": "\n<#\n .SYNOPSIS\n Enables the user in D365FO\n \n .DESCRIPTION\n Sets the enabled to 1 in the use"
},
{
"path": "d365fo.tools/functions/export-d365bacpacmodelfile.ps1",
"chars": 4697,
"preview": "\n<#\n .SYNOPSIS\n Extract the \"model.xml\" from the bacpac file\n \n .DESCRIPTION\n Extract the \"m"
},
{
"path": "d365fo.tools/functions/export-d365model.ps1",
"chars": 3548,
"preview": "\n<#\n .SYNOPSIS\n Export a model from Dynamics 365 for Finance & Operations\n \n .DESCRIPTION\n E"
},
{
"path": "d365fo.tools/functions/export-d365securitydetails.ps1",
"chars": 3704,
"preview": "\n<#\n .SYNOPSIS\n Extract details from a User Interface Security file\n \n .DESCRIPTION\n Extract"
},
{
"path": "d365fo.tools/functions/find-d365command.ps1",
"chars": 8922,
"preview": "#ValidationTags#Messaging,FlowControl,Pipeline,CodeStyle#\nfunction Find-D365Command {\n<#\n .SYNOPSIS\n Finds d3"
},
{
"path": "d365fo.tools/functions/get-d365activeazurestorageconfig.ps1",
"chars": 1176,
"preview": "\n<#\n .SYNOPSIS\n Get active Azure Storage Account configuration\n \n .DESCRIPTION\n Get active A"
},
{
"path": "d365fo.tools/functions/get-d365activebroadcastmessageconfig.ps1",
"chars": 1595,
"preview": "\n<#\n .SYNOPSIS\n Get active broadcast message configuration\n \n .DESCRIPTION\n Get active broad"
},
{
"path": "d365fo.tools/functions/get-d365aotobject.ps1",
"chars": 4501,
"preview": "\n<#\n .SYNOPSIS\n Search for AOT object\n \n .DESCRIPTION\n Enables you to search for different A"
},
{
"path": "d365fo.tools/functions/get-d365azuredevopsnuget.ps1",
"chars": 7007,
"preview": "\n<#\n .SYNOPSIS\n Get Azure DevOps nugets\n \n .DESCRIPTION\n Get Azure DevOps nugets from a feed"
},
{
"path": "d365fo.tools/functions/get-d365azurestorageconfig.ps1",
"chars": 1563,
"preview": "\n<#\n .SYNOPSIS\n Get Azure Storage Account configs\n \n .DESCRIPTION\n Get all Azure Storage Acc"
},
{
"path": "d365fo.tools/functions/get-d365azurestoragefile.ps1",
"chars": 5620,
"preview": "\n<#\n .SYNOPSIS\n Get file information from Azure Storage\n \n .DESCRIPTION\n Get information for"
},
{
"path": "d365fo.tools/functions/get-d365azurestorageurl.ps1",
"chars": 4179,
"preview": "\n<#\n .SYNOPSIS\n Get a blob Url from Azure Storage account\n \n .DESCRIPTION\n Get a valid blob "
},
{
"path": "d365fo.tools/functions/get-d365bacpacsqloptions.ps1",
"chars": 2837,
"preview": "\n<#\n .SYNOPSIS\n Get the SQL Server options from the bacpac model.xml file\n \n .DESCRIPTION\n E"
},
{
"path": "d365fo.tools/functions/get-d365bacpactable.ps1",
"chars": 16679,
"preview": "\n<#\n .SYNOPSIS\n Get tables from the bacpac file\n \n .DESCRIPTION\n Get tables and their metada"
},
{
"path": "d365fo.tools/functions/get-d365broadcastmessage.ps1",
"chars": 4074,
"preview": "\n<#\n .SYNOPSIS\n Get broadcast message from the D365FO environment\n \n .DESCRIPTION\n Get broad"
},
{
"path": "d365fo.tools/functions/get-d365broadcastmessageconfig.ps1",
"chars": 2745,
"preview": "\n<#\n .SYNOPSIS\n Get broadcast message configs\n \n .DESCRIPTION\n Get all broadcast message con"
},
{
"path": "d365fo.tools/functions/get-d365clickoncetrustprompt.ps1",
"chars": 1960,
"preview": "\n<#\n .SYNOPSIS\n Get the ClickOnce configuration\n \n .DESCRIPTION\n Creates the needed registry"
},
{
"path": "d365fo.tools/functions/get-d365compilerresult.ps1",
"chars": 6457,
"preview": "\n<#\n .SYNOPSIS\n Get the compiler outputs presented\n \n .DESCRIPTION\n Get the compiler outputs"
},
{
"path": "d365fo.tools/functions/get-d365database.ps1",
"chars": 2927,
"preview": "\n<#\n .SYNOPSIS\n Get databases from the server\n \n .DESCRIPTION\n Get the names of databases on"
},
{
"path": "d365fo.tools/functions/get-d365databaseaccess.ps1",
"chars": 889,
"preview": "\n<#\n .SYNOPSIS\n Shows the Database Access information for the D365 Environment\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/get-d365decryptedwebconfig.ps1",
"chars": 2846,
"preview": "\n<#\n .SYNOPSIS\n Decrypts the AOS config file\n \n .DESCRIPTION\n Function used for decrypting t"
},
{
"path": "d365fo.tools/functions/get-d365defaultmodelfornewprojects.ps1",
"chars": 1954,
"preview": "\n<#\n .SYNOPSIS\n Get the default model used creating new projects in Visual Studio\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/get-d365dotnetclass.ps1",
"chars": 4159,
"preview": "\n<#\n .SYNOPSIS\n Get a .NET class from the Dynamics 365 for Finance and Operations installation\n \n ."
},
{
"path": "d365fo.tools/functions/get-d365dotnetmethod.ps1",
"chars": 4175,
"preview": "\n<#\n .SYNOPSIS\n Get a .NET method from the Dynamics 365 for Finance and Operations installation\n \n "
},
{
"path": "d365fo.tools/functions/get-d365environment.ps1",
"chars": 5180,
"preview": "\n<#\n .SYNOPSIS\n Cmdlet to get the current status for the different services in a Dynamics 365 Finance & Opera"
},
{
"path": "d365fo.tools/functions/get-d365environmentsettings.ps1",
"chars": 1122,
"preview": "\n<#\n .SYNOPSIS\n Get the D365FO environment settings\n \n .DESCRIPTION\n Gets all settings the D"
},
{
"path": "d365fo.tools/functions/get-d365eventtraceprovider.ps1",
"chars": 2154,
"preview": "\n<#\n .SYNOPSIS\n Get D365FO Event Trace Provider\n \n .DESCRIPTION\n Get the full list of availa"
},
{
"path": "d365fo.tools/functions/get-d365externalip.ps1",
"chars": 1467,
"preview": "\n<#\n .SYNOPSIS\n Get the external IP address\n \n .DESCRIPTION\n Get the external IP address by "
},
{
"path": "d365fo.tools/functions/get-d365flight.ps1",
"chars": 6173,
"preview": "\n<#\n .SYNOPSIS\n Used to get a flight\n \n .DESCRIPTION\n Provides a method for listing a flight"
},
{
"path": "d365fo.tools/functions/get-d365iispreload.ps1",
"chars": 4481,
"preview": "\n<#\n .SYNOPSIS\n Gets IIS Preload status for the AOSService application pool and website.\n \n .DESCRI"
},
{
"path": "d365fo.tools/functions/get-d365installedhotfix.ps1",
"chars": 6893,
"preview": "\n<#\n .SYNOPSIS\n Get installed hotfix (DEPRECATED)\n \n .DESCRIPTION\n Get all relevant details "
},
{
"path": "d365fo.tools/functions/get-d365installedpackage.ps1",
"chars": 2896,
"preview": "\n<#\n .SYNOPSIS\n Get installed package from Dynamics 365 Finance & Operations environment\n \n .DESCRI"
},
{
"path": "d365fo.tools/functions/get-d365installedservice.ps1",
"chars": 1425,
"preview": "\n<#\n .SYNOPSIS\n Get installed D365 services\n \n .DESCRIPTION\n Get installed Dynamics 365 for "
},
{
"path": "d365fo.tools/functions/get-d365instancename.ps1",
"chars": 813,
"preview": "\n<#\n .SYNOPSIS\n Gets the instance name\n \n .DESCRIPTION\n Get the instance name that is regist"
},
{
"path": "d365fo.tools/functions/get-d365jsonservice.ps1",
"chars": 6844,
"preview": "\n<#\n .SYNOPSIS\n Get Json based service\n \n .DESCRIPTION\n Get Json based services that are ava"
},
{
"path": "d365fo.tools/functions/get-d365label.ps1",
"chars": 5298,
"preview": "\n<#\n .SYNOPSIS\n Get label from the label file from Dynamics 365 Finance & Operations environment\n \n "
},
{
"path": "d365fo.tools/functions/get-d365labelfile.ps1",
"chars": 7214,
"preview": "\n<#\n .SYNOPSIS\n Get label file (ids) for packages / modules from Dynamics 365 Finance & Operations environmen"
},
{
"path": "d365fo.tools/functions/get-d365language.ps1",
"chars": 2834,
"preview": "\n<#\n .SYNOPSIS\n Get installed languages from Dynamics 365 Finance & Operations environment\n \n .DESC"
},
{
"path": "d365fo.tools/functions/get-d365lcsapiconfig.ps1",
"chars": 1921,
"preview": "\n<#\n .SYNOPSIS\n Get the LCS configuration details\n \n .DESCRIPTION\n Get the LCS configuration"
},
{
"path": "d365fo.tools/functions/get-d365lcsapitoken.ps1",
"chars": 6733,
"preview": "\n<#\n .SYNOPSIS\n Get a valid OAuth 2.0 access token for LCS\n \n .DESCRIPTION\n Get a valid OAut"
},
{
"path": "d365fo.tools/functions/get-d365lcsassetfile.ps1",
"chars": 10931,
"preview": "\n<#\n .SYNOPSIS\n Get file from the Asset library inside the LCS project\n \n .DESCRIPTION\n Get "
},
{
"path": "d365fo.tools/functions/get-d365lcsassetvalidationstatus.ps1",
"chars": 8050,
"preview": "\n<#\n .SYNOPSIS\n Get the validation status from LCS\n \n .DESCRIPTION\n Get the validation statu"
},
{
"path": "d365fo.tools/functions/get-d365lcsdatabasebackups.ps1",
"chars": 5463,
"preview": "\n<#\n .SYNOPSIS\n Get database backups from LCS project\n \n .DESCRIPTION\n Get the available dat"
},
{
"path": "d365fo.tools/functions/get-d365lcsdatabaseoperationstatus.ps1",
"chars": 9257,
"preview": "\n<#\n .SYNOPSIS\n Get the status of a database operation from LCS\n \n .DESCRIPTION\n Get the cur"
},
{
"path": "d365fo.tools/functions/get-d365lcsdeploymentstatus.ps1",
"chars": 9639,
"preview": "\n<#\n .SYNOPSIS\n Get the Deployment status from LCS\n \n .DESCRIPTION\n Get the Deployment statu"
},
{
"path": "d365fo.tools/functions/get-d365lcsenvironmenthistory.ps1",
"chars": 10516,
"preview": "\n<#\n .SYNOPSIS\n Get history for a given environment within a LCS project\n \n .DESCRIPTION\n Ge"
},
{
"path": "d365fo.tools/functions/get-d365lcsenvironmentmetadata.ps1",
"chars": 13457,
"preview": "\n<#\n .SYNOPSIS\n Get LCS environment meta data from within a project\n \n .DESCRIPTION\n Get all"
},
{
"path": "d365fo.tools/functions/get-d365lcsenvironmentrsatcertificate.ps1",
"chars": 7288,
"preview": "\n<#\n .SYNOPSIS\n Get LCS environment rsat certificate from within a project\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/get-d365lcssharedassetfile.ps1",
"chars": 14104,
"preview": "\n<#\n .SYNOPSIS\n Get information for assets from the shared asset library of LCS\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/get-d365maintenancemode.ps1",
"chars": 3133,
"preview": "\n<#\n .SYNOPSIS\n Get the maintenance mode status of the environment\n \n .DESCRIPTION\n Get the "
},
{
"path": "d365fo.tools/functions/get-d365model.ps1",
"chars": 14280,
"preview": "\n<#\n .SYNOPSIS\n Get available model from Dynamics 365 Finance & Operations environment\n \n .DESCRIPT"
},
{
"path": "d365fo.tools/functions/get-d365module.ps1",
"chars": 11284,
"preview": "\n<#\n .SYNOPSIS\n Get installed package / module from Dynamics 365 Finance & Operations environment\n \n "
},
{
"path": "d365fo.tools/functions/get-d365offlineauthenticationadminemail.ps1",
"chars": 1499,
"preview": "\n<#\n .SYNOPSIS\n Gets the registered offline administrator e-mail configured\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/get-d365packagebundledetail.ps1",
"chars": 7965,
"preview": "\n<#\n .SYNOPSIS\n Get the details from an axscdppkg file\n \n .DESCRIPTION\n Get the details from"
},
{
"path": "d365fo.tools/functions/get-d365packagelabelresourcefile.ps1",
"chars": 3295,
"preview": "\n<#\n .SYNOPSIS\n Get label / resource file from a package\n \n .DESCRIPTION\n Get label (resourc"
},
{
"path": "d365fo.tools/functions/get-d365packagelabelresources.ps1",
"chars": 4353,
"preview": "\n<#\n .SYNOPSIS\n Get label from the resource file\n \n .DESCRIPTION\n Get label details from the"
},
{
"path": "d365fo.tools/functions/get-d365productinformation.ps1",
"chars": 816,
"preview": "\n<#\n .SYNOPSIS\n Returns information about D365FO\n \n .DESCRIPTION\n Gets detailed information "
},
{
"path": "d365fo.tools/functions/get-d365rsatcertificatethumbprint.ps1",
"chars": 840,
"preview": "\n<#\n .SYNOPSIS\n Get the thumbprint from the RSAT certificate\n \n .DESCRIPTION\n Locate the thu"
},
{
"path": "d365fo.tools/functions/get-d365rsatplaybackfile.ps1",
"chars": 2605,
"preview": "\n<#\n .SYNOPSIS\n Get the RSAT playback files\n \n .DESCRIPTION\n Get all the RSAT playback files"
},
{
"path": "d365fo.tools/functions/get-d365rsatsoaphostname.ps1",
"chars": 859,
"preview": "\n<#\n .SYNOPSIS\n Get the SOAP hostname for the D365FO environment\n \n .DESCRIPTION\n Get the SO"
},
{
"path": "d365fo.tools/functions/get-d365runbook.ps1",
"chars": 3285,
"preview": "\n<#\n .SYNOPSIS\n Get a Dynamics 365 Runbook\n \n .DESCRIPTION\n Get the full path and filename o"
},
{
"path": "d365fo.tools/functions/get-d365runbookid.ps1",
"chars": 1555,
"preview": "\n<#\n .SYNOPSIS\n Get runbook id\n \n .DESCRIPTION\n Get the runbook id from inside a runbook fil"
},
{
"path": "d365fo.tools/functions/get-d365runbooklogfile.ps1",
"chars": 5782,
"preview": "\n<#\n .SYNOPSIS\n Get log file from a Runbook step\n \n .DESCRIPTION\n Get the log files for a sp"
},
{
"path": "d365fo.tools/functions/get-d365sdpcleanup.ps1",
"chars": 1032,
"preview": "\n<#\n .SYNOPSIS\n Get the cleanup retention period\n \n .DESCRIPTION\n Gets the configured retent"
},
{
"path": "d365fo.tools/functions/get-d365sdpdetails.ps1",
"chars": 6100,
"preview": "\n<#\n .SYNOPSIS\n Get details from the Software Deployable Package\n \n .DESCRIPTION\n Details de"
},
{
"path": "d365fo.tools/functions/get-d365table.ps1",
"chars": 3737,
"preview": "\n<#\n .SYNOPSIS\n Get a table\n \n .DESCRIPTION\n Get a table either by TableName (wildcard searc"
},
{
"path": "d365fo.tools/functions/get-d365tablefield.ps1",
"chars": 7781,
"preview": "\n<#\n .SYNOPSIS\n Get a field from table\n \n .DESCRIPTION\n Get a field either by FieldName (wil"
},
{
"path": "d365fo.tools/functions/get-d365tablesequence.ps1",
"chars": 4170,
"preview": "\n<#\n .SYNOPSIS\n Get the sequence object for table\n \n .DESCRIPTION\n Get the sequence details "
},
{
"path": "d365fo.tools/functions/get-d365tablesinchangedtracking.ps1",
"chars": 2858,
"preview": "\n<#\n .SYNOPSIS\n Get table that is taking part of Change Tracking\n \n .DESCRIPTION\n Get table("
},
{
"path": "d365fo.tools/functions/get-d365tfsuri.ps1",
"chars": 1517,
"preview": "\n<#\n .SYNOPSIS\n Get the TFS / VSTS registered URL / URI\n \n .DESCRIPTION\n Gets the URI from t"
},
{
"path": "d365fo.tools/functions/get-d365tfsworkspace.ps1",
"chars": 2166,
"preview": "\n<#\n .SYNOPSIS\n Get the TFS / VSTS registered workspace path\n \n .DESCRIPTION\n Gets the works"
},
{
"path": "d365fo.tools/functions/get-d365url.ps1",
"chars": 1148,
"preview": "\n<#\n .SYNOPSIS\n Get the url for accessing the instance\n \n .DESCRIPTION\n Get the complete URL"
},
{
"path": "d365fo.tools/functions/get-d365user.ps1",
"chars": 4793,
"preview": "\n<#\n .SYNOPSIS\n Get users from the environment\n \n .DESCRIPTION\n Get all relevant user detail"
},
{
"path": "d365fo.tools/functions/get-d365userauthenticationdetail.ps1",
"chars": 1899,
"preview": "\n<#\n .SYNOPSIS\n Cmdlet used to get authentication details about a user\n \n .DESCRIPTION\n The "
},
{
"path": "d365fo.tools/functions/get-d365visualstudiocompilerresult.ps1",
"chars": 7118,
"preview": "\n<#\n .SYNOPSIS\n Get the compiler outputs presented\n \n .DESCRIPTION\n Get the Visual Studio co"
},
{
"path": "d365fo.tools/functions/get-d365webservertype.ps1",
"chars": 1810,
"preview": "\n<#\n .SYNOPSIS\n Get the default web server to be used\n \n .DESCRIPTION\n Get the web server wh"
},
{
"path": "d365fo.tools/functions/get-d365windowsactivationstatus.ps1",
"chars": 1197,
"preview": "\n<#\n .SYNOPSIS\n Get activation status\n \n .DESCRIPTION\n Get all the important license and act"
},
{
"path": "d365fo.tools/functions/import-d365aadapplication.ps1",
"chars": 2958,
"preview": "\n<#\n .SYNOPSIS\n Used to import Aad applications into D365FO\n \n .DESCRIPTION\n Provides a meth"
},
{
"path": "d365fo.tools/functions/import-d365aaduser.ps1",
"chars": 16809,
"preview": "\n<#\n .SYNOPSIS\n Used to import Aad users into D365FO\n \n .DESCRIPTION\n Provides a method for "
},
{
"path": "d365fo.tools/functions/import-d365bacpac.ps1",
"chars": 17291,
"preview": "\n<#\n .SYNOPSIS\n Import a bacpac file\n \n .DESCRIPTION\n Import a bacpac file to either a Tier1"
},
{
"path": "d365fo.tools/functions/import-d365dacpac.ps1",
"chars": 6989,
"preview": "\n<#\n .SYNOPSIS\n Import dacpac file to a database\n \n .DESCRIPTION\n Import a dacpac file into "
},
{
"path": "d365fo.tools/functions/import-d365externaluser.ps1",
"chars": 5369,
"preview": "\n<#\n .SYNOPSIS\n Import an user from an external Azure Active Directory (AAD)\n \n .DESCRIPTION\n "
},
{
"path": "d365fo.tools/functions/import-d365model.ps1",
"chars": 3531,
"preview": "\n<#\n .SYNOPSIS\n Import a model into Dynamics 365 for Finance & Operations\n \n .DESCRIPTION\n I"
},
{
"path": "d365fo.tools/functions/import-d365rsatselfservicecertificates.ps1",
"chars": 3813,
"preview": "\n<#\n .SYNOPSIS\n Import certificates for RSAT\n \n .DESCRIPTION\n Import the certificates for RS"
},
{
"path": "d365fo.tools/functions/initialize-d365rsatcertificate.ps1",
"chars": 5784,
"preview": "\n<#\n .SYNOPSIS\n Create and configure test automation certificate\n \n .DESCRIPTION\n Creates a "
},
{
"path": "d365fo.tools/functions/install-d365supportingsoftware.ps1",
"chars": 4401,
"preview": "\n<#\n .SYNOPSIS\n Install software supporting F&O development\n \n .DESCRIPTION\n Installs softwa"
},
{
"path": "d365fo.tools/functions/invoke-d365azcopytransfer.ps1",
"chars": 9209,
"preview": "\n<#\n .SYNOPSIS\n Transfer a file using AzCopy\n \n .DESCRIPTION\n Transfer a file using the AzCo"
},
{
"path": "d365fo.tools/functions/invoke-d365azuredevopsnugetpush.ps1",
"chars": 3538,
"preview": "\n<#\n .SYNOPSIS\n Push a package / nuget to Azure DevOps\n \n .DESCRIPTION\n Push a package / nug"
},
{
"path": "d365fo.tools/functions/invoke-d365azurestoragedownload.ps1",
"chars": 8046,
"preview": "\n<#\n .SYNOPSIS\n Download a file to Azure\n \n .DESCRIPTION\n Download any file to an Azure Stor"
},
{
"path": "d365fo.tools/functions/invoke-d365azurestorageupload.ps1",
"chars": 7807,
"preview": "\n<#\n .SYNOPSIS\n Upload a file to Azure\n \n .DESCRIPTION\n Upload any file to an Azure Storage "
},
{
"path": "d365fo.tools/functions/invoke-d365bestpractice.ps1",
"chars": 6647,
"preview": "\n<#\n .SYNOPSIS\n Run the Best Practice\n \n .DESCRIPTION\n Run the Best Practice checks against "
},
{
"path": "d365fo.tools/functions/invoke-d365compilerresultanalyzer.ps1",
"chars": 5567,
"preview": "\n<#\n .SYNOPSIS\n Analyze the compiler output log\n \n .DESCRIPTION\n Analyze the compiler output"
},
{
"path": "d365fo.tools/functions/invoke-d365dataflush.ps1",
"chars": 1735,
"preview": "\n<#\n .SYNOPSIS\n Invoke the one of the data flush classes\n \n .DESCRIPTION\n Invoke one of the "
},
{
"path": "d365fo.tools/functions/invoke-d365dbsync.ps1",
"chars": 6885,
"preview": "\n<#\n .SYNOPSIS\n Invoke the synchronization process used in Visual Studio\n \n .DESCRIPTION\n Us"
},
{
"path": "d365fo.tools/functions/invoke-d365dbsyncmodule.ps1",
"chars": 5896,
"preview": "\n<#\n .SYNOPSIS\n Synchronize all sync base and extension elements based on a modulename\n \n .DESCRIPT"
},
{
"path": "d365fo.tools/functions/invoke-d365dbsyncpartial.ps1",
"chars": 8554,
"preview": "\n<#\n .SYNOPSIS\n Invoke the synchronization process used in Visual Studio\n \n .DESCRIPTION\n Us"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportaggregatedataentity.ps1",
"chars": 5915,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Aggregate Data Entity\n \n .DESCRIPTION\n Traverse the Dyna"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportaggregatemeasure.ps1",
"chars": 3940,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Aggregate Measure\n \n .DESCRIPTION\n Traverse the Dynamics"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportconfigkey.ps1",
"chars": 5495,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Config Key\n \n .DESCRIPTION\n Traverse the Dynamics 365 Fi"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportconfigkeygroup.ps1",
"chars": 5605,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Config Key Group\n \n .DESCRIPTION\n Traverse the Dynamics "
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportdataentity.ps1",
"chars": 5779,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Data Entity\n \n .DESCRIPTION\n Traverse the Dynamics 365 F"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportdataentityfield.ps1",
"chars": 3632,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Data Entity with fields\n \n .DESCRIPTION\n Traverse the Dy"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportkpi.ps1",
"chars": 5720,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for KPI\n \n .DESCRIPTION\n Traverse the Dynamics 365 Finance &"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportlicensecode.ps1",
"chars": 5321,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for License Code\n \n .DESCRIPTION\n Traverse the Dynamics 365 "
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportmenuitem.ps1",
"chars": 8241,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Menu Item\n \n .DESCRIPTION\n Traverse the Dynamics 365 Fin"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereports.ps1",
"chars": 2608,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for all related objects\n \n .DESCRIPTION\n Traverse the Dynami"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportssrs.ps1",
"chars": 6531,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for SSRS Report\n \n .DESCRIPTION\n Traverse the Dynamics 365 F"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereporttable.ps1",
"chars": 6953,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Table\n \n .DESCRIPTION\n Traverse the Dynamics 365 Finance"
},
{
"path": "d365fo.tools/functions/invoke-d365generatereportworkflowtype.ps1",
"chars": 5491,
"preview": "\n<#\n .SYNOPSIS\n Generate Report for Workflow Type\n \n .DESCRIPTION\n Traverse the Dynamics 365"
},
{
"path": "d365fo.tools/functions/invoke-d365installazcopy.ps1",
"chars": 1985,
"preview": "\n<#\n .SYNOPSIS\n Download AzCopy.exe to your machine\n \n .DESCRIPTION\n Download and extract th"
},
{
"path": "d365fo.tools/functions/invoke-d365installlicense.ps1",
"chars": 4179,
"preview": "\n<#\n .SYNOPSIS\n Install a license for a 3. party solution\n \n .DESCRIPTION\n Install a license"
},
{
"path": "d365fo.tools/functions/invoke-d365installnuget.ps1",
"chars": 1721,
"preview": "\n<#\n .SYNOPSIS\n Download nuget.exe to your machine\n \n .DESCRIPTION\n Download the nuget.exe t"
},
{
"path": "d365fo.tools/functions/invoke-d365installsqlpackage.ps1",
"chars": 4221,
"preview": "\n<#\n .SYNOPSIS\n Download SqlPackage.exe to your machine\n \n .DESCRIPTION\n Download and extrac"
},
{
"path": "d365fo.tools/functions/invoke-d365lcsapirefreshtoken.ps1",
"chars": 4309,
"preview": "\n<#\n .SYNOPSIS\n Refresh the token for lcs communication\n \n .DESCRIPTION\n Invoke the refresh "
},
{
"path": "d365fo.tools/functions/invoke-d365lcsdatabaseexport.ps1",
"chars": 12306,
"preview": "\n<#\n .SYNOPSIS\n Start a database export from an environment\n \n .DESCRIPTION\n Start a databas"
},
{
"path": "d365fo.tools/functions/invoke-d365lcsdatabaserefresh.ps1",
"chars": 12709,
"preview": "\n<#\n .SYNOPSIS\n Start a database refresh between 2 environments\n \n .DESCRIPTION\n Start a dat"
},
{
"path": "d365fo.tools/functions/invoke-d365lcsdeployment.ps1",
"chars": 9482,
"preview": "\n<#\n .SYNOPSIS\n Start the deployment of a deployable package\n \n .DESCRIPTION\n Deploy a deplo"
},
{
"path": "d365fo.tools/functions/invoke-d365lcsenvironmentstart.ps1",
"chars": 7540,
"preview": "\n<#\n .SYNOPSIS\n Start a specified environment through LCS.\n \n .DESCRIPTION\n Start a specifie"
},
{
"path": "d365fo.tools/functions/invoke-d365lcsenvironmentstop.ps1",
"chars": 7531,
"preview": "\n<#\n .SYNOPSIS\n Stop a specified environment through LCS.\n \n .DESCRIPTION\n Stop a specified "
},
{
"path": "d365fo.tools/functions/invoke-d365lcsupload.ps1",
"chars": 10382,
"preview": "\n<#\n .SYNOPSIS\n Upload a file to a LCS project\n \n .DESCRIPTION\n Upload a file to a LCS proje"
},
{
"path": "d365fo.tools/functions/invoke-d365modulecompile.ps1",
"chars": 7184,
"preview": "\n<#\n .SYNOPSIS\n Compile a package / module / model\n \n .DESCRIPTION\n Compile a package / modu"
},
{
"path": "d365fo.tools/functions/invoke-d365modulefullcompile.ps1",
"chars": 3680,
"preview": "\n<#\n .SYNOPSIS\n Compile a package\n \n .DESCRIPTION\n Compile a package using the builtin \"xppc"
},
{
"path": "d365fo.tools/functions/invoke-d365modulelabelgeneration.ps1",
"chars": 4951,
"preview": "\n<#\n .SYNOPSIS\n Generate labels for a package / module / model\n \n .DESCRIPTION\n Generate lab"
},
{
"path": "d365fo.tools/functions/invoke-d365modulereportscompile.ps1",
"chars": 5003,
"preview": "\n<#\n .SYNOPSIS\n Generate reports for a package / module / model\n \n .DESCRIPTION\n Generate re"
},
{
"path": "d365fo.tools/functions/invoke-d365processmodule.ps1",
"chars": 10265,
"preview": "\n<#\n .SYNOPSIS\n Process a specific or multiple modules (compile, deploy reports and sync)\n \n .DESCR"
},
{
"path": "d365fo.tools/functions/invoke-d365rearmwindows.ps1",
"chars": 1223,
"preview": "\n<#\n .SYNOPSIS\n Invokes the Rearm of Windows license\n \n .DESCRIPTION\n Function used for invo"
},
{
"path": "d365fo.tools/functions/invoke-d365runbookanalyzer.ps1",
"chars": 6381,
"preview": "\n<#\n .SYNOPSIS\n Analyze the runbook\n \n .DESCRIPTION\n Get all the important details from a fa"
},
{
"path": "d365fo.tools/functions/invoke-d365scdpbundleinstall.ps1",
"chars": 7389,
"preview": "\n<#\n .SYNOPSIS\n Invoke the SCDPBundleInstall.exe file\n \n .DESCRIPTION\n A cmdlet that wraps s"
},
{
"path": "d365fo.tools/functions/invoke-d365sdpinstall.ps1",
"chars": 19911,
"preview": "\n<#\n .SYNOPSIS\n Install a Software Deployable Package (SDP)\n \n .DESCRIPTION\n A cmdlet that w"
},
{
"path": "d365fo.tools/functions/invoke-d365sdpinstallude.ps1",
"chars": 6178,
"preview": "\n<#\n .SYNOPSIS\n Install a Software Deployable Package (SDP) in a unified development environment\n \n "
},
{
"path": "d365fo.tools/functions/invoke-d365seleniumdownload.ps1",
"chars": 6184,
"preview": "\n<#\n .SYNOPSIS\n Downloads the Selenium web driver files and deploys them to the specified destinations.\n "
},
{
"path": "d365fo.tools/functions/invoke-d365sqlscript.ps1",
"chars": 4940,
"preview": "\n<#\n .SYNOPSIS\n Execute a SQL Script or a SQL Command\n \n .DESCRIPTION\n Execute a SQL Script "
},
{
"path": "d365fo.tools/functions/invoke-d365sysflushaodcache.ps1",
"chars": 873,
"preview": "\n<#\n .SYNOPSIS\n Invoke the SysFlushAos class\n \n .DESCRIPTION\n Invoke the runnable class SysF"
},
{
"path": "d365fo.tools/functions/invoke-d365sysrunnerclass.ps1",
"chars": 2067,
"preview": "\n<#\n .SYNOPSIS\n Start a browser session that executes SysRunnerClass\n \n .DESCRIPTION\n Makes "
},
{
"path": "d365fo.tools/functions/invoke-d365tablebrowser.ps1",
"chars": 2251,
"preview": "\n<#\n .SYNOPSIS\n Start a browser session that will show the table browser\n \n .DESCRIPTION\n Ma"
},
{
"path": "d365fo.tools/functions/invoke-d365visualstudiocompilerresultanalyzer.ps1",
"chars": 5889,
"preview": "\n<#\n .SYNOPSIS\n Analyze the Visual Studio compiler output log\n \n .DESCRIPTION\n Analyze the V"
},
{
"path": "d365fo.tools/functions/invoke-d365winrmcertificaterotation.ps1",
"chars": 1861,
"preview": "\n<#\n .SYNOPSIS\n Rotate the certificate used for WinRM\n \n .DESCRIPTION\n There is a scenario w"
},
{
"path": "d365fo.tools/functions/new-d365bacpac.ps1",
"chars": 15619,
"preview": "\n<#\n .SYNOPSIS\n Generate a bacpac file from a database\n \n .DESCRIPTION\n Takes care of all th"
},
{
"path": "d365fo.tools/functions/new-d365careport.ps1",
"chars": 5612,
"preview": "\n<#\n .SYNOPSIS\n Generate the Customization's Analysis Report (CAR)\n \n .DESCRIPTION\n A cmdlet"
},
{
"path": "d365fo.tools/functions/new-d365entraintegration.ps1",
"chars": 25741,
"preview": "\n<#\n .SYNOPSIS\n Enable the Microsoft Entra ID integration on a cloud hosted environment (CHE).\n \n ."
},
{
"path": "d365fo.tools/functions/new-d365isvlicense.ps1",
"chars": 2172,
"preview": "\n<#\n .SYNOPSIS\n Create a license deployable package\n \n .DESCRIPTION\n Create a deployable pac"
},
{
"path": "d365fo.tools/functions/new-d365moduletoremove.ps1",
"chars": 2374,
"preview": "\n<#\n .SYNOPSIS\n Create a new ModuleToRemove.txt file\n \n .DESCRIPTION\n Create a new ModuleToR"
},
{
"path": "d365fo.tools/functions/new-d365topologyfile.ps1",
"chars": 3325,
"preview": "\n<#\n .SYNOPSIS\n Create a new topology file\n \n .DESCRIPTION\n Build a new topology file based "
},
{
"path": "d365fo.tools/functions/publish-d365ssrsreport.ps1",
"chars": 5020,
"preview": "\n<#\n .SYNOPSIS\n Deploy Report\n \n .DESCRIPTION\n Deploy SSRS Report to SQL Server Reporting Se"
},
{
"path": "d365fo.tools/functions/publish-d365webresources.ps1",
"chars": 1786,
"preview": "\n<#\n .SYNOPSIS\n Deploy web resources\n \n .DESCRIPTION\n Deploys the Dynamics 365 for Finance a"
}
]
// ... and 715 more files (download for full content)
About this extraction
This page contains the full source code of the d365collaborative/d365fo.tools GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 915 files (4.4 MB), approximately 1.2M tokens, and a symbol index with 3 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.