@microsoft/windows-admin-center-sdk 2.186.0 → 2.295.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +1103 -1209
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +2 -2
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/actions/actions.module.js +2 -2
- package/angular/esm2015/src/controls/actions/containers/action-bar/action-bar.component.js +2 -2
- package/angular/esm2015/src/controls/actions/items/action-button/action-button-renderer.component.js +5 -5
- package/angular/esm2015/src/controls/actions/items/action-dropdown/action-dropdown.component.js +31 -13
- package/angular/esm2015/src/controls/actions/items/action-item.component.js +7 -3
- package/angular/esm2015/src/controls/badge/badge-base.component.js +2 -13
- package/angular/esm2015/src/controls/badge/bugfixes-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/coming-soon-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/credssp-enabled-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/critical-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/custom-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/feedback-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/improvement-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/preview-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/warning-badge.component.js +42 -70
- package/angular/esm2015/src/controls/breadcrumb/breadcrumb.component.js +6 -6
- package/angular/esm2015/src/controls/breadcrumb-header/breadcrumb-header.component.js +2 -2
- package/angular/esm2015/src/controls/data-table/data-table-column.component.js +5 -3
- package/angular/esm2015/src/controls/data-table/data-table.component.js +20 -26
- package/angular/esm2015/src/controls/data-table/extensions/data-table-column-picker-extension.js +2 -1
- package/angular/esm2015/src/controls/details/details.component.js +2 -2
- package/angular/esm2015/src/controls/dialog/base-dialog.component.js +1 -1
- package/angular/esm2015/src/controls/dialog/confirmation-dialog/confirmation-dialog.component.js +20 -30
- package/angular/esm2015/src/controls/dialog/dialog.service.js +7 -3
- package/angular/esm2015/src/controls/dropdown/dropdown.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +50 -40
- package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +3 -3
- package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +14 -13
- package/angular/esm2015/src/controls/form/form-field/datetime/datetime-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/form-field.component.js +16 -4
- package/angular/esm2015/src/controls/form/form-field/options-form-field/form-field-option.component.js +5 -3
- package/angular/esm2015/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.js +25 -21
- package/angular/esm2015/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.js +5 -5
- package/angular/esm2015/src/controls/form/form-field/search/search-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/tags/tags-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +4 -10
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.js +1 -1
- package/angular/esm2015/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.js +17 -1
- package/angular/esm2015/src/controls/icon/layered-icon/layered-icon.component.js +12 -1
- package/angular/esm2015/src/controls/icon/layered-icon/status/status-icon.component.js +53 -9
- package/angular/esm2015/src/controls/loading-wheel/loading-wheel.component.js +17 -1
- package/angular/esm2015/src/controls/master-view/master-view.component.js +34 -30
- package/angular/esm2015/src/controls/pivot/pivot-tab.component.js +1 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +13 -29
- package/angular/esm2015/src/controls/schema-form/schema-form-content.component.js +7 -4
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +23 -35
- package/angular/esm2015/src/controls/settings/settings.component.js +28 -1
- package/angular/esm2015/src/controls/settings/settings.module.js +8 -3
- package/angular/esm2015/src/controls/tooltip/tooltip-host.component.js +16 -5
- package/angular/esm2015/src/controls/wizard/wizard.component.js +38 -6
- package/angular/esm2015/src/directives/clamp/clamp.directive.js +26 -7
- package/angular/esm2015/src/directives/discard/discard.directive.js +2 -2
- package/angular/esm2015/src/directives/markdown/markdown.directive.js +5 -18
- package/angular/esm2015/src/generated/strings.js +1 -1
- package/angular/esm2015/src/guards/experiment.guard.service.js +14 -1
- package/angular/esm2015/src/pipes/boolean-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/byte-unit-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/enum-converter-pipe.js +16 -1
- package/angular/esm2015/src/pipes/format-pipe.js +11 -1
- package/angular/esm2015/src/pipes/highlight-pipe.js +11 -1
- package/angular/esm2015/src/pipes/yesno-converter-pipe.js +11 -1
- package/angular/esm2015/src/service/gateway.service.js +8 -5
- package/angular/esm2015/src/service/notification.service.js +23 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +1042 -1069
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/package.json +0 -1
- package/angular/src/controls/actions/items/action-dropdown/action-dropdown.component.d.ts +2 -0
- package/angular/src/controls/actions/items/action-item.component.d.ts +11 -1
- package/angular/src/controls/badge/badge-base.component.d.ts +0 -4
- package/angular/src/controls/data-table/data-table-column.component.d.ts +2 -1
- package/angular/src/controls/data-table/data-table.component.d.ts +4 -0
- package/angular/src/controls/dialog/base-dialog.component.d.ts +1 -1
- package/angular/src/controls/form/form-field/form-field.component.d.ts +10 -1
- package/angular/src/controls/form/form-field/options-form-field/form-field-option.component.d.ts +5 -1
- package/angular/src/controls/form/validation-alert/validation-alert.component.d.ts +0 -4
- package/angular/src/controls/form/validation-alert/validation-alert.d.ts +0 -1
- package/angular/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.d.ts +16 -0
- package/angular/src/controls/icon/layered-icon/layered-icon.component.d.ts +11 -0
- package/angular/src/controls/icon/layered-icon/status/status-icon.component.d.ts +13 -2
- package/angular/src/controls/loading-wheel/loading-wheel.component.d.ts +16 -0
- package/angular/src/controls/master-view/master-view.component.d.ts +1 -0
- package/angular/src/controls/pivot/pivot-tab.component.d.ts +0 -1
- package/angular/src/controls/pivot/pivot.component.d.ts +4 -0
- package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +6 -5
- package/angular/src/controls/settings/settings.component.d.ts +27 -0
- package/angular/src/controls/settings/settings.module.d.ts +7 -6
- package/angular/src/controls/tooltip/tooltip-host.component.d.ts +1 -1
- package/angular/src/controls/wizard/wizard.component.d.ts +23 -0
- package/angular/src/directives/clamp/clamp.directive.d.ts +5 -0
- package/angular/src/directives/markdown/markdown.directive.d.ts +2 -3
- package/angular/src/generated/strings.d.ts +9 -0
- package/angular/src/guards/experiment.guard.service.d.ts +13 -0
- package/angular/src/pipes/boolean-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/byte-unit-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/enum-converter-pipe.d.ts +15 -0
- package/angular/src/pipes/format-pipe.d.ts +10 -0
- package/angular/src/pipes/highlight-pipe.d.ts +10 -0
- package/angular/src/pipes/yesno-converter-pipe.d.ts +10 -0
- package/angular/src/service/gateway.service.d.ts +3 -1
- package/angular/src/service/notification.service.d.ts +22 -0
- package/core/base/environment.d.ts +7 -0
- package/core/base/environment.js.map +1 -1
- package/core/base/versioned-object.js +2 -2
- package/core/base/versioned-object.js.map +1 -1
- package/core/data/cim-stream.js +8 -1
- package/core/data/cim-stream.js.map +1 -1
- package/core/data/core-environment.d.ts +4 -0
- package/core/data/core-environment.js +1 -0
- package/core/data/core-environment.js.map +1 -1
- package/core/data/crypto.js +10 -9
- package/core/data/crypto.js.map +1 -1
- package/core/data/file-transfer.js +5 -1
- package/core/data/file-transfer.js.map +1 -1
- package/core/data/gateway-connection.d.ts +11 -1
- package/core/data/gateway-connection.js +51 -9
- package/core/data/gateway-connection.js.map +1 -1
- package/core/data/http-constants.d.ts +5 -1
- package/core/data/http-constants.js +5 -1
- package/core/data/http-constants.js.map +1 -1
- package/core/data/net.d.ts +15 -11
- package/core/data/net.js +44 -41
- package/core/data/net.js.map +1 -1
- package/core/data/node-connection.d.ts +2 -2
- package/core/data/node-connection.js.map +1 -1
- package/core/data/powershell-stream.js +11 -3
- package/core/data/powershell-stream.js.map +1 -1
- package/core/data/powershell.d.ts +17 -1
- package/core/data/powershell.js +35 -9
- package/core/data/powershell.js.map +1 -1
- package/core/data/settings-manager.d.ts +9 -0
- package/core/data/settings-manager.js +18 -1
- package/core/data/settings-manager.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts +5 -4
- package/core/generated/powershell-scripts.js +5 -4
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/host/host-core-manager.d.ts +36 -0
- package/core/host/host-core-manager.js +134 -0
- package/core/host/host-core-manager.js.map +1 -0
- package/core/host/host-core-message-type.d.ts +12 -0
- package/core/host/host-core-message-type.js +17 -0
- package/core/host/host-core-message-type.js.map +1 -0
- package/core/host/host-core-messages.d.ts +14 -0
- package/core/host/host-core-messages.js +3 -0
- package/core/host/host-core-messages.js.map +1 -0
- package/core/manifest/manifest-loader.d.ts +2 -1
- package/core/manifest/manifest-loader.js +27 -18
- package/core/manifest/manifest-loader.js.map +1 -1
- package/core/notification/notification.js +4 -0
- package/core/notification/notification.js.map +1 -1
- package/core/security/authorization-manager.d.ts +44 -0
- package/core/security/authorization-manager.js +111 -5
- package/core/security/authorization-manager.js.map +1 -1
- package/core/security/sign-on-manager.d.ts +109 -0
- package/core/security/sign-on-manager.js +119 -0
- package/core/security/sign-on-manager.js.map +1 -0
- package/core/security/tag-manager.js.map +1 -1
- package/core/shared/cluster-inventory/cluster-inventory-cache.js +3 -2
- package/core/shared/cluster-inventory/cluster-inventory-cache.js.map +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.d.ts +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js.map +1 -1
- package/core/shared/server-inventory/server-inventory-cache.js +2 -1
- package/core/shared/server-inventory/server-inventory-cache.js.map +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js.map +1 -1
- package/e2e/assets/strings/cs-CZ/strings.json +1 -1
- package/e2e/assets/strings/de-DE/strings.json +1 -1
- package/e2e/assets/strings/es-ES/strings.json +1 -1
- package/e2e/assets/strings/fr-FR/strings.json +1 -1
- package/e2e/assets/strings/hu-HU/strings.json +1 -1
- package/e2e/assets/strings/it-IT/strings.json +1 -1
- package/e2e/assets/strings/ja-JP/strings.json +1 -1
- package/e2e/assets/strings/ko-KR/strings.json +1 -1
- package/e2e/assets/strings/nl-NL/strings.json +1 -1
- package/e2e/assets/strings/pl-PL/strings.json +1 -1
- package/e2e/assets/strings/pt-BR/strings.json +1 -1
- package/e2e/assets/strings/pt-PT/strings.json +1 -1
- package/e2e/assets/strings/ru-RU/strings.json +1 -1
- package/e2e/assets/strings/strings.json +1 -1
- package/e2e/assets/strings/sv-SE/strings.json +1 -1
- package/e2e/assets/strings/tr-TR/strings.json +1 -1
- package/e2e/assets/strings/zh-CN/strings.json +1 -1
- package/e2e/assets/strings/zh-TW/strings.json +1 -1
- package/package.json +5 -5
- package/styles/css/fonts.css +2 -2
- package/styles/css/main.css +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.62.woff +0 -0
- package/styles/fonts/ServMDL2/ServMDL2.json +238 -2039
- package/styles/fonts/ServMDL2/ServMDL2.scss +238 -2039
- package/tools/gulp-manifest-resource/index.js +3 -1
- package/tools/gulp-manifest-resource/index.js.map +1 -1
- package/tools/gulp-ps-cim/index.js +1 -1
- package/tools/gulp-ps-cim/index.js.map +1 -1
- package/tools/gulp-ps-cim/powershell-cim-config-schema.json +1 -1
- package/tools/gulp-ps-code/index.js +36 -2
- package/tools/gulp-ps-code/index.js.map +1 -1
- package/tools/gulp-ps-code/ps-code-convert.js +4 -8
- package/tools/gulp-ps-code/ps-code-convert.js.map +1 -1
- package/tools/gulp-ps-resjson/index.js +79 -74
- package/tools/gulp-ps-resjson/index.js.map +1 -1
- package/tools/module-template/build/pipelines/codeinspector.yml +27 -0
- package/tools/module-template/gulpfile.ts/common/lint.ts +3 -3
- package/tools/module-template/gulpfile.ts/common/pack.ts +14 -14
- package/tools/module-template/gulpfile.ts/common/ui-test-automation.ts +40 -0
- package/tools/module-template/gulpfile.ts/common/utilities.ts +10 -10
- package/tools/module-template/gulpfile.ts/common/validate.ts +14 -4
- package/tools/module-template/gulpfile.ts/index.ts +20 -8
- package/tools/wac-cli/src/upgrade/file-updater.d.ts +1 -0
- package/tools/wac-cli/src/upgrade/file-updater.js +7 -1
- package/tools/wac-cli/src/upgrade/file-updater.js.map +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.33.woff +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/data/settings-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAwB,eAAe,EAAuD,MAAM,0BAA0B,CAAC;AAEtI,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAe,wBAAwB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AA0BtI;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IA2BnD,YAAY,aAAmC,EAAE,QAAiC;QAC9E,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAvBD;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QACd,OAA6B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,IAAW,OAAO,CAAC,KAA2B;QAC1C,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAMD;;;;OAIG;IACO,OAAO;QACb,6EAA6E;QAC7E,2GAA2G;QAC3G,sHAAsH;QACtH,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,OAAO;SACV;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;SAC5C;aAAM;YACH,mHAAmH;SACtH;IACL,CAAC;;AAhDc,gCAAa,GAAG;IAC3B,OAAO,EAAE,SAAS;CACrB,CAAC;AAkDN;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAY1D,YAAY,aAAmC,EAAE,QAAiC;QAC9E,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IATD;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IAMD;;;;OAIG;IACO,OAAO;QACb,6EAA6E;QAC7E,mHAAmH;QACnH,sHAAsH;QACtH,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,OAAO;SACV;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;SAC5C;aAAM;YACH,mHAAmH;SACtH;IACL,CAAC;;AAjCc,uCAAa,GAAG;AAC3B,mCAAmC;CACtC,CAAC;AAkCN;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IA8EpD,YAAY,aAAmC,EAAE,QAAiC,EAAE,cAAiC;QACjH,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;IAvED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QACxB,OAAe,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB,CAAC,KAAa;QACtC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,IAAW,iBAAiB;QACxB,OAAgB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1F,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAc;QACvC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,IAAW,oBAAoB;QAC3B,OAAgB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC7F,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAc;QAC1C,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAe,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3F,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAa;QACxC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,IAAW,iBAAiB;QACxB,OAAgB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1F,CAAC;IAID,IAAW,yBAAyB;QAChC,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE;YAChE,IAAI,CAAC,8BAA8B,GAAW,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;SAC/H;QACD,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,8BAA8B,CAAC;QAC5E,OAAO,IAAI,CAAC,8BAA8B,CAAC;IAC/C,CAAC;IAED,IAAW,yBAAyB,CAAC,KAAa;QAC9C,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;QAChD,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACtD,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAc;QACvC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAKD;;;;OAIG;IACO,OAAO;QACb,6EAA6E;QAC7E,6GAA6G;QAC7G,sHAAsH;QAEtH,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAEjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAErH,OAAO;SACV;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;SAC5C;aAAM;YACH,mHAAmH;SACtH;IACL,CAAC;;AA3Gc,iCAAa,GAAG;IAC3B,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,yBAAyB,EAAE,2BAA2B;CACzD,CAAC;AAmHN;;GAEG;AACH,MAAM,OAAO,eAAe;IAExB;;;;OAIG;IACH,YAAoB,GAAQ,EAAU,cAAiC;QAAnD,QAAG,GAAH,GAAG,CAAK;QAAU,mBAAc,GAAd,cAAc,CAAmB;IAAI,CAAC;IAE5E;;OAEG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,IAAI,CAAC,GAAG,EACK;YACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;YACvC,KAAK,EAAE,gBAAgB,CAAC,IAAI;YAC5B,QAAQ,EAAE,uBAAuB,CAAC,MAAM;SAC3C,CAAC,CACL;aACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,mGAAmG;YACnG,MAAM,QAAQ,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE;gBACpC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;oBACb,OAAwB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACnD,IAAI,CAAC,GAAG,EACK;wBACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;wBACvC,KAAK,EAAE,gBAAgB,CAAC,IAAI;wBAC5B,QAAQ,EAAE,uBAAuB,CAAC,MAAM;wBACxC,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC,CAAC;gBACZ,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,4BAA4B;QAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,IAAI,CAAC,GAAG,EACK;YACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;YACvC,KAAK,EAAE,gBAAgB,CAAC,WAAW;YACnC,QAAQ,EAAE,uBAAuB,CAAC,MAAM;SAC3C,CAAC,CACL;aACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,mGAAmG;YACnG,MAAM,QAAQ,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,yBAAyB,CAAC,QAAQ,EAAE;gBAC3C,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;oBACb,OAAwB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACnD,IAAI,CAAC,GAAG,EACK;wBACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;wBACvC,KAAK,EAAE,gBAAgB,CAAC,WAAW;wBACnC,QAAQ,EAAE,uBAAuB,CAAC,MAAM;wBACxC,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC,CAAC;gBACZ,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,sBAAsB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,IAAI,CAAC,GAAG,EACK;YACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,QAAQ,EAAE,uBAAuB,CAAC,MAAM;SAC3C,CAAC,CACL;aACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,mGAAmG;YACnG,MAAM,QAAQ,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,mBAAmB,CAC1B,QAAQ,EACR;gBACI,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;oBACb,OAAwB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACnD,IAAI,CAAC,GAAG,EACK;wBACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;wBACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK;wBAC7B,QAAQ,EAAE,uBAAuB,CAAC,MAAM;wBACxC,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC,CAAC;gBACZ,CAAC;aACJ,EACD,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,wBAAwB,CAA4B,IAAmC;QAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,IAAI,CAAC,GAAG,EACK;YACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;YACvC,KAAK,EAAE,gBAAgB,CAAC,IAAI;YAC5B,QAAQ,EAAE,uBAAuB,CAAC,SAAS;SAC9C,CAAC,CACL;aACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,mGAAmG;YACnG,MAAM,QAAQ,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;oBACb,OAAwB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACnD,IAAI,CAAC,GAAG,EACK;wBACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;wBACvC,KAAK,EAAE,gBAAgB,CAAC,IAAI;wBAC5B,QAAQ,EAAE,uBAAuB,CAAC,SAAS;wBAC3C,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC,CAAC;gBACZ,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,+BAA+B,CAA4B,IAAmC;QACjG,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,IAAI,CAAC,GAAG,EACK;YACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;YACvC,KAAK,EAAE,gBAAgB,CAAC,WAAW;YACnC,QAAQ,EAAE,uBAAuB,CAAC,SAAS;SAC9C,CAAC,CACL;aACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,mGAAmG;YACnG,MAAM,QAAQ,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;oBACb,OAAwB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACnD,IAAI,CAAC,GAAG,EACK;wBACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;wBACvC,KAAK,EAAE,gBAAgB,CAAC,WAAW;wBACnC,QAAQ,EAAE,uBAAuB,CAAC,SAAS;wBAC3C,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC,CAAC;gBACZ,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,yBAAyB,CAA4B,IAAmC;QAC3F,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,IAAI,CAAC,GAAG,EACK;YACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,QAAQ,EAAE,uBAAuB,CAAC,SAAS;SAC9C,CAAC,CACL;aACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,mGAAmG;YACnG,MAAM,QAAQ,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;oBACb,OAAwB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACnD,IAAI,CAAC,GAAG,EACK;wBACT,SAAS,EAAE,wBAAwB,CAAC,GAAG;wBACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK;wBAC7B,QAAQ,EAAE,uBAAuB,CAAC,SAAS;wBAC3C,KAAK,EAAE,MAAM;qBAChB,CAAC,CAAC,CAAC;gBACZ,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;CACJ","file":"settings-manager.js","sourcesContent":["import { from, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { JsonObject } from '../base/json';\r\nimport { PlainVersionedObject, VersionedObject, VersionedObjectConstructor, VersionedObjectHandlers } from '../base/versioned-object';\r\nimport { Rpc } from '../rpc/rpc';\r\nimport { RpcSettingsClient } from '../rpc/settings/rpc-settings-client';\r\nimport { RpcSettings, RpcSettingsOperationType, RpcSettingsProviderType, RpcSettingsScope } from '../rpc/settings/rpc-settings-model';\r\nimport { GatewayConnection } from './gateway-connection';\r\n\r\nexport const enum BannerHideType {\r\n /**\r\n * Indicates banner is not hidden (unusual)\r\n */\r\n None,\r\n /**\r\n * Indicates banner is hidden for the current session\r\n */\r\n Session,\r\n /**\r\n * Indicates banner is hidden permanently\r\n */\r\n Permanent\r\n}\r\n\r\n/**\r\n * Defines banner settings for the current user shared across the application\r\n */\r\nexport interface BannerUserSettings extends JsonObject {\r\n id: string;\r\n hideType: BannerHideType;\r\n}\r\n\r\n/**\r\n * The Versioned representation of the Shell User Settings\r\n * This object is used for settings that specific to the current user and to shell\r\n */\r\nexport class CommonUserSettings extends VersionedObject {\r\n\r\n private static propertyNames = {\r\n banners: 'banners'\r\n };\r\n\r\n /**\r\n * Getter for the latest version of the common user settings\r\n */\r\n public get latestVersion(): number {\r\n return 1;\r\n }\r\n\r\n /**\r\n * Getter for the users preference on banner settings\r\n */\r\n public get banners(): BannerUserSettings[] {\r\n return <BannerUserSettings[]>this.getProperty(CommonUserSettings.propertyNames.banners);\r\n }\r\n\r\n /**\r\n * Setter for the users preference on banner settings\r\n */\r\n public set banners(value: BannerUserSettings[]) {\r\n this.setProperty(CommonUserSettings.propertyNames.banners, value);\r\n }\r\n\r\n constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers) {\r\n super(objectWrapper, handlers);\r\n }\r\n\r\n /**\r\n * Attempts to upgrade the current version of the object at least one version toward the latest version.\r\n * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version\r\n * this is called iteratively until the current version is equal to the latest version\r\n */\r\n protected upgrade() {\r\n // For now, we dont need to do anything but initialize to the latest version.\r\n // NOTE: When latestVersion is updated, then we need to add logic here to upgrade old user profile objects.\r\n // In this case, we ALWAYS must maintain backwards and forwards compatibility. This object is shared back and forth be\r\n if (MsftSme.isNullOrUndefined(this.currentVersion)) {\r\n this.clear();\r\n this.banners = [];\r\n this.currentVersion = this.latestVersion;\r\n return;\r\n } else if (this.currentVersion < this.latestVersion) {\r\n this.currentVersion = this.latestVersion;\r\n } else {\r\n // current version is newer than the version we know about. TODO: there may need to be handling here in the future.\r\n }\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Defines the common application settings object that is shared through the whole application.\r\n */\r\nexport class CommonApplicationSettings extends VersionedObject {\r\n private static propertyNames = {\r\n // TODO: add properties when needed\r\n };\r\n\r\n /**\r\n * Getter for the latest version of the common application settings\r\n */\r\n public get latestVersion(): number {\r\n return 1;\r\n }\r\n\r\n constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers) {\r\n super(objectWrapper, handlers);\r\n }\r\n\r\n /**\r\n * Attempts to upgrade the current version of the object at least one version toward the latest version.\r\n * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version\r\n * this is called iteratively until the current version is equal to the latest version\r\n */\r\n protected upgrade() {\r\n // For now, we dont need to do anything but initialize to the latest version.\r\n // NOTE: When latestVersion is updated, then we need to add logic here to upgrade old application settings objects.\r\n // In this case, we ALWAYS must maintain backwards and forwards compatibility. This object is shared back and forth be\r\n if (MsftSme.isNullOrUndefined(this.currentVersion)) {\r\n this.clear();\r\n this.currentVersion = this.latestVersion;\r\n return;\r\n } else if (this.currentVersion < this.latestVersion) {\r\n this.currentVersion = this.latestVersion;\r\n } else {\r\n // current version is newer than the version we know about. TODO: there may need to be handling here in the future.\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines the common admin settings object that is shared through the whole application.\r\n */\r\nexport class CommonAdminSettings extends VersionedObject {\r\n private static propertyNames = {\r\n connectivityLevel: 'connectivityLevel',\r\n autoGatewayUpdate: 'autoGatewayUpdate',\r\n autoExtensionsUpdate: 'autoExtensionsUpdate',\r\n scheduledUpdateTime: 'scheduledUpdateTime',\r\n updateRescheduled: 'updateRescheduled',\r\n sessionsExpirationMinutes: 'sessionsExpirationMinutes'\r\n };\r\n /**\r\n * Getter for the latest version of the common admin settings\r\n */\r\n public get latestVersion(): number {\r\n return 1;\r\n }\r\n\r\n /**\r\n * Getter for the admin's preference on the connectivity level\r\n */\r\n public get connectivityLevel(): string {\r\n return <string>this.getProperty(CommonAdminSettings.propertyNames.connectivityLevel);\r\n }\r\n\r\n /**\r\n * Setter for the admin's preference on the connectivity level\r\n */\r\n public set connectivityLevel(value: string) {\r\n this.setProperty(CommonAdminSettings.propertyNames.connectivityLevel, value);\r\n }\r\n\r\n public get autoGatewayUpdate(): boolean {\r\n return <boolean>this.getProperty(CommonAdminSettings.propertyNames.autoGatewayUpdate);\r\n }\r\n\r\n public set autoGatewayUpdate(value: boolean) {\r\n this.setProperty(CommonAdminSettings.propertyNames.autoGatewayUpdate, value);\r\n }\r\n\r\n public get autoExtensionsUpdate(): boolean {\r\n return <boolean>this.getProperty(CommonAdminSettings.propertyNames.autoExtensionsUpdate);\r\n }\r\n\r\n public set autoExtensionsUpdate(value: boolean) {\r\n this.setProperty(CommonAdminSettings.propertyNames.autoExtensionsUpdate, value);\r\n }\r\n\r\n public get scheduledUpdateTime(): string {\r\n return <string>this.getProperty(CommonAdminSettings.propertyNames.scheduledUpdateTime);\r\n }\r\n\r\n public set scheduledUpdateTime(value: string) {\r\n this.setProperty(CommonAdminSettings.propertyNames.scheduledUpdateTime, value);\r\n }\r\n\r\n public get updateRescheduled(): boolean {\r\n return <boolean>this.getProperty(CommonAdminSettings.propertyNames.updateRescheduled);\r\n }\r\n\r\n private sessionsExpirationMinutesCache: number;\r\n\r\n public get sessionsExpirationMinutes(): number {\r\n if (MsftSme.isNullOrUndefined(this.sessionsExpirationMinutesCache)) {\r\n this.sessionsExpirationMinutesCache = <number>this.getProperty(CommonAdminSettings.propertyNames.sessionsExpirationMinutes);\r\n }\r\n MsftSme.self().Init.sessionExpiration = this.sessionsExpirationMinutesCache;\r\n return this.sessionsExpirationMinutesCache;\r\n }\r\n\r\n public set sessionsExpirationMinutes(value: number) {\r\n this.setProperty(CommonAdminSettings.propertyNames.sessionsExpirationMinutes, value);\r\n this.sessionsExpirationMinutesCache = undefined;\r\n MsftSme.self().Init.sessionExpiration = undefined;\r\n }\r\n\r\n public set updateRescheduled(value: boolean) {\r\n this.setProperty(CommonAdminSettings.propertyNames.updateRescheduled, value);\r\n }\r\n\r\n constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers, gatewayService: GatewayConnection) {\r\n super(objectWrapper, handlers, gatewayService);\r\n }\r\n /**\r\n * Attempts to upgrade the current version of the object at least one version toward the latest version.\r\n * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version\r\n * this is called iteratively until the current version is equal to the latest version\r\n */\r\n protected upgrade() {\r\n // For now, we dont need to do anything but initialize to the latest version.\r\n // NOTE: When latestVersion is updated, then we need to add logic here to upgrade old admin settings objects.\r\n // In this case, we ALWAYS must maintain backwards and forwards compatibility. This object is shared back and forth be\r\n\r\n if (MsftSme.isNullOrUndefined(this.currentVersion)) {\r\n this.clear();\r\n this.currentVersion = this.latestVersion;\r\n this.connectivityLevel = '';\r\n this.scheduledUpdateTime = null;\r\n this.updateRescheduled = false;\r\n this.autoExtensionsUpdate = true;\r\n\r\n this.autoGatewayUpdate = false;\r\n this.gatewayService.get('gateway/autoupdate').subscribe((result: any) => this.autoGatewayUpdate = result.autoUpdate);\r\n\r\n return;\r\n } else if (this.currentVersion < this.latestVersion) {\r\n this.currentVersion = this.latestVersion;\r\n } else {\r\n // current version is newer than the version we know about. TODO: there may need to be handling here in the future.\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines the interface for the settings manager.\r\n */\r\nexport interface SettingsQuery {\r\n getCommonUserSettings(): Observable<CommonUserSettings>;\r\n getCommonApplicationSettings(): Observable<CommonApplicationSettings>;\r\n getCommonAdminSettings(): Observable<CommonAdminSettings>;\r\n getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;\r\n getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;\r\n getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;\r\n}\r\n\r\n/**\r\n * Manager for the settings. Provides an api for managing user and application settings.\r\n */\r\nexport class SettingsManager implements SettingsQuery {\r\n\r\n /**\r\n * Initializes a new instance of the SettingsManager class.\r\n *\r\n * @param rpc the RPC class instance.\r\n */\r\n constructor(private rpc: Rpc, private gatewayService: GatewayConnection) { }\r\n\r\n /**\r\n * Get common user settings. This is currently read-only\r\n */\r\n public getCommonUserSettings(): Observable<CommonUserSettings> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Common\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new CommonUserSettings(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Common,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get common application settings. This is currently read-only\r\n */\r\n public getCommonApplicationSettings(): Observable<CommonApplicationSettings> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Common\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new CommonApplicationSettings(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Common,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get common admin settings. This is currently read-only\r\n */\r\n public getCommonAdminSettings(): Observable<CommonAdminSettings> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Common\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new CommonAdminSettings(\r\n settings,\r\n {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Common,\r\n value: object\r\n }));\r\n }\r\n },\r\n this.gatewayService);\r\n }));\r\n }\r\n\r\n /**\r\n * Get extension user settings\r\n * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor\r\n * example: if TestObject extends VersionedObject, then getExtensionUserSettings(TestObject) will return an Observable<TestObject>\r\n * you should only create 1 versioned object for your extensions user settings.\r\n */\r\n public getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Extension\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new type(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Extension,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get extension application settings\r\n * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor\r\n * example: if TestObject extends VersionedObject, then getExtensionApplicationSettings(TestObject) will return an\r\n * Observable<TestObject>. You should only create 1 versioned object for your extensions application settings.\r\n */\r\n public getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Extension\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new type(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Extension,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get extension admin settings\r\n * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor\r\n * example: if TestObject extends VersionedObject, then getExtensionAdminSettings(TestObject) will return an\r\n * Observable<TestObject>. You should only create 1 versioned object for your extensions admin settings.\r\n */\r\n public getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Extension\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new type(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Extension,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/data/settings-manager.ts"],"names":[],"mappings":"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","file":"settings-manager.js","sourcesContent":["import { from, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { JsonObject } from '../base/json';\r\nimport { PlainVersionedObject, VersionedObject, VersionedObjectConstructor, VersionedObjectHandlers } from '../base/versioned-object';\r\nimport { Rpc } from '../rpc/rpc';\r\nimport { RpcSettingsClient } from '../rpc/settings/rpc-settings-client';\r\nimport { RpcSettings, RpcSettingsOperationType, RpcSettingsProviderType, RpcSettingsScope } from '../rpc/settings/rpc-settings-model';\r\nimport { GatewayConnection } from './gateway-connection';\r\n\r\nexport const enum BannerHideType {\r\n /**\r\n * Indicates banner is not hidden (unusual)\r\n */\r\n None,\r\n /**\r\n * Indicates banner is hidden for the current session\r\n */\r\n Session,\r\n /**\r\n * Indicates banner is hidden permanently\r\n */\r\n Permanent\r\n}\r\n\r\n/**\r\n * Defines banner settings for the current user shared across the application\r\n */\r\nexport interface BannerUserSettings extends JsonObject {\r\n id: string;\r\n hideType: BannerHideType;\r\n}\r\n\r\n/**\r\n * The Versioned representation of the Shell User Settings\r\n * This object is used for settings that specific to the current user and to shell\r\n */\r\nexport class CommonUserSettings extends VersionedObject {\r\n\r\n private static propertyNames = {\r\n banners: 'banners'\r\n };\r\n\r\n /**\r\n * Getter for the latest version of the common user settings\r\n */\r\n public get latestVersion(): number {\r\n return 1;\r\n }\r\n\r\n /**\r\n * Getter for the users preference on banner settings\r\n */\r\n public get banners(): BannerUserSettings[] {\r\n return <BannerUserSettings[]>this.getProperty(CommonUserSettings.propertyNames.banners);\r\n }\r\n\r\n /**\r\n * Setter for the users preference on banner settings\r\n */\r\n public set banners(value: BannerUserSettings[]) {\r\n this.setProperty(CommonUserSettings.propertyNames.banners, value);\r\n }\r\n\r\n constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers) {\r\n super(objectWrapper, handlers);\r\n }\r\n\r\n /**\r\n * Attempts to upgrade the current version of the object at least one version toward the latest version.\r\n * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version\r\n * this is called iteratively until the current version is equal to the latest version\r\n */\r\n protected upgrade() {\r\n // For now, we dont need to do anything but initialize to the latest version.\r\n // NOTE: When latestVersion is updated, then we need to add logic here to upgrade old user profile objects.\r\n // In this case, we ALWAYS must maintain backwards and forwards compatibility. This object is shared back and forth be\r\n if (MsftSme.isNullOrUndefined(this.currentVersion)) {\r\n this.clear();\r\n this.banners = [];\r\n this.currentVersion = this.latestVersion;\r\n return;\r\n } else if (this.currentVersion < this.latestVersion) {\r\n this.currentVersion = this.latestVersion;\r\n } else {\r\n // current version is newer than the version we know about. TODO: there may need to be handling here in the future.\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines the common application settings object that is shared through the whole application.\r\n */\r\nexport class CommonApplicationSettings extends VersionedObject {\r\n private static propertyNames = {\r\n // TODO: add properties when needed\r\n };\r\n\r\n /**\r\n * Getter for the latest version of the common application settings\r\n */\r\n public get latestVersion(): number {\r\n return 1;\r\n }\r\n\r\n constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers) {\r\n super(objectWrapper, handlers);\r\n }\r\n\r\n /**\r\n * Attempts to upgrade the current version of the object at least one version toward the latest version.\r\n * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version\r\n * this is called iteratively until the current version is equal to the latest version\r\n */\r\n protected upgrade() {\r\n // For now, we dont need to do anything but initialize to the latest version.\r\n // NOTE: When latestVersion is updated, then we need to add logic here to upgrade old application settings objects.\r\n // In this case, we ALWAYS must maintain backwards and forwards compatibility. This object is shared back and forth be\r\n if (MsftSme.isNullOrUndefined(this.currentVersion)) {\r\n this.clear();\r\n this.currentVersion = this.latestVersion;\r\n return;\r\n } else if (this.currentVersion < this.latestVersion) {\r\n this.currentVersion = this.latestVersion;\r\n } else {\r\n // current version is newer than the version we know about. TODO: there may need to be handling here in the future.\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines the common admin settings object that is shared through the whole application.\r\n */\r\nexport class CommonAdminSettings extends VersionedObject {\r\n private static propertyNames = {\r\n connectivityLevel: 'connectivityLevel',\r\n autoGatewayUpdate: 'autoGatewayUpdate',\r\n autoExtensionsUpdate: 'autoExtensionsUpdate',\r\n scheduledUpdateTime: 'scheduledUpdateTime',\r\n updateRescheduled: 'updateRescheduled',\r\n sessionsExpirationMinutes: 'sessionsExpirationMinutes',\r\n credentialsExpirationTimeInMs: 'credentialsExpirationTimeInMs'\r\n };\r\n\r\n /**\r\n * Getter for the latest version of the common admin settings\r\n */\r\n public get latestVersion(): number {\r\n return 1;\r\n }\r\n\r\n /**\r\n * Getter for the admin's preference on the connectivity level\r\n */\r\n public get connectivityLevel(): string {\r\n return <string>this.getProperty(CommonAdminSettings.propertyNames.connectivityLevel);\r\n }\r\n\r\n /**\r\n * Setter for the admin's preference on the connectivity level\r\n */\r\n public set connectivityLevel(value: string) {\r\n this.setProperty(CommonAdminSettings.propertyNames.connectivityLevel, value);\r\n }\r\n\r\n public get autoGatewayUpdate(): boolean {\r\n return <boolean>this.getProperty(CommonAdminSettings.propertyNames.autoGatewayUpdate);\r\n }\r\n\r\n public set autoGatewayUpdate(value: boolean) {\r\n this.setProperty(CommonAdminSettings.propertyNames.autoGatewayUpdate, value);\r\n }\r\n\r\n public get autoExtensionsUpdate(): boolean {\r\n return <boolean>this.getProperty(CommonAdminSettings.propertyNames.autoExtensionsUpdate);\r\n }\r\n\r\n public set autoExtensionsUpdate(value: boolean) {\r\n this.setProperty(CommonAdminSettings.propertyNames.autoExtensionsUpdate, value);\r\n }\r\n\r\n public get scheduledUpdateTime(): string {\r\n return <string>this.getProperty(CommonAdminSettings.propertyNames.scheduledUpdateTime);\r\n }\r\n\r\n public set scheduledUpdateTime(value: string) {\r\n this.setProperty(CommonAdminSettings.propertyNames.scheduledUpdateTime, value);\r\n }\r\n\r\n public get updateRescheduled(): boolean {\r\n return <boolean>this.getProperty(CommonAdminSettings.propertyNames.updateRescheduled);\r\n }\r\n\r\n private sessionsExpirationMinutesCache: number;\r\n\r\n public get sessionsExpirationMinutes(): number {\r\n if (MsftSme.isNullOrUndefined(this.sessionsExpirationMinutesCache)) {\r\n this.sessionsExpirationMinutesCache = <number>this.getProperty(CommonAdminSettings.propertyNames.sessionsExpirationMinutes);\r\n }\r\n MsftSme.self().Init.sessionExpiration = this.sessionsExpirationMinutesCache;\r\n return this.sessionsExpirationMinutesCache;\r\n }\r\n\r\n public set sessionsExpirationMinutes(value: number) {\r\n this.setProperty(CommonAdminSettings.propertyNames.sessionsExpirationMinutes, value);\r\n this.sessionsExpirationMinutesCache = undefined;\r\n MsftSme.self().Init.sessionExpiration = undefined;\r\n }\r\n\r\n private credentialsExpirationTimeInMsCache: number;\r\n\r\n /**\r\n * Get stored manage as credentials expiration time in milliseconds\r\n */\r\n public get credentialsExpirationTimeInMs(): number {\r\n if (MsftSme.isNullOrUndefined(this.credentialsExpirationTimeInMsCache)) {\r\n this.credentialsExpirationTimeInMsCache = <number>this.getProperty(\r\n CommonAdminSettings.propertyNames.credentialsExpirationTimeInMs);\r\n }\r\n return this.credentialsExpirationTimeInMsCache;\r\n }\r\n\r\n /**\r\n * Store manage as credentials expiration time in milliseconds\r\n */\r\n public set credentialsExpirationTimeInMs(value: number) {\r\n this.setProperty(CommonAdminSettings.propertyNames.credentialsExpirationTimeInMs, value);\r\n this.credentialsExpirationTimeInMsCache = undefined;\r\n }\r\n\r\n public set updateRescheduled(value: boolean) {\r\n this.setProperty(CommonAdminSettings.propertyNames.updateRescheduled, value);\r\n }\r\n\r\n constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers, gatewayService: GatewayConnection) {\r\n super(objectWrapper, handlers, gatewayService);\r\n }\r\n /**\r\n * Attempts to upgrade the current version of the object at least one version toward the latest version.\r\n * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version\r\n * this is called iteratively until the current version is equal to the latest version\r\n */\r\n protected upgrade() {\r\n // For now, we dont need to do anything but initialize to the latest version.\r\n // NOTE: When latestVersion is updated, then we need to add logic here to upgrade old admin settings objects.\r\n // In this case, we ALWAYS must maintain backwards and forwards compatibility. This object is shared back and forth be\r\n\r\n if (MsftSme.isNullOrUndefined(this.currentVersion)) {\r\n this.clear();\r\n this.currentVersion = this.latestVersion;\r\n this.connectivityLevel = '';\r\n this.scheduledUpdateTime = null;\r\n this.updateRescheduled = false;\r\n this.autoExtensionsUpdate = true;\r\n\r\n this.autoGatewayUpdate = false;\r\n this.gatewayService.get('gateway/autoupdate').subscribe((result: any) => this.autoGatewayUpdate = result.autoUpdate);\r\n\r\n return;\r\n } else if (this.currentVersion < this.latestVersion) {\r\n this.currentVersion = this.latestVersion;\r\n } else {\r\n // current version is newer than the version we know about. TODO: there may need to be handling here in the future.\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines the interface for the settings manager.\r\n */\r\nexport interface SettingsQuery {\r\n getCommonUserSettings(): Observable<CommonUserSettings>;\r\n getCommonApplicationSettings(): Observable<CommonApplicationSettings>;\r\n getCommonAdminSettings(): Observable<CommonAdminSettings>;\r\n getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;\r\n getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;\r\n getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>;\r\n}\r\n\r\n/**\r\n * Manager for the settings. Provides an api for managing user and application settings.\r\n */\r\nexport class SettingsManager implements SettingsQuery {\r\n\r\n /**\r\n * Initializes a new instance of the SettingsManager class.\r\n *\r\n * @param rpc the RPC class instance.\r\n */\r\n constructor(private rpc: Rpc, private gatewayService: GatewayConnection) { }\r\n\r\n /**\r\n * Get common user settings. This is currently read-only\r\n */\r\n public getCommonUserSettings(): Observable<CommonUserSettings> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Common\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new CommonUserSettings(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Common,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get common application settings. This is currently read-only\r\n */\r\n public getCommonApplicationSettings(): Observable<CommonApplicationSettings> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Common\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new CommonApplicationSettings(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Common,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get common admin settings. This is currently read-only\r\n */\r\n public getCommonAdminSettings(): Observable<CommonAdminSettings> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Common\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new CommonAdminSettings(\r\n settings,\r\n {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Common,\r\n value: object\r\n }));\r\n }\r\n },\r\n this.gatewayService);\r\n }));\r\n }\r\n\r\n /**\r\n * Get extension user settings\r\n * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor\r\n * example: if TestObject extends VersionedObject, then getExtensionUserSettings(TestObject) will return an Observable<TestObject>\r\n * you should only create 1 versioned object for your extensions user settings.\r\n */\r\n public getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Extension\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new type(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.User,\r\n provider: RpcSettingsProviderType.Extension,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get extension application settings\r\n * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor\r\n * example: if TestObject extends VersionedObject, then getExtensionApplicationSettings(TestObject) will return an\r\n * Observable<TestObject>. You should only create 1 versioned object for your extensions application settings.\r\n */\r\n public getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Extension\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new type(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Application,\r\n provider: RpcSettingsProviderType.Extension,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n\r\n /**\r\n * Get extension admin settings\r\n * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor\r\n * example: if TestObject extends VersionedObject, then getExtensionAdminSettings(TestObject) will return an\r\n * Observable<TestObject>. You should only create 1 versioned object for your extensions admin settings.\r\n */\r\n public getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T> {\r\n return from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Get,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Extension\r\n })\r\n )\r\n .pipe(map(response => {\r\n // If the extension settings are not versioned (or not defined), then start with an empty settings.\r\n const settings = VersionedObject.ensureIsVersionedObject(response.data);\r\n return new type(settings, {\r\n save: (object) => {\r\n return <Observable<any>>from(RpcSettingsClient.settings(\r\n this.rpc,\r\n <RpcSettings>{\r\n operation: RpcSettingsOperationType.Set,\r\n scope: RpcSettingsScope.Admin,\r\n provider: RpcSettingsProviderType.Extension,\r\n value: object\r\n }));\r\n }\r\n });\r\n }));\r\n }\r\n}\r\n"]}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
export declare module PowerShellScripts {
|
|
6
6
|
const module = "Microsoft.SME.Shell";
|
|
7
7
|
const resourceName = "MsftSmeShell";
|
|
8
|
+
const powerShellPrefix = "WACSH";
|
|
8
9
|
const Start_ScheduledReboot: {
|
|
9
10
|
command: string;
|
|
10
11
|
script: string;
|
|
@@ -13,10 +14,6 @@ export declare module PowerShellScripts {
|
|
|
13
14
|
command: string;
|
|
14
15
|
script: string;
|
|
15
16
|
};
|
|
16
|
-
const Install_MMAgent: {
|
|
17
|
-
command: string;
|
|
18
|
-
script: string;
|
|
19
|
-
};
|
|
20
17
|
const Get_CimWin32LogicalDisk: {
|
|
21
18
|
command: string;
|
|
22
19
|
script: string;
|
|
@@ -45,4 +42,8 @@ export declare module PowerShellScripts {
|
|
|
45
42
|
command: string;
|
|
46
43
|
script: string;
|
|
47
44
|
};
|
|
45
|
+
const Install_MMAgent: {
|
|
46
|
+
command: string;
|
|
47
|
+
script: string;
|
|
48
|
+
};
|
|
48
49
|
}
|
|
@@ -8,6 +8,7 @@ export var PowerShellScripts;
|
|
|
8
8
|
'use strict';
|
|
9
9
|
PowerShellScripts.module = 'Microsoft.SME.Shell';
|
|
10
10
|
PowerShellScripts.resourceName = 'MsftSmeShell';
|
|
11
|
+
PowerShellScripts.powerShellPrefix = 'WACSH';
|
|
11
12
|
PowerShellScripts.Start_ScheduledReboot = {
|
|
12
13
|
command: 'Start-ScheduledReboot',
|
|
13
14
|
script: "##Start-ScheduledReboot##:Start-ScheduledReboot.ps1\nparam (\n[Parameter(Mandatory = $true)]\n[bool]$restartlater,\n[Parameter(Mandatory = $false)]\n[String]$restartTime,\n[Parameter(Mandatory = $false)]\n[String]$restartReason,\n[Parameter(Mandatory = $false)]\n[System.Int16]$reasonNumberMajor,\n[Parameter(Mandatory = $false)]\n[System.Int16]$reasonNumberMinor\n)\n$waitTime = 5\nif ($restartlater -and -not($restartTime)) {\n$waitTime = 30\n} elseif ($restartTime) {\n$waitTime = [decimal]::round(((Get-Date $restartTime) - (Get-Date)).TotalSeconds);\nif ($waitTime -gt (315360000 - 30)) {\nTHROW \"Invalid restart time $restartTime. The valid range is 0-315360000s (10 years), with a default of 30\"\n}\n}\nif ($waitTime -lt 5 ) {\n$waitTime = 5\n}\n$command = \"Shutdown /r /t $waitTime\"\nif ($restartReason -and ($reasonNumberMajor -ne $null) -and ($reasonNumberMinor -ne $null)) {\n$command += \" /d ${restartReason}:${reasonNumberMajor}:${reasonNumberMinor}\"\n}\nInvoke-Expression -Command $command\n"
|
|
@@ -16,10 +17,6 @@ export var PowerShellScripts;
|
|
|
16
17
|
command: 'Stop-Reboot',
|
|
17
18
|
script: "##Stop-Reboot##:Stop-Reboot.ps1\n$command = \"Shutdown /a\"\nInvoke-Expression -Command $command\n"
|
|
18
19
|
};
|
|
19
|
-
PowerShellScripts.Install_MMAgent = {
|
|
20
|
-
command: 'Install-MMAgent',
|
|
21
|
-
script: "##Install-MMAgent##:Install-MMAgent.ps1\nparam(\n[Parameter(Mandatory = $true)]\n[String]\n$workspaceId,\n[Parameter(Mandatory = $true)]\n[String]\n$workspacePrimaryKey,\n[Parameter(Mandatory = $true)]\n[String]\n$taskName\n)\n$Script = @\u0027\n$mmaExe = Join-Path -Path $env:temp -ChildPath \u0027MMASetup-AMD64.exe\u0027\nif (Test-Path $mmaExe) {\nRemove-Item $mmaExe\n}\nInvoke-WebRequest -Uri https://go.microsoft.com/fwlink/?LinkId=828603 -OutFile $mmaExe\n$extractFolder = Join-Path -Path $env:temp -ChildPath \u0027SmeMMAInstaller\u0027\nif (Test-Path $extractFolder) {\nRemove-Item $extractFolder -Force -Recurse\n}\n\u0026$mmaExe /c /t:$extractFolder\n$setupExe = Join-Path -Path $extractFolder -ChildPath \u0027setup.exe\u0027\nfor ($i=1; $i -le 10; $i++) {\nif(-Not(Test-Path $setupExe)) {\nsleep -s 6\n}\n}\n\u0026$setupExe /qn NOAPM=1 ADD_OPINSIGHTS_WORKSPACE=1 OPINSIGHTS_WORKSPACE_AZURE_CLOUD_TYPE=0 OPINSIGHTS_WORKSPACE_ID=$workspaceId OPINSIGHTS_WORKSPACE_KEY=$workspacePrimaryKey AcceptEndUserLicenseAgreement=1\n\u0027@\n$Script = \u0027$workspaceId = \u0027 + \"\u0027$workspaceId\u0027;\" + $Script\n$Script = \u0027$workspacePrimaryKey =\u0027 + \"\u0027$workspacePrimaryKey\u0027;\" + $Script\n$ScriptFile = Join-Path -Path $env:LocalAppData -ChildPath \"$taskName.ps1\"\n$ResultFile = Join-Path -Path $env:temp -ChildPath \"$taskName.log\"\nif (Test-Path $ResultFile) {\nRemove-Item $ResultFile\n}\n$Script | Out-File $ScriptFile\nif (-Not(Test-Path $ScriptFile)) {\n$message = \"Failed to create file:\" + $ScriptFile\nWrite-Error $message\nreturn #If failed to create script file, no need continue just return here\n}\n$User = [Security.Principal.WindowsIdentity]::GetCurrent()\n$Role = (New-Object Security.Principal.WindowsPrincipal $User).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)\n$arg = \"-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -c $ScriptFile \u003e\u003e $ResultFile 2\u003e\u00261\"\nif(!$Role)\n{\nWrite-Warning \"To perform some operations you must run an elevated Windows PowerShell console.\"\n}\n$Scheduler = New-Object -ComObject Schedule.Service\nfor ($i=1; $i -le 3; $i++)\n{\nTry\n{\n$Scheduler.Connect()\nBreak\n}\nCatch\n{\nif($i -ge 3)\n{\nWrite-EventLog -LogName Application -Source \"SME Register $taskName\" -EntryType Error -EventID 1 -Message \"Can\u0027t connect to Schedule service\"\nWrite-Error \"Can\u0027t connect to Schedule service\" -ErrorAction Stop\n}\nelse\n{\nStart-Sleep -s 1\n}\n}\n}\n$RootFolder = $Scheduler.GetFolder(\"\\\")\nif($RootFolder.GetTasks(0) | Where-Object {$_.Name -eq $TaskName})\n{\nWrite-Debug(\"Deleting existing task\" + $TaskName)\n$RootFolder.DeleteTask($TaskName,0)\n}\n$Task = $Scheduler.NewTask(0)\n$RegistrationInfo = $Task.RegistrationInfo\n$RegistrationInfo.Description = $TaskName\n$RegistrationInfo.Author = $User.Name\n$Triggers = $Task.Triggers\n$Trigger = $Triggers.Create(7) #TASK_TRIGGER_REGISTRATION: Starts the task when the task is registered.\n$Trigger.Enabled = $true\n$Settings = $Task.Settings\n$Settings.Enabled = $True\n$Settings.StartWhenAvailable = $True\n$Settings.Hidden = $False\n$Settings.ExecutionTimeLimit = \"PT20M\" # 20 minutes\n$Action = $Task.Actions.Create(0)\n$Action.Path = \"powershell\"\n$Action.Arguments = $arg\n$Task.Principal.RunLevel = 1\n$RootFolder.RegisterTaskDefinition($TaskName, $Task, 6, \"SYSTEM\", $Null, 1) | Out-Null\n$RootFolder.GetTask($TaskName).Run(0) | Out-Null\nwhile($Scheduler.GetRunningTasks(0) | Where-Object {$_.Name -eq $TaskName})\n{\nStart-Sleep -s 1\n}\n$RootFolder.DeleteTask($TaskName,0)\nRemove-Item $ScriptFile\nif (Test-Path $ResultFile)\n{\nGet-Content -Path $ResultFile | Out-String -Stream\nRemove-Item $ResultFile\n}\n"
|
|
22
|
-
};
|
|
23
20
|
PowerShellScripts.Get_CimWin32LogicalDisk = {
|
|
24
21
|
command: 'Get-CimWin32LogicalDisk',
|
|
25
22
|
script: "##Get-CimWin32LogicalDisk##:Get-CimWin32LogicalDisk.ps1\nimport-module CimCmdlets\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_LogicalDisk\n"
|
|
@@ -48,6 +45,10 @@ export var PowerShellScripts;
|
|
|
48
45
|
command: 'Get-ServerInventory',
|
|
49
46
|
script: "##Get-ServerInventory##:Get-ServerInventory.ps1\nSet-StrictMode -Version 5.0\nImport-Module CimCmdlets\nImport-Module Storage -ErrorAction SilentlyContinue\nfunction convertOsVersion([string]$osVersion) {\n[Ref]$parsedVersion = $null\nif (![Version]::TryParse($osVersion, $parsedVersion)) {\nreturn $null\n}\n$version = [Version]$parsedVersion.Value\nreturn New-Object Version -ArgumentList $version.Major, $version.Minor\n}\nfunction isCredSSPEnabled() {\nSet-Variable credSSPServicePath -Option Constant -Value \"WSMan:\\localhost\\Service\\Auth\\CredSSP\"\nSet-Variable credSSPClientPath -Option Constant -Value \"WSMan:\\localhost\\Client\\Auth\\CredSSP\"\n$credSSPServerEnabled = $false;\n$credSSPClientEnabled = $false;\n$credSSPServerService = Get-Item $credSSPServicePath -ErrorAction SilentlyContinue\nif ($credSSPServerService) {\n$credSSPServerEnabled = [System.Convert]::ToBoolean($credSSPServerService.Value)\n}\n$credSSPClientService = Get-Item $credSSPClientPath -ErrorAction SilentlyContinue\nif ($credSSPClientService) {\n$credSSPClientEnabled = [System.Convert]::ToBoolean($credSSPClientService.Value)\n}\nreturn ($credSSPServerEnabled -or $credSSPClientEnabled)\n}\nfunction isHyperVRoleInstalled() {\n$vmmsService = Get-Service -Name \"VMMS\" -ErrorAction SilentlyContinue\nreturn $vmmsService -and $vmmsService.Name -eq \"VMMS\"\n}\nfunction isHyperVPowerShellSupportInstalled() {\nreturn !!(Get-Module -ListAvailable Hyper-V -ErrorAction SilentlyContinue)\n}\nfunction isWMF5Installed([string] $operatingSystemVersion) {\nSet-Variable Server2016 -Option Constant -Value (New-Object Version \u002710.0\u0027) # And Windows 10 client SKUs\nSet-Variable Server2012 -Option Constant -Value (New-Object Version \u00276.2\u0027)\n$version = convertOsVersion $operatingSystemVersion\nif (-not $version) {\nreturn $false\n}\nif ($version -ge $Server2016) {\nreturn $true\n}\nelse {\nif ($version -ge $Server2012) {\n$registryKey = \u0027HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine\u0027\n$registryKeyValue = Get-ItemProperty -Path $registryKey -Name PowerShellVersion -ErrorAction SilentlyContinue\nif ($registryKeyValue -and ($registryKeyValue.PowerShellVersion.Length -ne 0)) {\n$installedWmfVersion = [Version]$registryKeyValue.PowerShellVersion\nif ($installedWmfVersion -ge [Version]\u00275.0\u0027) {\nreturn $true\n}\n}\n}\n}\nreturn $false\n}\nfunction isUserAnAdministrator() {\nreturn ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] \"Administrator\")\n}\nfunction getClusterInformation() {\n$returnValues = @{ }\n$returnValues.IsS2dEnabled = $false\n$returnValues.IsCluster = $false\n$returnValues.ClusterFqdn = $null\n$returnValues.IsBritannicaEnabled = $false\n$namespace = Get-CimInstance -Namespace root/MSCluster -ClassName __NAMESPACE -ErrorAction SilentlyContinue\nif ($namespace) {\n$cluster = Get-CimInstance -Namespace root/MSCluster -ClassName MSCluster_Cluster -ErrorAction SilentlyContinue\nif ($cluster) {\n$returnValues.IsCluster = $true\n$returnValues.ClusterFqdn = $cluster.Fqdn\n$returnValues.IsS2dEnabled = !!(Get-Member -InputObject $cluster -Name \"S2DEnabled\") -and ($cluster.S2DEnabled -gt 0)\n$returnValues.IsBritannicaEnabled = $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_Cluster -ErrorAction SilentlyContinue)\n}\n}\nreturn $returnValues\n}\nfunction getComputerFqdnAndAddress($computerName) {\n$hostEntry = [System.Net.Dns]::GetHostEntry($computerName)\n$addressList = @()\nforeach ($item in $hostEntry.AddressList) {\n$address = New-Object PSObject\n$address | Add-Member -MemberType NoteProperty -Name \u0027IpAddress\u0027 -Value $item.ToString()\n$address | Add-Member -MemberType NoteProperty -Name \u0027AddressFamily\u0027 -Value $item.AddressFamily.ToString()\n$addressList += $address\n}\n$result = New-Object PSObject\n$result | Add-Member -MemberType NoteProperty -Name \u0027Fqdn\u0027 -Value $hostEntry.HostName\n$result | Add-Member -MemberType NoteProperty -Name \u0027AddressList\u0027 -Value $addressList\nreturn $result\n}\nfunction getHostFqdnAndAddress($computerSystem) {\n$computerName = $computerSystem.DNSHostName\nif (!$computerName) {\n$computerName = $computerSystem.Name\n}\nreturn getComputerFqdnAndAddress $computerName\n}\nfunction getManagementToolsSupportInformation() {\n$returnValues = @{ }\n$returnValues.ManagementToolsAvailable = $false\n$returnValues.ServerManagerAvailable = $false\n$namespaces = Get-CimInstance -Namespace root/microsoft/windows -ClassName __NAMESPACE -ErrorAction SilentlyContinue\nif ($namespaces) {\n$returnValues.ManagementToolsAvailable = !!($namespaces | Where-Object { $_.Name -ieq \"ManagementTools\" })\n$returnValues.ServerManagerAvailable = !!($namespaces | Where-Object { $_.Name -ieq \"ServerManager\" })\n}\nreturn $returnValues\n}\nfunction isRemoteAppEnabled() {\nSet-Variable key -Option Constant -Value \"HKLM:\\\\SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\Terminal Server\\\\TSAppAllowList\"\n$registryKeyValue = Get-ItemProperty -Path $key -Name fDisabledAllowList -ErrorAction SilentlyContinue\nif (-not $registryKeyValue) {\nreturn $false\n}\nreturn $registryKeyValue.fDisabledAllowList -eq 1\n}\nfunction getOperatingSystemInfo() {\nreturn Get-CimInstance Win32_OperatingSystem | Microsoft.PowerShell.Utility\\Select-Object csName, Caption, OperatingSystemSKU, Version, ProductType, OSType, LastBootUpTime\n}\nfunction getComputerSystemInfo() {\nreturn Get-CimInstance Win32_ComputerSystem -ErrorAction SilentlyContinue | `\nMicrosoft.PowerShell.Utility\\Select-Object TotalPhysicalMemory, DomainRole, Manufacturer, Model, NumberOfLogicalProcessors, Domain, Workgroup, DNSHostName, Name, PartOfDomain, SystemFamily, SystemSKUNumber\n}\nfunction getSmbiosData($computerSystem) {\n$ChassisTypes =\n@{\n1 = \u0027Other\u0027\n2 = \u0027Unknown\u0027\n3 = \u0027Desktop\u0027\n4 = \u0027Low Profile Desktop\u0027\n5 = \u0027Pizza Box\u0027\n6 = \u0027Mini Tower\u0027\n7 = \u0027Tower\u0027\n8 = \u0027Portable\u0027\n9 = \u0027Laptop\u0027\n10 = \u0027Notebook\u0027\n11 = \u0027Hand Held\u0027\n12 = \u0027Docking Station\u0027\n13 = \u0027All in One\u0027\n14 = \u0027Sub Notebook\u0027\n15 = \u0027Space-Saving\u0027\n16 = \u0027Lunch Box\u0027\n17 = \u0027Main System Chassis\u0027\n18 = \u0027Expansion Chassis\u0027\n19 = \u0027SubChassis\u0027\n20 = \u0027Bus Expansion Chassis\u0027\n21 = \u0027Peripheral Chassis\u0027\n22 = \u0027Storage Chassis\u0027\n23 = \u0027Rack Mount Chassis\u0027\n24 = \u0027Sealed-Case PC\u0027\n25 = \u0027Multi-system chassis\u0027\n26 = \u0027Compact PCI\u0027\n27 = \u0027Advanced TCA\u0027\n28 = \u0027Blade\u0027\n29 = \u0027Blade Enclosure\u0027\n30 = \u0027Tablet\u0027\n31 = \u0027Convertible\u0027\n32 = \u0027Detachable\u0027\n33 = \u0027IoT Gateway\u0027\n34 = \u0027Embedded PC\u0027\n35 = \u0027Mini PC\u0027\n36 = \u0027Stick PC\u0027\n}\n$list = New-Object System.Collections.ArrayList\n$win32_Bios = Get-CimInstance -class Win32_Bios\n$obj = New-Object -Type PSObject | Microsoft.PowerShell.Utility\\Select-Object SerialNumber, Manufacturer, UUID, BaseBoardProduct, ChassisTypes, Chassis, SystemFamily, SystemSKUNumber, SMBIOSAssetTag\n$obj.SerialNumber = $win32_Bios.SerialNumber\n$obj.Manufacturer = $win32_Bios.Manufacturer\n$computerSystemProduct = Get-CimInstance Win32_ComputerSystemProduct\nif ($null -ne $computerSystemProduct) {\n$obj.UUID = $computerSystemProduct.UUID\n}\n$baseboard = Get-CimInstance Win32_BaseBoard\nif ($null -ne $baseboard) {\n$obj.BaseBoardProduct = $baseboard.Product\n}\n$systemEnclosure = Get-CimInstance Win32_SystemEnclosure\nif ($null -ne $systemEnclosure) {\n$obj.SMBIOSAssetTag = $systemEnclosure.SMBIOSAssetTag\n}\n$obj.ChassisTypes = Get-CimInstance Win32_SystemEnclosure | Microsoft.PowerShell.Utility\\Select-Object -ExpandProperty ChassisTypes\n$obj.Chassis = New-Object -TypeName \u0027System.Collections.ArrayList\u0027\n$obj.ChassisTypes | ForEach-Object -Process {\n$obj.Chassis.Add($ChassisTypes[[int]$_])\n}\n$obj.SystemFamily = $computerSystem.SystemFamily\n$obj.SystemSKUNumber = $computerSystem.SystemSKUNumber\n$list.Add($obj) | Out-Null\nreturn $list\n}\n$operatingSystem = getOperatingSystemInfo\n$computerSystem = getComputerSystemInfo\n$isAdministrator = isUserAnAdministrator\n$fqdnAndAddress = getHostFqdnAndAddress $computerSystem\n$hostname = [Environment]::MachineName\n$netbios = $env:ComputerName\n$managementToolsInformation = getManagementToolsSupportInformation\n$isWmfInstalled = isWMF5Installed $operatingSystem.Version\n$clusterInformation = getClusterInformation -ErrorAction SilentlyContinue\n$isHyperVPowershellInstalled = isHyperVPowerShellSupportInstalled\n$isHyperVRoleInstalled = isHyperVRoleInstalled\n$isCredSSPEnabled = isCredSSPEnabled\n$isRemoteAppEnabled = isRemoteAppEnabled\n$smbiosData = getSmbiosData $computerSystem\n$result = New-Object PSObject\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsAdministrator\u0027 -Value $isAdministrator\n$result | Add-Member -MemberType NoteProperty -Name \u0027OperatingSystem\u0027 -Value $operatingSystem\n$result | Add-Member -MemberType NoteProperty -Name \u0027ComputerSystem\u0027 -Value $computerSystem\n$result | Add-Member -MemberType NoteProperty -Name \u0027Fqdn\u0027 -Value $fqdnAndAddress.Fqdn\n$result | Add-Member -MemberType NoteProperty -Name \u0027AddressList\u0027 -Value $fqdnAndAddress.AddressList\n$result | Add-Member -MemberType NoteProperty -Name \u0027Hostname\u0027 -Value $hostname\n$result | Add-Member -MemberType NoteProperty -Name \u0027NetBios\u0027 -Value $netbios\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsManagementToolsAvailable\u0027 -Value $managementToolsInformation.ManagementToolsAvailable\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsServerManagerAvailable\u0027 -Value $managementToolsInformation.ServerManagerAvailable\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsWmfInstalled\u0027 -Value $isWmfInstalled\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsCluster\u0027 -Value $clusterInformation.IsCluster\n$result | Add-Member -MemberType NoteProperty -Name \u0027ClusterFqdn\u0027 -Value $clusterInformation.ClusterFqdn\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsS2dEnabled\u0027 -Value $clusterInformation.IsS2dEnabled\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsBritannicaEnabled\u0027 -Value $clusterInformation.IsBritannicaEnabled\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsHyperVRoleInstalled\u0027 -Value $isHyperVRoleInstalled\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsHyperVPowershellInstalled\u0027 -Value $isHyperVPowershellInstalled\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsCredSSPEnabled\u0027 -Value $isCredSSPEnabled\n$result | Add-Member -MemberType NoteProperty -Name \u0027IsRemoteAppEnabled\u0027 -Value $isRemoteAppEnabled\n$result | Add-Member -MemberType NoteProperty -Name \u0027SmbiosData\u0027 -Value $smbiosData\n$result\n"
|
|
50
47
|
};
|
|
48
|
+
PowerShellScripts.Install_MMAgent = {
|
|
49
|
+
command: 'Install-MMAgent',
|
|
50
|
+
script: "##Install-MMAgent##:Install-MMAgent.ps1\nparam(\n[Parameter(Mandatory = $true)]\n[String]\n$workspaceId,\n[Parameter(Mandatory = $true)]\n[String]\n$workspacePrimaryKey,\n[Parameter(Mandatory = $true)]\n[String]\n$taskName\n)\n$Script = @\u0027\n$mmaExe = Join-Path -Path $env:temp -ChildPath \u0027MMASetup-AMD64.exe\u0027\nif (Test-Path $mmaExe) {\nRemove-Item $mmaExe\n}\nInvoke-WebRequest -Uri https://go.microsoft.com/fwlink/?LinkId=828603 -OutFile $mmaExe\n$extractFolder = Join-Path -Path $env:temp -ChildPath \u0027SmeMMAInstaller\u0027\nif (Test-Path $extractFolder) {\nRemove-Item $extractFolder -Force -Recurse\n}\n\u0026$mmaExe /c /t:$extractFolder\n$setupExe = Join-Path -Path $extractFolder -ChildPath \u0027setup.exe\u0027\nfor ($i=1; $i -le 10; $i++) {\nif(-Not(Test-Path $setupExe)) {\nsleep -s 6\n}\n}\n\u0026$setupExe /qn NOAPM=1 ADD_OPINSIGHTS_WORKSPACE=1 OPINSIGHTS_WORKSPACE_AZURE_CLOUD_TYPE=0 OPINSIGHTS_WORKSPACE_ID=$workspaceId OPINSIGHTS_WORKSPACE_KEY=$workspacePrimaryKey AcceptEndUserLicenseAgreement=1\n\u0027@\n$Script = \u0027$workspaceId = \u0027 + \"\u0027$workspaceId\u0027;\" + $Script\n$Script = \u0027$workspacePrimaryKey =\u0027 + \"\u0027$workspacePrimaryKey\u0027;\" + $Script\n$ScriptFile = Join-Path -Path $env:LocalAppData -ChildPath \"$taskName.ps1\"\n$ResultFile = Join-Path -Path $env:temp -ChildPath \"$taskName.log\"\nif (Test-Path $ResultFile) {\nRemove-Item $ResultFile\n}\n$Script | Out-File $ScriptFile\nif (-Not(Test-Path $ScriptFile)) {\n$message = \"Failed to create file:\" + $ScriptFile\nWrite-Error $message\nreturn #If failed to create script file, no need continue just return here\n}\n$User = [Security.Principal.WindowsIdentity]::GetCurrent()\n$Role = (New-Object Security.Principal.WindowsPrincipal $User).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)\n$arg = \"-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -c $ScriptFile \u003e\u003e $ResultFile 2\u003e\u00261\"\nif(!$Role)\n{\nWrite-Warning \"To perform some operations you must run an elevated Windows PowerShell console.\"\n}\n$Scheduler = New-Object -ComObject Schedule.Service\nfor ($i=1; $i -le 3; $i++)\n{\nTry\n{\n$Scheduler.Connect()\nBreak\n}\nCatch\n{\nif($i -ge 3)\n{\nWrite-EventLog -LogName Application -Source \"SME Register $taskName\" -EntryType Error -EventID 1 -Message \"Can\u0027t connect to Schedule service\"\nWrite-Error \"Can\u0027t connect to Schedule service\" -ErrorAction Stop\n}\nelse\n{\nStart-Sleep -s 1\n}\n}\n}\n$RootFolder = $Scheduler.GetFolder(\"\\\")\nif($RootFolder.GetTasks(0) | Where-Object {$_.Name -eq $TaskName})\n{\nWrite-Debug(\"Deleting existing task\" + $TaskName)\n$RootFolder.DeleteTask($TaskName,0)\n}\n$Task = $Scheduler.NewTask(0)\n$RegistrationInfo = $Task.RegistrationInfo\n$RegistrationInfo.Description = $TaskName\n$RegistrationInfo.Author = $User.Name\n$Triggers = $Task.Triggers\n$Trigger = $Triggers.Create(7) #TASK_TRIGGER_REGISTRATION: Starts the task when the task is registered.\n$Trigger.Enabled = $true\n$Settings = $Task.Settings\n$Settings.Enabled = $True\n$Settings.StartWhenAvailable = $True\n$Settings.Hidden = $False\n$Settings.ExecutionTimeLimit = \"PT20M\" # 20 minutes\n$Action = $Task.Actions.Create(0)\n$Action.Path = \"powershell\"\n$Action.Arguments = $arg\n$Task.Principal.RunLevel = 1\n$RootFolder.RegisterTaskDefinition($TaskName, $Task, 6, \"SYSTEM\", $Null, 1) | Out-Null\n$RootFolder.GetTask($TaskName).Run(0) | Out-Null\nwhile($Scheduler.GetRunningTasks(0) | Where-Object {$_.Name -eq $TaskName})\n{\nStart-Sleep -s 1\n}\n$RootFolder.DeleteTask($TaskName,0)\nRemove-Item $ScriptFile\nif (Test-Path $ResultFile)\n{\nGet-Content -Path $ResultFile | Out-String -Stream\nRemove-Item $ResultFile\n}\n"
|
|
51
|
+
};
|
|
51
52
|
})(PowerShellScripts || (PowerShellScripts = {}));
|
|
52
53
|
|
|
53
54
|
//# sourceMappingURL=powershell-scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/generated/powershell-scripts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;GAGG;AACH,MAAM,KAAQ,iBAAiB,CA6C9B;AA7CD,WAAc,iBAAiB;IAC3B,YAAY,CAAA;IAEC,wBAAM,GAAG,qBAAqB,CAAC;IAC/B,8BAAY,GAAG,cAAc,CAAC;IAC9B,uCAAqB,GAAG;QACjC,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,q/BAAq/B;KAChgC,CAAA;IACY,6BAAW,GAAG;QACvB,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,oGAAoG;KAC/G,CAAA;IACY,iCAAe,GAAG;QAC3B,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,opHAAopH;KAC/pH,CAAA;IACY,yCAAuB,GAAG;QACnC,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,yJAAyJ;KACpK,CAAA;IACY,4CAA0B,GAAG;QACtC,OAAO,EAAE,4BAA4B;QACrC,MAAM,EAAE,kKAAkK;KAC7K,CAAA;IACY,4CAA0B,GAAG;QACtC,OAAO,EAAE,4BAA4B;QACrC,MAAM,EAAE,kKAAkK;KAC7K,CAAA;IACY,uCAAqB,GAAG;QACjC,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,mJAAmJ;KAC9J,CAAA;IACY,sCAAoB,GAAG;QAChC,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE,+iHAA+iH;KAC1jH,CAAA;IACY,kCAAgB,GAAG;QAC5B,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,krGAAkrG;KAC7rG,CAAA;IACY,qCAAmB,GAAG;QAC/B,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE,m4VAAm4V;KAC94V,CAAA;AACL,CAAC,EA7Ca,iBAAiB,KAAjB,iBAAiB,QA6C9B","file":"powershell-scripts.js","sourcesContent":["/* tslint:disable */\r\n/**\r\n * @file Source code generated by gulp-ps-code.\r\n * @version 1.1\r\n */\r\nexport module PowerShellScripts {\r\n 'use strict'\r\n\r\n export const module = 'Microsoft.SME.Shell';\r\n export const resourceName = 'MsftSmeShell';\r\n export const Start_ScheduledReboot = {\r\n command: 'Start-ScheduledReboot',\r\n script: \"##Start-ScheduledReboot##:Start-ScheduledReboot.ps1\\nparam (\\n[Parameter(Mandatory = $true)]\\n[bool]$restartlater,\\n[Parameter(Mandatory = $false)]\\n[String]$restartTime,\\n[Parameter(Mandatory = $false)]\\n[String]$restartReason,\\n[Parameter(Mandatory = $false)]\\n[System.Int16]$reasonNumberMajor,\\n[Parameter(Mandatory = $false)]\\n[System.Int16]$reasonNumberMinor\\n)\\n$waitTime = 5\\nif ($restartlater -and -not($restartTime)) {\\n$waitTime = 30\\n} elseif ($restartTime) {\\n$waitTime = [decimal]::round(((Get-Date $restartTime) - (Get-Date)).TotalSeconds);\\nif ($waitTime -gt (315360000 - 30)) {\\nTHROW \\\"Invalid restart time $restartTime. The valid range is 0-315360000s (10 years), with a default of 30\\\"\\n}\\n}\\nif ($waitTime -lt 5 ) {\\n$waitTime = 5\\n}\\n$command = \\\"Shutdown /r /t $waitTime\\\"\\nif ($restartReason -and ($reasonNumberMajor -ne $null) -and ($reasonNumberMinor -ne $null)) {\\n$command += \\\" /d ${restartReason}:${reasonNumberMajor}:${reasonNumberMinor}\\\"\\n}\\nInvoke-Expression -Command $command\\n\"\r\n }\r\n export const Stop_Reboot = {\r\n command: 'Stop-Reboot',\r\n script: \"##Stop-Reboot##:Stop-Reboot.ps1\\n$command = \\\"Shutdown /a\\\"\\nInvoke-Expression -Command $command\\n\"\r\n }\r\n export const Install_MMAgent = {\r\n command: 'Install-MMAgent',\r\n script: \"##Install-MMAgent##:Install-MMAgent.ps1\\nparam(\\n[Parameter(Mandatory = $true)]\\n[String]\\n$workspaceId,\\n[Parameter(Mandatory = $true)]\\n[String]\\n$workspacePrimaryKey,\\n[Parameter(Mandatory = $true)]\\n[String]\\n$taskName\\n)\\n$Script = @\\u0027\\n$mmaExe = Join-Path -Path $env:temp -ChildPath \\u0027MMASetup-AMD64.exe\\u0027\\nif (Test-Path $mmaExe) {\\nRemove-Item $mmaExe\\n}\\nInvoke-WebRequest -Uri https://go.microsoft.com/fwlink/?LinkId=828603 -OutFile $mmaExe\\n$extractFolder = Join-Path -Path $env:temp -ChildPath \\u0027SmeMMAInstaller\\u0027\\nif (Test-Path $extractFolder) {\\nRemove-Item $extractFolder -Force -Recurse\\n}\\n\\u0026$mmaExe /c /t:$extractFolder\\n$setupExe = Join-Path -Path $extractFolder -ChildPath \\u0027setup.exe\\u0027\\nfor ($i=1; $i -le 10; $i++) {\\nif(-Not(Test-Path $setupExe)) {\\nsleep -s 6\\n}\\n}\\n\\u0026$setupExe /qn NOAPM=1 ADD_OPINSIGHTS_WORKSPACE=1 OPINSIGHTS_WORKSPACE_AZURE_CLOUD_TYPE=0 OPINSIGHTS_WORKSPACE_ID=$workspaceId OPINSIGHTS_WORKSPACE_KEY=$workspacePrimaryKey AcceptEndUserLicenseAgreement=1\\n\\u0027@\\n$Script = \\u0027$workspaceId = \\u0027 + \\\"\\u0027$workspaceId\\u0027;\\\" + $Script\\n$Script = \\u0027$workspacePrimaryKey =\\u0027 + \\\"\\u0027$workspacePrimaryKey\\u0027;\\\" + $Script\\n$ScriptFile = Join-Path -Path $env:LocalAppData -ChildPath \\\"$taskName.ps1\\\"\\n$ResultFile = Join-Path -Path $env:temp -ChildPath \\\"$taskName.log\\\"\\nif (Test-Path $ResultFile) {\\nRemove-Item $ResultFile\\n}\\n$Script | Out-File $ScriptFile\\nif (-Not(Test-Path $ScriptFile)) {\\n$message = \\\"Failed to create file:\\\" + $ScriptFile\\nWrite-Error $message\\nreturn #If failed to create script file, no need continue just return here\\n}\\n$User = [Security.Principal.WindowsIdentity]::GetCurrent()\\n$Role = (New-Object Security.Principal.WindowsPrincipal $User).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)\\n$arg = \\\"-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -c $ScriptFile \\u003e\\u003e $ResultFile 2\\u003e\\u00261\\\"\\nif(!$Role)\\n{\\nWrite-Warning \\\"To perform some operations you must run an elevated Windows PowerShell console.\\\"\\n}\\n$Scheduler = New-Object -ComObject Schedule.Service\\nfor ($i=1; $i -le 3; $i++)\\n{\\nTry\\n{\\n$Scheduler.Connect()\\nBreak\\n}\\nCatch\\n{\\nif($i -ge 3)\\n{\\nWrite-EventLog -LogName Application -Source \\\"SME Register $taskName\\\" -EntryType Error -EventID 1 -Message \\\"Can\\u0027t connect to Schedule service\\\"\\nWrite-Error \\\"Can\\u0027t connect to Schedule service\\\" -ErrorAction Stop\\n}\\nelse\\n{\\nStart-Sleep -s 1\\n}\\n}\\n}\\n$RootFolder = $Scheduler.GetFolder(\\\"\\\\\\\")\\nif($RootFolder.GetTasks(0) | Where-Object {$_.Name -eq $TaskName})\\n{\\nWrite-Debug(\\\"Deleting existing task\\\" + $TaskName)\\n$RootFolder.DeleteTask($TaskName,0)\\n}\\n$Task = $Scheduler.NewTask(0)\\n$RegistrationInfo = $Task.RegistrationInfo\\n$RegistrationInfo.Description = $TaskName\\n$RegistrationInfo.Author = $User.Name\\n$Triggers = $Task.Triggers\\n$Trigger = $Triggers.Create(7) #TASK_TRIGGER_REGISTRATION: Starts the task when the task is registered.\\n$Trigger.Enabled = $true\\n$Settings = $Task.Settings\\n$Settings.Enabled = $True\\n$Settings.StartWhenAvailable = $True\\n$Settings.Hidden = $False\\n$Settings.ExecutionTimeLimit = \\\"PT20M\\\" # 20 minutes\\n$Action = $Task.Actions.Create(0)\\n$Action.Path = \\\"powershell\\\"\\n$Action.Arguments = $arg\\n$Task.Principal.RunLevel = 1\\n$RootFolder.RegisterTaskDefinition($TaskName, $Task, 6, \\\"SYSTEM\\\", $Null, 1) | Out-Null\\n$RootFolder.GetTask($TaskName).Run(0) | Out-Null\\nwhile($Scheduler.GetRunningTasks(0) | Where-Object {$_.Name -eq $TaskName})\\n{\\nStart-Sleep -s 1\\n}\\n$RootFolder.DeleteTask($TaskName,0)\\nRemove-Item $ScriptFile\\nif (Test-Path $ResultFile)\\n{\\nGet-Content -Path $ResultFile | Out-String -Stream\\nRemove-Item $ResultFile\\n}\\n\"\r\n }\r\n export const Get_CimWin32LogicalDisk = {\r\n command: 'Get-CimWin32LogicalDisk',\r\n script: \"##Get-CimWin32LogicalDisk##:Get-CimWin32LogicalDisk.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_LogicalDisk\\n\"\r\n }\r\n export const Get_CimWin32NetworkAdapter = {\r\n command: 'Get-CimWin32NetworkAdapter',\r\n script: \"##Get-CimWin32NetworkAdapter##:Get-CimWin32NetworkAdapter.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_NetworkAdapter\\n\"\r\n }\r\n export const Get_CimWin32PhysicalMemory = {\r\n command: 'Get-CimWin32PhysicalMemory',\r\n script: \"##Get-CimWin32PhysicalMemory##:Get-CimWin32PhysicalMemory.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_PhysicalMemory\\n\"\r\n }\r\n export const Get_CimWin32Processor = {\r\n command: 'Get-CimWin32Processor',\r\n script: \"##Get-CimWin32Processor##:Get-CimWin32Processor.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_Processor\\n\"\r\n }\r\n export const Get_ClusterInventory = {\r\n command: 'Get-ClusterInventory',\r\n script: \"##Get-ClusterInventory##:Get-ClusterInventory.ps1\\nImport-Module CimCmdlets -ErrorAction SilentlyContinue\\nImport-Module FailoverClusters -ErrorAction SilentlyContinue\\nImport-Module Storage -ErrorAction SilentlyContinue\\nfunction getComputerName() {\\n$computerSystem = Get-CimInstance Win32_ComputerSystem -ErrorAction SilentlyContinue | Microsoft.PowerShell.Utility\\\\Select-Object Name, DNSHostName\\nif ($computerSystem) {\\n$computerName = $computerSystem.DNSHostName\\nif ($null -eq $computerName) {\\n$computerName = $computerSystem.Name\\n}\\nreturn $computerName\\n}\\nreturn $null\\n}\\nfunction getIsClusterCmdletAvailable() {\\n$cmdlet = Get-Command \\\"Get-Cluster\\\" -ErrorAction SilentlyContinue\\nreturn !!$cmdlet\\n}\\nfunction getClusterCimInstance() {\\n$namespace = Get-CimInstance -Namespace root/MSCluster -ClassName __NAMESPACE -ErrorAction SilentlyContinue\\nif ($namespace) {\\nreturn Get-CimInstance -Namespace root/mscluster MSCluster_Cluster -ErrorAction SilentlyContinue | Microsoft.PowerShell.Utility\\\\Select-Object fqdn, S2DEnabled\\n}\\nreturn $null\\n}\\nfunction getClusterPerformanceHistoryPath() {\\nreturn $null -ne (Get-StorageSubSystem clus* | Get-StorageHealthSetting -Name \\\"System.PerformanceHistory.Path\\\")\\n}\\nfunction getClusterInfo() {\\n$returnValues = @{}\\n$returnValues.Fqdn = $null\\n$returnValues.isS2DEnabled = $false\\n$returnValues.isTsdbEnabled = $false\\n$cluster = getClusterCimInstance\\nif ($cluster) {\\n$returnValues.Fqdn = $cluster.fqdn\\n$isS2dEnabled = !!(Get-Member -InputObject $cluster -Name \\\"S2DEnabled\\\") -and ($cluster.S2DEnabled -eq 1)\\n$returnValues.isS2DEnabled = $isS2dEnabled\\nif ($isS2DEnabled) {\\n$returnValues.isTsdbEnabled = getClusterPerformanceHistoryPath\\n} else {\\n$returnValues.isTsdbEnabled = $false\\n}\\n}\\nreturn $returnValues\\n}\\nfunction getisClusterHealthCmdletAvailable() {\\n$cmdlet = Get-Command -Name \\\"Get-HealthFault\\\" -ErrorAction SilentlyContinue\\nreturn !!$cmdlet\\n}\\nfunction getIsBritannicaEnabled() {\\nreturn $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_Cluster -ErrorAction SilentlyContinue)\\n}\\nfunction getIsBritannicaVirtualMachineEnabled() {\\nreturn $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_VirtualMachine -ErrorAction SilentlyContinue)\\n}\\nfunction getIsBritannicaVirtualSwitchEnabled() {\\nreturn $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_VirtualSwitch -ErrorAction SilentlyContinue)\\n}\\n$clusterInfo = getClusterInfo\\n$result = New-Object PSObject\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Fqdn\\u0027 -Value $clusterInfo.Fqdn\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsS2DEnabled\\u0027 -Value $clusterInfo.isS2DEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsTsdbEnabled\\u0027 -Value $clusterInfo.isTsdbEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsClusterHealthCmdletAvailable\\u0027 -Value (getIsClusterHealthCmdletAvailable)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaEnabled\\u0027 -Value (getIsBritannicaEnabled)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaVirtualMachineEnabled\\u0027 -Value (getIsBritannicaVirtualMachineEnabled)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaVirtualSwitchEnabled\\u0027 -Value (getIsBritannicaVirtualSwitchEnabled)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsClusterCmdletAvailable\\u0027 -Value (getIsClusterCmdletAvailable)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027CurrentClusterNode\\u0027 -Value (getComputerName)\\n$result\\n\"\r\n }\r\n export const Get_ClusterNodes = {\r\n command: 'Get-ClusterNodes',\r\n script: \"##Get-ClusterNodes##:Get-ClusterNodes.ps1\\nimport-module CimCmdlets\\nimport-module FailoverClusters -ErrorAction SilentlyContinue\\nSet-Variable -Name LogName -Option Constant -Value \\\"Microsoft-ServerManagementExperience\\\" -ErrorAction SilentlyContinue\\nSet-Variable -Name LogSource -Option Constant -Value \\\"SMEScripts\\\" -ErrorAction SilentlyContinue\\nSet-Variable -Name ScriptName -Option Constant -Value $MyInvocation.ScriptName -ErrorAction SilentlyContinue\\nfunction getClusterPowerShellSupport() {\\n$cmdletInfo = Get-Command \\u0027Get-ClusterNode\\u0027 -ErrorAction SilentlyContinue\\nreturn $cmdletInfo -and $cmdletInfo.Name -eq \\\"Get-ClusterNode\\\"\\n}\\nfunction getClusterNodeCimInstances() {\\nreturn Get-CimInstance -Namespace root/mscluster MSCluster_Node -ErrorAction SilentlyContinue | `\\nMicrosoft.PowerShell.Utility\\\\Select-Object @{Name=\\\"DrainStatus\\\"; Expression={$_.NodeDrainStatus}}, DynamicWeight, Name, NodeWeight, FaultDomain, State\\n}\\nfunction getClusterNodePsInstances() {\\nreturn Get-ClusterNode -ErrorAction SilentlyContinue | Microsoft.PowerShell.Utility\\\\Select-Object DrainStatus, DynamicWeight, Name, NodeWeight, FaultDomain, State\\n}\\nfunction getClusterNodeFqdn([string]$clusterNodeName) {\\nreturn ([System.Net.Dns]::GetHostEntry($clusterNodeName)).HostName\\n}\\nfunction writeToEventLog([string]$message) {\\nMicrosoft.PowerShell.Management\\\\New-EventLog -LogName $LogName -Source $LogSource -ErrorAction SilentlyContinue\\nMicrosoft.PowerShell.Management\\\\Write-EventLog -LogName $LogName -Source $LogSource -EventId 0 -Category 0 -EntryType Warning `\\n-Message $message -ErrorAction SilentlyContinue\\n}\\nfunction getClusterNodes() {\\n$isClusterCmdletAvailable = getClusterPowerShellSupport\\nif ($isClusterCmdletAvailable) {\\n$clusterNodes = getClusterNodePsInstances\\n} else {\\n$clusterNodes = getClusterNodeCimInstances\\n}\\n$clusterNodeMap = @{}\\nforeach ($clusterNode in $clusterNodes) {\\n$clusterNodeName = $clusterNode.Name.ToLower()\\ntry\\n{\\n$clusterNodeFqdn = getClusterNodeFqdn $clusterNodeName -ErrorAction SilentlyContinue\\n}\\ncatch\\n{\\n$clusterNodeFqdn = $clusterNodeName\\nwriteToEventLog \\\"[$ScriptName]: The fqdn for node \\u0027$clusterNodeName\\u0027 could not be obtained. Defaulting to machine name \\u0027$clusterNodeName\\u0027\\\"\\n}\\n$clusterNodeResult = New-Object PSObject\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027FullyQualifiedDomainName\\u0027 -Value $clusterNodeFqdn\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027Name\\u0027 -Value $clusterNodeName\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027DynamicWeight\\u0027 -Value $clusterNode.DynamicWeight\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027NodeWeight\\u0027 -Value $clusterNode.NodeWeight\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027FaultDomain\\u0027 -Value $clusterNode.FaultDomain\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027State\\u0027 -Value $clusterNode.State\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027DrainStatus\\u0027 -Value $clusterNode.DrainStatus\\n$clusterNodeMap.Add($clusterNodeName, $clusterNodeResult)\\n}\\nreturn $clusterNodeMap\\n}\\ngetClusterNodes\\n\"\r\n }\r\n export const Get_ServerInventory = {\r\n command: 'Get-ServerInventory',\r\n script: \"##Get-ServerInventory##:Get-ServerInventory.ps1\\nSet-StrictMode -Version 5.0\\nImport-Module CimCmdlets\\nImport-Module Storage -ErrorAction SilentlyContinue\\nfunction convertOsVersion([string]$osVersion) {\\n[Ref]$parsedVersion = $null\\nif (![Version]::TryParse($osVersion, $parsedVersion)) {\\nreturn $null\\n}\\n$version = [Version]$parsedVersion.Value\\nreturn New-Object Version -ArgumentList $version.Major, $version.Minor\\n}\\nfunction isCredSSPEnabled() {\\nSet-Variable credSSPServicePath -Option Constant -Value \\\"WSMan:\\\\localhost\\\\Service\\\\Auth\\\\CredSSP\\\"\\nSet-Variable credSSPClientPath -Option Constant -Value \\\"WSMan:\\\\localhost\\\\Client\\\\Auth\\\\CredSSP\\\"\\n$credSSPServerEnabled = $false;\\n$credSSPClientEnabled = $false;\\n$credSSPServerService = Get-Item $credSSPServicePath -ErrorAction SilentlyContinue\\nif ($credSSPServerService) {\\n$credSSPServerEnabled = [System.Convert]::ToBoolean($credSSPServerService.Value)\\n}\\n$credSSPClientService = Get-Item $credSSPClientPath -ErrorAction SilentlyContinue\\nif ($credSSPClientService) {\\n$credSSPClientEnabled = [System.Convert]::ToBoolean($credSSPClientService.Value)\\n}\\nreturn ($credSSPServerEnabled -or $credSSPClientEnabled)\\n}\\nfunction isHyperVRoleInstalled() {\\n$vmmsService = Get-Service -Name \\\"VMMS\\\" -ErrorAction SilentlyContinue\\nreturn $vmmsService -and $vmmsService.Name -eq \\\"VMMS\\\"\\n}\\nfunction isHyperVPowerShellSupportInstalled() {\\nreturn !!(Get-Module -ListAvailable Hyper-V -ErrorAction SilentlyContinue)\\n}\\nfunction isWMF5Installed([string] $operatingSystemVersion) {\\nSet-Variable Server2016 -Option Constant -Value (New-Object Version \\u002710.0\\u0027) # And Windows 10 client SKUs\\nSet-Variable Server2012 -Option Constant -Value (New-Object Version \\u00276.2\\u0027)\\n$version = convertOsVersion $operatingSystemVersion\\nif (-not $version) {\\nreturn $false\\n}\\nif ($version -ge $Server2016) {\\nreturn $true\\n}\\nelse {\\nif ($version -ge $Server2012) {\\n$registryKey = \\u0027HKLM:\\\\SOFTWARE\\\\Microsoft\\\\PowerShell\\\\3\\\\PowerShellEngine\\u0027\\n$registryKeyValue = Get-ItemProperty -Path $registryKey -Name PowerShellVersion -ErrorAction SilentlyContinue\\nif ($registryKeyValue -and ($registryKeyValue.PowerShellVersion.Length -ne 0)) {\\n$installedWmfVersion = [Version]$registryKeyValue.PowerShellVersion\\nif ($installedWmfVersion -ge [Version]\\u00275.0\\u0027) {\\nreturn $true\\n}\\n}\\n}\\n}\\nreturn $false\\n}\\nfunction isUserAnAdministrator() {\\nreturn ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] \\\"Administrator\\\")\\n}\\nfunction getClusterInformation() {\\n$returnValues = @{ }\\n$returnValues.IsS2dEnabled = $false\\n$returnValues.IsCluster = $false\\n$returnValues.ClusterFqdn = $null\\n$returnValues.IsBritannicaEnabled = $false\\n$namespace = Get-CimInstance -Namespace root/MSCluster -ClassName __NAMESPACE -ErrorAction SilentlyContinue\\nif ($namespace) {\\n$cluster = Get-CimInstance -Namespace root/MSCluster -ClassName MSCluster_Cluster -ErrorAction SilentlyContinue\\nif ($cluster) {\\n$returnValues.IsCluster = $true\\n$returnValues.ClusterFqdn = $cluster.Fqdn\\n$returnValues.IsS2dEnabled = !!(Get-Member -InputObject $cluster -Name \\\"S2DEnabled\\\") -and ($cluster.S2DEnabled -gt 0)\\n$returnValues.IsBritannicaEnabled = $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_Cluster -ErrorAction SilentlyContinue)\\n}\\n}\\nreturn $returnValues\\n}\\nfunction getComputerFqdnAndAddress($computerName) {\\n$hostEntry = [System.Net.Dns]::GetHostEntry($computerName)\\n$addressList = @()\\nforeach ($item in $hostEntry.AddressList) {\\n$address = New-Object PSObject\\n$address | Add-Member -MemberType NoteProperty -Name \\u0027IpAddress\\u0027 -Value $item.ToString()\\n$address | Add-Member -MemberType NoteProperty -Name \\u0027AddressFamily\\u0027 -Value $item.AddressFamily.ToString()\\n$addressList += $address\\n}\\n$result = New-Object PSObject\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Fqdn\\u0027 -Value $hostEntry.HostName\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027AddressList\\u0027 -Value $addressList\\nreturn $result\\n}\\nfunction getHostFqdnAndAddress($computerSystem) {\\n$computerName = $computerSystem.DNSHostName\\nif (!$computerName) {\\n$computerName = $computerSystem.Name\\n}\\nreturn getComputerFqdnAndAddress $computerName\\n}\\nfunction getManagementToolsSupportInformation() {\\n$returnValues = @{ }\\n$returnValues.ManagementToolsAvailable = $false\\n$returnValues.ServerManagerAvailable = $false\\n$namespaces = Get-CimInstance -Namespace root/microsoft/windows -ClassName __NAMESPACE -ErrorAction SilentlyContinue\\nif ($namespaces) {\\n$returnValues.ManagementToolsAvailable = !!($namespaces | Where-Object { $_.Name -ieq \\\"ManagementTools\\\" })\\n$returnValues.ServerManagerAvailable = !!($namespaces | Where-Object { $_.Name -ieq \\\"ServerManager\\\" })\\n}\\nreturn $returnValues\\n}\\nfunction isRemoteAppEnabled() {\\nSet-Variable key -Option Constant -Value \\\"HKLM:\\\\\\\\SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows NT\\\\\\\\CurrentVersion\\\\\\\\Terminal Server\\\\\\\\TSAppAllowList\\\"\\n$registryKeyValue = Get-ItemProperty -Path $key -Name fDisabledAllowList -ErrorAction SilentlyContinue\\nif (-not $registryKeyValue) {\\nreturn $false\\n}\\nreturn $registryKeyValue.fDisabledAllowList -eq 1\\n}\\nfunction getOperatingSystemInfo() {\\nreturn Get-CimInstance Win32_OperatingSystem | Microsoft.PowerShell.Utility\\\\Select-Object csName, Caption, OperatingSystemSKU, Version, ProductType, OSType, LastBootUpTime\\n}\\nfunction getComputerSystemInfo() {\\nreturn Get-CimInstance Win32_ComputerSystem -ErrorAction SilentlyContinue | `\\nMicrosoft.PowerShell.Utility\\\\Select-Object TotalPhysicalMemory, DomainRole, Manufacturer, Model, NumberOfLogicalProcessors, Domain, Workgroup, DNSHostName, Name, PartOfDomain, SystemFamily, SystemSKUNumber\\n}\\nfunction getSmbiosData($computerSystem) {\\n$ChassisTypes =\\n@{\\n1 = \\u0027Other\\u0027\\n2 = \\u0027Unknown\\u0027\\n3 = \\u0027Desktop\\u0027\\n4 = \\u0027Low Profile Desktop\\u0027\\n5 = \\u0027Pizza Box\\u0027\\n6 = \\u0027Mini Tower\\u0027\\n7 = \\u0027Tower\\u0027\\n8 = \\u0027Portable\\u0027\\n9 = \\u0027Laptop\\u0027\\n10 = \\u0027Notebook\\u0027\\n11 = \\u0027Hand Held\\u0027\\n12 = \\u0027Docking Station\\u0027\\n13 = \\u0027All in One\\u0027\\n14 = \\u0027Sub Notebook\\u0027\\n15 = \\u0027Space-Saving\\u0027\\n16 = \\u0027Lunch Box\\u0027\\n17 = \\u0027Main System Chassis\\u0027\\n18 = \\u0027Expansion Chassis\\u0027\\n19 = \\u0027SubChassis\\u0027\\n20 = \\u0027Bus Expansion Chassis\\u0027\\n21 = \\u0027Peripheral Chassis\\u0027\\n22 = \\u0027Storage Chassis\\u0027\\n23 = \\u0027Rack Mount Chassis\\u0027\\n24 = \\u0027Sealed-Case PC\\u0027\\n25 = \\u0027Multi-system chassis\\u0027\\n26 = \\u0027Compact PCI\\u0027\\n27 = \\u0027Advanced TCA\\u0027\\n28 = \\u0027Blade\\u0027\\n29 = \\u0027Blade Enclosure\\u0027\\n30 = \\u0027Tablet\\u0027\\n31 = \\u0027Convertible\\u0027\\n32 = \\u0027Detachable\\u0027\\n33 = \\u0027IoT Gateway\\u0027\\n34 = \\u0027Embedded PC\\u0027\\n35 = \\u0027Mini PC\\u0027\\n36 = \\u0027Stick PC\\u0027\\n}\\n$list = New-Object System.Collections.ArrayList\\n$win32_Bios = Get-CimInstance -class Win32_Bios\\n$obj = New-Object -Type PSObject | Microsoft.PowerShell.Utility\\\\Select-Object SerialNumber, Manufacturer, UUID, BaseBoardProduct, ChassisTypes, Chassis, SystemFamily, SystemSKUNumber, SMBIOSAssetTag\\n$obj.SerialNumber = $win32_Bios.SerialNumber\\n$obj.Manufacturer = $win32_Bios.Manufacturer\\n$computerSystemProduct = Get-CimInstance Win32_ComputerSystemProduct\\nif ($null -ne $computerSystemProduct) {\\n$obj.UUID = $computerSystemProduct.UUID\\n}\\n$baseboard = Get-CimInstance Win32_BaseBoard\\nif ($null -ne $baseboard) {\\n$obj.BaseBoardProduct = $baseboard.Product\\n}\\n$systemEnclosure = Get-CimInstance Win32_SystemEnclosure\\nif ($null -ne $systemEnclosure) {\\n$obj.SMBIOSAssetTag = $systemEnclosure.SMBIOSAssetTag\\n}\\n$obj.ChassisTypes = Get-CimInstance Win32_SystemEnclosure | Microsoft.PowerShell.Utility\\\\Select-Object -ExpandProperty ChassisTypes\\n$obj.Chassis = New-Object -TypeName \\u0027System.Collections.ArrayList\\u0027\\n$obj.ChassisTypes | ForEach-Object -Process {\\n$obj.Chassis.Add($ChassisTypes[[int]$_])\\n}\\n$obj.SystemFamily = $computerSystem.SystemFamily\\n$obj.SystemSKUNumber = $computerSystem.SystemSKUNumber\\n$list.Add($obj) | Out-Null\\nreturn $list\\n}\\n$operatingSystem = getOperatingSystemInfo\\n$computerSystem = getComputerSystemInfo\\n$isAdministrator = isUserAnAdministrator\\n$fqdnAndAddress = getHostFqdnAndAddress $computerSystem\\n$hostname = [Environment]::MachineName\\n$netbios = $env:ComputerName\\n$managementToolsInformation = getManagementToolsSupportInformation\\n$isWmfInstalled = isWMF5Installed $operatingSystem.Version\\n$clusterInformation = getClusterInformation -ErrorAction SilentlyContinue\\n$isHyperVPowershellInstalled = isHyperVPowerShellSupportInstalled\\n$isHyperVRoleInstalled = isHyperVRoleInstalled\\n$isCredSSPEnabled = isCredSSPEnabled\\n$isRemoteAppEnabled = isRemoteAppEnabled\\n$smbiosData = getSmbiosData $computerSystem\\n$result = New-Object PSObject\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsAdministrator\\u0027 -Value $isAdministrator\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027OperatingSystem\\u0027 -Value $operatingSystem\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027ComputerSystem\\u0027 -Value $computerSystem\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Fqdn\\u0027 -Value $fqdnAndAddress.Fqdn\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027AddressList\\u0027 -Value $fqdnAndAddress.AddressList\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Hostname\\u0027 -Value $hostname\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027NetBios\\u0027 -Value $netbios\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsManagementToolsAvailable\\u0027 -Value $managementToolsInformation.ManagementToolsAvailable\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsServerManagerAvailable\\u0027 -Value $managementToolsInformation.ServerManagerAvailable\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsWmfInstalled\\u0027 -Value $isWmfInstalled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsCluster\\u0027 -Value $clusterInformation.IsCluster\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027ClusterFqdn\\u0027 -Value $clusterInformation.ClusterFqdn\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsS2dEnabled\\u0027 -Value $clusterInformation.IsS2dEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaEnabled\\u0027 -Value $clusterInformation.IsBritannicaEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsHyperVRoleInstalled\\u0027 -Value $isHyperVRoleInstalled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsHyperVPowershellInstalled\\u0027 -Value $isHyperVPowershellInstalled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsCredSSPEnabled\\u0027 -Value $isCredSSPEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsRemoteAppEnabled\\u0027 -Value $isRemoteAppEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027SmbiosData\\u0027 -Value $smbiosData\\n$result\\n\"\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/generated/powershell-scripts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;GAGG;AACH,MAAM,KAAQ,iBAAiB,CA8C9B;AA9CD,WAAc,iBAAiB;IAC3B,YAAY,CAAA;IAEC,wBAAM,GAAG,qBAAqB,CAAC;IAC/B,8BAAY,GAAG,cAAc,CAAC;IAC9B,kCAAgB,GAAG,OAAO,CAAC;IAC3B,uCAAqB,GAAG;QACjC,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,q/BAAq/B;KAChgC,CAAA;IACY,6BAAW,GAAG;QACvB,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,oGAAoG;KAC/G,CAAA;IACY,yCAAuB,GAAG;QACnC,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,yJAAyJ;KACpK,CAAA;IACY,4CAA0B,GAAG;QACtC,OAAO,EAAE,4BAA4B;QACrC,MAAM,EAAE,kKAAkK;KAC7K,CAAA;IACY,4CAA0B,GAAG;QACtC,OAAO,EAAE,4BAA4B;QACrC,MAAM,EAAE,kKAAkK;KAC7K,CAAA;IACY,uCAAqB,GAAG;QACjC,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,mJAAmJ;KAC9J,CAAA;IACY,sCAAoB,GAAG;QAChC,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE,+iHAA+iH;KAC1jH,CAAA;IACY,kCAAgB,GAAG;QAC5B,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,krGAAkrG;KAC7rG,CAAA;IACY,qCAAmB,GAAG;QAC/B,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE,m4VAAm4V;KAC94V,CAAA;IACY,iCAAe,GAAG;QAC3B,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,opHAAopH;KAC/pH,CAAA;AACL,CAAC,EA9Ca,iBAAiB,KAAjB,iBAAiB,QA8C9B","file":"powershell-scripts.js","sourcesContent":["/* tslint:disable */\r\n/**\r\n * @file Source code generated by gulp-ps-code.\r\n * @version 1.1\r\n */\r\nexport module PowerShellScripts {\r\n 'use strict'\r\n\r\n export const module = 'Microsoft.SME.Shell';\r\n export const resourceName = 'MsftSmeShell';\r\n export const powerShellPrefix = 'WACSH';\r\n export const Start_ScheduledReboot = {\r\n command: 'Start-ScheduledReboot',\r\n script: \"##Start-ScheduledReboot##:Start-ScheduledReboot.ps1\\nparam (\\n[Parameter(Mandatory = $true)]\\n[bool]$restartlater,\\n[Parameter(Mandatory = $false)]\\n[String]$restartTime,\\n[Parameter(Mandatory = $false)]\\n[String]$restartReason,\\n[Parameter(Mandatory = $false)]\\n[System.Int16]$reasonNumberMajor,\\n[Parameter(Mandatory = $false)]\\n[System.Int16]$reasonNumberMinor\\n)\\n$waitTime = 5\\nif ($restartlater -and -not($restartTime)) {\\n$waitTime = 30\\n} elseif ($restartTime) {\\n$waitTime = [decimal]::round(((Get-Date $restartTime) - (Get-Date)).TotalSeconds);\\nif ($waitTime -gt (315360000 - 30)) {\\nTHROW \\\"Invalid restart time $restartTime. The valid range is 0-315360000s (10 years), with a default of 30\\\"\\n}\\n}\\nif ($waitTime -lt 5 ) {\\n$waitTime = 5\\n}\\n$command = \\\"Shutdown /r /t $waitTime\\\"\\nif ($restartReason -and ($reasonNumberMajor -ne $null) -and ($reasonNumberMinor -ne $null)) {\\n$command += \\\" /d ${restartReason}:${reasonNumberMajor}:${reasonNumberMinor}\\\"\\n}\\nInvoke-Expression -Command $command\\n\"\r\n }\r\n export const Stop_Reboot = {\r\n command: 'Stop-Reboot',\r\n script: \"##Stop-Reboot##:Stop-Reboot.ps1\\n$command = \\\"Shutdown /a\\\"\\nInvoke-Expression -Command $command\\n\"\r\n }\r\n export const Get_CimWin32LogicalDisk = {\r\n command: 'Get-CimWin32LogicalDisk',\r\n script: \"##Get-CimWin32LogicalDisk##:Get-CimWin32LogicalDisk.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_LogicalDisk\\n\"\r\n }\r\n export const Get_CimWin32NetworkAdapter = {\r\n command: 'Get-CimWin32NetworkAdapter',\r\n script: \"##Get-CimWin32NetworkAdapter##:Get-CimWin32NetworkAdapter.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_NetworkAdapter\\n\"\r\n }\r\n export const Get_CimWin32PhysicalMemory = {\r\n command: 'Get-CimWin32PhysicalMemory',\r\n script: \"##Get-CimWin32PhysicalMemory##:Get-CimWin32PhysicalMemory.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_PhysicalMemory\\n\"\r\n }\r\n export const Get_CimWin32Processor = {\r\n command: 'Get-CimWin32Processor',\r\n script: \"##Get-CimWin32Processor##:Get-CimWin32Processor.ps1\\nimport-module CimCmdlets\\nGet-CimInstance -Namespace root/cimv2 -ClassName Win32_Processor\\n\"\r\n }\r\n export const Get_ClusterInventory = {\r\n command: 'Get-ClusterInventory',\r\n script: \"##Get-ClusterInventory##:Get-ClusterInventory.ps1\\nImport-Module CimCmdlets -ErrorAction SilentlyContinue\\nImport-Module FailoverClusters -ErrorAction SilentlyContinue\\nImport-Module Storage -ErrorAction SilentlyContinue\\nfunction getComputerName() {\\n$computerSystem = Get-CimInstance Win32_ComputerSystem -ErrorAction SilentlyContinue | Microsoft.PowerShell.Utility\\\\Select-Object Name, DNSHostName\\nif ($computerSystem) {\\n$computerName = $computerSystem.DNSHostName\\nif ($null -eq $computerName) {\\n$computerName = $computerSystem.Name\\n}\\nreturn $computerName\\n}\\nreturn $null\\n}\\nfunction getIsClusterCmdletAvailable() {\\n$cmdlet = Get-Command \\\"Get-Cluster\\\" -ErrorAction SilentlyContinue\\nreturn !!$cmdlet\\n}\\nfunction getClusterCimInstance() {\\n$namespace = Get-CimInstance -Namespace root/MSCluster -ClassName __NAMESPACE -ErrorAction SilentlyContinue\\nif ($namespace) {\\nreturn Get-CimInstance -Namespace root/mscluster MSCluster_Cluster -ErrorAction SilentlyContinue | Microsoft.PowerShell.Utility\\\\Select-Object fqdn, S2DEnabled\\n}\\nreturn $null\\n}\\nfunction getClusterPerformanceHistoryPath() {\\nreturn $null -ne (Get-StorageSubSystem clus* | Get-StorageHealthSetting -Name \\\"System.PerformanceHistory.Path\\\")\\n}\\nfunction getClusterInfo() {\\n$returnValues = @{}\\n$returnValues.Fqdn = $null\\n$returnValues.isS2DEnabled = $false\\n$returnValues.isTsdbEnabled = $false\\n$cluster = getClusterCimInstance\\nif ($cluster) {\\n$returnValues.Fqdn = $cluster.fqdn\\n$isS2dEnabled = !!(Get-Member -InputObject $cluster -Name \\\"S2DEnabled\\\") -and ($cluster.S2DEnabled -eq 1)\\n$returnValues.isS2DEnabled = $isS2dEnabled\\nif ($isS2DEnabled) {\\n$returnValues.isTsdbEnabled = getClusterPerformanceHistoryPath\\n} else {\\n$returnValues.isTsdbEnabled = $false\\n}\\n}\\nreturn $returnValues\\n}\\nfunction getisClusterHealthCmdletAvailable() {\\n$cmdlet = Get-Command -Name \\\"Get-HealthFault\\\" -ErrorAction SilentlyContinue\\nreturn !!$cmdlet\\n}\\nfunction getIsBritannicaEnabled() {\\nreturn $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_Cluster -ErrorAction SilentlyContinue)\\n}\\nfunction getIsBritannicaVirtualMachineEnabled() {\\nreturn $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_VirtualMachine -ErrorAction SilentlyContinue)\\n}\\nfunction getIsBritannicaVirtualSwitchEnabled() {\\nreturn $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_VirtualSwitch -ErrorAction SilentlyContinue)\\n}\\n$clusterInfo = getClusterInfo\\n$result = New-Object PSObject\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Fqdn\\u0027 -Value $clusterInfo.Fqdn\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsS2DEnabled\\u0027 -Value $clusterInfo.isS2DEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsTsdbEnabled\\u0027 -Value $clusterInfo.isTsdbEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsClusterHealthCmdletAvailable\\u0027 -Value (getIsClusterHealthCmdletAvailable)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaEnabled\\u0027 -Value (getIsBritannicaEnabled)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaVirtualMachineEnabled\\u0027 -Value (getIsBritannicaVirtualMachineEnabled)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaVirtualSwitchEnabled\\u0027 -Value (getIsBritannicaVirtualSwitchEnabled)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsClusterCmdletAvailable\\u0027 -Value (getIsClusterCmdletAvailable)\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027CurrentClusterNode\\u0027 -Value (getComputerName)\\n$result\\n\"\r\n }\r\n export const Get_ClusterNodes = {\r\n command: 'Get-ClusterNodes',\r\n script: \"##Get-ClusterNodes##:Get-ClusterNodes.ps1\\nimport-module CimCmdlets\\nimport-module FailoverClusters -ErrorAction SilentlyContinue\\nSet-Variable -Name LogName -Option Constant -Value \\\"Microsoft-ServerManagementExperience\\\" -ErrorAction SilentlyContinue\\nSet-Variable -Name LogSource -Option Constant -Value \\\"SMEScripts\\\" -ErrorAction SilentlyContinue\\nSet-Variable -Name ScriptName -Option Constant -Value $MyInvocation.ScriptName -ErrorAction SilentlyContinue\\nfunction getClusterPowerShellSupport() {\\n$cmdletInfo = Get-Command \\u0027Get-ClusterNode\\u0027 -ErrorAction SilentlyContinue\\nreturn $cmdletInfo -and $cmdletInfo.Name -eq \\\"Get-ClusterNode\\\"\\n}\\nfunction getClusterNodeCimInstances() {\\nreturn Get-CimInstance -Namespace root/mscluster MSCluster_Node -ErrorAction SilentlyContinue | `\\nMicrosoft.PowerShell.Utility\\\\Select-Object @{Name=\\\"DrainStatus\\\"; Expression={$_.NodeDrainStatus}}, DynamicWeight, Name, NodeWeight, FaultDomain, State\\n}\\nfunction getClusterNodePsInstances() {\\nreturn Get-ClusterNode -ErrorAction SilentlyContinue | Microsoft.PowerShell.Utility\\\\Select-Object DrainStatus, DynamicWeight, Name, NodeWeight, FaultDomain, State\\n}\\nfunction getClusterNodeFqdn([string]$clusterNodeName) {\\nreturn ([System.Net.Dns]::GetHostEntry($clusterNodeName)).HostName\\n}\\nfunction writeToEventLog([string]$message) {\\nMicrosoft.PowerShell.Management\\\\New-EventLog -LogName $LogName -Source $LogSource -ErrorAction SilentlyContinue\\nMicrosoft.PowerShell.Management\\\\Write-EventLog -LogName $LogName -Source $LogSource -EventId 0 -Category 0 -EntryType Warning `\\n-Message $message -ErrorAction SilentlyContinue\\n}\\nfunction getClusterNodes() {\\n$isClusterCmdletAvailable = getClusterPowerShellSupport\\nif ($isClusterCmdletAvailable) {\\n$clusterNodes = getClusterNodePsInstances\\n} else {\\n$clusterNodes = getClusterNodeCimInstances\\n}\\n$clusterNodeMap = @{}\\nforeach ($clusterNode in $clusterNodes) {\\n$clusterNodeName = $clusterNode.Name.ToLower()\\ntry\\n{\\n$clusterNodeFqdn = getClusterNodeFqdn $clusterNodeName -ErrorAction SilentlyContinue\\n}\\ncatch\\n{\\n$clusterNodeFqdn = $clusterNodeName\\nwriteToEventLog \\\"[$ScriptName]: The fqdn for node \\u0027$clusterNodeName\\u0027 could not be obtained. Defaulting to machine name \\u0027$clusterNodeName\\u0027\\\"\\n}\\n$clusterNodeResult = New-Object PSObject\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027FullyQualifiedDomainName\\u0027 -Value $clusterNodeFqdn\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027Name\\u0027 -Value $clusterNodeName\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027DynamicWeight\\u0027 -Value $clusterNode.DynamicWeight\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027NodeWeight\\u0027 -Value $clusterNode.NodeWeight\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027FaultDomain\\u0027 -Value $clusterNode.FaultDomain\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027State\\u0027 -Value $clusterNode.State\\n$clusterNodeResult | Add-Member -MemberType NoteProperty -Name \\u0027DrainStatus\\u0027 -Value $clusterNode.DrainStatus\\n$clusterNodeMap.Add($clusterNodeName, $clusterNodeResult)\\n}\\nreturn $clusterNodeMap\\n}\\ngetClusterNodes\\n\"\r\n }\r\n export const Get_ServerInventory = {\r\n command: 'Get-ServerInventory',\r\n script: \"##Get-ServerInventory##:Get-ServerInventory.ps1\\nSet-StrictMode -Version 5.0\\nImport-Module CimCmdlets\\nImport-Module Storage -ErrorAction SilentlyContinue\\nfunction convertOsVersion([string]$osVersion) {\\n[Ref]$parsedVersion = $null\\nif (![Version]::TryParse($osVersion, $parsedVersion)) {\\nreturn $null\\n}\\n$version = [Version]$parsedVersion.Value\\nreturn New-Object Version -ArgumentList $version.Major, $version.Minor\\n}\\nfunction isCredSSPEnabled() {\\nSet-Variable credSSPServicePath -Option Constant -Value \\\"WSMan:\\\\localhost\\\\Service\\\\Auth\\\\CredSSP\\\"\\nSet-Variable credSSPClientPath -Option Constant -Value \\\"WSMan:\\\\localhost\\\\Client\\\\Auth\\\\CredSSP\\\"\\n$credSSPServerEnabled = $false;\\n$credSSPClientEnabled = $false;\\n$credSSPServerService = Get-Item $credSSPServicePath -ErrorAction SilentlyContinue\\nif ($credSSPServerService) {\\n$credSSPServerEnabled = [System.Convert]::ToBoolean($credSSPServerService.Value)\\n}\\n$credSSPClientService = Get-Item $credSSPClientPath -ErrorAction SilentlyContinue\\nif ($credSSPClientService) {\\n$credSSPClientEnabled = [System.Convert]::ToBoolean($credSSPClientService.Value)\\n}\\nreturn ($credSSPServerEnabled -or $credSSPClientEnabled)\\n}\\nfunction isHyperVRoleInstalled() {\\n$vmmsService = Get-Service -Name \\\"VMMS\\\" -ErrorAction SilentlyContinue\\nreturn $vmmsService -and $vmmsService.Name -eq \\\"VMMS\\\"\\n}\\nfunction isHyperVPowerShellSupportInstalled() {\\nreturn !!(Get-Module -ListAvailable Hyper-V -ErrorAction SilentlyContinue)\\n}\\nfunction isWMF5Installed([string] $operatingSystemVersion) {\\nSet-Variable Server2016 -Option Constant -Value (New-Object Version \\u002710.0\\u0027) # And Windows 10 client SKUs\\nSet-Variable Server2012 -Option Constant -Value (New-Object Version \\u00276.2\\u0027)\\n$version = convertOsVersion $operatingSystemVersion\\nif (-not $version) {\\nreturn $false\\n}\\nif ($version -ge $Server2016) {\\nreturn $true\\n}\\nelse {\\nif ($version -ge $Server2012) {\\n$registryKey = \\u0027HKLM:\\\\SOFTWARE\\\\Microsoft\\\\PowerShell\\\\3\\\\PowerShellEngine\\u0027\\n$registryKeyValue = Get-ItemProperty -Path $registryKey -Name PowerShellVersion -ErrorAction SilentlyContinue\\nif ($registryKeyValue -and ($registryKeyValue.PowerShellVersion.Length -ne 0)) {\\n$installedWmfVersion = [Version]$registryKeyValue.PowerShellVersion\\nif ($installedWmfVersion -ge [Version]\\u00275.0\\u0027) {\\nreturn $true\\n}\\n}\\n}\\n}\\nreturn $false\\n}\\nfunction isUserAnAdministrator() {\\nreturn ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] \\\"Administrator\\\")\\n}\\nfunction getClusterInformation() {\\n$returnValues = @{ }\\n$returnValues.IsS2dEnabled = $false\\n$returnValues.IsCluster = $false\\n$returnValues.ClusterFqdn = $null\\n$returnValues.IsBritannicaEnabled = $false\\n$namespace = Get-CimInstance -Namespace root/MSCluster -ClassName __NAMESPACE -ErrorAction SilentlyContinue\\nif ($namespace) {\\n$cluster = Get-CimInstance -Namespace root/MSCluster -ClassName MSCluster_Cluster -ErrorAction SilentlyContinue\\nif ($cluster) {\\n$returnValues.IsCluster = $true\\n$returnValues.ClusterFqdn = $cluster.Fqdn\\n$returnValues.IsS2dEnabled = !!(Get-Member -InputObject $cluster -Name \\\"S2DEnabled\\\") -and ($cluster.S2DEnabled -gt 0)\\n$returnValues.IsBritannicaEnabled = $null -ne (Get-CimInstance -Namespace root/sddc/management -ClassName SDDC_Cluster -ErrorAction SilentlyContinue)\\n}\\n}\\nreturn $returnValues\\n}\\nfunction getComputerFqdnAndAddress($computerName) {\\n$hostEntry = [System.Net.Dns]::GetHostEntry($computerName)\\n$addressList = @()\\nforeach ($item in $hostEntry.AddressList) {\\n$address = New-Object PSObject\\n$address | Add-Member -MemberType NoteProperty -Name \\u0027IpAddress\\u0027 -Value $item.ToString()\\n$address | Add-Member -MemberType NoteProperty -Name \\u0027AddressFamily\\u0027 -Value $item.AddressFamily.ToString()\\n$addressList += $address\\n}\\n$result = New-Object PSObject\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Fqdn\\u0027 -Value $hostEntry.HostName\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027AddressList\\u0027 -Value $addressList\\nreturn $result\\n}\\nfunction getHostFqdnAndAddress($computerSystem) {\\n$computerName = $computerSystem.DNSHostName\\nif (!$computerName) {\\n$computerName = $computerSystem.Name\\n}\\nreturn getComputerFqdnAndAddress $computerName\\n}\\nfunction getManagementToolsSupportInformation() {\\n$returnValues = @{ }\\n$returnValues.ManagementToolsAvailable = $false\\n$returnValues.ServerManagerAvailable = $false\\n$namespaces = Get-CimInstance -Namespace root/microsoft/windows -ClassName __NAMESPACE -ErrorAction SilentlyContinue\\nif ($namespaces) {\\n$returnValues.ManagementToolsAvailable = !!($namespaces | Where-Object { $_.Name -ieq \\\"ManagementTools\\\" })\\n$returnValues.ServerManagerAvailable = !!($namespaces | Where-Object { $_.Name -ieq \\\"ServerManager\\\" })\\n}\\nreturn $returnValues\\n}\\nfunction isRemoteAppEnabled() {\\nSet-Variable key -Option Constant -Value \\\"HKLM:\\\\\\\\SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows NT\\\\\\\\CurrentVersion\\\\\\\\Terminal Server\\\\\\\\TSAppAllowList\\\"\\n$registryKeyValue = Get-ItemProperty -Path $key -Name fDisabledAllowList -ErrorAction SilentlyContinue\\nif (-not $registryKeyValue) {\\nreturn $false\\n}\\nreturn $registryKeyValue.fDisabledAllowList -eq 1\\n}\\nfunction getOperatingSystemInfo() {\\nreturn Get-CimInstance Win32_OperatingSystem | Microsoft.PowerShell.Utility\\\\Select-Object csName, Caption, OperatingSystemSKU, Version, ProductType, OSType, LastBootUpTime\\n}\\nfunction getComputerSystemInfo() {\\nreturn Get-CimInstance Win32_ComputerSystem -ErrorAction SilentlyContinue | `\\nMicrosoft.PowerShell.Utility\\\\Select-Object TotalPhysicalMemory, DomainRole, Manufacturer, Model, NumberOfLogicalProcessors, Domain, Workgroup, DNSHostName, Name, PartOfDomain, SystemFamily, SystemSKUNumber\\n}\\nfunction getSmbiosData($computerSystem) {\\n$ChassisTypes =\\n@{\\n1 = \\u0027Other\\u0027\\n2 = \\u0027Unknown\\u0027\\n3 = \\u0027Desktop\\u0027\\n4 = \\u0027Low Profile Desktop\\u0027\\n5 = \\u0027Pizza Box\\u0027\\n6 = \\u0027Mini Tower\\u0027\\n7 = \\u0027Tower\\u0027\\n8 = \\u0027Portable\\u0027\\n9 = \\u0027Laptop\\u0027\\n10 = \\u0027Notebook\\u0027\\n11 = \\u0027Hand Held\\u0027\\n12 = \\u0027Docking Station\\u0027\\n13 = \\u0027All in One\\u0027\\n14 = \\u0027Sub Notebook\\u0027\\n15 = \\u0027Space-Saving\\u0027\\n16 = \\u0027Lunch Box\\u0027\\n17 = \\u0027Main System Chassis\\u0027\\n18 = \\u0027Expansion Chassis\\u0027\\n19 = \\u0027SubChassis\\u0027\\n20 = \\u0027Bus Expansion Chassis\\u0027\\n21 = \\u0027Peripheral Chassis\\u0027\\n22 = \\u0027Storage Chassis\\u0027\\n23 = \\u0027Rack Mount Chassis\\u0027\\n24 = \\u0027Sealed-Case PC\\u0027\\n25 = \\u0027Multi-system chassis\\u0027\\n26 = \\u0027Compact PCI\\u0027\\n27 = \\u0027Advanced TCA\\u0027\\n28 = \\u0027Blade\\u0027\\n29 = \\u0027Blade Enclosure\\u0027\\n30 = \\u0027Tablet\\u0027\\n31 = \\u0027Convertible\\u0027\\n32 = \\u0027Detachable\\u0027\\n33 = \\u0027IoT Gateway\\u0027\\n34 = \\u0027Embedded PC\\u0027\\n35 = \\u0027Mini PC\\u0027\\n36 = \\u0027Stick PC\\u0027\\n}\\n$list = New-Object System.Collections.ArrayList\\n$win32_Bios = Get-CimInstance -class Win32_Bios\\n$obj = New-Object -Type PSObject | Microsoft.PowerShell.Utility\\\\Select-Object SerialNumber, Manufacturer, UUID, BaseBoardProduct, ChassisTypes, Chassis, SystemFamily, SystemSKUNumber, SMBIOSAssetTag\\n$obj.SerialNumber = $win32_Bios.SerialNumber\\n$obj.Manufacturer = $win32_Bios.Manufacturer\\n$computerSystemProduct = Get-CimInstance Win32_ComputerSystemProduct\\nif ($null -ne $computerSystemProduct) {\\n$obj.UUID = $computerSystemProduct.UUID\\n}\\n$baseboard = Get-CimInstance Win32_BaseBoard\\nif ($null -ne $baseboard) {\\n$obj.BaseBoardProduct = $baseboard.Product\\n}\\n$systemEnclosure = Get-CimInstance Win32_SystemEnclosure\\nif ($null -ne $systemEnclosure) {\\n$obj.SMBIOSAssetTag = $systemEnclosure.SMBIOSAssetTag\\n}\\n$obj.ChassisTypes = Get-CimInstance Win32_SystemEnclosure | Microsoft.PowerShell.Utility\\\\Select-Object -ExpandProperty ChassisTypes\\n$obj.Chassis = New-Object -TypeName \\u0027System.Collections.ArrayList\\u0027\\n$obj.ChassisTypes | ForEach-Object -Process {\\n$obj.Chassis.Add($ChassisTypes[[int]$_])\\n}\\n$obj.SystemFamily = $computerSystem.SystemFamily\\n$obj.SystemSKUNumber = $computerSystem.SystemSKUNumber\\n$list.Add($obj) | Out-Null\\nreturn $list\\n}\\n$operatingSystem = getOperatingSystemInfo\\n$computerSystem = getComputerSystemInfo\\n$isAdministrator = isUserAnAdministrator\\n$fqdnAndAddress = getHostFqdnAndAddress $computerSystem\\n$hostname = [Environment]::MachineName\\n$netbios = $env:ComputerName\\n$managementToolsInformation = getManagementToolsSupportInformation\\n$isWmfInstalled = isWMF5Installed $operatingSystem.Version\\n$clusterInformation = getClusterInformation -ErrorAction SilentlyContinue\\n$isHyperVPowershellInstalled = isHyperVPowerShellSupportInstalled\\n$isHyperVRoleInstalled = isHyperVRoleInstalled\\n$isCredSSPEnabled = isCredSSPEnabled\\n$isRemoteAppEnabled = isRemoteAppEnabled\\n$smbiosData = getSmbiosData $computerSystem\\n$result = New-Object PSObject\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsAdministrator\\u0027 -Value $isAdministrator\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027OperatingSystem\\u0027 -Value $operatingSystem\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027ComputerSystem\\u0027 -Value $computerSystem\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Fqdn\\u0027 -Value $fqdnAndAddress.Fqdn\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027AddressList\\u0027 -Value $fqdnAndAddress.AddressList\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027Hostname\\u0027 -Value $hostname\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027NetBios\\u0027 -Value $netbios\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsManagementToolsAvailable\\u0027 -Value $managementToolsInformation.ManagementToolsAvailable\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsServerManagerAvailable\\u0027 -Value $managementToolsInformation.ServerManagerAvailable\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsWmfInstalled\\u0027 -Value $isWmfInstalled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsCluster\\u0027 -Value $clusterInformation.IsCluster\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027ClusterFqdn\\u0027 -Value $clusterInformation.ClusterFqdn\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsS2dEnabled\\u0027 -Value $clusterInformation.IsS2dEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsBritannicaEnabled\\u0027 -Value $clusterInformation.IsBritannicaEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsHyperVRoleInstalled\\u0027 -Value $isHyperVRoleInstalled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsHyperVPowershellInstalled\\u0027 -Value $isHyperVPowershellInstalled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsCredSSPEnabled\\u0027 -Value $isCredSSPEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027IsRemoteAppEnabled\\u0027 -Value $isRemoteAppEnabled\\n$result | Add-Member -MemberType NoteProperty -Name \\u0027SmbiosData\\u0027 -Value $smbiosData\\n$result\\n\"\r\n }\r\n export const Install_MMAgent = {\r\n command: 'Install-MMAgent',\r\n script: \"##Install-MMAgent##:Install-MMAgent.ps1\\nparam(\\n[Parameter(Mandatory = $true)]\\n[String]\\n$workspaceId,\\n[Parameter(Mandatory = $true)]\\n[String]\\n$workspacePrimaryKey,\\n[Parameter(Mandatory = $true)]\\n[String]\\n$taskName\\n)\\n$Script = @\\u0027\\n$mmaExe = Join-Path -Path $env:temp -ChildPath \\u0027MMASetup-AMD64.exe\\u0027\\nif (Test-Path $mmaExe) {\\nRemove-Item $mmaExe\\n}\\nInvoke-WebRequest -Uri https://go.microsoft.com/fwlink/?LinkId=828603 -OutFile $mmaExe\\n$extractFolder = Join-Path -Path $env:temp -ChildPath \\u0027SmeMMAInstaller\\u0027\\nif (Test-Path $extractFolder) {\\nRemove-Item $extractFolder -Force -Recurse\\n}\\n\\u0026$mmaExe /c /t:$extractFolder\\n$setupExe = Join-Path -Path $extractFolder -ChildPath \\u0027setup.exe\\u0027\\nfor ($i=1; $i -le 10; $i++) {\\nif(-Not(Test-Path $setupExe)) {\\nsleep -s 6\\n}\\n}\\n\\u0026$setupExe /qn NOAPM=1 ADD_OPINSIGHTS_WORKSPACE=1 OPINSIGHTS_WORKSPACE_AZURE_CLOUD_TYPE=0 OPINSIGHTS_WORKSPACE_ID=$workspaceId OPINSIGHTS_WORKSPACE_KEY=$workspacePrimaryKey AcceptEndUserLicenseAgreement=1\\n\\u0027@\\n$Script = \\u0027$workspaceId = \\u0027 + \\\"\\u0027$workspaceId\\u0027;\\\" + $Script\\n$Script = \\u0027$workspacePrimaryKey =\\u0027 + \\\"\\u0027$workspacePrimaryKey\\u0027;\\\" + $Script\\n$ScriptFile = Join-Path -Path $env:LocalAppData -ChildPath \\\"$taskName.ps1\\\"\\n$ResultFile = Join-Path -Path $env:temp -ChildPath \\\"$taskName.log\\\"\\nif (Test-Path $ResultFile) {\\nRemove-Item $ResultFile\\n}\\n$Script | Out-File $ScriptFile\\nif (-Not(Test-Path $ScriptFile)) {\\n$message = \\\"Failed to create file:\\\" + $ScriptFile\\nWrite-Error $message\\nreturn #If failed to create script file, no need continue just return here\\n}\\n$User = [Security.Principal.WindowsIdentity]::GetCurrent()\\n$Role = (New-Object Security.Principal.WindowsPrincipal $User).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)\\n$arg = \\\"-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -c $ScriptFile \\u003e\\u003e $ResultFile 2\\u003e\\u00261\\\"\\nif(!$Role)\\n{\\nWrite-Warning \\\"To perform some operations you must run an elevated Windows PowerShell console.\\\"\\n}\\n$Scheduler = New-Object -ComObject Schedule.Service\\nfor ($i=1; $i -le 3; $i++)\\n{\\nTry\\n{\\n$Scheduler.Connect()\\nBreak\\n}\\nCatch\\n{\\nif($i -ge 3)\\n{\\nWrite-EventLog -LogName Application -Source \\\"SME Register $taskName\\\" -EntryType Error -EventID 1 -Message \\\"Can\\u0027t connect to Schedule service\\\"\\nWrite-Error \\\"Can\\u0027t connect to Schedule service\\\" -ErrorAction Stop\\n}\\nelse\\n{\\nStart-Sleep -s 1\\n}\\n}\\n}\\n$RootFolder = $Scheduler.GetFolder(\\\"\\\\\\\")\\nif($RootFolder.GetTasks(0) | Where-Object {$_.Name -eq $TaskName})\\n{\\nWrite-Debug(\\\"Deleting existing task\\\" + $TaskName)\\n$RootFolder.DeleteTask($TaskName,0)\\n}\\n$Task = $Scheduler.NewTask(0)\\n$RegistrationInfo = $Task.RegistrationInfo\\n$RegistrationInfo.Description = $TaskName\\n$RegistrationInfo.Author = $User.Name\\n$Triggers = $Task.Triggers\\n$Trigger = $Triggers.Create(7) #TASK_TRIGGER_REGISTRATION: Starts the task when the task is registered.\\n$Trigger.Enabled = $true\\n$Settings = $Task.Settings\\n$Settings.Enabled = $True\\n$Settings.StartWhenAvailable = $True\\n$Settings.Hidden = $False\\n$Settings.ExecutionTimeLimit = \\\"PT20M\\\" # 20 minutes\\n$Action = $Task.Actions.Create(0)\\n$Action.Path = \\\"powershell\\\"\\n$Action.Arguments = $arg\\n$Task.Principal.RunLevel = 1\\n$RootFolder.RegisterTaskDefinition($TaskName, $Task, 6, \\\"SYSTEM\\\", $Null, 1) | Out-Null\\n$RootFolder.GetTask($TaskName).Run(0) | Out-Null\\nwhile($Scheduler.GetRunningTasks(0) | Where-Object {$_.Name -eq $TaskName})\\n{\\nStart-Sleep -s 1\\n}\\n$RootFolder.DeleteTask($TaskName,0)\\nRemove-Item $ScriptFile\\nif (Test-Path $ResultFile)\\n{\\nGet-Content -Path $ResultFile | Out-String -Stream\\nRemove-Item $ResultFile\\n}\\n\"\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { AjaxResponse } from 'rxjs/ajax';
|
|
3
|
+
import { SignedHttpRequestToken } from '../security/sign-on-manager';
|
|
4
|
+
export declare class HostCoreManager {
|
|
5
|
+
private static tokenOption;
|
|
6
|
+
private static aadMode;
|
|
7
|
+
private maxResponseTimeout;
|
|
8
|
+
private tokenMode;
|
|
9
|
+
/**
|
|
10
|
+
* Token will be collected when using HostCoreManager for manifest loading.
|
|
11
|
+
*/
|
|
12
|
+
token: SignedHttpRequestToken;
|
|
13
|
+
/**
|
|
14
|
+
* Initializes a new instance of new HostCoreManager class.
|
|
15
|
+
*/
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Query JSON data with a token.
|
|
19
|
+
* @param url Url to query data using current token.
|
|
20
|
+
* @returns ajax response object.
|
|
21
|
+
*/
|
|
22
|
+
httpGet(url: string): Observable<AjaxResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* Performs a request with 'get' http method with cache control.
|
|
25
|
+
* @param url the uri for GET call.
|
|
26
|
+
* @return the observable for GET result data.
|
|
27
|
+
*/
|
|
28
|
+
getNoCache(url: string, noCache?: boolean, responseType?: XMLHttpRequestResponseType, withCredentials?: boolean): Observable<AjaxResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Query the token to host window.
|
|
31
|
+
* @param url the target url (manifest.json)
|
|
32
|
+
* @param responseTimeout the response timeout.
|
|
33
|
+
* @returns observeral of token query.
|
|
34
|
+
*/
|
|
35
|
+
private requestTokenToParentWindow;
|
|
36
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Observable, of } from 'rxjs';
|
|
2
|
+
import { mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { ErrorExtended } from '../data/error-extended';
|
|
4
|
+
import { headerConstants } from '../data/http-constants';
|
|
5
|
+
import { HostCoreMessageType } from './host-core-message-type';
|
|
6
|
+
var HostCoreTokenMode;
|
|
7
|
+
(function (HostCoreTokenMode) {
|
|
8
|
+
HostCoreTokenMode[HostCoreTokenMode["Unknown"] = 0] = "Unknown";
|
|
9
|
+
HostCoreTokenMode[HostCoreTokenMode["Aad"] = 1] = "Aad";
|
|
10
|
+
})(HostCoreTokenMode || (HostCoreTokenMode = {}));
|
|
11
|
+
export class HostCoreManager {
|
|
12
|
+
/**
|
|
13
|
+
* Initializes a new instance of new HostCoreManager class.
|
|
14
|
+
*/
|
|
15
|
+
constructor() {
|
|
16
|
+
this.maxResponseTimeout = 2 * 1000;
|
|
17
|
+
/**
|
|
18
|
+
* Token will be collected when using HostCoreManager for manifest loading.
|
|
19
|
+
*/
|
|
20
|
+
this.token = null;
|
|
21
|
+
// Check if token mode was sepecified at URL parameter.
|
|
22
|
+
const optionParam = MsftSme.getLocationSearchParameter(HostCoreManager.tokenOption);
|
|
23
|
+
this.tokenMode = optionParam && MsftSme.localeCompareIgnoreCase(optionParam.value, HostCoreManager.aadMode) === 0 ?
|
|
24
|
+
HostCoreTokenMode.Aad : HostCoreTokenMode.Unknown;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Query JSON data with a token.
|
|
28
|
+
* @param url Url to query data using current token.
|
|
29
|
+
* @returns ajax response object.
|
|
30
|
+
*/
|
|
31
|
+
httpGet(url) {
|
|
32
|
+
const tokenQuery = this.tokenMode === HostCoreTokenMode.Aad ? this.requestTokenToParentWindow(url) : of(null);
|
|
33
|
+
return tokenQuery.pipe(mergeMap(() => this.getNoCache(url)));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Performs a request with 'get' http method with cache control.
|
|
37
|
+
* @param url the uri for GET call.
|
|
38
|
+
* @return the observable for GET result data.
|
|
39
|
+
*/
|
|
40
|
+
getNoCache(url, noCache = true, responseType = '', withCredentials = true) {
|
|
41
|
+
const publish = new Observable(observer => {
|
|
42
|
+
const request = new XMLHttpRequest();
|
|
43
|
+
const handler = () => {
|
|
44
|
+
if (request.readyState === XMLHttpRequest.DONE) {
|
|
45
|
+
if (request.status === 200) {
|
|
46
|
+
try {
|
|
47
|
+
let response;
|
|
48
|
+
if (responseType === '') {
|
|
49
|
+
response = JSON.parse(request.response);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
response = request.response;
|
|
53
|
+
}
|
|
54
|
+
observer.next({
|
|
55
|
+
status: request.status,
|
|
56
|
+
response
|
|
57
|
+
});
|
|
58
|
+
observer.complete();
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
observer.error(e);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const error = new ErrorExtended(request.statusText);
|
|
66
|
+
error.extendedSource = 'getNoCache';
|
|
67
|
+
error.extended = { status: request.status, url };
|
|
68
|
+
observer.error(error);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
request.open('Get', url);
|
|
73
|
+
request.withCredentials = withCredentials;
|
|
74
|
+
request.responseType = responseType;
|
|
75
|
+
request.setRequestHeader(headerConstants.ACCEPT, 'application/json, text/plain, */*');
|
|
76
|
+
if (this.token) {
|
|
77
|
+
// sending a token, it creates an active cookie on the browser.
|
|
78
|
+
request.setRequestHeader(headerConstants.SME_AAD_AUTHORIZATION, `WAC;PAS ${this.token.jwt}`);
|
|
79
|
+
}
|
|
80
|
+
if (noCache) {
|
|
81
|
+
request.setRequestHeader('Cache-control', 'no-cache');
|
|
82
|
+
}
|
|
83
|
+
request.onreadystatechange = handler;
|
|
84
|
+
request.send();
|
|
85
|
+
});
|
|
86
|
+
return publish;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Query the token to host window.
|
|
90
|
+
* @param url the target url (manifest.json)
|
|
91
|
+
* @param responseTimeout the response timeout.
|
|
92
|
+
* @returns observeral of token query.
|
|
93
|
+
*/
|
|
94
|
+
requestTokenToParentWindow(url, responseTimeout = this.maxResponseTimeout) {
|
|
95
|
+
const hostWindow = MsftSme.getHostWindow();
|
|
96
|
+
if (!hostWindow) {
|
|
97
|
+
return of(null);
|
|
98
|
+
}
|
|
99
|
+
if (this.token) {
|
|
100
|
+
return of(this.token);
|
|
101
|
+
}
|
|
102
|
+
return new Observable(subscriber => {
|
|
103
|
+
const request = { requestId: MsftSme.newGuid(), type: HostCoreMessageType.HostCoreToken };
|
|
104
|
+
const listener = (event) => {
|
|
105
|
+
if (event.data && event.data.requestId === request.requestId && event.data.data) {
|
|
106
|
+
this.token = event.data.data;
|
|
107
|
+
subscriber.next(this.token);
|
|
108
|
+
subscriber.complete();
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const channel = new MessageChannel();
|
|
112
|
+
channel.port1.addEventListener('message', listener);
|
|
113
|
+
channel.port1.start();
|
|
114
|
+
channel.port2.start();
|
|
115
|
+
setTimeout(() => {
|
|
116
|
+
hostWindow.postMessage(request, '*', [channel.port2]);
|
|
117
|
+
setTimeout(() => {
|
|
118
|
+
const error = new ErrorExtended('timed out for token query');
|
|
119
|
+
error.extendedSource = 'getNoCache';
|
|
120
|
+
error.extended = { status: 403, url };
|
|
121
|
+
subscriber.error(error);
|
|
122
|
+
}, responseTimeout);
|
|
123
|
+
});
|
|
124
|
+
return () => {
|
|
125
|
+
channel.port1.removeEventListener('message', listener);
|
|
126
|
+
channel.port1.close();
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
HostCoreManager.tokenOption = 'token';
|
|
132
|
+
HostCoreManager.aadMode = 'aad';
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=host-core-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/host/host-core-manager.ts"],"names":[],"mappings":"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","file":"host-core-manager.js","sourcesContent":["import { Observable, of } from 'rxjs';\r\nimport { AjaxResponse } from 'rxjs/ajax';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { ErrorExtended } from '../data/error-extended';\r\nimport { headerConstants } from '../data/http-constants';\r\nimport { SignedHttpRequestToken } from '../security/sign-on-manager';\r\nimport { HostCoreMessageType } from './host-core-message-type';\r\nimport { HostCoreRequest, HostCoreResponse } from './host-core-messages';\r\n\r\ninterface HostCoreTokenRequest extends HostCoreRequest {\r\n type: HostCoreMessageType.HostCoreToken;\r\n}\r\n\r\nenum HostCoreTokenMode {\r\n Unknown,\r\n Aad\r\n}\r\n\r\nexport class HostCoreManager {\r\n private static tokenOption = 'token';\r\n private static aadMode = 'aad';\r\n private maxResponseTimeout = 2 * 1000;\r\n private tokenMode: HostCoreTokenMode;\r\n\r\n /**\r\n * Token will be collected when using HostCoreManager for manifest loading.\r\n */\r\n public token: SignedHttpRequestToken = null;\r\n\r\n /**\r\n * Initializes a new instance of new HostCoreManager class.\r\n */\r\n constructor() {\r\n // Check if token mode was sepecified at URL parameter.\r\n const optionParam = MsftSme.getLocationSearchParameter(HostCoreManager.tokenOption);\r\n this.tokenMode = optionParam && MsftSme.localeCompareIgnoreCase(optionParam.value, HostCoreManager.aadMode) === 0 ?\r\n HostCoreTokenMode.Aad : HostCoreTokenMode.Unknown;\r\n }\r\n\r\n /**\r\n * Query JSON data with a token.\r\n * @param url Url to query data using current token.\r\n * @returns ajax response object.\r\n */\r\n public httpGet(url: string): Observable<AjaxResponse> {\r\n const tokenQuery = this.tokenMode === HostCoreTokenMode.Aad ? this.requestTokenToParentWindow(url) : of(null);\r\n return tokenQuery.pipe(mergeMap(() => this.getNoCache(url)));\r\n }\r\n\r\n /**\r\n * Performs a request with 'get' http method with cache control.\r\n * @param url the uri for GET call.\r\n * @return the observable for GET result data.\r\n */\r\n public getNoCache(\r\n url: string, noCache = true, responseType: XMLHttpRequestResponseType = '', withCredentials = true): Observable<AjaxResponse> {\r\n const publish = new Observable<AjaxResponse>(observer => {\r\n const request = new XMLHttpRequest();\r\n const handler = () => {\r\n if (request.readyState === XMLHttpRequest.DONE) {\r\n if (request.status === 200) {\r\n try {\r\n let response: string;\r\n if (responseType === '') {\r\n response = JSON.parse(request.response);\r\n } else {\r\n response = request.response;\r\n }\r\n\r\n observer.next(<AjaxResponse>{\r\n status: request.status,\r\n response\r\n });\r\n observer.complete();\r\n } catch (e) {\r\n observer.error(e);\r\n }\r\n } else {\r\n const error = new ErrorExtended<{ status: number, url: string }>(request.statusText);\r\n error.extendedSource = 'getNoCache';\r\n error.extended = { status: request.status, url };\r\n observer.error(error);\r\n }\r\n }\r\n };\r\n\r\n request.open('Get', url);\r\n request.withCredentials = withCredentials;\r\n request.responseType = responseType;\r\n request.setRequestHeader(headerConstants.ACCEPT, 'application/json, text/plain, */*');\r\n if (this.token) {\r\n // sending a token, it creates an active cookie on the browser.\r\n request.setRequestHeader(headerConstants.SME_AAD_AUTHORIZATION, `WAC;PAS ${this.token.jwt}`);\r\n }\r\n\r\n if (noCache) {\r\n request.setRequestHeader('Cache-control', 'no-cache');\r\n }\r\n\r\n request.onreadystatechange = handler;\r\n request.send();\r\n });\r\n\r\n return publish;\r\n }\r\n\r\n /**\r\n * Query the token to host window.\r\n * @param url the target url (manifest.json)\r\n * @param responseTimeout the response timeout.\r\n * @returns observeral of token query.\r\n */\r\n private requestTokenToParentWindow(url: string, responseTimeout: number = this.maxResponseTimeout): Observable<SignedHttpRequestToken> {\r\n const hostWindow = MsftSme.getHostWindow();\r\n if (!hostWindow) {\r\n return of(null);\r\n }\r\n\r\n if (this.token) {\r\n return of(this.token);\r\n }\r\n\r\n return new Observable(subscriber => {\r\n const request: HostCoreTokenRequest = { requestId: MsftSme.newGuid(), type: HostCoreMessageType.HostCoreToken };\r\n const listener = (event: MessageEvent) => {\r\n if (event.data && event.data.requestId === request.requestId && event.data.data) {\r\n this.token = (<HostCoreResponse<SignedHttpRequestToken>>event.data).data;\r\n subscriber.next(this.token);\r\n subscriber.complete();\r\n }\r\n };\r\n const channel = new MessageChannel();\r\n channel.port1.addEventListener('message', listener);\r\n channel.port1.start();\r\n channel.port2.start();\r\n setTimeout(() => {\r\n hostWindow.postMessage(request, '*', [channel.port2]);\r\n setTimeout(() => {\r\n const error = new ErrorExtended<{ status: number, url: string }>('timed out for token query');\r\n error.extendedSource = 'getNoCache';\r\n error.extended = { status: 403, url };\r\n subscriber.error(error);\r\n },\r\n responseTimeout);\r\n });\r\n return () => {\r\n channel.port1.removeEventListener('message', listener);\r\n channel.port1.close();\r\n };\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum HostCoreMessageType {
|
|
2
|
+
Response = "response",
|
|
3
|
+
Acknowledgement = "acknowledgement",
|
|
4
|
+
Error = "error",
|
|
5
|
+
HostCoreToken = "msft-sme-shell-host.token",
|
|
6
|
+
HostInitialize = "msft-sme-shell-host.initialize",
|
|
7
|
+
HostIdentify = "msft-sme-shell-host.identify",
|
|
8
|
+
HostNotification = "notification",
|
|
9
|
+
HostRefreshSignOn = "msft-sme-shell-host.refresh-sign-on",
|
|
10
|
+
Configure = "configure",
|
|
11
|
+
RefreshSignOn = "refresh-sign-on"
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export var HostCoreMessageType;
|
|
2
|
+
(function (HostCoreMessageType) {
|
|
3
|
+
HostCoreMessageType["Response"] = "response";
|
|
4
|
+
HostCoreMessageType["Acknowledgement"] = "acknowledgement";
|
|
5
|
+
HostCoreMessageType["Error"] = "error";
|
|
6
|
+
// Messages to host
|
|
7
|
+
HostCoreMessageType["HostCoreToken"] = "msft-sme-shell-host.token";
|
|
8
|
+
HostCoreMessageType["HostInitialize"] = "msft-sme-shell-host.initialize";
|
|
9
|
+
HostCoreMessageType["HostIdentify"] = "msft-sme-shell-host.identify";
|
|
10
|
+
HostCoreMessageType["HostNotification"] = "notification";
|
|
11
|
+
HostCoreMessageType["HostRefreshSignOn"] = "msft-sme-shell-host.refresh-sign-on";
|
|
12
|
+
// Messages from host
|
|
13
|
+
HostCoreMessageType["Configure"] = "configure";
|
|
14
|
+
HostCoreMessageType["RefreshSignOn"] = "refresh-sign-on";
|
|
15
|
+
})(HostCoreMessageType || (HostCoreMessageType = {}));
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=host-core-message-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/host/host-core-message-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAeX;AAfD,WAAY,mBAAmB;IAC3B,4CAAqB,CAAA;IACrB,0DAAmC,CAAA;IACnC,sCAAe,CAAA;IAEf,mBAAmB;IACnB,kEAA2C,CAAA;IAC3C,wEAAiD,CAAA;IACjD,oEAA6C,CAAA;IAC7C,wDAAiC,CAAA;IACjC,gFAAyD,CAAA;IAEzD,qBAAqB;IACrB,8CAAuB,CAAA;IACvB,wDAAiC,CAAA;AACrC,CAAC,EAfW,mBAAmB,KAAnB,mBAAmB,QAe9B","file":"host-core-message-type.js","sourcesContent":["export enum HostCoreMessageType {\r\n Response = 'response',\r\n Acknowledgement = 'acknowledgement',\r\n Error = 'error',\r\n\r\n // Messages to host\r\n HostCoreToken = 'msft-sme-shell-host.token',\r\n HostInitialize = 'msft-sme-shell-host.initialize',\r\n HostIdentify = 'msft-sme-shell-host.identify',\r\n HostNotification = 'notification',\r\n HostRefreshSignOn = 'msft-sme-shell-host.refresh-sign-on',\r\n\r\n // Messages from host\r\n Configure = 'configure',\r\n RefreshSignOn = 'refresh-sign-on'\r\n}\r\n"]}
|