diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000000..e3825048f326 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +# EditorConfig : http://EditorConfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = false diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index fc123296f3e3..40210a161ce1 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -8,7 +8,7 @@ Issue Details Version(s) of document impacted ------------------------------ -- [ ] Impacts 6.next document +- [ ] Impacts 7 document - [ ] Impacts 6 document - [ ] Impacts 5.1 document - [ ] Impacts 5.0 document diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d55643be92ee..6b5f263ccd94 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,7 +5,7 @@ If this doc issue is for content UNDER /reference folder, please fill out this t --> Version(s) of document impacted ------------------------------ -- [ ] Impacts 6.next document +- [ ] Impacts 7 document - [ ] Impacts 6 document - [ ] Impacts 5.1 document - [ ] Impacts 5.0 document diff --git a/.gitignore b/.gitignore index 208b0546150d..3dfc0a51dfe7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ _site/ Tools/NuGet/ _site/ maml/ -updateablehelp/ +updatablehelp/ .openpublishing.build.mdproj @@ -14,7 +14,6 @@ updateablehelp/ packages.config **/.ignore/** *.orig -.vscode/ _themes/ dependentPackages/ - +.optemp/ diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 000000000000..8de1c26b2479 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,74 @@ +{ + "default": true, + + "header-increment": true, + "first-header-h1": { + "level": 1 + }, + "header-style": { + "style": "atx" + }, + "ul-style": { + "style": "dash" + }, + "list-indent": true, + "ul-start-left": true, + "ul-indent": { + "indent": 2 + }, + "no-trailing-spaces": true, + "no-hard-tabs": true, + "no-reversed-links": true, + "no-multiple-blanks": true, + "line-length": { + "line_length": 100, + "code_blocks": false, + "tables": false, + "headers": true + }, + "commands-show-output": true, + "no-missing-space-atx": true, + "no-multiple-space-atx": true, + "no-missing-space-closed-atx": true, + "no-multiple-space-closed-atx": true, + "blanks-around-headers": true, + "header-start-left": true, + "no-duplicate-header": true, + "single-h1": true, + "no-trailing-punctuation": { + "punctuation": ".,;:!" + }, + "no-multiple-space-blockquote": true, + "no-blanks-blockquote": true, + "ol-prefix": { + "style": "one_or_ordered" + }, + "list-marker-space": true, + "blanks-around-fences": true, + "blanks-around-lists": true, + "no-inline-html": { + "allowed_elements": [ + "properties", + "tags" + ] + }, + "no-bare-urls": true, + "hr-style": { + "style": "---" + }, + "no-emphasis-as-header": true, + "no-space-in-emphasis": true, + "no-space-in-code": true, + "no-space-in-links": true, + "fenced-code-language": false, + "first-line-h1": false, + "no-empty-links": true, + "proper-names" : { + "names": [ + "PowerShell", + "JavaScript" + ], + "code_blocks": false + }, + "no-alt-text": true +} diff --git a/.openpublishing.publish.config.json b/.openpublishing.publish.config.json index b69d41193e90..566a5d14f5e5 100644 --- a/.openpublishing.publish.config.json +++ b/.openpublishing.publish.config.json @@ -107,9 +107,10 @@ "notification_subscribers": [], "sync_notification_subscribers": [], "branches_to_filter": [], - "git_repository_url_open_to_public_contributors": "https://github.com/PowerShell/PowerShell-Docs", + "git_repository_url_open_to_public_contributors": "https://github.com/MicrosoftDocs/PowerShell-Docs", "git_repository_branch_open_to_public_contributors": "staging", "skip_source_output_uploading": false, + "enable_incremental_build": false, "need_preview_pull_request": true, "contribution_branch_mappings": {}, "dependent_repositories": [{ @@ -144,4 +145,4 @@ "nuget_feed": "https://www.myget.org/F/op/api/v2" } ] -} \ No newline at end of file +} diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 5ab5e9072175..c47aa97a46e1 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1,14838 +1,15789 @@ { - "redirections": [{ - "source_path": "gallery/index.md", - "redirect_url": "/powershell/gallery/overview", - "redirect_document_id": "False" + "redirections": [ + { + "source_path": "developer/format/tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md", + "redirect_url": "/powershell/developer/format/tablerowentry-element-for-tablerowentries-for-tablecontrol-format", + "redirect_document_id": "TRUE" }, { - "source_path": "jea/index.md", - "redirect_url": "/powershell/jea/overview", - "redirect_document_id": "False" + "source_path": "developer/format/windows-powershell-formatting-files.md", + "redirect_url": "/powershell/developer/format/powershell-formatting-files", + "redirect_document_id": "TRUE" }, { - "source_path": "wmf/index.md", - "redirect_url": "/powershell/wmf/overview", - "redirect_document_id": "False" + "source_path": "developer/format/wrap-element-for-tablerowentry-for-tablecontrl-format.md", + "redirect_url": "/powershell/developer/format/wrap-element-for-tablerowentry-for-tablecontrol-format", + "redirect_document_id": "TRUE" + }, + { + "source_path": "developer/format/writing-a-windows-powershell-formatting-file.md", + "redirect_url": "/powershell/developer/format/writing-a-powershell-formatting-file", + "redirect_document_id": "TRUE" }, { "source_path": "developer/index.md", "redirect_url": "/powershell/developer/windows-powershell", - "redirect_document_id": "False" + "redirect_document_id": "TRUE" }, { - "source_path": "reference/docs-conceptual/core-powershell/console-guide.md", - "redirect_url": "/powershell/scripting/core-powershell/console/powershell.exe-command-line-help", - "redirect_document_id": "False" + "source_path": "developer/workflow/extending-the-windows-powershell-workflow-activity-controller.md", + "redirect_url": "/powershell/developer/workflow/writing-a-windows-powershell-workflow", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/docs-conceptual/core-powershell/ise-guide.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/introducing-the-windows-powershell-ise", - "redirect_document_id": "False" + "source_path": "dsc/archiveResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/archiveResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/understanding-concepts-reference.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/about-windows-powershell", - "redirect_document_id": "False" + "source_path": "dsc/authoringAdvanced.md", + "redirect_url": "/powershell/dsc/overview/authoringAdvanced", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_ItemManifestAffectingUI.md", - "redirect_url": "/powershell/gallery/concepts/item-manifest-affecting-ui", - "redirect_document_id": false + "source_path": "dsc/authoringResource.md", + "redirect_url": "/powershell/dsc/resources/authoringResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/RequireLicenseAcceptance.md", - "redirect_url": "/powershell/gallery/concepts/module-license-acceptance", - "redirect_document_id": false + "source_path": "dsc/authoringResourceClass.md", + "redirect_url": "/powershell/dsc/resources/authoringResourceClass", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/PreReleaseModule.md", - "redirect_url": "/powershell/gallery/concepts/module-prerelease-support", - "redirect_document_id": false + "source_path": "dsc/authoringResourceComposite.md", + "redirect_url": "/powershell/dsc/resources/authoringResourceComposite", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/modulewithpseditionsupport.md", - "redirect_url": "/powershell/gallery/concepts/module-psedition-support", - "redirect_document_id": false + "source_path": "dsc/authoringResourceMOF.md", + "redirect_url": "/powershell/dsc/resources/authoringResourceMOF", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery-PublishingGuidelines.md", - "redirect_url": "/powershell/gallery/concepts/publishing-guidelines", - "redirect_document_id": false + "source_path": "dsc/authoringResourceMofCS.md", + "redirect_url": "/powershell/dsc/resources/authoringResourceMofCS", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/script_RequireLicenseAcceptance.md", - "redirect_url": "/powershell/gallery/concepts/script-license-acceptance", - "redirect_document_id": false + "source_path": "dsc/authoringResourceMofDesigner.md", + "redirect_url": "/powershell/dsc/resources/authoringResourceMofDesigner", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/PreReleaseScript.md", - "redirect_url": "/powershell/gallery/concepts/script-prerelease-support", - "redirect_document_id": false + "source_path": "dsc/azureDsc.md", + "redirect_url": "/powershell/dsc/getting-started/azureDsc", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/scriptwithpseditionsupport.md", - "redirect_url": "/powershell/gallery/concepts/script-psedition-support", - "redirect_document_id": false + "source_path": "dsc/azureDscexthistory.md", + "redirect_url": "/powershell/dsc/getting-started/azureDscexthistory", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_faqs.md", - "redirect_url": "/powershell/gallery/faqs", - "redirect_document_id": false + "source_path": "dsc/bootstrapDsc.md", + "redirect_url": "/powershell/dsc/tutorials/bootstrapDsc", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_gettingstarted.md", - "redirect_url": "/powershell/gallery/getting-started", - "redirect_document_id": false + "source_path": "dsc/compositeConfigs.md", + "redirect_url": "/powershell/dsc/configurations/compositeConfigs", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_items_tab.md", - "redirect_url": "/powershell/gallery/how-to/finding-items/filtering-items", - "redirect_document_id": false + "source_path": "dsc/configData.md", + "redirect_url": "/powershell/dsc/configurations/configData", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_pseditions.md", - "redirect_url": "/powershell/gallery/how-to/finding-items/seaching-by-psedition", - "redirect_document_id": false + "source_path": "dsc/configDataCredentials.md", + "redirect_url": "/powershell/dsc/configurations/configDataCredentials", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_search_syntax.md", - "redirect_url": "/powershell/gallery/how-to/finding-items/search-syntax", - "redirect_document_id": false + "source_path": "dsc/configHelp.md", + "redirect_url": "/powershell/dsc/configurations/configHelp", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/repository/bootstrapping_nuget_proivder_and_exe.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/bootstrapping-nuget", - "redirect_document_id": false + "source_path": "dsc/configurations.md", + "redirect_url": "/powershell/dsc/configurations/configurations", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_contacting_administrators.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/contacting-administrators", - "redirect_document_id": false + "source_path": "dsc/crossNodeDependencies.md", + "redirect_url": "/powershell/dsc/configurations/crossNodeDependencies", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_dispute_resolution.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/dispute-resolution", - "redirect_document_id": false + "source_path": "dsc/debugResource.md", + "redirect_url": "/powershell/dsc/troubleshooting/debugResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/get_psget_module.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/health-status", - "redirect_document_id": false + "source_path": "dsc/decisionMaker.md", + "redirect_url": "/powershell/dsc/overview/decisionMaker", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_status.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/health-status", - "redirect_document_id": false + "source_path": "dsc/directCallResource.md", + "redirect_url": "/powershell/dsc/managing-nodes/directCallResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_report_abuse.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/report-abuse", - "redirect_document_id": false + "source_path": "dsc/dsc_roadmap.md", + "redirect_url": "/powershell/dsc/resources/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/psget_cmdlets_troubleshooting.md", - "redirect_url": "/powershell/gallery/how-to/getting-support/troubleshooting-cmdlets", - "redirect_document_id": false + "source_path": "dsc/DSCAutomationHostEnabled.md", + "redirect_url": "/powershell/dsc/tutorials/DSCAutomationHostEnabled", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_creating_an_account.md", - "redirect_url": "/powershell/gallery/how-to/publishing-items/creating-an-account", - "redirect_document_id": false + "source_path": "dsc/dscCiCd.md", + "redirect_url": "/powershell/dsc/tutorials/dscCiCd", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/Deleting-Items.md", - "redirect_url": "/powershell/gallery/how-to/publishing-items/deleting-items", - "redirect_document_id": false + "source_path": "dsc/dscExamples.md", + "redirect_url": "/powershell/dsc/overview/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/Managing-Item-Owners.md", - "redirect_url": "/powershell/gallery/how-to/publishing-items/managing-item-owners", - "redirect_document_id": false + "source_path": "dsc/DscForEngineers.md", + "redirect_url": "/powershell/dsc/overview/DscForEngineers", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/Creating-and-Publishing-an-item.md", - "redirect_url": "/powershell/gallery/how-to/publishing-items/publishing-an-item", - "redirect_document_id": false + "source_path": "dsc/enactingConfigurations.md", + "redirect_url": "/powershell/dsc/pull-server/enactingConfigurations", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_unlist_items.md", - "redirect_url": "/powershell/gallery/how-to/publishing-items/unlisting-items", - "redirect_document_id": false + "source_path": "dsc/environmentResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/environmentResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_contacting_item_owners.md", - "redirect_url": "/powershell/gallery/how-to/working-with-items/contacting-item-owners", - "redirect_document_id": false + "source_path": "dsc/fileResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/fileResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_deploy_to_azure_automation.md", - "redirect_url": "/powershell/gallery/how-to/working-with-items/deploy-to-azure-automation", - "redirect_document_id": false + "source_path": "dsc/gettingStarted.md", + "redirect_url": "/powershell/dsc/configurations/write-compile-apply-configuration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_deploy_to_azure_automation_requireLicenseAcceptance.md", - "redirect_url": "/powershell/gallery/how-to/working-with-items/deploy-to-azure-automation", - "redirect_document_id": false + "source_path": "dsc/groupResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/groupResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_filelist_feature.md", - "redirect_url": "/powershell/gallery/how-to/working-with-items/filelist-view", - "redirect_document_id": false + "source_path": "dsc/groupSetResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/groupSetResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery_requires_license_acceptance.md", - "redirect_url": "/powershell/gallery/how-to/working-with-items/items-that-require-license-acceptance", - "redirect_document_id": false + "source_path": "dsc/lnxArchiveResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxArchiveResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psgallery/psgallery-SocialMediaFeedback.md", - "redirect_url": "/powershell/gallery/how-to/working-with-items/social-media-feedback", - "redirect_document_id": false + "source_path": "dsc/lnxEnvironmentResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxEnvironmentResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/oneget/PackageManagement_cmdlets.md", - "redirect_url": "/powershell/module/packagemanagement/", - "redirect_document_id": false + "source_path": "dsc/lnxFileLineResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxFileLineResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/overview.md", - "redirect_url": "/powershell/module/powershellget/", - "redirect_document_id": false + "source_path": "dsc/lnxFileResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxFileResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_find-command.md", - "redirect_url": "/powershell/module/powershellget/Find-Command", - "redirect_document_id": false + "source_path": "dsc/lnxGettingStarted.md", + "redirect_url": "/powershell/dsc/getting-started/lnxGettingStarted", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_find-dscresource.md", - "redirect_url": "/powershell/module/powershellget/Find-DscResource", - "redirect_document_id": false + "source_path": "dsc/lnxGroupResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxGroupResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_find-module.md", - "redirect_url": "/powershell/module/powershellget/Find-Module", - "redirect_document_id": false + "source_path": "dsc/lnxPackageResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxPackageResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_find-rolecapability.md", - "redirect_url": "/powershell/module/powershellget/Find-RoleCapability", - "redirect_document_id": false + "source_path": "dsc/lnxScriptResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxScriptResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_find-script.md", - "redirect_url": "/powershell/module/powershellget/Find-Script", - "redirect_document_id": false + "source_path": "dsc/lnxServiceResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxServiceResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_get-installedmodule.md", - "redirect_url": "/powershell/module/powershellget/Get-InstalledModule", - "redirect_document_id": false + "source_path": "dsc/lnxSshAuthorizedKeysResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxSshAuthorizedKeysResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_get-installedscript.md", - "redirect_url": "/powershell/module/powershellget/Get-InstalledScript", - "redirect_document_id": false + "source_path": "dsc/lnxUserResource.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxUserResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/repository/psget_get-psrepository.md", - "redirect_url": "/powershell/module/powershellget/Get-PSRepository", - "redirect_document_id": false + "source_path": "dsc/logResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/logResource", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_install-module.md", - "redirect_url": "/powershell/module/powershellget/Install-Module", - "redirect_document_id": false + "source_path": "dsc/metaConfig.md", + "redirect_url": "/powershell/dsc/managing-nodes/metaConfig", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_install-script.md", - "redirect_url": "/powershell/module/powershellget/Install-Script", - "redirect_document_id": false + "source_path": "dsc/metaConfig4.md", + "redirect_url": "/powershell/dsc/managing-nodes/metaConfig4", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_new-scriptfileinfo.md", - "redirect_url": "/powershell/module/powershellget/New-ScriptFileInfo", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_publish-module.md", - "redirect_url": "/powershell/module/powershellget/Publish-Module", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-applyconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-applyconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_publish-script.md", - "redirect_url": "/powershell/module/powershellget/Publish-Script", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-disabledebugconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/repository/psget_register-psrepository.md", - "redirect_url": "/powershell/module/powershellget/Register-PSRepository", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-enabledebugconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_save-module.md", - "redirect_url": "/powershell/module/powershellget/Save-Module", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-getconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_save-script.md", - "redirect_url": "/powershell/module/powershellget/Save-Script", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationresultoutput", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/repository/psget_set-psrepository.md", - "redirect_url": "/powershell/module/powershellget/Set-PSRepository", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-getconfigurationstatus.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationstatus", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_test-scriptfileinfo.md", - "redirect_url": "/powershell/module/powershellget/Test-ScriptFileInfo", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-getmetaconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_uninstall-module.md", - "redirect_url": "/powershell/module/powershellget/Uninstall-Module", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_uninstall-script.md", - "redirect_url": "/powershell/module/powershellget/Uninstall-Script", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-removeconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-removeconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/repository/psget_unregister-psrepository.md", - "redirect_url": "/powershell/module/powershellget/Unregister-PSRepository", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-resourceget.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceget", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_update-module.md", - "redirect_url": "/powershell/module/powershellget/Update-Module", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-resourceset.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceset", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/module/psget_update-modulemanifest.md", - "redirect_url": "/powershell/module/powershellget/Update-ModuleManifest", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-resourcetest.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourcetest", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_update-script.md", - "redirect_url": "/powershell/module/powershellget/Update-Script", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-rollback.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-rollback", + "redirect_document_id": "FALSE" }, { - "source_path": "gallery/psget/script/psget_update-scriptfileinfo.md", - "redirect_url": "/powershell/module/powershellget/Update-ScriptFileInfo", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-sendconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/fundamental/learning-windows-powershell-names.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/learning-powershell-names", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-sendconfigurationapply.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapply", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/fundamental/understanding-the-windows-powershell-pipeline.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/understanding-the-powershell-pipeline", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/fundamental/understanding-important-windows-powershell-concepts.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/understanding-important-powershell-concepts", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/fundamental/scripting-with-windows-powershell.md", - "redirect_url": "/powershell/scripting/", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-stopconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-stopconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/fundamental/object-pipeline.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/understanding-the-powershell-pipeline", - "redirect_document_id": false + "source_path": "dsc/msft-dsclocalconfigurationmanager-testconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-testconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/docs-conceptual/getting-started/fundamental/using-powershell-for-windows-administration.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/sample-scripts-for-administration", - "redirect_document_id": false + "source_path": "dsc/nanoDsc.md", + "redirect_url": "/powershell/dsc/getting-started/nanoDsc", + "redirect_document_id": "FALSE" }, { - "source_path": "wmf/5.0/install.md", - "redirect_url": "/powershell/wmf/5.0/requirements", - "redirect_document_id": false + "source_path": "dsc/overview.md", + "redirect_url": "/powershell/dsc/overview/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell/core-powershell.md", - "redirect_url": "/powershell/scripting/powershell-scripting", - "redirect_document_id": "False" + "source_path": "dsc/PackageManagementDscResource.md", + "redirect_url": "/powershell/dsc/reference/resources/packagemanagement/PackageManagementDscResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell/ise/using-the-windows-powershell-ise.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/introducing-the-windows-powershell-ise", - "redirect_document_id": "False" + "source_path": "dsc/PackageManagementSourceDscResource.md", + "redirect_url": "/powershell/dsc/reference/resources/packagemanagement/PackageManagementSourceDscResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell/ise/ise-module.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/introducing-the-windows-powershell-ise", - "redirect_document_id": "False" + "source_path": "dsc/packageResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/packageResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell/ise/the-windows-powershell-ise-scripting-object-model.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/purpose-of-the-windows-powershell-ise-scripting-object-model", - "redirect_document_id": "False" + "source_path": "dsc/partialConfigs.md", + "redirect_url": "/powershell/dsc/pull-server/partialConfigs", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell/ise/windows-powershell-ise-object-model-reference.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-ise-object-model-hierarchy", - "redirect_document_id": "False" + "source_path": "dsc/processSetResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/processSetResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell/web-access.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access/install-and-use-windows-powershell-web-access", - "redirect_document_id": "False" + "source_path": "dsc/pullClient.md", + "redirect_url": "/powershell/dsc/pull-server/pullClient", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/getting-started/basic-cookbooks.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/sample-scripts-for-administration", - "redirect_document_id": "False" + "source_path": "dsc/pullClientConfigID.md", + "redirect_url": "/powershell/dsc/pull-server/pullClientConfigID", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/getting-started/cookbooks/basic-cookbooks-reference.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/sample-scripts-for-administration", - "redirect_document_id": "False" + "source_path": "dsc/pullClientConfigID4.md", + "redirect_url": "/powershell/dsc/pull-server/pullClientConfigID4", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/getting-started/fundamental/about-windows-powershell.md", - "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell", - "redirect_document_id": "False" + "source_path": "dsc/pullClientConfigNames.md", + "redirect_url": "/powershell/dsc/pull-server/pullClientConfigNames", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/getting-started/fundamental/using-windows-powershell.md", - "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", - "redirect_document_id": "False" + "source_path": "dsc/pullServer.md", + "redirect_url": "/powershell/dsc/pull-server/pullServer", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/getting-started/fundamental-concepts.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/understanding-important-windows-powershell-concepts", - "redirect_document_id": "False" + "source_path": "dsc/pullServerSMB.md", + "redirect_url": "/powershell/dsc/pull-server/pullServerSMB", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/setup/setup-reference.md", - "redirect_url": "/powershell/scripting/setup/installing-windows-powershell", - "redirect_document_id": "False" + "source_path": "dsc/queryServerNodes.md", + "redirect_url": "/powershell/dsc/pull-server/update-nodes-manually", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/setup/starting-the-32-bit-version-of-windows-powershell.md", - "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", - "redirect_document_id": "False" + "source_path": "dsc/quickstart.md", + "redirect_url": "/powershell/dsc/resources/website-quickstart", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/setup/starting-windows-powershell-on-earlier-versions-of-windows.md", - "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", - "redirect_document_id": "False" + "source_path": "dsc/reference/resources/builtInResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/archiveresource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/index.md", - "redirect_url": "/powershell/scripting/powershell-scripting", - "redirect_document_id": "False" + "source_path": "dsc/reference/resources/lnxBuiltInResources.md", + "redirect_url": "/powershell/dsc/reference/resources/linux/lnxarchiveresource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/readme.md", - "redirect_url": "/powershell/scripting", - "redirect_document_id": "False" + "source_path": "dsc/registryResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/registryResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/readme.md", - "redirect_url": "/powershell/scripting/?view=powershell=3.0", - "redirect_document_id": "False" + "source_path": "dsc/reportServer.md", + "redirect_url": "/powershell/dsc/pull-server/reportServer", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/readme.md", - "redirect_url": "/powershell/scripting/?view=powershell=4.0", - "redirect_document_id": "False" + "source_path": "dsc/resourceAuthoringChecklist.md", + "redirect_url": "/powershell/dsc/resources/resourceAuthoringChecklist", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/readme.md", - "redirect_url": "/powershell/scripting/?view=powershell=5.1", - "redirect_document_id": "False" + "source_path": "dsc/resources.md", + "redirect_url": "/powershell/dsc/resources/resources", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/readme.md", - "redirect_url": "/powershell/scripting/?view=powershell=6", - "redirect_document_id": "False" + "source_path": "dsc/runAsUser.md", + "redirect_url": "/powershell/dsc/configurations/runAsUser", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/scriptResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/scriptResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/add-member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/add-member?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/secureMOF.md", + "redirect_url": "/powershell/dsc/pull-server/secureMOF", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/secureServer.md", + "redirect_url": "/powershell/dsc/pull-server/secureServer", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/separatingEnvData.md", + "redirect_url": "/powershell/dsc/configurations/separatingEnvData", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflow?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/serviceResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/serviceResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/serviceSetResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/serviceSetResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/index.md", - "redirect_url": "/powershell/module/reference/index?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/singleInstance.md", + "redirect_url": "/powershell/dsc/resources/singleInstance", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/ISE/Get-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/sxsResource.md", + "redirect_url": "/powershell/dsc/configurations/sxsResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/ISE/Import-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/troubleshooting.md", + "redirect_url": "/powershell/dsc/troubleshooting/troubleshooting", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/ISE/ISE.md", - "redirect_url": "/powershell/module/ISE?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/userResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/userResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/ISE/New-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/waitForAllResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/waitForAllResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Add-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/waitForAnyResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/waitForAnyResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Add-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/waitForSomeResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/waitForSomeResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Clear-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/whitepapers.md", + "redirect_url": "/powershell/dsc/further-reading/whitepapers", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Connect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/windowsfeatureResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/windowsfeatureResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Disable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/windowsFeatureSetResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/windowsFeatureSetResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/windowsOptionalFeatureResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/windowsOptionalFeatureResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Disconnect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/windowsOptionalFeatureSetResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/windowsOptionalFeatureSetResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Enable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/windowsPackageCabResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/windowsPackageCabResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "dsc/windowsProcessResource.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/windowsProcessResource", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Enter-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/concepts/item-manifest-affecting-ui.md", + "redirect_url": "/powershell/gallery/concepts/package-manifest-affecting-ui", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Exit-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/finding-items/filtering-items.md", + "redirect_url": "/powershell/gallery/how-to/finding-packages/filtering-packages", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Export-Console.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/finding-packages/searching-by-psedition.md", + "redirect_url": "/powershell/gallery/how-to/finding-packages/searching-by-compatibility", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Export-ModuleMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/publishing-items/deleting-items.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/deleting-packages", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/ForEach-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/publishing-items/managing-item-owners.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/managing-package-owners", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/publishing-items/publishing-an-item.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/publishing-a-package", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/publishing-items/unlisting-items.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/unlisting-packages", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/working-with-items/contacting-item-owners.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/contacting-package-owners", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/how-to/working-with-items/items-that-require-license-acceptance.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/packages-that-require-license-acceptance", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/index.md", + "redirect_url": "/powershell/gallery/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/Creating-and-Publishing-an-item.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/publishing-a-package", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/Deleting-Items.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/deleting-packages", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/Managing-Item-Owners.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/managing-package-owners", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Import-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_contacting_administrators.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/contacting-administrators", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Invoke-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_contacting_item_owners.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/contacting-item-owners", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Invoke-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_creating_an_account.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/creating-an-account", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_deploy_to_azure_automation.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/deploy-to-azure-automation", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_deploy_to_azure_automation_requireLicenseAcceptance.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/deploy-to-azure-automation", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_dispute_resolution.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/dispute-resolution", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_faqs.md", + "redirect_url": "/powershell/gallery/faqs", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_filelist_feature.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/filelist-view", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_gettingstarted.md", + "redirect_url": "/powershell/gallery/getting-started", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSTransportOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_ItemManifestAffectingUI.md", + "redirect_url": "/powershell/gallery/concepts/package-manifest-affecting-ui", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Out-Default.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_items_tab.md", + "redirect_url": "/powershell/gallery/how-to/finding-packages/filtering-packages", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Out-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_pseditions.md", + "redirect_url": "/powershell/gallery/how-to/finding-packages/searching-by-compatibility", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Out-Null.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_report_abuse.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/report-abuse", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Receive-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_requires_license_acceptance.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/packages-that-require-license-acceptance", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Receive-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_search_syntax.md", + "redirect_url": "/powershell/gallery/how-to/finding-packages/search-syntax", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_status.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/health-status", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery_unlist_items.md", + "redirect_url": "/powershell/gallery/how-to/publishing-packages/unlisting-packages", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery-PublishingGuidelines.md", + "redirect_url": "/powershell/gallery/concepts/publishing-guidelines", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psgallery/psgallery-SocialMediaFeedback.md", + "redirect_url": "/powershell/gallery/how-to/working-with-packages/social-media-feedback", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/get_psget_module.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/health-status", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Resume-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/modulewithpseditionsupport.md", + "redirect_url": "/powershell/gallery/concepts/module-psedition-support", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Save-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/PreReleaseModule.md", + "redirect_url": "/powershell/gallery/concepts/module-prerelease-support", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Set-PSDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_find-command.md", + "redirect_url": "/powershell/module/powershellget/Find-Command", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_find-dscresource.md", + "redirect_url": "/powershell/module/powershellget/Find-DscResource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Set-StrictMode.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_find-module.md", + "redirect_url": "/powershell/module/powershellget/Find-Module", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Start-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_find-rolecapability.md", + "redirect_url": "/powershell/module/powershellget/Find-RoleCapability", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Stop-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_get-installedmodule.md", + "redirect_url": "/powershell/module/powershellget/Get-InstalledModule", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Suspend-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_install-module.md", + "redirect_url": "/powershell/module/powershellget/Install-Module", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Test-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_publish-module.md", + "redirect_url": "/powershell/module/powershellget/Publish-Module", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_save-module.md", + "redirect_url": "/powershell/module/powershellget/Save-Module", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Update-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_uninstall-module.md", + "redirect_url": "/powershell/module/powershellget/Uninstall-Module", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Wait-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_update-module.md", + "redirect_url": "/powershell/module/powershellget/Update-Module", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Where-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/psget_update-modulemanifest.md", + "redirect_url": "/powershell/module/powershellget/Update-ModuleManifest", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Aliases.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/module/RequireLicenseAcceptance.md", + "redirect_url": "/powershell/gallery/concepts/module-license-acceptance", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about/about_Arithmetic_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/oneget/PackageManagement_cmdlets.md", + "redirect_url": "/powershell/module/packagemanagement/", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Arrays.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/overview.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/psget_cmdlets_troubleshooting.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/troubleshooting-cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/repository/bootstrapping_nuget_proivder_and_exe.md", + "redirect_url": "/powershell/gallery/how-to/getting-support/bootstrapping-nuget", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Break.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/repository/psget_get-psrepository.md", + "redirect_url": "/powershell/module/powershellget/Get-PSRepository", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/repository/psget_register-psrepository.md", + "redirect_url": "/powershell/module/powershellget/Register-PSRepository", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/repository/psget_set-psrepository.md", + "redirect_url": "/powershell/module/powershellget/Set-PSRepository", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/repository/psget_unregister-psrepository.md", + "redirect_url": "/powershell/module/powershellget/Unregister-PSRepository", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_CommonParameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/PreReleaseScript.md", + "redirect_url": "/powershell/gallery/concepts/script-prerelease-support", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_find-script.md", + "redirect_url": "/powershell/module/powershellget/Find-Script", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Continue.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_get-installedscript.md", + "redirect_url": "/powershell/module/powershellget/Get-InstalledScript", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Core_Commands.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_install-script.md", + "redirect_url": "/powershell/module/powershellget/Install-Script", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Data_Sections.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_new-scriptfileinfo.md", + "redirect_url": "/powershell/module/powershellget/New-ScriptFileInfo", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Debuggers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_publish-script.md", + "redirect_url": "/powershell/module/powershellget/Publish-Script", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Do.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_save-script.md", + "redirect_url": "/powershell/module/powershellget/Save-Script", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_test-scriptfileinfo.md", + "redirect_url": "/powershell/module/powershellget/Test-ScriptFileInfo", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_uninstall-script.md", + "redirect_url": "/powershell/module/powershellget/Uninstall-Script", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Eventlogs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_update-script.md", + "redirect_url": "/powershell/module/powershellget/Update-Script", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/psget_update-scriptfileinfo.md", + "redirect_url": "/powershell/module/powershellget/Update-ScriptFileInfo", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_For.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/script_RequireLicenseAcceptance.md", + "redirect_url": "/powershell/gallery/concepts/script-license-acceptance", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Foreach.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "gallery/psget/script/scriptwithpseditionsupport.md", + "redirect_url": "/powershell/gallery/concepts/script-psedition-support", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "jea/index.md", + "redirect_url": "/powershell/jea/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/5.0/Microsoft.PowerShell.Core/about/about_psreadline.md", + "redirect_url": "/powershell/module/psreadline/about/about_psreadline?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/5.1/Microsoft.PowerShell.Core/about/about_psreadline.md", + "redirect_url": "/powershell/module/psreadline/about/about_psreadline?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/6/Microsoft.PowerShell.Core/About/about_Logging.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_Logging_Non-Windows?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/6/Microsoft.PowerShell.Core/about/about_psreadline.md", + "redirect_url": "/powershell/module/psreadline/about/about_psreadline?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/console/powershell.exe-command-line-help.md", + "redirect_url": "/powershell/scripting/components/console/powershell.exe-command-line-help", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/console/using-tab-expansion.md", + "redirect_url": "/powershell/scripting/components/console/using-tab-expansion", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/console-guide.md", + "redirect_url": "/powershell/scripting/components/console/powershell.exe-command-line-help", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/how-to-create-a-powershell-tab-in-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-create-a-powershell-tab-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_History.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/how-to-debug-scripts-in-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-debug-scripts-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_If.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/how-to-use-profiles-in-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-use-profiles-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/how-to-use-tab-completion-in-the-script-pane-and-console-pane.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-use-tab-completion-in-the-script-pane-and-console-pane", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Job_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/how-to-use-the-console-pane-in-the-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-use-the-console-pane-in-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Join.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/how-to-write-and-run-scripts-in-the-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-write-and-run-scripts-in-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/introducing-the-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/introducing-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Language_Modes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/keyboard-shortcuts-for-the-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/keyboard-shortcuts-for-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Line_Editing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/purpose-of-the-windows-powershell-ise-scripting-object-model.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/purpose-of-the-windows-powershell-ise-scripting-object-model", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-iseaddontoolcollection-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-iseaddontoolcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Modules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-iseaddontool-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-iseaddontool-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Objects.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-iseeditor-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-iseeditor-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Object_Creation.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-isefilecollection-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-isefilecollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-isefile-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-isefile-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-isemenuitemcollection-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-isemenuitemcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_packagemanagement.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-isemenuitem-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-isemenuitem-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-ise-object-model-hierarchy.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-ise-object-model-hierarchy", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-iseoptions-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-iseoptions-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Parsing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-isesnippetcollection-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-isesnippetcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-isesnippetobject.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-isesnippetobject", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_pipelines.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-objectmodelroot-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-objectmodelroot-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-powershelltabcollection-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-powershelltabcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/ise/the-powershelltab-object.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/the-powershelltab-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/running-remote-commands.md", + "redirect_url": "/powershell/scripting/learn/remoting/running-remote-commands", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_profiles.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/SSH-Remoting-in-PowerShell-Core.md", + "redirect_url": "/powershell/scripting/learn/remoting/ssh-remoting-in-powershell-core", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Prompts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/vscode/using-vscode.md", + "redirect_url": "/powershell/scripting/components/vscode/using-vscode", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Properties.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/web-access/authorization-rules-and-security-features-of-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/authorization-rules-and-security-features-of-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Providers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/web-access/install-and-use-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/install-and-use-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PSSessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/web-access/troubleshooting-access-problems-in-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/troubleshooting-access-problems-in-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/web-access/uninstall-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/uninstall-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PSSnapins.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/web-access/use-the-web-based-windows-powershell-console.md", + "redirect_url": "/powershell/scripting/components/web-access/use-the-web-based-windows-powershell-console", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/workflows-guide.md", + "redirect_url": "/powershell/scripting/components/workflows-guide", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Redirection.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/core-powershell/WSMan-Remoting-in-PowerShell-Core.md", + "redirect_url": "/powershell/scripting/learn/remoting/wsman-remoting-in-powershell-core", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Ref.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/appendix-1---compatibility-aliases.md", + "redirect_url": "/powershell/scripting/samples/appendix-1---compatibility-aliases", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/appendix-2---creating-a-custom-powershell-shortcut.md", + "redirect_url": "/powershell/scripting/samples/appendix-2---creating-a-custom-powershell-shortcut", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/changing-computer-state.md", + "redirect_url": "/powershell/scripting/samples/changing-computer-state", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/collecting-information-about-computers.md", + "redirect_url": "/powershell/scripting/samples/collecting-information-about-computers", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/creating-.net-and-com-objects--new-object-.md", + "redirect_url": "/powershell/scripting/samples/creating-.net-and-com-objects--new-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/creating-a-custom-input-box.md", + "redirect_url": "/powershell/scripting/samples/creating-a-custom-input-box", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Output.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/creating-a-graphical-date-picker.md", + "redirect_url": "/powershell/scripting/samples/creating-a-graphical-date-picker", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/Decode-PowerShell-Command-from-a-Running-Process.md", + "redirect_url": "/powershell/scripting/samples/decode-powershell-command-from-a-running-process", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/getting-wmi-objects--get-wmiobject-.md", + "redirect_url": "/powershell/scripting/samples/getting-wmi-objects--get-wmiobject-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/managing-current-location.md", + "redirect_url": "/powershell/scripting/samples/managing-current-location", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Requires.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/managing-processes-with-process-cmdlets.md", + "redirect_url": "/powershell/scripting/samples/managing-processes-with-process-cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/managing-services.md", + "redirect_url": "/powershell/scripting/samples/managing-services", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Return.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/managing-windows-powershell-drives.md", + "redirect_url": "/powershell/scripting/samples/managing-windows-powershell-drives", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/manipulating-items-directly.md", + "redirect_url": "/powershell/scripting/samples/manipulating-items-directly", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_scopes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/multiple-selection-list-boxes.md", + "redirect_url": "/powershell/scripting/samples/multiple-selection-list-boxes", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Scripts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/other-useful-scripting-objects.md", + "redirect_url": "/powershell/scripting/samples/other-useful-scripting-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/performing-networking-tasks.md", + "redirect_url": "/powershell/scripting/samples/performing-networking-tasks", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/redirecting-data-with-out---cmdlets.md", + "redirect_url": "/powershell/scripting/samples/redirecting-data-with-out---cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/removing-objects-from-the-pipeline--where-object-.md", + "redirect_url": "/powershell/scripting/samples/removing-objects-from-the-pipeline--where-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/repeating-a-task-for-multiple-objects--foreach-object-.md", + "redirect_url": "/powershell/scripting/samples/repeating-a-task-for-multiple-objects--foreach-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Signing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/selecting-items-from-a-list-box.md", + "redirect_url": "/powershell/scripting/samples/selecting-items-from-a-list-box", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Special_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/selecting-parts-of-objects--select-object-.md", + "redirect_url": "/powershell/scripting/samples/selecting-parts-of-objects--select-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Splatting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/sorting-objects.md", + "redirect_url": "/powershell/scripting/samples/sorting-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Split.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/using-format-commands-to-change-output-view.md", + "redirect_url": "/powershell/scripting/samples/using-format-commands-to-change-output-view", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Switch.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/using-static-classes-and-methods.md", + "redirect_url": "/powershell/scripting/samples/using-static-classes-and-methods", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Throw.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/viewing-object-structure--get-member-.md", + "redirect_url": "/powershell/scripting/samples/viewing-object-structure--get-member-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Transactions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-files-and-folders.md", + "redirect_url": "/powershell/scripting/samples/working-with-files-and-folders", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Trap.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-files-folders-and-registry-keys.md", + "redirect_url": "/powershell/scripting/samples/working-with-files-folders-and-registry-keys", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-objects.md", + "redirect_url": "/powershell/scripting/samples/working-with-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-printers.md", + "redirect_url": "/powershell/scripting/samples/working-with-printers", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Type_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-registry-entries.md", + "redirect_url": "/powershell/scripting/samples/working-with-registry-entries", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-registry-keys.md", + "redirect_url": "/powershell/scripting/samples/working-with-registry-keys", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/cookbooks/working-with-software-installations.md", + "redirect_url": "/powershell/scripting/samples/working-with-software-installations", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_While.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/exploring-the-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/exploring-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Wildcards.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/getting-detailed-help-information.md", + "redirect_url": "/powershell/scripting/learn/getting-detailed-help-information", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/getting-information-about-commands.md", + "redirect_url": "/powershell/scripting/learn/getting-information-about-commands", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Windows_RT.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/learning-powershell-names.md", + "redirect_url": "/powershell/scripting/learn/learning-powershell-names", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_WMI.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/sample-scripts-for-administration.md", + "redirect_url": "/powershell/scripting/samples/sample-scripts-for-administration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/understanding-important-powershell-concepts.md", + "redirect_url": "/powershell/scripting/learn/understanding-important-powershell-concepts", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_WQL.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/understanding-the-powershell-pipeline.md", + "redirect_url": "/powershell/scripting/learn/understanding-the-powershell-pipeline", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/functions/Clear-Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/using-familiar-command-names.md", + "redirect_url": "/powershell/scripting/learn/using-familiar-command-names", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/functions/Get-Verb.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/using-variables-to-store-objects.md", + "redirect_url": "/powershell/scripting/learn/using-variables-to-store-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/FileSystem-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/fundamental/windows-powershell-integrated-scripting-environment--ise-.md", + "redirect_url": "/powershell/scripting/components/ise/windows-powershell-integrated-scripting-environment--ise-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Alias-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/alias-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/getting-started/more-powershell-learning.md", + "redirect_url": "/powershell/scripting/learn/more-powershell-learning", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Environment-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/environment-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/PowerShell-Core-Support.md", + "redirect_url": "/powershell/scripting/powershell-support-lifecycle", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/Function-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/function-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/powershell-scripting.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/Registry-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/registry-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/accessibility-in-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/accessibility-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/Variable-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/variable-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/Installing-PowerShell.md", + "redirect_url": "/powershell/scripting/install/installing-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Add-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/add-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/Installing-PowerShell-Core-on-Linux.md", + "redirect_url": "/powershell/scripting/install/installing-powershell-core-on-linux", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Clear-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/clear-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/Installing-PowerShell-Core-on-macOS.md", + "redirect_url": "/powershell/scripting/install/installing-powershell-core-on-macos", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/Installing-PowerShell-Core-on-Windows.md", + "redirect_url": "/powershell/scripting/install/installing-powershell-core-on-windows", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Get-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/installing-the-windows-powershell-2.0-engine.md", + "redirect_url": "/powershell/scripting/install/installing-the-windows-powershell-2.0-engine", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Get-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/installing-windows-powershell.md", + "redirect_url": "/powershell/scripting/install/installing-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Remove-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/remove-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/PowerShell-Core-on-ARM.md", + "redirect_url": "/powershell/scripting/install/powershell-core-on-arm", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Set-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/set-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/ps-remoting-second-hop.md", + "redirect_url": "/powershell/scripting/learn/remoting/ps-remoting-second-hop", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Test-Path-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/test-path-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/starting-the-windows-powershell-2.0-engine.md", + "redirect_url": "/powershell/scripting/getting-started/starting-the-windows-powershell-2.0-engine", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Export-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/starting-windows-powershell.md", + "redirect_url": "/powershell/scripting/getting-started/starting-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Get-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/windows-powershell-system-requirements.md", + "redirect_url": "/powershell/scripting/install/windows-powershell-system-requirements", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/setup/winrmsecurity.md", + "redirect_url": "/powershell/scripting/learn/remoting/winrmsecurity", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Import-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/docs-conceptual/windows-powershell-glossary.md", + "redirect_url": "/powershell/scripting/learn/windows-powershell-glossary", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/About-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Accessibility-in-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/accessibility-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Appendix-1---Compatibility-Aliases.md", + "redirect_url": "/powershell/scripting/samples/appendix-1---compatibility-aliases", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Host/Start-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Appendix-2---Creating-a-Custom-PowerShell-Shortcut.md", + "redirect_url": "/powershell/scripting/samples/appendix-2---creating-a-custom-powershell-shortcut", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Host/Stop-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/authorization-rules-and-security-features-of-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/authorization-rules-and-security-features-of-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Add-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/basic-cookbooks.md", + "redirect_url": "/powershell/scripting/getting-started/basic-cookbooks", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Add-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/basic-cookbooks-reference.md", + "redirect_url": "/powershell/scripting/samples/basic-cookbooks-reference", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Checkpoint-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Changing-Computer-State.md", + "redirect_url": "/powershell/scripting/samples/changing-computer-state", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Collecting-Information-About-Computers.md", + "redirect_url": "/powershell/scripting/samples/collecting-information-about-computers", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/console-guide.md", + "redirect_url": "/powershell/scripting/components/console/powershell.exe-command-line-help", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-modules.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Complete-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell/core-powershell.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Convert-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell/ise/ise-module.md", + "redirect_url": "/powershell/scripting/components/ise/introducing-the-windows-powershell-ise", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Copy-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell/ise/the-windows-powershell-ise-scripting-object-model.md", + "redirect_url": "/powershell/scripting/components/ise/purpose-of-the-windows-powershell-ise-scripting-object-model", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Copy-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell/ise/using-the-windows-powershell-ise.md", + "redirect_url": "/powershell/scripting/components/ise/introducing-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Debug-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell/ise/windows-powershell-ise-object-model-reference.md", + "redirect_url": "/powershell/scripting/components/ise/the-ise-object-model-hierarchy", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/core-powershell/web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/install-and-use-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Creating-.NET-and-COM-Objects--New-Object-.md", + "redirect_url": "/powershell/scripting/samples/creating-.net-and-com-objects--new-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ChildItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Creating-a-Custom-Input-Box.md", + "redirect_url": "/powershell/scripting/samples/creating-a-custom-input-box", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Creating-a-Graphical-Date-Picker.md", + "redirect_url": "/powershell/scripting/samples/creating-a-graphical-date-picker", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Exploring-the-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/exploring-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/fundamental-concepts.md", + "redirect_url": "/powershell/scripting/learn/understanding-important-powershell-concepts", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Getting-Detailed-Help-Information.md", + "redirect_url": "/powershell/scripting/learn/getting-detailed-help-information", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-HotFix.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Getting-Information-About-Commands.md", + "redirect_url": "/powershell/scripting/learn/getting-information-about-commands", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Getting-Ready-to-Use-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/getting-started/getting-ready-to-use-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/getting-started/basic-cookbooks.md", + "redirect_url": "/powershell/scripting/samples/sample-scripts-for-administration", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/getting-started/cookbooks/basic-cookbooks-reference.md", + "redirect_url": "/powershell/scripting/samples/sample-scripts-for-administration", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/getting-started/fundamental/about-windows-powershell.md", + "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/getting-started/fundamental/using-windows-powershell.md", + "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-PSProvider.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/getting-started/fundamental-concepts.md", + "redirect_url": "/powershell/scripting/learn/understanding-important-windows-powershell-concepts", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Getting-Started-with-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Getting-WMI-Objects--Get-WmiObject-.md", + "redirect_url": "/powershell/scripting/samples/getting-wmi-objects--get-wmiobject-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/How-to-Create-a-PowerShell-Tab-in-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-create-a-powershell-tab-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Invoke-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/How-to-Debug-Scripts-in-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-debug-scripts-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/How-to-Use-Profiles-in-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-use-profiles-in-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Join-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/How-to-Use-Tab-Completion-in-the-Script-Pane-and-Console-Pane.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-use-tab-completion-in-the-script-pane-and-console-pane", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Limit-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/How-to-Use-the-Console-Pane-in-the-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-use-the-console-pane-in-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/How-to-Write-and-Run-Scripts-in-the-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/how-to-write-and-run-scripts-in-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Move-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/index.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Move-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/install-and-use-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/install-and-use-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Installing-the-Windows-PowerShell-2.0-Engine.md", + "redirect_url": "/powershell/scripting/setup/installing-the-windows-powershell-2.0-engine", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Installing-the-Windows-PowerShell-SDK.md", + "redirect_url": "/powershell/scripting/setup/installing-the-windows-powershell-sdk", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Installing-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/setup/installing-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Introducing-the-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/introducing-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/ise-guide.md", + "redirect_url": "/powershell/scripting/components/ise/introducing-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-WebServiceProxy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/ISE-Module.md", + "redirect_url": "/powershell/scripting/components/ise/object-model/purpose-of-the-windows-powershell-ise-scripting-object-model", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Pop-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Keyboard-Shortcuts-for-the-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/keyboard-shortcuts-for-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Push-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Learning-Windows-PowerShell-Names.md", + "redirect_url": "/powershell/scripting/learn/learning-windows-powershell-names", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Register-WmiEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Managing-Current-Location.md", + "redirect_url": "/powershell/scripting/samples/managing-current-location", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Managing-Processes-with-Process-Cmdlets.md", + "redirect_url": "/powershell/scripting/samples/managing-processes-with-process-cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Managing-Services.md", + "redirect_url": "/powershell/scripting/samples/managing-services", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Managing-Windows-PowerShell-Drives.md", + "redirect_url": "/powershell/scripting/samples/managing-windows-powershell-drives", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Manipulating-Items-Directly.md", + "redirect_url": "/powershell/scripting/samples/manipulating-items-directly", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/more-powershell-learning.md", + "redirect_url": "/powershell/scripting/getting-started/more-powershell-learning", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Multiple-selection-List-Boxes.md", + "redirect_url": "/powershell/scripting/samples/multiple-selection-list-boxes", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Rename-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Object-Pipeline.md", + "redirect_url": "/powershell/scripting/learn/understanding-the-powershell-pipeline", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Rename-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Other-Useful-Scripting-Objects.md", + "redirect_url": "/powershell/scripting/samples/other-useful-scripting-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Rename-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Performing-Networking-Tasks.md", + "redirect_url": "/powershell/scripting/samples/performing-networking-tasks", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/PowerShell.exe-Command-Line-Help.md", + "redirect_url": "/powershell/scripting/components/console/powershell.exe-command-line-help", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Resolve-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/PowerShell-Core-on-ARM.md", + "redirect_url": "/powershell/scripting/setup/powershell-core-on-arm", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Restart-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/PS-remoting-second-hop.md", + "redirect_url": "/powershell/scripting/setup/ps-remoting-second-hop", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Restart-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Purpose-of-the-Windows-PowerShell-ISE-Scripting-Object-Model.md", + "redirect_url": "/powershell/scripting/components/ise/purpose-of-the-windows-powershell-ise-scripting-object-model", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Restore-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Redirecting-Data-with-Out---Cmdlets.md", + "redirect_url": "/powershell/scripting/samples/redirecting-data-with-out---cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Resume-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Removing-Objects-from-the-Pipeline--Where-Object-.md", + "redirect_url": "/powershell/scripting/samples/removing-objects-from-the-pipeline--where-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Repeating-a-Task-for-Multiple-Objects--ForEach-Object-.md", + "redirect_url": "/powershell/scripting/samples/repeating-a-task-for-multiple-objects--foreach-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Running-Remote-Commands.md", + "redirect_url": "/powershell/scripting/learn/remoting/running-remote-commands", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Scripting-with-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/security.md", + "redirect_url": "/powershell/scripting/setup/security", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Selecting-Items-from-a-List-Box.md", + "redirect_url": "/powershell/scripting/samples/selecting-items-from-a-list-box", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-WmiInstance.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Selecting-Parts-of-Objects--Select-Object-.md", + "redirect_url": "/powershell/scripting/samples/selecting-parts-of-objects--select-object-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/setup/Installing-PowerShell-Core-on-macOS-and-Linux.md", + "redirect_url": "/powershell/scripting/setup/installing-powershell-core-on-linux", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Show-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/setup/setup-reference.md", + "redirect_url": "/powershell/scripting/setup/installing-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Split-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/setup/starting-the-32-bit-version-of-windows-powershell.md", + "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Start-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/setup/starting-windows-powershell-on-earlier-versions-of-windows.md", + "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Start-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/setup-reference.md", + "redirect_url": "/powershell/scripting/setup/setup-reference", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Start-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Sorting-Objects.md", + "redirect_url": "/powershell/scripting/samples/sorting-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Stop-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Starting-the-32-Bit-Version-of-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/setup/starting-the-32-bit-version-of-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Stop-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Starting-the-Windows-PowerShell-2.0-Engine.md", + "redirect_url": "/powershell/scripting/setup/starting-the-windows-powershell-2.0-engine", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Stop-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Starting-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/setup/starting-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Suspend-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Starting-Windows-PowerShell-on-Earlier-Versions-of-Windows.md", + "redirect_url": "/powershell/scripting/setup/starting-windows-powershell-on-earlier-versions-of-windows", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEAddOnToolCollection-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-iseaddontoolcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Test-Connection.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEAddOnTool-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-iseaddontool-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Test-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEEditor-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-iseeditor-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Undo-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEFileCollection-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-isefilecollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Use-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEFile-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-isefile-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Wait-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEMenuItemCollection-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-isemenuitemcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Write-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEMenuItem-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-isemenuitem-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISE-Object-Model-Hierarchy.md", + "redirect_url": "/powershell/scripting/components/ise/the-ise-object-model-hierarchy", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISEOptions-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-iseoptions-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISESnippetCollection-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-isesnippetcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ISESnippetObject.md", + "redirect_url": "/powershell/scripting/components/ise/the-isesnippetobject", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-Credential.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-ObjectModelRoot-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-objectmodelroot-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-PowerShellTabCollection-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-powershelltabcollection-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-PfxCertificate.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-PowerShellTab-Object.md", + "redirect_url": "/powershell/scripting/components/ise/the-powershelltab-object", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/The-Windows-PowerShell-ISE-Scripting-Object-Model.md", + "redirect_url": "/powershell/scripting/components/ise/the-windows-powershell-ise-scripting-object-model", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Set-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/troubleshooting-access-problems-in-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/troubleshooting-access-problems-in-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/understanding-concepts-reference.md", + "redirect_url": "/powershell/scripting/getting-started/understanding-concepts-reference", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Understanding-Important-Windows-PowerShell-Concepts.md", + "redirect_url": "/powershell/scripting/learn/understanding-important-powershell-concepts", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/certificate-provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/certificate-provider?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Understanding-the-Windows-PowerShell-Pipeline.md", + "redirect_url": "/powershell/scripting/learn/understanding-the-powershell-pipeline", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-ChildItem-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/get-childitem-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/uninstall-windows-powershell-web-access.md", + "redirect_url": "/powershell/scripting/components/web-access/uninstall-windows-powershell-web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Move-Item-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/move-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/use-the-web-based-windows-powershell-console.md", + "redirect_url": "/powershell/scripting/components/web-access/use-the-web-based-windows-powershell-console", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/New-Item-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/new-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Familiar-Command-Names.md", + "redirect_url": "/powershell/scripting/learn/using-familiar-command-names", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Remove-Item-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/remove-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Format-Commands-to-Change-Output-View.md", + "redirect_url": "/powershell/scripting/samples/using-format-commands-to-change-output-view", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Add-Type.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Static-Classes-and-Methods.md", + "redirect_url": "/powershell/scripting/samples/using-static-classes-and-methods", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Clear-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Tab-Expansion.md", + "redirect_url": "/powershell/scripting/components/console/using-tab-expansion", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Compare-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-the-Windows-PowerShell-ISE.md", + "redirect_url": "/powershell/scripting/components/ise/using-the-windows-powershell-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Variables-to-Store-Objects.md", + "redirect_url": "/powershell/scripting/learn/using-variables-to-store-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Windows-PowerShell.md", + "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Using-Windows-PowerShell-for-Administration.md", + "redirect_url": "/powershell/scripting/samples/sample-scripts-for-administration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Viewing-Object-Structure--Get-Member-.md", + "redirect_url": "/powershell/scripting/samples/viewing-object-structure--get-member-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Html.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/web-access.md", + "redirect_url": "/powershell/scripting/components/web-access", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/What-s-New-in-the-PowerShell-50-ISE.md", + "redirect_url": "/powershell/scripting/whats-new/what-s-new-in-the-powershell-50-ise", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/What-s-New-in-Windows-PowerShell-50.md", + "redirect_url": "/powershell/scripting/whats-new/what-s-new-in-windows-powershell-50?view=powershell-5.0", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/What-s-New-With-PowerShell.md", + "redirect_url": "/powershell/scripting/whats-new/what-s-new-with-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Windows-PowerShell-Basics.md", + "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Windows-PowerShell-Integrated-Scripting-Environment--ISE-.md", + "redirect_url": "/powershell/scripting/components/ise/windows-powershell-integrated-scripting-environment--ise-", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Windows-PowerShell-ISE-Object-Model-Reference.md", + "redirect_url": "/powershell/scripting/components/ise/windows-powershell-ise-object-model-reference", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Windows-PowerShell-System-Requirements.md", + "redirect_url": "/powershell/scripting/setup/windows-powershell-system-requirements", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/WinRMSecurity.md", + "redirect_url": "/powershell/scripting/setup/winrmsecurity", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/workflows-guide.md", + "redirect_url": "/powershell/scripting/components/workflows-guide", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-Custom.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-with-Files-and-Folders.md", + "redirect_url": "/powershell/scripting/samples/working-with-files-and-folders", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-With-Files-Folders-and-Registry-Keys.md", + "redirect_url": "/powershell/scripting/samples/working-with-files-folders-and-registry-keys", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-Table.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-with-Objects.md", + "redirect_url": "/powershell/scripting/samples/working-with-objects", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-Wide.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-with-Printers.md", + "redirect_url": "/powershell/scripting/samples/working-with-printers", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-with-Registry-Entries.md", + "redirect_url": "/powershell/scripting/samples/working-with-registry-entries", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Culture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-with-Registry-Keys.md", + "redirect_url": "/powershell/scripting/samples/working-with-registry-keys", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory/Working-with-Software-Installations.md", + "redirect_url": "/powershell/scripting/samples/working-with-software-installations", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/index.md", + "redirect_url": "/powershell/module/reference/index?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/ISE/Get-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/ISE/Import-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/ISE/ISE.md", + "redirect_url": "/powershell/module/ISE?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/ISE/New-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about/about_Arithmetic_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-PSCallStack.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Aliases.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-3.0icrosoft.PowerShell.Core", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Random.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Arrays.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-UICulture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Break.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Unique.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Group-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_CommonParameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Continue.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-LocalizedData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Core_Commands.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Data_Sections.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Invoke-Expression.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Debuggers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Do.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Measure-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Measure-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Eventlogs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_For.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Foreach.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-TimeSpan.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-GridView.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-Printer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Read-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Register-EngineEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_History.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_If.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Job_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Select-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Join.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Select-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Select-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Language_Modes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Send-MailMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Line_Editing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Modules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Object_Creation.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Objects.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Show-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Sort-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_packagemanagement.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Start-Sleep.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Tee-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Trace-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Parsing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Unblock-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Unregister-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_pipelines.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Update-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Update-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Update-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Wait-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_profiles.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Debug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Prompts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Error.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Properties.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Providers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Output.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Progress.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PSSessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Verbose.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_PSSnapins.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Warning.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/provider?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Redirection.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Connect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Ref.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Disconnect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Get-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Get-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Invoke-WSManAction.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Output.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/New-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/New-WSManSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Remove-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Requires.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Set-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Return.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Test-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_scopes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/new-item-for-clientcertificate.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-clientcertificate?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/new-item-for-initializationparameters.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-initializationparameters?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/new-item-for-listener.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-listener?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Scripts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/new-item-for-plugin.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-plugin?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/new-item-for-resources.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-resources?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/new-item-for-security.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-security?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Signing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider/wsman-provider.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/wsman-provider?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Special_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Add-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Splatting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Disable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Split.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Disable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Switch.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Enable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Throw.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Enable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Transactions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Get-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Trap.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Get-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Get-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Type_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/New-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/New-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/PSScheduledJob.md", - "redirect_url": "/powershell/module/psscheduledjob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Register-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_While.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Remove-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Wildcards.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Set-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Set-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_Windows_RT.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Set-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_WMI.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Unregister-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/about/about_WQL.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs_Advanced.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Add-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs_Basics.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Add-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs_Troubleshooting.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Alias-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/About/about_Alias_Provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/New-PSWorkflowExecutionOption.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Clear-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/New-PSWorkflowSession.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Connect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/PSWorkflow.md", - "redirect_url": "/powershell/module/psworkflow?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Disable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_ActivityCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Checkpoint-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Disconnect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Foreach-Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Enable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_InlineScript.md", - "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Enter-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Sequence.md", - "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Environment-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Suspend-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Exit-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_WorkflowCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Export-Console.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Workflows.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Export-ModuleMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflowUtility/Invoke-AsWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/FileSystem-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/filesystem-provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/3.0/PSWorkflowUtility/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/psworkflowutility?view=powershell-3.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/ForEach-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/ISE.md", - "redirect_url": "/powershell/module/ise?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/functions/Clear-Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/functions/Get-Verb.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Get-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflow?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Import-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Invoke-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/index.md", - "redirect_url": "/powershell/module/reference/index?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Invoke-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/ISE/Get-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/ISE/Import-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/ISE/ISE.md", - "redirect_url": "/powershell/module/ise/?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/ISE/New-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Add-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Add-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Clear-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/New-PSTransportOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Connect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Out-Default.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Disable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Out-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Out-Null.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Disconnect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Enable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Enter-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Exit-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Export-Console.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Export-ModuleMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/ForEach-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/FileSystem-Provider/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/Function-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_function_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/Registry-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/providers/Variable-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variable_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Receive-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Receive-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Import-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Invoke-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Remove-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Invoke-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Resume-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Save-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Set-PSDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Set-StrictMode.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Start-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Stop-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSTransportOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Suspend-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Out-Default.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Test-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Out-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Out-Null.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Update-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Receive-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Wait-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Receive-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Core/Where-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Export-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Get-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Import-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Resume-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Save-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Set-PSDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Host/Start-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Host/Stop-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Set-StrictMode.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Add-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Start-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Add-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Stop-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Checkpoint-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Suspend-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Test-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Clear-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Update-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Complete-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Wait-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-4.0", - "redirect_document_id": "False" - }, + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Convert-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-3.0", + "redirect_document_id": "FALSE" + }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Where-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Copy-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Aliases.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Copy-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Arithmetic_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Debug-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Arrays.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ChildItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Break.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_CommonParameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-HotFix.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Continue.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Core_Commands.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Data_Sections.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Debuggers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Do.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-PSProvider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Eventlogs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Get-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Invoke-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_For.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Foreach.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Join-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Limit-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Move-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Move-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_History.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/New-WebServiceProxy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_If.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Pop-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Push-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Job_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Register-WmiEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Join.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Language_Modes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Line_Editing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Modules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Remove-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Objects.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Rename-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Object_Creation.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Rename-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Rename-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_packagemanagement.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Resolve-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Restart-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Restart-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Parsing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Restore-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Resume-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_pipelines.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_profiles.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Prompts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Set-WmiInstance.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Properties.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Providers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Show-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PSSessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Split-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Start-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PSSnapins.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Start-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Start-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Redirection.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Stop-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Ref.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Stop-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Stop-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Suspend-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Test-Connection.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Test-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Output.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Undo-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Use-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Wait-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Management/Write-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Requires.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/certificate-provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Return.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_scopes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Scripts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-ChildItem-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-Credential.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Get-PfxCertificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Signing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Move-Item-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Special_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/New-Item-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Splatting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Remove-Item-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Split.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Set-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Switch.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Throw.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Transactions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/add-member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/add-member?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Trap.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Add-Type.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Clear-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Compare-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Type_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_While.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Wildcards.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Html.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Windows_RT.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_WMI.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_WQL.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/functions/Clear-Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/funcitons/Get-Verb.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Alias-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/alias-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Environment-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/environment-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Export-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-Custom.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Function-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/function-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Registry-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/registry-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-Table.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Variable-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/variable-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Format-Wide.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/add-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/clear-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Culture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/remove-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/set-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/test-path-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Export-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Get-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-PSCallStack.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Random.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Import-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-UICulture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Unique.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host/Start-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Get-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host/Stop-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Group-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Add-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Add-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Checkpoint-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-LocalizedData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Import-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Invoke-Expression.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Complete-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Convert-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Measure-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Copy-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Measure-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Copy-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Debug-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ChildItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-TimeSpan.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/New-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-GridView.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-Printer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-HotFix.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Out-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Read-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Register-EngineEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-PSProvider.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Remove-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Select-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Select-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Invoke-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Select-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Send-MailMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Join-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Limit-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Move-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Move-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Set-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Show-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Sort-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Start-Sleep.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Tee-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Trace-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-WebServiceProxy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Unblock-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Pop-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Unregister-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Push-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Update-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Register-WmiEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Update-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Update-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Wait-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Debug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Error.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Output.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Rename-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Progress.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Rename-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Verbose.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Rename-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.PowerShell.Utility/Write-Warning.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Resolve-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Restart-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Connect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Restart-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Restore-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Disconnect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Resume-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Get-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Get-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Invoke-WSManAction.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/New-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-WmiInstance.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/New-WSManSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/provider.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/provider?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Show-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/new-item-for-clientcertificate.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Split-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/new-item-for-initializationparameters.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Start-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/new-item-for-listener.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Start-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/new-item-for-plugin.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Start-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/new-item-for-resources.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Stop-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/new-item-for-security.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Stop-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/providers/wsman-provider.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider?view=3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Stop-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Remove-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Suspend-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Set-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Test-Connection.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/Microsoft.WsMan.Management/Test-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Test-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Undo-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Use-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs_Advanced.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Wait-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs_Basics.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Write-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/about_Scheduled_Jobs_Troubleshooting.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/providers?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Add-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Disable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Disable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Enable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Enable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-Credential.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Get-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Get-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-PfxCertificate.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Get-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/New-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Set-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/New-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/PSScheduledJob.md", + "redirect_url": "/powershell/module/psscheduledjob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Register-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/certificate-provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/certificate-provider?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Remove-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/get-childitem-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/get-childitem-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Set-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/move-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/move-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Set-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/new-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/new-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" - }, - { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/remove-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/remove-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Set-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Add-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSScheduledJob/Unregister-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Add-Type.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflow?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Clear-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_ActivityCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Compare-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Checkpoint-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Foreach-Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_InlineScript.md", + "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Sequence.md", + "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Html.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Suspend-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_WorkflowCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/About/About_Workflows.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/New-PSWorkflowExecutionOption.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/New-PSWorkflowSession.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflow/PSWorkflow.md", + "redirect_url": "/powershell/module/psworkflow?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflowUtility/Invoke-AsWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/PSWorkflowUtility/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/psworkflowutility?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/3.0/readme.md", + "redirect_url": "/powershell/scripting/?view=powershell-3.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-Custom.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/index.md", + "redirect_url": "/powershell/module/reference/index?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/ISE.md", + "redirect_url": "/powershell/module/ise?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-Table.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/ISE/Get-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-Wide.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/ISE/Import-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/ISE/ISE.md", + "redirect_url": "/powershell/module/ise/?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Culture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/ISE/New-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Aliases.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Arithmetic_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-FileHash.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Arrays.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Break.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-PSCallStack.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Random.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_CommonParameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-UICulture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Continue.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Unique.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Core_Commands.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Data_Sections.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Group-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Debuggers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Do.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-LocalizedData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Eventlogs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Invoke-Expression.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_For.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Foreach.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Measure-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Measure-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-TimeSpan.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_History.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-GridView.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_If.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-Printer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Job_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Read-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Join.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Register-EngineEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Language_Modes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Line_Editing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Modules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Object_Creation.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Select-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Objects.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Select-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Select-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Send-MailMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_packagemanagement.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Parsing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_pipelines.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Show-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Sort-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Start-Sleep.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Tee-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_profiles.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Trace-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Prompts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Unblock-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Properties.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Unregister-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Providers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Update-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Update-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PSSessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Update-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_PSSnapins.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Wait-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Debug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Redirection.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Error.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Ref.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Output.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Progress.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Verbose.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Warning.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/provider?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Output.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Connect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Disconnect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Requires.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Get-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Get-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Return.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Invoke-WSManAction.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_scopes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/New-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/New-WSManSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Remove-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Scripts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Set-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Test-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Signing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Special_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/new-item-for-clientcertificate.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-clientcertificate?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Splatting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/new-item-for-initializationparameters.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-initializationparameters?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Split.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/new-item-for-listener.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-listener?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Switch.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/new-item-for-plugin.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-plugin?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Throw.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/new-item-for-resources.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-resources?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Transactions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/new-item-for-security.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-security?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Trap.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/wsman-provider.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/wsman-provider?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Get-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Type_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Get-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/New-DSCCheckSum.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_While.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Remove-DscConfigurationDocument.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Wildcards.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Restore-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_Windows_RT.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Start-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_WMI.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Stop-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Test-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/about/about_WQL.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Update-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Add-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Add-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Add-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Disable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Alias-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_alias_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Disable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Clear-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Enable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Connect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Enable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Disable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Get-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Get-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Disconnect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Get-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Enable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/New-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/New-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Enter-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/PSScheduledJob.md", - "redirect_url": "/powershell/module/psscheduledjob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Environment-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Register-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Exit-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Remove-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Export-Console.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Set-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Export-ModuleMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Set-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Set-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Unregister-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs_Advanced.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs_Basics.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs_Troubleshooting.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/New-PSWorkflowExecutionOption.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/New-PSWorkflowSession.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/PSWorkflow.md", - "redirect_url": "/powershell/module/psworkflow?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/ForEach-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_ActivityCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/funcitons/Get-Verb.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Checkpoint-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Function-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_function_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Foreach-Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/functions/Clear-Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_InlineScript.md", - "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Sequence.md", - "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Suspend-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_WorkflowCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Workflows.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflowUtility/Invoke-AsWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/4.0/PSWorkflowUtility/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/psworkflowutility?view=powershell-4.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Get-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/ISE.md", - "redirect_url": "/powershell/module/ISE?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Import-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Invoke-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Invoke-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.ODataUtils.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/New-PSTransportOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement.md", - "redirect_url": "/powershell/module/PackageManagement?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Out-Default.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet.md", - "redirect_url": "/powershell/module/PowershellGet?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Out-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Out-Null.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline.md", - "redirect_url": "/powershell/module/PSReadline?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Receive-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Receive-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflow?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Registry-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/index.md", - "redirect_url": "/powershell/module/index?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/ISE/Get-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/ISE/Import-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/ISE/ISE.md", - "redirect_url": "/powershell/module/ise/?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Remove-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/ISE/New-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Resume-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive/Compress-Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Compress-Archive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Save-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive/Expand-Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Expand-Archive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Set-PSDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.md", - "redirect_url": "/powershell/module/microsoft.powershell.archive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Add-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Set-StrictMode.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Add-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Start-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Clear-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Stop-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Connect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Suspend-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Debug-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Debug-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Test-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Disable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Disconnect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Update-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Variable-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variable_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Wait-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enter-PSHostProcess.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSHostProcess?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Core/Where-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enter-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Exit-PSHostProcess.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSHostProcess?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Export-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Exit-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Get-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Export-Console.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Export-ModuleMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Import-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/ForEach-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host/Start-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Host/Stop-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSHostProcessInfo.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSHostProcessInfo?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Add-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/get-pssessioncapability.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/get-pssessioncapability?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Add-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Checkpoint-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Import-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Invoke-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Invoke-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Clear-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Complete-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Convert-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Copy-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/new-psrolecapabilityfile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/new-psrolecapabilityfile?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Copy-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Debug-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSTransportOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ChildItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Out-Default.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Out-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Out-Null.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-5.0", - "redirect_document_id": "False" - }, + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-4.0", + "redirect_document_id": "FALSE" + }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Receive-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Receive-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-HotFix.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Register-ArgumentCompleter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-ArgumentCompleter?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-PSProvider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Resume-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Save-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Set-PSDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Get-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Invoke-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Set-StrictMode.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Start-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Join-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Stop-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Limit-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Suspend-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Test-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Move-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Move-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Update-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Wait-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Where-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Aliases.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Arithmetic_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/New-WebServiceProxy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Arrays.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Pop-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Push-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Register-WmiEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Break.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_classes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_CommonParameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Remove-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Rename-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Continue.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Rename-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Core_Commands.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Rename-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Data_Sections.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Debuggers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Resolve-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_desiredstateconfiguration.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_desiredstateconfiguration?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Restart-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Do.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Restart-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_dsclogresource.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_dsclogresource?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Restore-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Enum.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Resume-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Eventlogs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_For.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Foreach.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Set-WmiInstance.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Show-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Split-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Start-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Start-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Start-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Stop-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Stop-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Stop-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_hidden.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hidden?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Suspend-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_History.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_If.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Test-Connection.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Test-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Job_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Undo-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Join.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Use-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Wait-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Language_Modes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Management/Write-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Line_Editing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_locations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_locations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_logical_operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_logical_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Modules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Objects.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-Credential.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Object_Creation.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Get-PfxCertificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_packagemanagement.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/providers?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/certificate-provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/get-childitem-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Parsing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/move-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/new-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_pipelines.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/providers/remove-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Set-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_profiles.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Prompts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Add-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Properties.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Add-Type.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Providers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Clear-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_psconsolehostreadline.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psconsolehostreadline?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Compare-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_psreadline.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psreadline?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PSSessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PSSnapins.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Html.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Redirection.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Ref.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Output.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Export-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-Custom.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Requires.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-Table.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Format-Wide.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Return.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Culture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_scopes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Scripts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-FileHash.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Signing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_simplified_syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_simplified_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Special_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-PSCallStack.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Splatting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Random.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Split.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Switch.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Throw.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-UICulture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Transactions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Unique.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Trap.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Get-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Group-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_type_accelerators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_accelerators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Type_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-LocalizedData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Import-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_While.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Invoke-Expression.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Wildcards.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_windows_powershell_5.0.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_5.0?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Measure-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Windows_RT.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Measure-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_WMI.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_WQL.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/functions/Clear-Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/functions/Get-Verb.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-TimeSpan.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Alias-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/alias-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/New-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Environment-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/environment-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-GridView.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Function-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/function-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-Printer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Registry-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/registry-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Out-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Variable-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/variable-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Read-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/add-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Register-EngineEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/clear-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/remove-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Remove-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/set-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Select-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/test-path-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Select-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Export-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Select-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Get-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Send-MailMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Import-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Set-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host/Start-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Show-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host/Stop-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Sort-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Add-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Start-Sleep.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Add-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Tee-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Checkpoint-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Trace-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Unblock-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Unregister-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Update-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Update-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-RecycleBin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-RecycleBin?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Update-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Complete-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Wait-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Convert-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Debug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Copy-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Error.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Copy-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Debug-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Output.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Progress.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Verbose.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ChildItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.PowerShell.Utility/Write-Warning.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Clipboard.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Clipboard?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Connect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Disconnect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-HotFix.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Get-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Get-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ItemPropertyValue.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemPropertyValue?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Invoke-WSManAction.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/New-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/New-WSManSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-PSProvider.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/provider/wsman-provider.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/providers/new-item-for-clientcertificate.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/providers/new-item-for-initializationparameters.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Invoke-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/providers/new-item-for-listener.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/providers/new-item-for-plugin.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Join-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/providers/new-item-for-resources.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Limit-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/providers/new-item-for-security.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Remove-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Move-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Set-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Move-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/Microsoft.WsMan.Management/Test-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Get-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Get-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-WebServiceProxy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/New-DSCCheckSum.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Pop-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Push-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Remove-DscConfigurationDocument.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Register-WmiEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Restore-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Start-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Stop-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Test-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSDesiredStateConfiguration/Update-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Rename-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Rename-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs_Advanced.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Rename-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs_Basics.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/about/about_Scheduled_Jobs_Troubleshooting.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Resolve-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Add-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Restart-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Disable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Restart-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Disable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Restore-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Enable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Resume-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Enable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Clipboard.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Clipboard?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Get-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Get-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Get-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/New-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/New-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/PSScheduledJob.md", + "redirect_url": "/powershell/module/psscheduledjob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-WmiInstance.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Register-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Remove-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Show-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Set-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Split-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Set-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Start-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Set-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Start-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSScheduledJob/Unregister-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Start-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflow?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Stop-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_ActivityCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Stop-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Checkpoint-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Stop-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Foreach-Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Suspend-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_InlineScript.md", + "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Test-Connection.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Sequence.md", + "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Test-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Suspend-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Undo-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_WorkflowCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Use-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/About/About_Workflows.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Wait-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/New-PSWorkflowExecutionOption.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Write-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/New-PSWorkflowSession.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflow/PSWorkflow.md", + "redirect_url": "/powershell/module/psworkflow?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.ODataUtils/Microsoft.PowerShell.ODataUtils.md", - "redirect_url": "/powershell/module/microsoft.powershell.odatautils?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/providers?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflowUtility/Invoke-AsWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/PSWorkflowUtility/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/psworkflowutility?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/4.0/readme.md", + "redirect_url": "/powershell/scripting/?view=powershell-4.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/index.md", + "redirect_url": "/powershell/module/index?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/ISE.md", + "redirect_url": "/powershell/module/ISE?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-CmsMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-CmsMessage?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/ISE/Get-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-Credential.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/ISE/Import-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/ISE/ISE.md", + "redirect_url": "/powershell/module/ise/?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-PfxCertificate.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/ISE/New-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Protect-CmsMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Protect-CmsMessage?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive/Compress-Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Compress-Archive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Set-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive/Expand-Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Expand-Archive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.md", + "redirect_url": "/powershell/module/microsoft.powershell.archive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Unprotect-CmsMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Unprotect-CmsMessage?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Aliases.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/certificate-provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/certificate-provider?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Arithmetic_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/get-childitem-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/get-childitem-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Arrays.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/move-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/move-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/new-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/new-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/remove-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/remove-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Break.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Add-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_classes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Add-Type.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Clear-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Compare-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Convert-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Convert-String?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_CommonParameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Continue.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/convertfrom-sddlstring.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/convertfrom-sddlstring?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Core_Commands.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-String?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Data_Sections.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Debuggers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_desiredstateconfiguration.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_desiredstateconfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Html.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Do.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_dsclogresource.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_dsclogresource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Enum.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Debug-Runspace.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Debug-Runspace?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Disable-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-RunspaceDebug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Eventlogs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Enable-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-RunspaceDebug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_For.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Foreach.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Custom.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Hex.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Hex?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Table.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Wide.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_hidden.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hidden?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Culture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_History.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_If.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Job_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-FileHash.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Join.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Language_Modes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Line_Editing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_locations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_locations?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_logical_operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_logical_operators?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Modules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Object_Creation.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Objects.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_packagemanagement.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Parsing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_pipelines.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_profiles.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Prompts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Properties.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Providers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_psconsolehostreadline.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psconsolehostreadline?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PSSessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_PSSnapins.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Redirection.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Ref.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Output.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Requires.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Return.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_scopes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Scripts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Signing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_simplified_syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_simplified_syntax?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Special_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Splatting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Split.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Switch.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Throw.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Transactions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Trap.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_type_accelerators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_accelerators?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Type_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_While.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Wildcards.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_windows_powershell_5.0.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_5.0?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_Windows_RT.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_WMI.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/about/about_WQL.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Add-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Add-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Alias-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_alias_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Clear-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Connect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Debug-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Debug-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Disable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Disconnect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enter-PSHostProcess.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSHostProcess?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Enter-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Environment-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Exit-PSHostProcess.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSHostProcess?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Exit-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Export-Console.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Export-ModuleMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/ForEach-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Function-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_function_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/functions/Clear-Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/functions/Get-Verb.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSHostProcessInfo.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSHostProcessInfo?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/get-pssessioncapability.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/get-pssessioncapability?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Get-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Import-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Invoke-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Invoke-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/new-psrolecapabilityfile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/new-psrolecapabilityfile?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/New-PSTransportOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Out-Default.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Out-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Out-Null.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Receive-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Receive-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Register-ArgumentCompleter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-ArgumentCompleter?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Registry-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Remove-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Resume-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Save-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Set-PSDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Set-StrictMode.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Start-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Stop-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Suspend-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Test-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Update-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Variable-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variable_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Wait-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Core/Where-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Export-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Get-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Import-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host/Start-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Host/Stop-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Add-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Add-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Checkpoint-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Clear-RecycleBin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-RecycleBin?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Complete-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Convert-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Copy-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Copy-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Debug-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ChildItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Clipboard.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Clipboard?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-HotFix.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-PSCallStack.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Random.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Runspace.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Runspace?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-ItemPropertyValue.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemPropertyValue?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-RunspaceDebug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-UICulture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-PSProvider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Unique.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Group-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Get-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Invoke-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Join-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-LocalizedData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Limit-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/import-powershelldatafile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/import-powershelldatafile?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Move-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Invoke-Expression.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Move-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Measure-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Measure-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/New-WebServiceProxy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Pop-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Guid.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Guid?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Push-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Register-WmiEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-TemporaryFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TemporaryFile?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-TimeSpan.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-GridView.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-Printer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Remove-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Rename-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Read-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Rename-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Register-EngineEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Rename-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Resolve-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Restart-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Restart-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Restore-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Select-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Resume-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Select-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Clipboard.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Clipboard?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Select-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Send-MailMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Set-WmiInstance.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Show-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Show-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Sort-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Split-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Start-Sleep.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Start-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Tee-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Start-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Trace-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Start-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Unblock-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Stop-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Unregister-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Stop-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Update-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Stop-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Update-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Suspend-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Test-Connection.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Test-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Undo-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Use-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Update-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Wait-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Wait-Debugger.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Debugger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Management/Write-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Wait-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.ODataUtils.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Debug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Error.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.ODataUtils/Microsoft.PowerShell.ODataUtils.md", + "redirect_url": "/powershell/module/microsoft.powershell.odatautils?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Information.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Output.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Progress.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Verbose.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Warning.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-CmsMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-CmsMessage?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/providers?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-Credential.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Connect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Get-PfxCertificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Disconnect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Protect-CmsMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Protect-CmsMessage?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Get-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/providers?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Get-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/certificate-provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Invoke-WSManAction.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/get-childitem-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/move-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/New-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/new-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/New-WSManSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/providers/remove-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Remove-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Set-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Set-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Test-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Security/Unprotect-CmsMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Unprotect-CmsMessage?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-clientcertificate.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-clientcertificate?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Add-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-initializationparameters.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-initializationparameters?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Add-Type.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-listener.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-listener?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Clear-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-plugin.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-plugin?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Compare-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-resources.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-resources?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-security.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-security?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/wsman-provider.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/wsman-provider?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/convertfrom-sddlstring.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/convertfrom-sddlstring?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Find-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Find-Package?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-String?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Get-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Get-Package?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Get-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Get-PackageProvider?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Convert-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Convert-String?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Get-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Get-PackageSource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Install-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Install-Package?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Html.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/PackageManagement.md", - "redirect_url": "/powershell/module/packagemanagement?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Register-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Register-PackageSource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Save-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Save-Package?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Debug-Runspace.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Debug-Runspace?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Set-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Set-PackageSource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Uninstall-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Uninstall-Package?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Disable-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-RunspaceDebug?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Unregister-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Unregister-PackageSource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Find-Command.md", - "redirect_url": "/powershell/module/PowershellGet/Find-Command?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Enable-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-RunspaceDebug?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Find-DscResource.md", - "redirect_url": "/powershell/module/PowershellGet/Find-DscResource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Find-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Find-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Get-InstalledModule.md", - "redirect_url": "/powershell/module/PowershellGet/Get-InstalledModule?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Get-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Get-PSRepository?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Install-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Install-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Export-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/PowershellGet.md", - "redirect_url": "/powershell/module/powershellget?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Custom.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Publish-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Publish-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Hex.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Hex?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Register-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Register-PSRepository?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Save-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Save-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Table.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Set-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Set-PSRepository?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Format-Wide.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Uninstall-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Uninstall-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Unregister-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Unregister-PSRepository?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Culture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Update-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Update-Module?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Disable-DscDebug.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Disable-DscDebug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Enable-DscDebug.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Find-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Find-DscResource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-FileHash.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscConfigurationStatus.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Invoke-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Invoke-DscResource?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-PSCallStack.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/New-DSCCheckSum.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Random.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Runspace.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Runspace?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Publish-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-RunspaceDebug?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Remove-DscConfigurationDocument.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Restore-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-UICulture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Start-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Unique.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Stop-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Get-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Test-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Group-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Update-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/about/about_Classes_and_DSC.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc?view=powershell-PSDesiredStateConfiguration", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline/Get-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineKeyHandler?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline/Get-PSReadlineOption.md", - "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-LocalizedData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline/PSReadline.md", - "redirect_url": "/powershell/module/psreadline?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/import-powershelldatafile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/import-powershelldatafile?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline/Remove-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Remove-PSReadlineKeyHandler?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Import-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline/Set-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineKeyHandler?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Invoke-Expression.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSReadline/Set-PSReadlineOption.md", - "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Add-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Disable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Measure-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Disable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Measure-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Enable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Enable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Get-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Get-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Guid.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Guid?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Get-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/New-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-TemporaryFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TemporaryFile?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/New-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-TimeSpan.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/PSScheduledJob.md", - "redirect_url": "/powershell/module/psscheduledjob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/New-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Register-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Remove-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-GridView.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Set-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-Printer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Set-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Out-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Set-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Read-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Unregister-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Register-EngineEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about_Scheduled_Jobs.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about/about_Scheduled_Jobs_Advanced.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about/about_Scheduled_Jobs_Basics.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about/about_Scheduled_Jobs_Troubleshooting.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/New-PSWorkflowExecutionOption.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Remove-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/New-PSWorkflowSession.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Select-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/PSWorkflow.md", - "redirect_url": "/powershell/module/psworkflow?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Select-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_ActivityCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Select-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Checkpoint-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Send-MailMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Foreach-Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_InlineScript.md", - "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Sequence.md", - "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Suspend-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Set-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_WorkflowCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Show-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Workflows.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Sort-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflowUtility/Invoke-AsWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Start-Sleep.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.0/PSWorkflowUtility/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/psworkflowutility?view=powershell-5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Tee-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/ISE.md", - "redirect_url": "/powershell/module/ISE?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Trace-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Unblock-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Unregister-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Update-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Update-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Update-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Wait-Debugger.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Debugger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.ODataUtils.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Wait-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Operation.Validation?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Debug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Error.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Information.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement.md", - "redirect_url": "/powershell/module/PackageManagement?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Output.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet.md", - "redirect_url": "/powershell/module/PowershellGet?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Progress.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Verbose.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline.md", - "redirect_url": "/powershell/module/PSReadline?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.PowerShell.Utility/Write-Warning.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflow?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Connect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/ISE/Get-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/ISE/Import-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Disconnect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/ISE/ISE.md", - "redirect_url": "/powershell/module/ise/?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/ISE/New-IseSnippet.md", - "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Get-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive/Compress-Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Compress-Archive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Get-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive/Expand-Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Expand-Archive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Invoke-WSManAction.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.md", - "redirect_url": "/powershell/module/microsoft.powershell.archive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Add-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/New-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Add-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/New-WSManSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Clear-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/providers?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Connect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-clientcertificate.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Debug-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Debug-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-initializationparameters.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Disable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-listener.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-plugin.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Disconnect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-resources.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enable-PSRemoting.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/new-item-for-security.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/providers/wsman-provider.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enter-PSHostProcess.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSHostProcess?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Remove-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enter-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Set-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Exit-PSHostProcess.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSHostProcess?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Exit-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/Microsoft.WsMan.Management/Test-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Export-Console.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement.md", + "redirect_url": "/powershell/module/PackageManagement?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Export-ModuleMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Find-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Find-Package?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/ForEach-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Get-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Get-Package?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Get-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Get-PackageProvider?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Get-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Get-PackageSource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Install-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Install-Package?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/PackageManagement.md", + "redirect_url": "/powershell/module/packagemanagement?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Register-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Register-PackageSource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSHostProcessInfo.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSHostProcessInfo?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Save-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Save-Package?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Set-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Set-PackageSource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSessionCapability.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionCapability?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Uninstall-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Uninstall-Package?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PackageManagement/Unregister-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Unregister-PackageSource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet.md", + "redirect_url": "/powershell/module/PowershellGet?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Import-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Find-Command.md", + "redirect_url": "/powershell/module/PowershellGet/Find-Command?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Invoke-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Find-DscResource.md", + "redirect_url": "/powershell/module/PowershellGet/Find-DscResource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Invoke-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Find-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Find-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Get-InstalledModule.md", + "redirect_url": "/powershell/module/PowershellGet/Get-InstalledModule?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Get-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Get-PSRepository?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Install-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Install-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/PowershellGet.md", + "redirect_url": "/powershell/module/powershellget?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Publish-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Publish-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Register-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Register-PSRepository?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Save-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Save-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSTransportOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Set-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Set-PSRepository?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Out-Default.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Uninstall-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Uninstall-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Out-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Unregister-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Unregister-PSRepository?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Out-Null.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PowershellGet/Update-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Update-Module?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Receive-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Receive-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/about/about_Classes_and_DSC.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Register-ArgumentCompleter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-ArgumentCompleter?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Disable-DscDebug.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Disable-DscDebug?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Enable-DscDebug.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Find-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Find-DscResource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscConfigurationStatus.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-PSSnapin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Resume-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Get-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Save-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Invoke-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Invoke-DscResource?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Set-PSDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/New-DSCCheckSum.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Set-StrictMode.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Publish-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Start-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Remove-DscConfigurationDocument.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument?view=powershell-5.0", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Restore-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Stop-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Suspend-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Start-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Test-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Stop-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Test-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSDesiredStateConfiguration/Update-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Update-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline.md", + "redirect_url": "/powershell/module/PSReadline?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Wait-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline/Get-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineKeyHandler?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Where-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline/Get-PSReadlineOption.md", + "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Aliases.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline/PSReadline.md", + "redirect_url": "/powershell/module/psreadline?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Arithmetic_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline/Remove-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Remove-PSReadlineKeyHandler?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Arrays.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline/Set-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineKeyHandler?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSReadline/Set-PSReadlineOption.md", + "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Break.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about/about_Scheduled_Jobs_Advanced.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Classes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about/about_Scheduled_Jobs_Basics.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about/about_Scheduled_Jobs_Troubleshooting.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/about_Scheduled_Jobs.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Add-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_CommonParameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Disable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Disable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Continue.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Enable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Core_Commands.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Enable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Data_Sections.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Get-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Debuggers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Get-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_desiredstateconfiguration.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_desiredstateconfiguration?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Get-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Do.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/New-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_dsclogresource.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_dsclogresource?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/New-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Enum.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/PSScheduledJob.md", + "redirect_url": "/powershell/module/psscheduledjob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Register-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Remove-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Eventlogs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Set-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Set-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_For.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Set-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Foreach.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSScheduledJob/Unregister-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflow?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_ActivityCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Checkpoint-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Foreach-Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_InlineScript.md", + "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Sequence.md", + "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Suspend-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_WorkflowCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_hidden.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hidden?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/About/about_Workflows.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_History.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/New-PSWorkflowExecutionOption.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_If.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/New-PSWorkflowSession.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflow/PSWorkflow.md", + "redirect_url": "/powershell/module/psworkflow?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Job_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Join.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflowUtility/Invoke-AsWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/PSWorkflowUtility/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/psworkflowutility?view=powershell-5.0", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Language_Modes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.0/readme.md", + "redirect_url": "/powershell/scripting/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Line_Editing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/ISE.md", + "redirect_url": "/powershell/module/ISE?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_locations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_locations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/ISE/Get-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Get-IseSnippet?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_logical_operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_logical_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/ISE/Import-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/Import-IseSnippet?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/ISE/ISE.md", + "redirect_url": "/powershell/module/ise/?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Modules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/ISE/New-IseSnippet.md", + "redirect_url": "/powershell/module/ISE/New-IseSnippet?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Objects.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Object_Creation.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive/Compress-Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Compress-Archive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive/Expand-Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Expand-Archive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.md", + "redirect_url": "/powershell/module/microsoft.powershell.archive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PackageManagement.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Aliases.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Arithmetic_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Parsing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Arrays.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Assignment_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_pipelines.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Automatic_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Break.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Classes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Command_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Profiles.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Command_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Prompts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Comment_Based_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Properties.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_CommonParameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Providers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Comparison_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_psconsolehostreadline.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psconsolehostreadline?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Continue.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_psreadline.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psreadline?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Core_Commands.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PSSessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Data_Sections.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Debuggers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PSSnapins.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_desiredstateconfiguration.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_desiredstateconfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Do.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Redirection.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_dsclogresource.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_dsclogresource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Ref.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Enum.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Environment_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Escape_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Eventlogs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Execution_Policies.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_For.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Output.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Foreach.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Format.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_Advanced.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Requires.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_Advanced_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Return.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_CmdletBindingAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Functions_OutputTypeAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Scopes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Group_Policy_Settings.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Scripts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Hash_Tables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_hidden.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hidden?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_History.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_If.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Job_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Signing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_simplified_syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_simplified_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Join.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Special_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Language_Keywords.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Splatting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Language_Modes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Split.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Line_Editing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Switch.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_locations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_locations?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Throw.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_logical_operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_logical_operators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Transactions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Trap.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Modules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Object_Creation.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Objects.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_type_accelerators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_accelerators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Operator_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Type_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PackageManagement.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_While.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Parameters_Default_Values.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Wildcards.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Parsing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_windows_powershell_5.1.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_5.1?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Path_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_pipelines.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Windows_RT.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PowerShell_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_WMI.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PowerShell_Ise_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Preference_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_WQL.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Profiles.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/functions/Clear-Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Prompts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/functions/Get-Verb.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Properties.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Providers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Alias-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/alias-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_psconsolehostreadline.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psconsolehostreadline?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Environment-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/environment-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_psreadline.md", + "redirect_url": "/powershell/module/psreadline/about/about_psreadline?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Function-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/function-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PSSession_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Registry-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/registry-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PSSessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Variable-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/variable-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_PSSnapins.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/add-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Quoting_Rules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/clear-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Redirection.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Ref.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Regular_Expressions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/remove-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Disconnected_Sessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/set-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_FAQ.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/test-path-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Export-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Output.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Get-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Requirements.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Troubleshooting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Import-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Remote_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Requires.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Reserved_Words.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Return.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host/Start-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Run_With_PowerShell.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host/Stop-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Scopes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Script_Blocks.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Script_Internationalization.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Scripts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Session_Configuration_Files.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Session_Configurations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Get-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Signing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Microsoft.PowerShell.LocalAccounts.md", - "redirect_url": "/powershell/module/microsoft.powershell.localaccounts?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_simplified_syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_simplified_syntax?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/New-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalGroup?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Special_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/New-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Splatting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Split.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Switch.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Throw.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Transactions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Trap.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Try_Catch_Finally.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Set-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalUser?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_type_accelerators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_accelerators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Add-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Type_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Add-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Types.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Checkpoint-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Updatable_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_While.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Wildcards.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_windows_powershell_5.1.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_5.1?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-RecycleBin.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-RecycleBin?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Windows_PowerShell_ISE.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Complete-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_Windows_RT.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Convert-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_WMI.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Copy-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_WMI_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Copy-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/about/about_WQL.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Debug-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Add-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Add-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-PSSnapin?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Alias-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_alias_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ChildItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Clear-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Clipboard.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Clipboard?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Connect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ComputerInfo.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerInfo?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Debug-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Debug-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Disable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSRemoting?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Disconnect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enable-PSRemoting.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSRemoting?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-HotFix.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enter-PSHostProcess.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSHostProcess?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Enter-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ItemPropertyValue.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemPropertyValue?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Environment-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Exit-PSHostProcess.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSHostProcess?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Exit-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Export-Console.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-Console?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-PSProvider.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Export-ModuleMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-TimeZone.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-TimeZone?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Invoke-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Join-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Limit-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Move-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/ForEach-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Move-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Function-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_function_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/functions/Clear-Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/functions/Get-Verb.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-WebServiceProxy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Pop-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Push-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSHostProcessInfo.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSHostProcessInfo?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Register-WmiEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSessionCapability.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionCapability?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Get-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSnapin?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Import-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Invoke-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-WmiObject.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Invoke-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Rename-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Rename-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Rename-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Resolve-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Restart-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Restart-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Restore-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/New-PSTransportOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Resume-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Out-Default.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Clipboard.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Clipboard?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Out-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Out-Null.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Receive-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Receive-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Register-ArgumentCompleter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-ArgumentCompleter?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-TimeZone.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-TimeZone?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Registry-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-WmiInstance.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Show-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Split-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Remove-PSSnapin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSnapin?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Start-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Resume-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Resume-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Start-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Save-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Start-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Set-PSDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Stop-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Stop-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Set-StrictMode.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Stop-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Start-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Suspend-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Stop-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Suspend-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Suspend-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Test-Connection.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Test-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Test-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Undo-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Use-Transaction.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Update-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Wait-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Variable-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variable_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Write-EventLog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Wait-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Core/Where-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.ODataUtils/Microsoft.PowerShell.ODataUtils.md", - "redirect_url": "/powershell/module/microsoft.powershell.odatautils?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation/Get-OperationValidation.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Operation.Validation/Get-OperationValidation?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Export-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation/Invoke-OperationValidation.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Operation.Validation/Invoke-OperationValidation?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Get-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation/Microsoft.PowerShell.Operation.Validation.md", - "redirect_url": "/powershell/module/Microsoft.Powershell.Operation.Validation?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Import-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-5.1", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-CmsMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-CmsMessage?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host/Start-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-Credential.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Host/Stop-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-PfxCertificate.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/New-FileCatalog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/New-FileCatalog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Protect-CmsMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Protect-CmsMessage?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Set-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Get-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Microsoft.PowerShell.LocalAccounts.md", + "redirect_url": "/powershell/module/microsoft.powershell.localaccounts?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Test-FileCatalog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Test-FileCatalog?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/New-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalGroup?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Unprotect-CmsMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Unprotect-CmsMessage?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/New-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Certificate-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/certificate-provider?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/get-childitem-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/get-childitem-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/move-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/move-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/new-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/new-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/remove-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/remove-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Add-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Add-Type.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.LocalAccounts/Set-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalUser?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Clear-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Compare-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Add-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Convert-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Convert-String?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Add-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Checkpoint-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Checkpoint-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-SddlString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-SddlString?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-String?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Clear-RecycleBin.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-RecycleBin?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Html.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Complete-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Complete-Transaction?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Convert-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Copy-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Debug-Runspace.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Debug-Runspace?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Copy-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Debug-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Disable-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-RunspaceDebug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Disable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Disable-ComputerRestore?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Enable-ComputerRestore.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Enable-ComputerRestore?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Enable-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-RunspaceDebug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ChildItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Clipboard.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Clipboard?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ComputerInfo.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerInfo?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ComputerRestorePoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerRestorePoint?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ControlPanelItem?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Custom.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Hex.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Hex?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-HotFix.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Table.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Wide.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-ItemPropertyValue.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemPropertyValue?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Culture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-PSProvider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-FileHash.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-TimeZone.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-TimeZone?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Transaction?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Get-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-WmiObject?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Invoke-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Invoke-WmiMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-WmiMethod?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-PSCallStack.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Join-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Random.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Limit-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Limit-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Runspace.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Runspace?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-RunspaceDebug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Move-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Move-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-UICulture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Unique.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Group-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/New-WebServiceProxy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-WebServiceProxy?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Pop-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Push-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-LocalizedData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Register-WmiEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Register-WmiEvent?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-PowerShellDataFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PowerShellDataFile?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Invoke-Expression.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Measure-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Remove-WmiObject.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-WmiObject?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Measure-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Rename-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Rename-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Rename-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Reset-ComputerMachinePassword?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Guid.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Guid?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Resolve-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Restart-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-TemporaryFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TemporaryFile?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Restart-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-TimeSpan.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Restore-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restore-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Resume-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Clipboard.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Clipboard?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-GridView.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-Printer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Read-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Register-EngineEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-TimeZone.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-TimeZone?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Set-WmiInstance.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-WmiInstance?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Show-ControlPanelItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-ControlPanelItem?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Show-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Show-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Split-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Select-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Start-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Select-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Start-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Select-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Start-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Transaction?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Stop-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Stop-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Stop-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Suspend-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Test-ComputerSecureChannel.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-ComputerSecureChannel?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Test-Connection.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Show-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Test-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Sort-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Undo-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Undo-Transaction?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Start-Sleep.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Use-Transaction.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Use-Transaction?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Tee-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Wait-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Trace-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Management/Write-EventLog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Write-EventLog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Unblock-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.ODataUtils.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Unregister-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.ODataUtils/Export-ODataEndpointProxy?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Update-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.ODataUtils/Microsoft.PowerShell.ODataUtils.md", + "redirect_url": "/powershell/module/microsoft.powershell.odatautils?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Update-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Operation.Validation?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Update-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation/Get-OperationValidation.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Operation.Validation/Get-OperationValidation?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Wait-Debugger.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Debugger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation/Invoke-OperationValidation.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Operation.Validation/Invoke-OperationValidation?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Wait-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Operation.Validation/Microsoft.PowerShell.Operation.Validation.md", + "redirect_url": "/powershell/module/Microsoft.Powershell.Operation.Validation?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Debug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Error.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Certificate-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Information.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Output.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Progress.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Verbose.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/get-childitem-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Warning.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-CmsMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-CmsMessage?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Connect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-Credential.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Disconnect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Get-PfxCertificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-PfxCertificate?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Get-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/move-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Get-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/New-FileCatalog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/New-FileCatalog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Invoke-WSManAction.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/new-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Protect-CmsMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Protect-CmsMessage?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/remove-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-WSManSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Set-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Remove-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Set-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Test-FileCatalog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Test-FileCatalog?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Test-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Security/Unprotect-CmsMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Unprotect-CmsMessage?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-ClientCertificate.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-clientcertificate?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Add-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-InitializationParameters.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-initializationparameters?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Add-Type.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Listener.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-listener?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Clear-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Plugin.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-plugin?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Compare-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Resources.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-resources?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Security.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-security?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/WSMan-Provider.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/wsman-provider?view=powershell-Microsoft.WsMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-SddlString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-SddlString?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Find-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Find-Package?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-String?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Find-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Find-PackageProvider?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Get-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Get-Package?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Convert-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Convert-String?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Get-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Get-PackageProvider?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Get-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Get-PackageSource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Html.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Import-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Import-PackageProvider?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Install-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Install-Package?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Install-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Install-PackageProvider?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Debug-Runspace.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Debug-Runspace?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/PackageManagement.md", - "redirect_url": "/powershell/module/packagemanagement?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Register-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Register-PackageSource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Disable-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-RunspaceDebug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Save-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Save-Package?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Set-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Set-PackageSource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Enable-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-RunspaceDebug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Uninstall-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Uninstall-Package?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Unregister-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Unregister-PackageSource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-Command.md", - "redirect_url": "/powershell/module/PowershellGet/Find-Command?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-DscResource.md", - "redirect_url": "/powershell/module/PowershellGet/Find-DscResource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Find-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Export-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-RoleCapability.md", - "redirect_url": "/powershell/module/PowershellGet/Find-RoleCapability?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Custom.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-Script.md", - "redirect_url": "/powershell/module/PowershellGet/Find-Script?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Hex.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Hex?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Get-InstalledModule.md", - "redirect_url": "/powershell/module/PowershellGet/Get-InstalledModule?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Get-InstalledScript.md", - "redirect_url": "/powershell/module/PowershellGet/Get-InstalledScript?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Table.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Get-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Get-PSRepository?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Format-Wide.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Install-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Install-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Install-Script.md", - "redirect_url": "/powershell/module/PowershellGet/Install-Script?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Culture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/New-ScriptFileInfo.md", - "redirect_url": "/powershell/module/PowershellGet/New-ScriptFileInfo?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/PowerShellGet.md", - "redirect_url": "/powershell/module/powershellget?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Publish-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Publish-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Publish-Script.md", - "redirect_url": "/powershell/module/PowershellGet/Publish-Script?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-FileHash.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Register-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Register-PSRepository?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Save-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Save-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Save-Script.md", - "redirect_url": "/powershell/module/PowershellGet/Save-Script?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Set-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Set-PSRepository?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Test-ScriptFileInfo.md", - "redirect_url": "/powershell/module/PowershellGet/Test-ScriptFileInfo?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-PSCallStack.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Uninstall-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Uninstall-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Random.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Uninstall-Script.md", - "redirect_url": "/powershell/module/PowershellGet/Uninstall-Script?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Runspace.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Runspace?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Unregister-PSRepository.md", - "redirect_url": "/powershell/module/PowershellGet/Unregister-PSRepository?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-RunspaceDebug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-Module.md", - "redirect_url": "/powershell/module/PowershellGet/Update-Module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-ModuleManifest.md", - "redirect_url": "/powershell/module/PowershellGet/Update-ModuleManifest?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-Script.md", - "redirect_url": "/powershell/module/PowershellGet/Update-Script?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-UICulture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-ScriptFileInfo.md", - "redirect_url": "/powershell/module/PowershellGet/Update-ScriptFileInfo?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Unique.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Disable-DscDebug.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Disable-DscDebug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Get-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Enable-DscDebug.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Group-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscConfigurationStatus.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-5.1", + "redirect_document_id": "FALSE" }, - { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-5.1", - "redirect_document_id": "False" + { + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-LocalizedData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Invoke-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Invoke-DscResource?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-PowerShellDataFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PowerShellDataFile?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/New-DSCCheckSum.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Import-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Invoke-Expression.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Publish-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Remove-DscConfigurationDocument.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Restore-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Measure-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Measure-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Start-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Stop-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Test-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Update-DscConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Guid.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Guid?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/about/about_Classes_and_DSC.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc?view=powershell-PSDesiredStateConfiguration", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline/Get-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineKeyHandler?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-TemporaryFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TemporaryFile?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline/Get-PSReadlineOption.md", - "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-TimeSpan.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline/PSReadline.md", - "redirect_url": "/powershell/module/psreadline?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/New-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline/Remove-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Remove-PSReadlineKeyHandler?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline/Set-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineKeyHandler?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-GridView.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-GridView?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSReadline/Set-PSReadlineOption.md", - "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-Printer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-Printer?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Add-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Out-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Disable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Read-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Disable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Register-EngineEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Enable-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Enable-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Get-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Get-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Get-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Remove-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/New-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Select-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/New-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Select-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/PSScheduledJob.md", - "redirect_url": "/powershell/module/psscheduledjob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Select-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Register-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Remove-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Set-JobTrigger.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Set-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Set-ScheduledJobOption.md", - "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Unregister-ScheduledJob.md", - "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Set-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Show-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Show-Command?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs_Advanced.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Sort-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs_Basics.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Start-Sleep.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs_Troubleshooting.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-PSScheduledJob", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Tee-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/New-PSWorkflowExecutionOption.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Trace-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/New-PSWorkflowSession.md", - "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Unblock-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/PSWorkflow.md", - "redirect_url": "/powershell/module/psworkflow?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Unregister-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_ActivityCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Update-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Checkpoint-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Update-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-List?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Foreach-Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Update-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_InlineScript.md", - "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Wait-Debugger.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Debugger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Wait-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Sequence.md", - "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Debug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Suspend-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Error.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_WorkflowCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Workflows.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-PSWorkflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Information.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflowUtility/Invoke-AsWorkflow.md", - "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Output.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/5.1/PSWorkflowUtility/PSWorkflowUtility.md", - "redirect_url": "/powershell/module/psworkflowutility?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Progress.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets.md", - "redirect_url": "/powershell/module/CimCmdlets?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Verbose.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.PowerShell.Utility/Write-Warning.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Connect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Connect-WSMan?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Disable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disable-WSManCredSSP?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Disconnect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Disconnect-WSMan?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Enable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Enable-WSManCredSSP?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Get-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManCredSSP?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Get-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Get-WSManInstance?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement.md", - "redirect_url": "/powershell/module/PackageManagement?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Invoke-WSManAction.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Invoke-WSManAction?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester.md", - "redirect_url": "/powershell/module/Pester?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet.md", - "redirect_url": "/powershell/module/PowerShellGet?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-ClientCertificate.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-InitializationParameters.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadLine.md", - "redirect_url": "/powershell/module/PSReadLine?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Listener.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/index.md", - "redirect_url": "/powershell/module/index?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Plugin.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Aliases.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Resources.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Arithmetic_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-Item-for-Security.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Arrays.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManInstance?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Assignment_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/New-WSManSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/New-WSManSessionOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Automatic_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Remove-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Remove-WSManInstance?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Break.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Set-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManInstance?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Classes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Set-WSManQuickConfig.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Set-WSManQuickConfig?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Command_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/Test-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WsMan.Management/Test-WSMan?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Command_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/Microsoft.WsMan.Management/WSMan-Provider.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Comment_Based_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement.md", + "redirect_url": "/powershell/module/PackageManagement?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_CommonParameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Find-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Find-Package?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Comparison_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Find-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Find-PackageProvider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Continue.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Get-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Get-Package?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Core_Commands.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Get-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Get-PackageProvider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Data_Sections.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Get-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Get-PackageSource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Debuggers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Import-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Import-PackageProvider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Do.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Install-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Install-Package?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Enum.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Install-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Install-PackageProvider?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Environment_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/PackageManagement.md", + "redirect_url": "/powershell/module/packagemanagement?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Escape_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Register-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Register-PackageSource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Eventlogs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Save-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Save-Package?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Execution_Policies.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Set-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Set-PackageSource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_For.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Uninstall-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Uninstall-Package?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Foreach.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PackageManagement/Unregister-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Unregister-PackageSource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Format.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet.md", + "redirect_url": "/powershell/module/PowershellGet?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Functions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-Command.md", + "redirect_url": "/powershell/module/PowershellGet/Find-Command?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Functions_Advanced.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-DscResource.md", + "redirect_url": "/powershell/module/PowershellGet/Find-DscResource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Functions_Advanced_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Find-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Functions_Advanced_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-RoleCapability.md", + "redirect_url": "/powershell/module/PowershellGet/Find-RoleCapability?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Functions_CmdletBindingAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Find-Script.md", + "redirect_url": "/powershell/module/PowershellGet/Find-Script?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Functions_OutputTypeAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Get-InstalledModule.md", + "redirect_url": "/powershell/module/PowershellGet/Get-InstalledModule?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Group_Policy_Settings.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Get-InstalledScript.md", + "redirect_url": "/powershell/module/PowershellGet/Get-InstalledScript?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Hash_Tables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Get-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Get-PSRepository?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_History.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Install-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Install-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_If.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Install-Script.md", + "redirect_url": "/powershell/module/PowershellGet/Install-Script?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/New-ScriptFileInfo.md", + "redirect_url": "/powershell/module/PowershellGet/New-ScriptFileInfo?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Job_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/PowerShellGet.md", + "redirect_url": "/powershell/module/powershellget?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Join.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Publish-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Publish-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Language_Keywords.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Publish-Script.md", + "redirect_url": "/powershell/module/PowershellGet/Publish-Script?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Language_Modes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Register-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Register-PSRepository?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Line_Editing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Save-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Save-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Save-Script.md", + "redirect_url": "/powershell/module/PowershellGet/Save-Script?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Modules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Set-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Set-PSRepository?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Objects.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Test-ScriptFileInfo.md", + "redirect_url": "/powershell/module/PowershellGet/Test-ScriptFileInfo?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Object_Creation.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Uninstall-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Uninstall-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Uninstall-Script.md", + "redirect_url": "/powershell/module/PowershellGet/Uninstall-Script?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Operator_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Unregister-PSRepository.md", + "redirect_url": "/powershell/module/PowershellGet/Unregister-PSRepository?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_PackageManagement.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-Module.md", + "redirect_url": "/powershell/module/PowershellGet/Update-Module?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-ModuleManifest.md", + "redirect_url": "/powershell/module/PowershellGet/Update-ModuleManifest?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Parameters_Default_Values.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-Script.md", + "redirect_url": "/powershell/module/PowershellGet/Update-Script?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Parsing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PowershellGet/Update-ScriptFileInfo.md", + "redirect_url": "/powershell/module/PowershellGet/Update-ScriptFileInfo?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Path_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_pipelines.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/about/about_Classes_and_DSC.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_PowerShell_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Disable-DscDebug.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Disable-DscDebug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_PowerShell_Ise_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Enable-DscDebug.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Preference_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Profiles.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscConfigurationStatus.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Prompts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Properties.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Get-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Providers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Invoke-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Invoke-DscResource?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_PSSessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/New-DSCCheckSum.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_PSSession_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_PSSnapins.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Publish-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Quoting_Rules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Remove-DscConfigurationDocument.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Redirection.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Restore-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Ref.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Regular_Expressions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Start-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Stop-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_Disconnected_Sessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Test-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_FAQ.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSDesiredStateConfiguration/Update-DscConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline.md", + "redirect_url": "/powershell/module/PSReadline?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_Output.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline/Get-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineKeyHandler?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_Requirements.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline/Get-PSReadlineOption.md", + "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_Troubleshooting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline/PSReadline.md", + "redirect_url": "/powershell/module/psreadline?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Remote_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline/Remove-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Remove-PSReadlineKeyHandler?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Requires.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline/Set-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineKeyHandler?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Reserved_Words.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSReadline/Set-PSReadlineOption.md", + "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Return.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Run_With_PowerShell.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Scopes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs_Advanced.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Scripts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs_Basics.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Script_Blocks.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/about/about_Scheduled_Jobs_Troubleshooting.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Script_Internationalization.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Add-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Add-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Session_Configurations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Disable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Session_Configuration_Files.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Disable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Disable-ScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Signing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Enable-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Special_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Enable-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Enable-ScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Splatting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Get-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Split.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Get-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Switch.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Get-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Get-ScheduledJobOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Throw.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/New-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Transactions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/New-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/New-ScheduledJobOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Trap.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/PSScheduledJob.md", + "redirect_url": "/powershell/module/psscheduledjob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Try_Catch_Finally.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Register-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Register-ScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Types.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Remove-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Remove-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Type_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Set-JobTrigger.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-JobTrigger?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Updatable_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Set-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Set-ScheduledJobOption.md", + "redirect_url": "/powershell/module/PSScheduledJob/Set-ScheduledJobOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_While.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSScheduledJob/Unregister-ScheduledJob.md", + "redirect_url": "/powershell/module/PSScheduledJob/Unregister-ScheduledJob?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Wildcards.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflow?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Windows_PowerShell_ISE.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_ActivityCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_Windows_RT.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Checkpoint-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_WMI.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Foreach-Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_WMI_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_InlineScript.md", + "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_WQL.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_parallel?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/about/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ws-management_cmdlets?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Sequence.md", + "redirect_url": "/powershell/module/psworkflow/about/about_sequence?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/CimCmdlets.md", - "redirect_url": "/powershell/module/cimcmdlets?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Suspend-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Export-BinaryMiLog.md", - "redirect_url": "/powershell/module/CimCmdlets/Export-BinaryMiLog?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_WorkflowCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimAssociatedInstance.md", - "redirect_url": "/powershell/module/CimCmdlets/Get-CimAssociatedInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/About/about_Workflows.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflows?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimClass.md", - "redirect_url": "/powershell/module/CimCmdlets/Get-CimClass?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/New-PSWorkflowExecutionOption.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowExecutionOption?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimInstance.md", - "redirect_url": "/powershell/module/CimCmdlets/Get-CimInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/New-PSWorkflowSession.md", + "redirect_url": "/powershell/module/PSWorkflow/New-PSWorkflowSession?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimSession.md", - "redirect_url": "/powershell/module/CimCmdlets/Get-CimSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflow/PSWorkflow.md", + "redirect_url": "/powershell/module/psworkflow?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Import-BinaryMiLog.md", - "redirect_url": "/powershell/module/CimCmdlets/Import-BinaryMiLog?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/PSWorkflowUtility?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Invoke-CimMethod.md", - "redirect_url": "/powershell/module/CimCmdlets/Invoke-CimMethod?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflowUtility/Invoke-AsWorkflow.md", + "redirect_url": "/powershell/module/PSWorkflowUtility/Invoke-AsWorkflow?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/New-CimInstance.md", - "redirect_url": "/powershell/module/CimCmdlets/New-CimInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/5.1/PSWorkflowUtility/PSWorkflowUtility.md", + "redirect_url": "/powershell/module/psworkflowutility?view=powershell-5.1", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/New-CimSession.md", - "redirect_url": "/powershell/module/CimCmdlets/New-CimSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Aliases.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/New-CimSessionOption.md", - "redirect_url": "/powershell/module/CimCmdlets/New-CimSessionOption?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Arithmetic_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Register-CimIndicationEvent.md", - "redirect_url": "/powershell/module/CimCmdlets/Register-CimIndicationEvent?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Arrays.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Remove-CimInstance.md", - "redirect_url": "/powershell/module/CimCmdlets/Remove-CimInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Assignment_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Remove-CimSession.md", - "redirect_url": "/powershell/module/CimCmdlets/Remove-CimSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Automatic_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/CimCmdlets/Set-CimInstance.md", - "redirect_url": "/powershell/module/CimCmdlets/Set-CimInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Break.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive/Compress-Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Compress-Archive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Classes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive/Expand-Archive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Expand-Archive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Command_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.md", - "redirect_url": "/powershell/module/microsoft.powershell.archive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Command_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Add-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Comment_Based_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Clear-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_CommonParameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/functions/Clear-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-Host?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Comparison_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Connect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Continue.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Debug-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Debug-Job?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Core_Commands.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Data_Sections.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Disconnect-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Debuggers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Do.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Enter-PSHostProcess.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSHostProcess?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Enum.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Enter-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Environment_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Exit-PSHostProcess.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSHostProcess?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Escape_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Exit-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Eventlogs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Export-ModuleMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Execution_Policies.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/ForEach-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_For.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Foreach.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-HashValueFromString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-HashValueFromString?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Format.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Functions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Functions_Advanced.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Functions_Advanced_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Functions_Advanced_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-OSVersion.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-OSVersion?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Functions_CmdletBindingAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSHostProcessInfo.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSHostProcessInfo?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Functions_OutputTypeAttribute.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Group_Policy_Settings.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSSessionCapability.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionCapability?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Hash_Tables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_History.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Verb.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Verb?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_If.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/help?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Job_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Import-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/ImportSystemModules.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ImportSystemModules?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Join.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Invoke-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Language_Keywords.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Invoke-History.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Language_Modes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Line_Editing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/mkdir.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/mkdir?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Methods.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/more.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/more?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Modules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Object_Creation.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Objects.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Operator_Precedence.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_PackageManagement.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Parameters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSTransportOption.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Parameters_Default_Values.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/oss.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/oss?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Parsing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Out-Default.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Path_Syntax.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Out-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_pipelines.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Out-Null.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_PowerShell_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Pause.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Pause?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_PowerShell_Ise_exe.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/prompt.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/prompt?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Preference_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-6", + "redirect_document_id": "FALSE" }, - { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Receive-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-6", - "redirect_document_id": "False" + { + "source_path": "reference/virtual-directory-module/6/about/about_Profiles.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Receive-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Prompts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Register-ArgumentCompleter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-ArgumentCompleter?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Properties.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Providers.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Remove-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_PSSession_Details.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Remove-Module.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_PSSessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Remove-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_PSSnapins.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Save-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Quoting_Rules.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Set-PSDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Redirection.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Ref.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Set-StrictMode.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Regular_Expressions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Start-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Stop-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_Disconnected_Sessions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/TabExpansion2.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/TabExpansion2?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_FAQ.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Test-ModuleManifest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_Jobs.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_Output.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_Requirements.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Update-Help.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_Troubleshooting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Wait-Job.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Remote_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Where-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Requires.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Reserved_Words.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Alias-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/alias-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Return.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Environment-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/environment-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Run_With_PowerShell.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Function-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/function-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Scopes.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Registry-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/registry-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Script_Blocks.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Variable-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/variable-provider?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Script_Internationalization.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/add-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Scripts.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/clear-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Session_Configuration_Files.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Session_Configurations.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Signing.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Special_Characters.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/remove-item-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Splatting.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/set-content-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Split.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/test-path-for-filesystem?view=powershell-Microsoft.PowerShell.Core", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Switch.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Export-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Throw.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Get-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Transactions.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Trap.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Import-Counter.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Try_Catch_Finally.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", - "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Type_Operators.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Types.ps1xml.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Updatable_Help.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host/Start-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Variables.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host/Stop-Transcript.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_While.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Wildcards.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Windows_PowerShell_ISE.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_Windows_RT.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_WMI.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_WMI_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Get-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_WQL.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Microsoft.PowerShell.LocalAccounts.md", - "redirect_url": "/powershell/module/microsoft.powershell.localaccounts?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/about/about_WS-Management_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ws-management_cmdlets?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/New-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalGroup?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets.md", + "redirect_url": "/powershell/module/CimCmdlets?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/New-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/CimCmdlets.md", + "redirect_url": "/powershell/module/cimcmdlets?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Export-BinaryMiLog.md", + "redirect_url": "/powershell/module/CimCmdlets/Export-BinaryMiLog?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimAssociatedInstance.md", + "redirect_url": "/powershell/module/CimCmdlets/Get-CimAssociatedInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimClass.md", + "redirect_url": "/powershell/module/CimCmdlets/Get-CimClass?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimInstance.md", + "redirect_url": "/powershell/module/CimCmdlets/Get-CimInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Get-CimSession.md", + "redirect_url": "/powershell/module/CimCmdlets/Get-CimSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Import-BinaryMiLog.md", + "redirect_url": "/powershell/module/CimCmdlets/Import-BinaryMiLog?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Set-LocalUser.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalUser?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Invoke-CimMethod.md", + "redirect_url": "/powershell/module/CimCmdlets/Invoke-CimMethod?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Add-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/New-CimInstance.md", + "redirect_url": "/powershell/module/CimCmdlets/New-CimInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Clear-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/New-CimSession.md", + "redirect_url": "/powershell/module/CimCmdlets/New-CimSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Clear-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/New-CimSessionOption.md", + "redirect_url": "/powershell/module/CimCmdlets/New-CimSessionOption?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Clear-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Register-CimIndicationEvent.md", + "redirect_url": "/powershell/module/CimCmdlets/Register-CimIndicationEvent?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Convert-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Remove-CimInstance.md", + "redirect_url": "/powershell/module/CimCmdlets/Remove-CimInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Copy-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Remove-CimSession.md", + "redirect_url": "/powershell/module/CimCmdlets/Remove-CimSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Copy-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/CimCmdlets/Set-CimInstance.md", + "redirect_url": "/powershell/module/CimCmdlets/Set-CimInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Debug-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/index.md", + "redirect_url": "/powershell/module/index?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ChildItem.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ComputerInfo.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerInfo?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive/Compress-Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Compress-Archive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive/Expand-Archive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Archive/Expand-Archive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.md", + "redirect_url": "/powershell/module/microsoft.powershell.archive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ItemPropertyValue.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemPropertyValue?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Add-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Add-History?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Alias-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_alias_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Clear-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-History?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Connect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Connect-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-PSProvider.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Debug-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Debug-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disable-PSSessionConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-TimeZone.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-TimeZone?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Disconnect-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Disconnect-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Invoke-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enable-PSSessionConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Join-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Enter-PSHostProcess.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSHostProcess?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", - "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Enter-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Move-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Environment-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Move-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Exit-PSHostProcess.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSHostProcess?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Exit-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Export-ModuleMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Export-ModuleMember?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Pop-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Push-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Remove-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Remove-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Remove-PSDrive.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Rename-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Rename-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/FileSystem-Provider/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Rename-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/ForEach-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ForEach-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Resolve-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Function-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_function_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Restart-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/functions/Clear-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Clear-Host?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Restart-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Command?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Resume-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-HashValueFromString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-HashValueFromString?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Content.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Help?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Item.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-ItemProperty.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Location.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-OSVersion.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-OSVersion?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-TimeZone.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-TimeZone?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSHostProcessInfo.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSHostProcessInfo?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Split-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Start-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSSessionCapability.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionCapability?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Start-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-PSSessionConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Stop-Computer.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Get-Verb.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Get-Verb?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Stop-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/help?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Stop-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Import-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Suspend-Service.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/ImportSystemModules.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/ImportSystemModules?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Test-Connection.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Invoke-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-Command?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Test-Path.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Invoke-History.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Invoke-History?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Wait-Process.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Microsoft.PowerShell.Core.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/mkdir.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/mkdir?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/more.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/more?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-Credential.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSRoleCapabilityFile?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", - "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionConfigurationFile?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/New-FileCatalog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/New-FileCatalog?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSSessionOption?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Set-Acl.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/New-PSTransportOption.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/New-PSTransportOption?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/oss.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/oss?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Out-Default.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Default?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Test-FileCatalog.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Test-FileCatalog?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Out-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Host?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Certificate-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/certificate-provider?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Out-Null.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Out-Null?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/get-childitem-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/get-childitem-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Pause.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Pause?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/move-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/move-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/prompt.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/prompt?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/new-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/new-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Receive-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/remove-item-for-certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/remove-item-for-certificate?view=powershell-Microsoft.PowerShell.Security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Receive-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Receive-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Add-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Register-ArgumentCompleter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-ArgumentCompleter?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Add-Type.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Register-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Register-PSSessionConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Clear-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Registry-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Compare-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Remove-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Remove-Module.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Remove-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Remove-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-SddlString.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-SddlString?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Save-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Save-Help?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Set-PSDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSDebug?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Set-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-PSSessionConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Html.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Set-StrictMode.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Set-StrictMode?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Json.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Start-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Start-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Stop-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Stop-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Debug-Runspace.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Debug-Runspace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/TabExpansion2.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/TabExpansion2?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Test-ModuleManifest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Disable-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-RunspaceDebug?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Test-PSSessionConfigurationFile?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Unregister-PSSessionConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Enable-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-RunspaceDebug?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Update-Help.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Update-Help?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Variable-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variable_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Wait-Job.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Wait-Job?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Core/Where-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/Where-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Export-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Export-Counter?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Custom.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Get-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-Counter?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Hex.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Hex?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Get-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-List.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Import-Counter.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/Import-Counter?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Table.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/Microsoft.PowerShell.Diagnostics.md", + "redirect_url": "/powershell/module/microsoft.powershell.diagnostics/?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Wide.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Diagnostics/New-WinEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Diagnostics/New-WinEvent?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Culture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.host/?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host/Start-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Start-Transcript?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Host/Stop-Transcript.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Host/Stop-Transcript?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-FileHash.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Add-LocalGroupMember?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Disable-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Enable-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Member.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroup?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalGroupMember?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-PSCallStack.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Get-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Get-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Random.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Microsoft.PowerShell.LocalAccounts.md", + "redirect_url": "/powershell/module/microsoft.powershell.localaccounts?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Runspace.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Runspace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/New-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalGroup?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-RunspaceDebug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-RunspaceDebug?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/New-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/New-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroup?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalGroupMember?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-UICulture.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Remove-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Unique.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalGroup?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Rename-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Verb.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Verb?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalGroup?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Group-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.LocalAccounts/Set-LocalUser.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.LocalAccounts/Set-LocalUser?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-Clixml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Add-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Add-Content?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-Csv.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Clear-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Content?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-LocalizedData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Clear-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-PowerShellDataFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PowerShellDataFile?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Clear-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Clear-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-PSSession.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Convert-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Convert-Path?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Invoke-Expression.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Copy-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Copy-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Copy-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Debug-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Debug-Process?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Measure-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ChildItem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Measure-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ComputerInfo.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ComputerInfo?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", - "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Content?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Guid.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Guid?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-ItemPropertyValue.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-ItemPropertyValue?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Location?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-TemporaryFile.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TemporaryFile?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Process?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-TimeSpan.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSDrive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-PSProvider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-PSProvider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Out-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Out-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Get-TimeZone.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Get-TimeZone?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Read-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Invoke-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Invoke-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Register-EngineEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Join-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Join-Path?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.md", + "redirect_url": "/powershell/module/microsoft.powershell.management?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Move-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Move-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Move-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Select-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Select-String.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/New-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/New-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Select-Xml.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Pop-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Pop-Location?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-Alias.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Push-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Push-Location?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-Date.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Remove-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Remove-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-TraceSource.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Remove-PSDrive.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Remove-PSDrive?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-Variable.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Rename-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Computer?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Sort-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Rename-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Start-Sleep.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Rename-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Rename-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Tee-Object.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Resolve-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resolve-Path?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Trace-Command.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Restart-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Computer?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Unblock-File.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Restart-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Restart-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Unregister-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Resume-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Resume-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Update-FormatData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Content.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Content?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Update-TypeData.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Item.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Item?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Wait-Debugger.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Debugger?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-ItemProperty.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-ItemProperty?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Wait-Event.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Location.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Location?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Debug.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Error.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Set-TimeZone.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Set-TimeZone?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Host.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Split-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Split-Path?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Information.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Start-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Process?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Output.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Start-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Start-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Progress.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Stop-Computer.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Computer?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Verbose.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Stop-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Process?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Warning.md", - "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Stop-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Stop-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Connect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Connect-WSMan?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Suspend-Service.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Suspend-Service?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Disable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Disable-WSManCredSSP?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Test-Connection.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Connection?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Disconnect-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Disconnect-WSMan?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Test-Path.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Test-Path?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Enable-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Enable-WSManCredSSP?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Management/Wait-Process.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Management/Wait-Process?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Get-WSManCredSSP.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Get-WSManCredSSP?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Get-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Get-WSManInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Certificate-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Invoke-WSManAction.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Invoke-WSManAction?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertFrom-SecureString?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Microsoft.WsMan.Management.md", - "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/ConvertTo-SecureString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/ConvertTo-SecureString?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/New-WSManInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Acl?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-WSManSessionOption.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/New-WSManSessionOption?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-AuthenticodeSignature?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Remove-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Remove-WSManInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/get-childitem-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Set-WSManInstance.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Set-WSManInstance?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-Credential.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-Credential?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Set-WSManQuickConfig.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Set-WSManQuickConfig?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Get-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Get-ExecutionPolicy?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Test-WSMan.md", - "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Test-WSMan?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.md", + "redirect_url": "/powershell/module/microsoft.powershell.security?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-ClientCertificate.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-clientcertificate?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/move-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-InitializationParameters.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-initializationparameters?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/New-FileCatalog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/New-FileCatalog?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Listener.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-listener?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/new-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Plugin.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-plugin?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/remove-item-for-certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Resources.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-resources?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Set-Acl.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-Acl?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Security.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/new-item-for-security?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-AuthenticodeSignature?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/WSMan-Provider.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/providers/wsman-provider?view=powershell-Microsoft.WSMan.Management", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Set-ExecutionPolicy.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Set-ExecutionPolicy?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Find-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Find-Package?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Security/Test-FileCatalog.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/Test-FileCatalog?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Find-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Find-PackageProvider?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Get-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Get-Package?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Add-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Member?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Get-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Get-PackageProvider?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Add-Type.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Add-Type?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Get-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Get-PackageSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Clear-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Clear-Variable?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Import-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Import-PackageProvider?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Compare-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Compare-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Install-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Install-Package?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Install-PackageProvider.md", - "redirect_url": "/powershell/module/PackageManagement/Install-PackageProvider?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Json?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/PackageManagement.md", - "redirect_url": "/powershell/module/packagemanagement?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-SddlString.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-SddlString?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Register-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Register-PackageSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertFrom-StringData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-StringData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Save-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Save-Package?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Csv?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Set-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Set-PackageSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Html.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Html?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Uninstall-Package.md", - "redirect_url": "/powershell/module/PackageManagement/Uninstall-Package?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Json.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Json?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PackageManagement/Unregister-PackageSource.md", - "redirect_url": "/powershell/module/PackageManagement/Unregister-PackageSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/ConvertTo-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/ConvertTo-Xml?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Debug-Runspace.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Debug-Runspace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/PSDiagnostics.md", - "redirect_url": "/powershell/module/psdiagnostics?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Disable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-PSBreakpoint?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadLine/PSReadline.md", - "redirect_url": "/powershell/module/psreadline?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Disable-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Disable-RunspaceDebug?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Set-PackageSource.md", - "redirect_url": "/powershell/module/Pester/Set-PackageSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Enable-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-PSBreakpoint?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Uninstall-Package.md", - "redirect_url": "/powershell/module/Pester/Uninstall-Package?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Enable-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Enable-RunspaceDebug?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Unregister-PackageSource.md", - "redirect_url": "/powershell/module/Pester/Unregister-PackageSource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Alias?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/AfterAll.md", - "redirect_url": "/powershell/module/Pester/AfterAll?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Clixml?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/AfterEach.md", - "redirect_url": "/powershell/module/Pester/AfterEach?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-Csv?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Assert-MockCalled.md", - "redirect_url": "/powershell/module/Pester/Assert-MockCalled?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-FormatData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Assert-VerifiableMocks.md", - "redirect_url": "/powershell/module/Pester/Assert-VerifiableMocks?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Export-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Export-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/BeforeAll.md", - "redirect_url": "/powershell/module/Pester/BeforeAll?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Custom.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Custom?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/BeforeEach.md", - "redirect_url": "/powershell/module/Pester/BeforeEach?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Hex.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Hex?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Context.md", - "redirect_url": "/powershell/module/Pester/Context?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-List.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Describe.md", - "redirect_url": "/powershell/module/Pester/Describe?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Table.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Get-MockDynamicParameters.md", - "redirect_url": "/powershell/module/Pester/Get-MockDynamicParameters?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Format-Wide.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Get-TestDriveItem.md", - "redirect_url": "/powershell/module/Pester/Get-TestDriveItem?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Alias?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/In.md", - "redirect_url": "/powershell/module/Pester/In?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Culture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Culture?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/InModuleScope.md", - "redirect_url": "/powershell/module/Pester/InModuleScope?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Invoke-Mock.md", - "redirect_url": "/powershell/module/Pester/Invoke-Mock?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Event?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Invoke-Pester.md", - "redirect_url": "/powershell/module/Pester/Invoke-Pester?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-EventSubscriber.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-EventSubscriber?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/It.md", - "redirect_url": "/powershell/module/Pester/It?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-FileHash.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FileHash?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Mock.md", - "redirect_url": "/powershell/module/Pester/Mock?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-FormatData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/New-Fixture.md", - "redirect_url": "/powershell/module/Pester/New-Fixture?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Host?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Pester.md", - "redirect_url": "/powershell/module/pester?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Member.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Member?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Set-DynamicParameterVariables.md", - "redirect_url": "/powershell/module/Pester/Set-DynamicParameterVariables?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSBreakpoint?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Setup.md", - "redirect_url": "/powershell/module/Pester/Setup?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-PSCallStack.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-PSCallStack?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/Pester/Should.md", - "redirect_url": "/powershell/module/Pester/Should?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Random.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Random?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-Command.md", - "redirect_url": "/powershell/module/PowerShellGet/Find-Command?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Runspace.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Runspace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-DscResource.md", - "redirect_url": "/powershell/module/PowerShellGet/Find-DscResource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-RunspaceDebug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-RunspaceDebug?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-Module.md", - "redirect_url": "/powershell/module/PowerShellGet/Find-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TraceSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-RoleCapability.md", - "redirect_url": "/powershell/module/PowerShellGet/Find-RoleCapability?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-TypeData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-Script.md", - "redirect_url": "/powershell/module/PowerShellGet/Find-Script?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-UICulture.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-UICulture?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Get-InstalledModule.md", - "redirect_url": "/powershell/module/PowerShellGet/Get-InstalledModule?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Unique.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Unique?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Get-InstalledScript.md", - "redirect_url": "/powershell/module/PowerShellGet/Get-InstalledScript?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Variable?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Get-PSRepository.md", - "redirect_url": "/powershell/module/PowerShellGet/Get-PSRepository?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Get-Verb.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Get-Verb?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Install-Module.md", - "redirect_url": "/powershell/module/PowerShellGet/Install-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Group-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Group-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Install-Script.md", - "redirect_url": "/powershell/module/PowerShellGet/Install-Script?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Alias?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/New-ScriptFileInfo.md", - "redirect_url": "/powershell/module/PowerShellGet/New-ScriptFileInfo?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-Clixml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Clixml?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/PowerShellGet.md", - "redirect_url": "/powershell/module/powershellget?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-Csv.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-Csv?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Publish-Module.md", - "redirect_url": "/powershell/module/PowerShellGet/Publish-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-LocalizedData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-LocalizedData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Publish-Script.md", - "redirect_url": "/powershell/module/PowerShellGet/Publish-Script?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-PowerShellDataFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PowerShellDataFile?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Register-PSRepository.md", - "redirect_url": "/powershell/module/PowerShellGet/Register-PSRepository?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Import-PSSession.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Import-PSSession?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Save-Module.md", - "redirect_url": "/powershell/module/PowerShellGet/Save-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Invoke-Expression.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Save-Script.md", - "redirect_url": "/powershell/module/PowerShellGet/Save-Script?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Invoke-RestMethod.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Set-PSRepository.md", - "redirect_url": "/powershell/module/PowerShellGet/Set-PSRepository?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Invoke-WebRequest.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Test-ScriptFileInfo.md", - "redirect_url": "/powershell/module/PowerShellGet/Test-ScriptFileInfo?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Measure-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Command?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Uninstall-Module.md", - "redirect_url": "/powershell/module/PowerShellGet/Uninstall-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Measure-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Measure-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Uninstall-Script.md", - "redirect_url": "/powershell/module/PowerShellGet/Uninstall-Script?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.md", + "redirect_url": "/powershell/module/microsoft.powershell.utility?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Unregister-PSRepository.md", - "redirect_url": "/powershell/module/PowerShellGet/Unregister-PSRepository?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Alias?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-Module.md", - "redirect_url": "/powershell/module/PowerShellGet/Update-Module?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Event?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-ModuleManifest.md", - "redirect_url": "/powershell/module/PowerShellGet/Update-ModuleManifest?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Guid.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Guid?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-Script.md", - "redirect_url": "/powershell/module/PowerShellGet/Update-Script?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-ScriptFileInfo.md", - "redirect_url": "/powershell/module/PowerShellGet/Update-ScriptFileInfo?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-TemporaryFile.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TemporaryFile?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/Configuration.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Configuration?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-TimeSpan.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-TimeSpan?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/Get-DscResource.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/New-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/New-Variable?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/New-DSCCheckSum.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Out-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-File?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/node.exe.md", - "redirect_url": "/powershell/module/PSDesiredStateConfiguration/node.exe?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Out-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Out-String?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/about/about_Classes_and_DSC.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc?view=powershell-PSDesiredStateConfiguration", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Read-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Read-Host?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Disable-PSTrace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Disable-PSTrace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Register-EngineEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-EngineEvent?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Disable-PSWSManCombinedTrace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Disable-PSWSManCombinedTrace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Register-ObjectEvent.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Register-ObjectEvent?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Disable-WSManTrace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Disable-WSManTrace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Event?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Enable-PSTrace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Enable-PSTrace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-PSBreakpoint?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Enable-PSWSManCombinedTrace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Enable-PSWSManCombinedTrace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-TypeData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Enable-WSManTrace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Enable-WSManTrace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Remove-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Remove-Variable?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Get-LogProperties.md", - "redirect_url": "/powershell/module/PSDiagnostics/Get-LogProperties?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Select-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Set-LogProperties.md", - "redirect_url": "/powershell/module/PSDiagnostics/Set-LogProperties?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Select-String.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-String?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Start-Trace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Start-Trace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Select-Xml.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Select-Xml?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Stop-Trace.md", - "redirect_url": "/powershell/module/PSDiagnostics/Stop-Trace?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-Alias.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Alias?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadline/Get-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineKeyHandler?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-Date.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Date?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadline/Get-PSReadlineOption.md", - "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineOption?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-PSBreakpoint.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-PSBreakpoint?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadline/PSConsoleHostReadline.md", - "redirect_url": "/powershell/module/PSReadline/PSConsoleHostReadline?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-TraceSource.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-TraceSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadline/Remove-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Remove-PSReadlineKeyHandler?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Set-Variable.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Set-Variable?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadline/Set-PSReadlineKeyHandler.md", - "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineKeyHandler?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Sort-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Sort-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/6/PSReadline/Set-PSReadlineOption.md", - "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineOption?view=powershell-6", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Start-Sleep.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Start-Sleep?view=powershell-6", + "redirect_document_id": "FALSE" + }, + { + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Tee-Object.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Tee-Object?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Aliases.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_aliases", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Trace-Command.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Trace-Command?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Arithmetic_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Unblock-File.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unblock-File?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Arrays.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_arrays", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Unregister-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Unregister-Event?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Assignment_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_assignment_operators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Update-FormatData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Automatic_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_automatic_variables", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Update-TypeData.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Update-TypeData?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Break.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_break", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Wait-Debugger.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Debugger?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Command_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_precedence", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Wait-Event.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Wait-Event?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Command_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_command_syntax", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Debug.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Debug?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Comment_Based_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comment_based_help", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Error.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Error?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_CommonParameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_commonparameters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Host.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Host?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Comparison_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_comparison_operators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Information.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Continue.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_continue", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Output.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Output?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Core_Commands.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_core_commands", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Progress.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Progress?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Data_Sections.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_data_sections", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Verbose.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Verbose?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Debuggers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_debuggers", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.PowerShell.Utility/Write-Warning.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Utility/Write-Warning?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Do.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_do", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Environment_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_variables", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Connect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Connect-WSMan?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Escape_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_escape_characters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Disable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Disable-WSManCredSSP?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Eventlogs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_eventlogs", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Disconnect-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Disconnect-WSMan?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Execution_Policies.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_execution_policies", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Enable-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Enable-WSManCredSSP?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_For.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_for", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Get-WSManCredSSP.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Get-WSManCredSSP?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Foreach.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_foreach", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Get-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Get-WSManInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Format.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_format.ps1xml", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Invoke-WSManAction.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Invoke-WSManAction?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Functions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Microsoft.WsMan.Management.md", + "redirect_url": "/powershell/module/microsoft.wsman.management?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Functions_Advanced.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-ClientCertificate.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Functions_Advanced_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_methods", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-InitializationParameters.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Functions_Advanced_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Listener.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Functions_CmdletBindingAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Plugin.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Functions_OutputTypeAttribute.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_functions_outputtypeattribute", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Resources.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Group_Policy_Settings.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_group_policy_settings", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-Item-for-Security.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Hash_Tables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hash_tables", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/New-WSManInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_History.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_history", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/New-WSManSessionOption.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/New-WSManSessionOption?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_If.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_if", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Remove-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Remove-WSManInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_jobs", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Set-WSManInstance.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Set-WSManInstance?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Job_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_job_details", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Set-WSManQuickConfig.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Set-WSManQuickConfig?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Join.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_join", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/Test-WSMan.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/Test-WSMan?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Language_Keywords.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_keywords", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Microsoft.WSMan.Management/WSMan-Provider.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Language_Modes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_language_modes", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement.md", + "redirect_url": "/powershell/module/PackageManagement?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Line_Editing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_line_editing", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Find-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Find-Package?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_logical_operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_logical_operators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Find-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Find-PackageProvider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Methods.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_methods", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Get-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Get-Package?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Modules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_modules", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Get-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Get-PackageProvider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Objects.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_objects", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Get-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Get-PackageSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Object_Creation.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_object_creation", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Import-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Import-PackageProvider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Install-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Install-Package?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Operator_Precedence.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_operator_precedence", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Install-PackageProvider.md", + "redirect_url": "/powershell/module/PackageManagement/Install-PackageProvider?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_packagemanagement.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_packagemanagement", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/PackageManagement.md", + "redirect_url": "/powershell/module/packagemanagement?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Parameters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Register-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Register-PackageSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Parameters_Default_Values.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parameters_default_values", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Save-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Save-Package?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Parsing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_parsing", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Set-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Set-PackageSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Path_Syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_path_syntax", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Uninstall-Package.md", + "redirect_url": "/powershell/module/PackageManagement/Uninstall-Package?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_pipelines.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pipelines", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PackageManagement/Unregister-PackageSource.md", + "redirect_url": "/powershell/module/PackageManagement/Unregister-PackageSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_PowerShell_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_exe", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester.md", + "redirect_url": "/powershell/module/Pester?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_PowerShell_Ise_exe.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_powershell_ise_exe", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/AfterAll.md", + "redirect_url": "/powershell/module/Pester/AfterAll?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Preference_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_preference_variables", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/AfterEach.md", + "redirect_url": "/powershell/module/Pester/AfterEach?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_profiles.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_profiles", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Assert-MockCalled.md", + "redirect_url": "/powershell/module/Pester/Assert-MockCalled?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Prompts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_prompts", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Assert-VerifiableMocks.md", + "redirect_url": "/powershell/module/Pester/Assert-VerifiableMocks?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Properties.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_properties", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/BeforeAll.md", + "redirect_url": "/powershell/module/Pester/BeforeAll?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Providers.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_providers", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/BeforeEach.md", + "redirect_url": "/powershell/module/Pester/BeforeEach?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_PSSessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssessions", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Context.md", + "redirect_url": "/powershell/module/Pester/Context?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_PSSession_Details.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssession_details", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Describe.md", + "redirect_url": "/powershell/module/Pester/Describe?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_PSSnapins.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_pssnapins", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Get-MockDynamicParameters.md", + "redirect_url": "/powershell/module/Pester/Get-MockDynamicParameters?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Quoting_Rules.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_quoting_rules", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Get-TestDriveItem.md", + "redirect_url": "/powershell/module/Pester/Get-TestDriveItem?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Redirection.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_redirection", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/In.md", + "redirect_url": "/powershell/module/Pester/In?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Ref.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ref", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/InModuleScope.md", + "redirect_url": "/powershell/module/Pester/InModuleScope?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Regular_Expressions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_regular_expressions", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Invoke-Mock.md", + "redirect_url": "/powershell/module/Pester/Invoke-Mock?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Invoke-Pester.md", + "redirect_url": "/powershell/module/Pester/Invoke-Pester?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_Disconnected_Sessions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_disconnected_sessions", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/It.md", + "redirect_url": "/powershell/module/Pester/It?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_FAQ.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_faq", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Mock.md", + "redirect_url": "/powershell/module/Pester/Mock?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_Jobs.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_jobs", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/New-Fixture.md", + "redirect_url": "/powershell/module/Pester/New-Fixture?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_Output.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_output", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Pester.md", + "redirect_url": "/powershell/module/pester?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_Requirements.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_requirements", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Set-DynamicParameterVariables.md", + "redirect_url": "/powershell/module/Pester/Set-DynamicParameterVariables?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_Troubleshooting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Set-PackageSource.md", + "redirect_url": "/powershell/module/Pester/Set-PackageSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Remote_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_remote_variables", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Setup.md", + "redirect_url": "/powershell/module/Pester/Setup?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Requires.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_requires", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Should.md", + "redirect_url": "/powershell/module/Pester/Should?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Reserved_Words.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_reserved_words", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Uninstall-Package.md", + "redirect_url": "/powershell/module/Pester/Uninstall-Package?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Return.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_return", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/Pester/Unregister-PackageSource.md", + "redirect_url": "/powershell/module/Pester/Unregister-PackageSource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Run_With_PowerShell.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_run_with_powershell", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet.md", + "redirect_url": "/powershell/module/PowerShellGet?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_scopes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scopes", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-Command.md", + "redirect_url": "/powershell/module/PowerShellGet/Find-Command?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Scripts.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_scripts", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-DscResource.md", + "redirect_url": "/powershell/module/PowerShellGet/Find-DscResource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Script_Blocks.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_blocks", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-Module.md", + "redirect_url": "/powershell/module/PowerShellGet/Find-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Script_Internationalization.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_script_internationalization", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-RoleCapability.md", + "redirect_url": "/powershell/module/PowerShellGet/Find-RoleCapability?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Session_Configurations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configurations", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Find-Script.md", + "redirect_url": "/powershell/module/PowerShellGet/Find-Script?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Session_Configuration_Files.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_session_configuration_files", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Get-InstalledModule.md", + "redirect_url": "/powershell/module/PowerShellGet/Get-InstalledModule?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Signing.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_signing", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Get-InstalledScript.md", + "redirect_url": "/powershell/module/PowerShellGet/Get-InstalledScript?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Special_Characters.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_special_characters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Get-PSRepository.md", + "redirect_url": "/powershell/module/PowerShellGet/Get-PSRepository?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Splatting.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_splatting", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Install-Module.md", + "redirect_url": "/powershell/module/PowerShellGet/Install-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Split.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_split", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Install-Script.md", + "redirect_url": "/powershell/module/PowerShellGet/Install-Script?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Switch.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_switch", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/New-ScriptFileInfo.md", + "redirect_url": "/powershell/module/PowerShellGet/New-ScriptFileInfo?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Throw.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_throw", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/PowerShellGet.md", + "redirect_url": "/powershell/module/powershellget?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Transactions.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_transactions", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Publish-Module.md", + "redirect_url": "/powershell/module/PowerShellGet/Publish-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Trap.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_trap", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Publish-Script.md", + "redirect_url": "/powershell/module/PowerShellGet/Publish-Script?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Try_Catch_Finally.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_try_catch_finally", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Register-PSRepository.md", + "redirect_url": "/powershell/module/PowerShellGet/Register-PSRepository?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Types.ps1xml.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_types.ps1xml", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Save-Module.md", + "redirect_url": "/powershell/module/PowerShellGet/Save-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Type_Operators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_operators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Save-Script.md", + "redirect_url": "/powershell/module/PowerShellGet/Save-Script?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Updatable_Help.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_updatable_help", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Set-PSRepository.md", + "redirect_url": "/powershell/module/PowerShellGet/Set-PSRepository?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Variables.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variables", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Test-ScriptFileInfo.md", + "redirect_url": "/powershell/module/PowerShellGet/Test-ScriptFileInfo?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_While.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_while", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Uninstall-Module.md", + "redirect_url": "/powershell/module/PowerShellGet/Uninstall-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Wildcards.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wildcards", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Uninstall-Script.md", + "redirect_url": "/powershell/module/PowerShellGet/Uninstall-Script?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Windows_PowerShell_ISE.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_ise", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Unregister-PSRepository.md", + "redirect_url": "/powershell/module/PowerShellGet/Unregister-PSRepository?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Windows_RT.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_rt", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-Module.md", + "redirect_url": "/powershell/module/PowerShellGet/Update-Module?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_WMI.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-ModuleManifest.md", + "redirect_url": "/powershell/module/PowerShellGet/Update-ModuleManifest?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_WMI_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wmi_cmdlets", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-Script.md", + "redirect_url": "/powershell/module/PowerShellGet/Update-Script?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_WQL.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_wql", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PowerShellGet/Update-ScriptFileInfo.md", + "redirect_url": "/powershell/module/PowerShellGet/Update-ScriptFileInfo?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Clear-Host.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-Verb.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/about/about_Classes_and_DSC.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Alias-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/alias-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/Configuration.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Configuration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Environment-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/environment-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/Get-DscResource.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/Get-DscResource?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/FileSystem-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/New-DSCCheckSum.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Function-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/function-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/node.exe.md", + "redirect_url": "/powershell/module/PSDesiredStateConfiguration/node.exe?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Registry-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/registry-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDesiredStateConfiguration/PSDesiredStateConfiguration.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Variable-Provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/variable-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Disable-PSTrace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Disable-PSTrace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Add-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/add-content-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Disable-PSWSManCombinedTrace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Disable-PSWSManCombinedTrace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Clear-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/clear-content-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Disable-WSManTrace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Disable-WSManTrace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-ChildItem-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Enable-PSTrace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Enable-PSTrace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-content-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Enable-PSWSManCombinedTrace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Enable-PSWSManCombinedTrace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-item-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Enable-WSManTrace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Enable-WSManTrace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Remove-Item-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/remove-item-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Get-LogProperties.md", + "redirect_url": "/powershell/module/PSDiagnostics/Get-LogProperties?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Set-Content-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/set-content-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/PSDiagnostics.md", + "redirect_url": "/powershell/module/psdiagnostics?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Test-Path-for-FileSystem.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/providers/filesystem-provider/test-path-for-filesystem", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Set-LogProperties.md", + "redirect_url": "/powershell/module/PSDiagnostics/Set-LogProperties?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/certificate-provider.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/certificate-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Start-Trace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Start-Trace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Get-ChildItem-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/get-childitem-for-certificate", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSDiagnostics/Stop-Trace.md", + "redirect_url": "/powershell/module/PSDiagnostics/Stop-Trace?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Move-Item-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/move-item-for-certificate", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadLine.md", + "redirect_url": "/powershell/module/PSReadLine?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/New-Item-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/new-item-for-certificate", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadline/Get-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineKeyHandler?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Remove-Item-for-Certificate.md", - "redirect_url": "/powershell/module/microsoft.powershell.security/providers/remove-item-for-certificate", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadline/Get-PSReadlineOption.md", + "redirect_url": "/powershell/module/PSReadline/Get-PSReadlineOption?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadline/PSConsoleHostReadline.md", + "redirect_url": "/powershell/module/PSReadline/PSConsoleHostReadline?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-clientcertificate.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-clientcertificate", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadLine/PSReadline.md", + "redirect_url": "/powershell/module/psreadline?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-initializationparameters.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-initializationparameters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadline/Remove-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Remove-PSReadlineKeyHandler?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-listener.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-listener", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadline/Set-PSReadlineKeyHandler.md", + "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineKeyHandler?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-plugin.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-plugin", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/PSReadline/Set-PSReadlineOption.md", + "redirect_url": "/powershell/module/PSReadline/Set-PSReadlineOption?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-resources.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-resources", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/6/readme.md", + "redirect_url": "/powershell/scripting/?view=powershell-6", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-security.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/new-item-for-security", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/About.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/wsman-provider.md", - "redirect_url": "/powershell/module/microsoft.wsman.management/provider/wsman-provider", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/add-content-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Alias-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_alias_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs_Advanced.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/clear-content-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs_Basics.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Clear-Host.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/clear-host", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs_Troubleshooting.md", - "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Environment-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_environment_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_ActivityCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/FileSystem-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_Checkpoint-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Function-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_function_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_Foreach-Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/get-childitem-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_InlineScript.md", - "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/get-content-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_Parallel.md", - "redirect_url": "/powershell/module/psworkflow/about/about_parallel", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/get-item-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_Sequence.md", - "redirect_url": "/powershell/module/psworkflow/about/about_sequence", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Get-Verb.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/functions/get-verb", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_Suspend-Workflow.md", - "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/Alias-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_Alias_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_WorkflowCommonParameters.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/Environment-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_Environment_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSWorkflow/about_Workflows.md", - "redirect_url": "/powershell/module/psworkflow/about/about_workflows", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_classes.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_classes", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Add-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_desiredstateconfiguration.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_desiredstateconfiguration", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Clear-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_dsclogresource.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_dsclogresource", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Get-ChildItem-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_Enum.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_enum", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Get-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_hidden.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_hidden", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Get-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_locations.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_locations", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_psconsolehostreadline.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psconsolehostreadline", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_psreadline.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_psreadline", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/FileSystem-Provider/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_FileSystem_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_simplified_syntax.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_simplified_syntax", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/Function-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_Function_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_type_accelerators.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_type_accelerators", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/Registry-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_Registry_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/About_Using.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_using", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Providers/Variable-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Core/About/about_Variable_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_windows_powershell_5.0.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_5.0", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Registry-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_registry_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/PSDesiredStateConfiguration/about_Classes_and_DSC.md", - "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Remove-Item-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/remove-item-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_windows_powershell_5.1.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_windows_powershell_5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Set-Content-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/set-content-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/About.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Test-Path-for-FileSystem.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_filesystem_provider/test-path-for-filesystem", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/about_WS-Management_Cmdlets.md", - "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_ws-management_cmdlets", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Core/Variable-Provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.core/about/about_variable_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/console-guide.md", - "redirect_url": "/powershell/scripting/core-powershell/console-guide?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/certificate-provider.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-modules.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Get-ChildItem-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/core-powershell.md", - "redirect_url": "/powershell/scripting/core-powershell/core-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Move-Item-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/ise-guide.md", - "redirect_url": "/powershell/scripting/core-powershell/ise-guide?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/New-Item-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Running-Remote-Commands.md", - "redirect_url": "/powershell/scripting/core-powershell/running-remote-commands?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Providers/Certificate-Provider.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/About/about_Certificate_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/web-access.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Providers/get-childitem-for-certificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/About/about_Certificate_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/workflows-guide.md", - "redirect_url": "/powershell/scripting/core-powershell/workflows-guide?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Providers/move-item-for-certificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/About/about_Certificate_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PowerShell.exe-Command-Line-Help.md", - "redirect_url": "/powershell/scripting/core-powershell/console/powershell.exe-command-line-help?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Providers/new-item-for-certificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/About/about_Certificate_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-Tab-Expansion.md", - "redirect_url": "/powershell/scripting/core-powershell/console/using-tab-expansion?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Providers/remove-item-for-certificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/About/about_Certificate_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.Archive-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.archive-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.PowerShell.Security/Remove-Item-for-Certificate.md", + "redirect_url": "/powershell/module/microsoft.powershell.security/about/about_certificate_provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.Core-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.core-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/about_WS-Management_Cmdlets.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_ws-management_cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.Diagnostics-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.diagnostics-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-clientcertificate.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.Host-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.host-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-initializationparameters.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.Management-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.management-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-listener.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.ODataUtils-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.odatautils-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-plugin.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.PowerShell.Utility-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.powershell.utility-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-resources.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Microsoft.WSMan.Management-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/microsoft.wsman.management-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/new-item-for-security.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PackageManagement-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/packagemanagement-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/New-Item-for-ClientCertificate.md", + "redirect_url": "/powershell/module/Microsoft.PowerShell.Security/About/about_Certificate_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PSLocalAccount5-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/pslocalaccount5-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/New-Item-for-InitializationParameters.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/About/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PSReadline-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/psreadline-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/New-Item-for-Listener.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/About/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PSScheduledJob-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/psscheduledjob-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/New-Item-for-Plugin.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/About/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PSScriptAnalyzer-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/psscriptanalyzer-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/New-Item-for-Resources.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/About/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-5.0.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/windows-powershell-5.0?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/New-Item-for-Security.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/About/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-Core-About-Topics.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/windows-powershell-core-about-topics?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WSMan.Management/Providers/WSMan-Provider.md", + "redirect_url": "/powershell/module/Microsoft.WSMan.Management/About/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-Core-Providers.md", - "redirect_url": "/powershell/scripting/core-powershell/core-modules/windows-powershell-core-providers?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/Microsoft.WsMan.Management/wsman-provider.md", + "redirect_url": "/powershell/module/microsoft.wsman.management/about/about_WSMan_Provider", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/How-to-Create-a-PowerShell-Tab-in-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/how-to-create-a-powershell-tab-in-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSDesiredStateConfiguration/about_Classes_and_DSC.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/How-to-Debug-Scripts-in-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/how-to-debug-scripts-in-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/How-to-Use-Profiles-in-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/how-to-use-profiles-in-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs_Advanced.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_advanced", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/How-to-Use-Tab-Completion-in-the-Script-Pane-and-Console-Pane.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/how-to-use-tab-completion-in-the-script-pane-and-console-pane?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs_Basics.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_basics", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/How-to-Use-the-Console-Pane-in-the-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/how-to-use-the-console-pane-in-the-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSScheduledJob/about_Scheduled_Jobs_Troubleshooting.md", + "redirect_url": "/powershell/module/psscheduledjob/about/about_scheduled_jobs_troubleshooting", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/How-to-Write-and-Run-Scripts-in-the-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/how-to-write-and-run-scripts-in-the-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_ActivityCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_activitycommonparameters", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Introducing-the-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/introducing-the-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_Checkpoint-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_checkpoint-workflow", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/ISE-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/ise-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_Foreach-Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_foreach-parallel", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Keyboard-Shortcuts-for-the-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/keyboard-shortcuts-for-the-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_InlineScript.md", + "redirect_url": "/powershell/module/psworkflow/about/about_inlinescript", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Purpose-of-the-Windows-PowerShell-ISE-Scripting-Object-Model.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/purpose-of-the-windows-powershell-ise-scripting-object-model?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_Parallel.md", + "redirect_url": "/powershell/module/psworkflow/about/about_parallel", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISE-Object-Model-Hierarchy.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-ise-object-model-hierarchy?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_Sequence.md", + "redirect_url": "/powershell/module/psworkflow/about/about_sequence", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISEAddOnTool-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-iseaddontool-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_Suspend-Workflow.md", + "redirect_url": "/powershell/module/psworkflow/about/about_suspend-workflow", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISEAddOnToolCollection-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-iseaddontoolcollection-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_WorkflowCommonParameters.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflowcommonparameters", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISEEditor-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-iseeditor-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/PSWorkflow/about_Workflows.md", + "redirect_url": "/powershell/module/psworkflow/about/about_workflows", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISEFile-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-isefile-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "reference/virtual-directory-module/readme.md", + "redirect_url": "/powershell/scripting", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISEFileCollection-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-isefilecollection-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/audit_cms.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets#cryptographic-message-syntax-cms-cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/The-ISEMenuItem-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-isemenuitem-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/audit_overview.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets#cryptographic-message-syntax-cms-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISEMenuItemCollection-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-isemenuitemcollection-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/audit_script.md", + "redirect_url": "/powershell/wmf/whats-new/script-logging", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/The-ISEOptions-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-iseoptions-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/audit_transcript.md", + "redirect_url": "/powershell/wmf/whats-new/script-logging", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ISESnippetCollection-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-isesnippetcollection-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/class_base.md", + "redirect_url": "/powershell/wmf/whats-new/class-overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/The-ISESnippetObject.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-isesnippetobject?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/class_baseconstructor.md", + "redirect_url": "/powershell/wmf/whats-new/class-overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-ObjectModelRoot-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-objectmodelroot-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/class_basemethod.md", + "redirect_url": "/powershell/wmf/whats-new/class-overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-PowerShellTab-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-powershelltab-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/class_interface.md", + "redirect_url": "/powershell/wmf/whats-new/class-overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-PowerShellTabCollection-Object.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-powershelltabcollection-object?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/class_newtype.md", + "redirect_url": "/powershell/wmf/whats-new/class-overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/The-Windows-PowerShell-ISE-Scripting-Object-Model.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/the-windows-powershell-ise-scripting-object-model?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/class_overview.md", + "redirect_url": "/powershell/wmf/whats-new/class-overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-the-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/using-the-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/debug_overview.md", + "redirect_url": "/powershell/wmf/whats-new/debug-overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-ISE-Object-Model-Reference.md", - "redirect_url": "/powershell/scripting/core-powershell/ise/windows-powershell-ise-object-model-reference?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_authoring.md", + "redirect_url": "/powershell/dsc/resources/resourceauthoringchecklist", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/authorization-rules-and-security-features-of-windows-powershell-web-access.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access/authorization-rules-and-security-features-of-windows-powershell-web-access?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_classbasedresource.md", + "redirect_url": "/powershell/dsc/resources/authoringresourceclass", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/install-and-use-windows-powershell-web-access.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access/install-and-use-windows-powershell-web-access?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_confighelp.md", + "redirect_url": "/powershell/dsc/configurations/configurations", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/troubleshooting-access-problems-in-windows-powershell-web-access.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access/troubleshooting-access-problems-in-windows-powershell-web-access?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_directaccess.md", + "redirect_url": "/powershell/dsc/managing-nodes/directcallresource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/uninstall-windows-powershell-web-access.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access/uninstall-windows-powershell-web-access?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_encryptedmof.md", + "redirect_url": "/powershell/dsc/pull-server/securemof", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/use-the-web-based-windows-powershell-console.md", - "redirect_url": "/powershell/scripting/core-powershell/web-access/use-the-web-based-windows-powershell-console?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_freqnomultiple.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PSWorkflow-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/workflows/psworkflow-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_getconfigurationstatus.md", + "redirect_url": "/powershell/dsc/troubleshooting/troubleshooting", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/PSWorkflowUtility-Module.md", - "redirect_url": "/powershell/scripting/core-powershell/workflows/psworkflowutility-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_identicalduplicate.md", + "redirect_url": "/powershell/wmf/whats-new/dsc-improvements", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/basic-cookbooks.md", - "redirect_url": "/powershell/scripting/getting-started/basic-cookbooks?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_importdscresource.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/fundamental-concepts.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental-concepts?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_improvements.md", + "redirect_url": "/powershell/wmf/whats-new/dsc-improvements", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Getting-Ready-to-Use-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/getting-started/getting-ready-to-use-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_lcmstate.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Get-DscLocalConfigurationManager", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Getting-Started-with-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/getting-started/getting-started-with-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_metaconfiguration.md", + "redirect_url": "/powershell/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/more-powershell-learning.md", - "redirect_url": "/powershell/scripting/getting-started/more-powershell-learning?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_newresources.md", + "redirect_url": "/powershell/wmf/whats-new/release-notes", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/understanding-concepts-reference.md", - "redirect_url": "/powershell/scripting/getting-started/understanding-concepts-reference?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_nodeid.md", + "redirect_url": "/powershell/dsc/pull-server/pullClientConfigNames", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Appendix-1---Compatibility-Aliases.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/appendix-1---compatibility-aliases?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_partialconfig.md", + "redirect_url": "/powershell/dsc/pull-server/partialconfigs", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Appendix-2---Creating-a-Custom-PowerShell-Shortcut.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/appendix-2---creating-a-custom-powershell-shortcut?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_partialconfig_mixedmode.md", + "redirect_url": "/powershell/dsc/pull-server/partialconfigs", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/basic-cookbooks-reference.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/basic-cookbooks-reference?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_publishconfig.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Publish-DscConfiguration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Changing-Computer-State.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/changing-computer-state?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_refreshmode.md", + "redirect_url": "/powershell/dsc/managing-nodes/metaConfig", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Collecting-Information-About-Computers.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/collecting-information-about-computers?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_removeconfigdoc.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Remove-DscConfigurationDocument", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Creating-.NET-and-COM-Objects--New-Object-.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/creating-.net-and-com-objects--new-object-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_reporting.md", + "redirect_url": "/powershell/dsc/pull-server/reportServer", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Creating-a-Custom-Input-Box.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/creating-a-custom-input-box?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_repository.md", + "redirect_url": "https://msdn.microsoft.com/powershell/dsc/pullclientconfigid", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Creating-a-Graphical-Date-Picker.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/creating-a-graphical-date-picker?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_resourcedebugging.md", + "redirect_url": "https://msdn.microsoft.com/powershell/dsc/debugresource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Getting-WMI-Objects--Get-WmiObject-.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/getting-wmi-objects--get-wmiobject-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_runas.md", + "redirect_url": "https://msdn.microsoft.com/powershell/dsc/runasuser", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Managing-Current-Location.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/managing-current-location?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_setdsclcm.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Set-DscLocalConfigurationManager", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Managing-Processes-with-Process-Cmdlets.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/managing-processes-with-process-cmdlets?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_statestatus.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Get-DscConfigurationStatus", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Managing-Services.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/managing-services?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_sxsresource.md", + "redirect_url": "/powershell/dsc/configurations/sxsResource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Managing-Windows-PowerShell-Drives.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/managing-windows-powershell-drives?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_testconfiguration.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Test-DscConfiguration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Manipulating-Items-Directly.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/manipulating-items-directly?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_updateconfig.md", + "redirect_url": "/powershell/module/psdesiredstateconfiguration/Update-DscConfiguration", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Multiple-selection-List-Boxes.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/multiple-selection-list-boxes?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_waitfor.md", + "redirect_url": "/powershell/dsc/reference/resources/windows/waitforallresource", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Other-Useful-Scripting-Objects.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/other-useful-scripting-objects?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/dsc_wow64.md", + "redirect_url": "/powershell/wmf/whats-new/dsc-improvements", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Performing-Networking-Tasks.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/performing-networking-tasks?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/PowerShellGet-Module.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/powershellget-module?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_archive.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Redirecting-Data-with-Out---Cmdlets.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/redirecting-data-with-out---cmdlets?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_clipboard.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Removing-Objects-from-the-Pipeline--Where-Object-.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/removing-objects-from-the-pipeline--where-object-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_cmdlets.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Repeating-a-Task-for-Multiple-Objects--ForEach-Object-.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/repeating-a-task-for-multiple-objects--foreach-object-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_convertfromString.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Selecting-Items-from-a-List-Box.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/selecting-items-from-a-list-box?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_convertstring.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Selecting-Parts-of-Objects--Select-Object-.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/selecting-parts-of-objects--select-object-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_fileinfo.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Sorting-Objects.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/sorting-objects?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_formathex.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-Format-Commands-to-Change-Output-View.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/using-format-commands-to-change-output-view?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_getchilditem.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-Static-Classes-and-Methods.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/using-static-classes-and-methods", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_moduleversionranges.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Viewing-Object-Structure--Get-Member-.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/viewing-object-structure--get-member-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_newguid.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Working-with-Files-and-Folders.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-files-and-folders?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_nonewline.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Working-With-Files-Folders-and-Registry-Keys.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-files-folders-and-registry-keys?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_symbolic.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Working-with-Objects.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-objects?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/feedback_tempfile.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Working-with-Printers.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-printers?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/informationstream_overview.md", + "redirect_url": "/powershell/wmf/whats-new/informationstream_overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Working-with-Registry-Entries.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-registry-entries?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/install.md", + "redirect_url": "/powershell/wmf/5.0/requirements", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Working-with-Registry-Keys.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-registry-keys?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/jea_endpoint.md", + "redirect_url": "/powershell/jea/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Working-with-Software-Installations.md", - "redirect_url": "/powershell/scripting/getting-started/cookbooks/working-with-software-installations?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/jea_overview.md", + "redirect_url": "/powershell/jea/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/About-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/about-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/jea_report.md", + "redirect_url": "/powershell/jea/overview", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Exploring-the-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/exploring-the-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/limitation_dsc.md", + "redirect_url": "/powershell/wmf/known-issues/known-issues-dsc", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Getting-Detailed-Help-Information.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/getting-detailed-help-information?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/limitation_overview.md", + "redirect_url": "/powershell/wmf/known-issues/known-issues-50", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Getting-Information-About-Commands.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/getting-information-about-commands?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/networkswitch_overview.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Learning-Windows-PowerShell-Names.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/learning-windows-powershell-names?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/odata_overview.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Object-Pipeline.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/object-pipeline?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/oneget_cmdlets.md", + "redirect_url": "/powershell/wmf/whats-new/package-management-improvements", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Scripting-with-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/scripting-with-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/oneget_overview.md", + "redirect_url": "/powershell/wmf/whats-new/package-management-improvements", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Understanding-Important-Windows-PowerShell-Concepts.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/understanding-important-windows-powershell-concepts?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/productincompat.md", + "redirect_url": "/powershell/wmf/whats-new/package-management-improvements", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Understanding-the-Windows-PowerShell-Pipeline.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/understanding-the-windows-powershell-pipeline?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_module_overview.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Using-Familiar-Command-Names.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/using-familiar-command-names?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_modulecmdlets.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-Variables-to-Store-Objects.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/using-variables-to-store-objects?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_moduledependency.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-Windows-PowerShell-for-Administration.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/sample-scripts-for-administration", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_modulesxsinstall.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Using-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/using-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_psrepository.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-Basics.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/windows-powershell-basics?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_script_overview.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-Integrated-Scripting-Environment--ISE-.md", - "redirect_url": "/powershell/scripting/getting-started/fundamental/windows-powershell-integrated-scripting-environment--ise-?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/psget_scriptcmdlets.md", + "redirect_url": "/powershell/module/powershellget/", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Accessibility-in-Windows-PowerShell-ISE.md", - "redirect_url": "/powershell/scripting/setup/accessibility-in-windows-powershell-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/releasenotes.md", + "redirect_url": "/powershell/wmf/whats-new/release-notes", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Installing-the-Windows-PowerShell-2.0-Engine.md", - "redirect_url": "/powershell/scripting/setup/installing-the-windows-powershell-2.0-engine?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/requirements.md", + "redirect_url": "/powershell/wmf/setup/install-configure", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Installing-the-Windows-PowerShell-SDK.md", - "redirect_url": "/powershell/scripting/setup/installing-the-windows-powershell-sdk?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/sil_overview.md", + "redirect_url": "/powershell/wmf/whats-new/sil-overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Installing-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.0/uninstall.md", + "redirect_url": "/powershell/wmf/setup/uninstall", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/PS-remoting-second-hop.md", - "redirect_url": "/powershell/scripting/setup/ps-remoting-second-hop?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/bugfixes.md", + "redirect_url": "/powershell/wmf/whats-new/bugfixes", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/security.md", - "redirect_url": "/powershell/scripting/setup/security?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/catalog-cmdlets.md", + "redirect_url": "/powershell/wmf/whats-new/new-updated-cmdlets", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/setup-reference.md", - "redirect_url": "/powershell/scripting/setup/setup-reference?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/community-resources.md", + "redirect_url": "/powershell/#pivot=main&panel=community", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Starting-the-32-Bit-Version-of-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/setup/starting-the-32-bit-version-of-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/compatibility.md", + "redirect_url": "/powershell/wmf/whats-new/compatibility", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Starting-the-Windows-PowerShell-2.0-Engine.md", - "redirect_url": "/powershell/scripting/setup/starting-the-windows-powershell-2.0-engine?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/DSC-improvements.md", + "redirect_url": "/powershell/wmf/whats-new/dsc-improvements", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/Starting-Windows-PowerShell-on-Earlier-Versions-of-Windows.md", - "redirect_url": "/powershell/scripting/setup/starting-windows-powershell-on-earlier-versions-of-windows?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/Index.md", + "redirect_url": "/powershell/wmf/overview", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Starting-Windows-PowerShell.md", - "redirect_url": "/powershell/scripting/setup/starting-windows-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/known-issues.md", + "redirect_url": "/powershell/wmf/known-issues/known-issues-51", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/Windows-PowerShell-System-Requirements.md", - "redirect_url": "/powershell/scripting/setup/windows-powershell-system-requirements?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/known-issues-cache/NetworkingSwitchCmdletInput.md", + "redirect_url": "/powershell/module/networkswitchmanager/", + "redirect_document_id": "TRUE" }, { - "source_path": "reference/virtual-directory/WinRMSecurity.md", - "redirect_url": "/powershell/scripting/setup/winrmsecurity?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/known-issues-cache/template.md", + "redirect_url": "/powershell/wmf/known-issues/known-issues-51", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/What-s-New-in-the-PowerShell-50-ISE.md", - "redirect_url": "/powershell/scripting/whats-new/what-s-new-in-the-powershell-50-ise?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/package-management-improvements.md", + "redirect_url": "/powershell/wmf/whats-new/package-management-improvements", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/What-s-New-in-Windows-PowerShell-50.md", - "redirect_url": "/powershell/scripting/whats-new/what-s-new-in-windows-powershell-50?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/productincompat.md", + "redirect_url": "/powershell/wmf/whats-new/compatibility", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/What-s-New-With-PowerShell.md", - "redirect_url": "/powershell/scripting/whats-new/what-s-new-with-powershell?view=powershell-5.1", - "redirect_document_id": "False" + "source_path": "wmf/5.1/release-notes.md", + "redirect_url": "/powershell/wmf/whats-new/release-notes", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/PowerShell-Core-on-ARM.md", - "redirect_url": "/powershell/scripting/setup/powershell-core-on-arm", - "redirect_document_id": "False" + "source_path": "wmf/5.1/scenarios-features.md", + "redirect_url": "/powershell/wmf/whats-new/release-notes", + "redirect_document_id": "FALSE" }, { - "source_path": "reference/virtual-directory/setup/Installing-PowerShell-Core-on-macOS-and-Linux.md", - "redirect_url": "/powershell/scripting/setup/installing-powershell-core-on-linux", - "redirect_document_id": "False" + "source_path": "wmf/index.md", + "redirect_url": "/powershell/wmf/overview", + "redirect_document_id": "FALSE" } ] } \ No newline at end of file diff --git a/.vscode/cSpell.json b/.vscode/cSpell.json new file mode 100644 index 000000000000..35c9126092bf --- /dev/null +++ b/.vscode/cSpell.json @@ -0,0 +1,5 @@ +{ + "dictionaries": [ + "powershell" + ] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000000..6ef183427c65 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "docsmsft.docs-authoring-pack" + ] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8af9b37173b5..acd1b50ce6f7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,4 +9,4 @@ The following topics explain how to contribute to the PowerShell documentation. 3. [Style Guide](./contributing/3-STYLE-GUIDE.md) 4. [Markdown Specifics](./contributing/4-MARKDOWN-SPECIFICS.md) 5. [Formatting Code blocks](./contributing/5-FORMATTING-CODE.md) -6. [Updating Reference](./contributing/6-UPDATING-REFERENCE.md) \ No newline at end of file +6. [Updating Reference](./contributing/6-UPDATING-REFERENCE.md) diff --git a/README.md b/README.md index b2b45f609c64..bc831a543d0f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,14 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. -[![Build status](https://ci.appveyor.com/api/projects/status/onshefxnc4g4pv87/branch/staging?svg=true)](https://ci.appveyor.com/project/PowerShell/powershell-docs/branch/staging) +[live-badge]: https://powershell.visualstudio.com/PowerShell-Docs/_apis/build/status/PowerShell-Docs-CI?branchName=live +[staging-badge]: https://powershell.visualstudio.com/PowerShell-Docs/_apis/build/status/PowerShell-Docs-CI?branchName=staging + +## Build Status + +| Live Branch | Staging Branch | +|:------------|:---------------| +| [![live-badge][]][live-badge] | [![staging-badge][]][staging-badge] ## PowerShell Documentation diff --git a/appveyor.ps1 b/appveyor.ps1 deleted file mode 100644 index cf54f3e82d37..000000000000 --- a/appveyor.ps1 +++ /dev/null @@ -1,119 +0,0 @@ -param( - [switch]$SkipCabs, - [switch]$ShowProgress -) - -# Turning off the progress display, by default -$global:ProgressPreference = 'SilentlyContinue' -if($ShowProgress){$ProgressPreference = 'Continue'} - -function Get-ContentWithoutHeader { - param( - $path - ) - - $doc = Get-Content $path -Encoding UTF8 - $start = $end = -1 - - # search the the first 30 lines for the Yaml header - # no yaml header in our docset will ever be that long - - for ($x = 0; $x -lt 30; $x++) { - if ($doc[$x] -eq '---') { - if ($start -eq -1) { - $start = $x - } else { - if ($end -eq -1) { - $end = $x+1 - break - } - } - } - } - if ($end -gt $start) { - Write-Output ($doc[$end..$($doc.count)] -join "`r`n") - } else { - Write-Output ($doc -join "`r`n") - } - } - -# Pandoc source URL -$panDocVersion = "2.0.6" -$pandocSourceURL = "https://github.com/jgm/pandoc/releases/download/$panDocVersion/pandoc-$panDocVersion-windows.zip" - -$pandocDestinationPath = New-Item (Join-Path ([System.IO.Path]::GetTempPath()) "PanDoc") -ItemType Directory -Force -$pandocZipPath = Join-Path $pandocDestinationPath "pandoc-$panDocVersion-windows.zip" -Invoke-WebRequest -Uri $pandocSourceURL -OutFile $pandocZipPath - -Expand-Archive -Path (Join-Path $pandocDestinationPath "pandoc-$panDocVersion-windows.zip") -DestinationPath $pandocDestinationPath -Force -$pandocExePath = Join-Path (Join-Path $pandocDestinationPath "pandoc-$panDocVersion") "pandoc.exe" - -# Find the reference folder path w.r.t the script -$ReferenceDocset = Join-Path $PSScriptRoot 'reference' - -# Variable to collect any errors in during processing -$allErrors = @() - -# Go through all the directories in the reference folder -Get-ChildItem $ReferenceDocset -Directory -Exclude 'docs-conceptual','mapping', 'bread-pscore' | ForEach-Object -Process { - $Version = $_.Name - $VersionFolder = $_.FullName - # For each of the directories, go through each module folder - Get-ChildItem $VersionFolder -Directory | ForEach-Object -Process { - $ModuleName = $_ - $ModulePath = Join-Path $VersionFolder $_ - - $LandingPage = Join-Path $ModulePath "$ModuleName.md" - $MamlOutputFolder = Join-Path "$PSScriptRoot\maml" "$Version\$ModuleName" - $CabOutputFolder = Join-Path "$PSScriptRoot\updatablehelp" "$Version\$ModuleName" - - if(-not (Test-Path $MamlOutputFolder)) - { - New-Item $MamlOutputFolder -ItemType Directory -Force > $null - } - - # Process the about topics if any - $AboutFolder = Join-Path $ModulePath "About" - - if(Test-Path $AboutFolder) - { - Get-ChildItem "$aboutfolder/about_*.md" | ForEach-Object { - $aboutFileFullName = $_.FullName - $aboutFileOutputName = "$($_.BaseName).help.txt" - $aboutFileOutputFullName = Join-Path $MamlOutputFolder $aboutFileOutputName - - $pandocArgs = @( - "--from=gfm", - "--to=plain+multiline_tables+inline_code_attributes", - "--columns=75", - "--output=$aboutFileOutputFullName", - "--quiet" - ) - - Get-ContentWithoutHeader $aboutFileFullName | & $pandocExePath $pandocArgs - } - } - - try { - # For each module, create a single maml help file - # Adding warningaction=stop to throw errors for all warnings, erroraction=stop to make them terminating errors - New-ExternalHelp -Path $ModulePath -OutputPath $MamlOutputFolder -Force -WarningAction Stop -ErrorAction Stop - - # For each module, create update-help help files (cab and helpinfo.xml files) - if (-not $SkipCabs) { - $cabInfo = New-ExternalHelpCab -CabFilesFolder $MamlOutputFolder -LandingPagePath $LandingPage -OutputFolder $CabOutputFolder - - # Only output the cab fileinfo object - if($cabInfo.Count -eq 8){$cabInfo[-1].FullName} - } - } catch { - $allErrors += $_ - } - } -} - -# If the above block, produced any errors, throw and fail the job -if ($allErrors) { - $allErrors - throw "There are errors during platyPS run!`nPlease fix your markdown to comply with the schema: https://github.com/PowerShell/platyPS/blob/master/platyPS.schema.md" -} diff --git a/appveyor.yml b/appveyor.yml index a2dae732f1ec..fa2cafbb6f1c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,7 +9,7 @@ branches: - live install: - - git clone https://github.com/PowerShell/PowerShell-Docs + - git clone https://github.com/MicrosoftDocs/PowerShell-Docs - ps: | Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force Install-Module -Name platyPS -Repository PSGallery -Force @@ -33,7 +33,13 @@ only_commits: - reference/**/* - appveyor.ps1 - appveyor.yml + - .openpublishing.build.ps1 + - .openpublishing.publish.config.json + - .openpublishing.redirection.json - tests/**/* + - '**/docfx.json' + - '**/TOC.yml' + - '**/toc.yml' - '**/*.md' deploy: diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 000000000000..b3c65d0684f6 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,174 @@ +param( + [switch]$SkipCabs, + [switch]$ShowProgress +) + +# Turning off the progress display, by default +$global:ProgressPreference = 'SilentlyContinue' +if ($ShowProgress) { $ProgressPreference = 'Continue' } + +[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12 + +# Pandoc source URL +$panDocVersion = "2.0.6" +$pandocSourceURL = "https://github.com/jgm/pandoc/releases/download/$panDocVersion/pandoc-$panDocVersion-windows.zip" + +$pandocDestinationPath = New-Item (Join-Path ([System.IO.Path]::GetTempPath()) "PanDoc") -ItemType Directory -Force +$pandocZipPath = Join-Path $pandocDestinationPath "pandoc-$panDocVersion-windows.zip" +Invoke-WebRequest -Uri $pandocSourceURL -OutFile $pandocZipPath + +Expand-Archive -Path (Join-Path $pandocDestinationPath "pandoc-$panDocVersion-windows.zip") -DestinationPath $pandocDestinationPath -Force +$pandocExePath = Join-Path (Join-Path $pandocDestinationPath "pandoc-$panDocVersion") "pandoc.exe" + +# Install ThreadJob if not available +$threadJob = Get-Module ThreadJob -ListAvailable +if ($null -eq $threadjob) { + Install-Module ThreadJob -RequiredVersion 1.1.2 -Scope CurrentUser -Force +} + +# Find the reference folder path w.r.t the script +$ReferenceDocset = Join-Path $PSScriptRoot 'reference' + +# Go through all the directories in the reference folder +$jobs = [System.Collections.Generic.List[object]]::new() +Get-ChildItem $ReferenceDocset -Directory -Exclude 'docs-conceptual', 'mapping', 'bread' | ForEach-Object -Process { + $job = Start-ThreadJob -Name $_.Name -ArgumentList @($SkipCabs,$pandocExePath,$PSScriptRoot,$_) -ScriptBlock { + param($SkipCabs, $pandocExePath, $WorkingDirectory, $DocSet) + + $tempDir = [System.IO.Path]::GetTempPath() + $workingDir = Join-Path $tempDir $DocSet.Name + $workingDir = New-Item -ItemType Directory -Path $workingDir -Force + Set-Location $WorkingDir + + function Get-ContentWithoutHeader { + param( + $path + ) + + $doc = Get-Content $path -Encoding UTF8 + $start = $end = -1 + + # search the first 30 lines for the Yaml header + # no yaml header in our docset will ever be that long + + for ($x = 0; $x -lt 30; $x++) { + if ($doc[$x] -eq '---') { + if ($start -eq -1) { + $start = $x + } + else { + if ($end -eq -1) { + $end = $x + 1 + break + } + } + } + } + if ($end -gt $start) { + Write-Output ($doc[$end..$($doc.count)] -join "`r`n") + } + else { + Write-Output ($doc -join "`r`n") + } + } + + $Version = $DocSet.Name + Write-Verbose -Verbose "Version = $Version" + + $VersionFolder = $DocSet.FullName + Write-Verbose -Verbose "VersionFolder = $VersionFolder" + + # For each of the directories, go through each module folder + Get-ChildItem $VersionFolder -Directory | ForEach-Object -Process { + $ModuleName = $_.Name + Write-Verbose -Verbose "ModuleName = $ModuleName" + + $ModulePath = Join-Path $VersionFolder $ModuleName + Write-Verbose -Verbose "ModulePath = $ModulePath" + + $LandingPage = Join-Path $ModulePath "$ModuleName.md" + Write-Verbose -Verbose "LandingPage = $LandingPage" + + $MamlOutputFolder = Join-Path "$WorkingDirectory\maml" "$Version\$ModuleName" + Write-Verbose -Verbose "MamlOutputFolder = $MamlOutputFolder" + + $CabOutputFolder = Join-Path "$WorkingDirectory\updatablehelp" "$Version\$ModuleName" + Write-Verbose -Verbose "CabOutputFolder = $CabOutputFolder" + + if (-not (Test-Path $MamlOutputFolder)) { + New-Item $MamlOutputFolder -ItemType Directory -Force > $null + } + + # Process the about topics if any + $AboutFolder = Join-Path $ModulePath "About" + + if (Test-Path $AboutFolder) { + Write-Verbose -Verbose "AboutFolder = $AboutFolder" + Get-ChildItem "$aboutfolder/about_*.md" | ForEach-Object { + $aboutFileFullName = $_.FullName + $aboutFileOutputName = "$($_.BaseName).help.txt" + $aboutFileOutputFullName = Join-Path $MamlOutputFolder $aboutFileOutputName + + $pandocArgs = @( + "--from=gfm", + "--to=plain+multiline_tables+inline_code_attributes", + "--columns=75", + "--output=$aboutFileOutputFullName", + "--quiet" + ) + + Get-ContentWithoutHeader $aboutFileFullName | & $pandocExePath $pandocArgs + } + } + + try { + # For each module, create a single maml help file + # Adding warningaction=stop to throw errors for all warnings, erroraction=stop to make them terminating errors + New-ExternalHelp -Path $ModulePath -OutputPath $MamlOutputFolder -Force -WarningAction Stop -ErrorAction Stop + + # For each module, create update-help help files (cab and helpinfo.xml files) + if (-not $SkipCabs) { + $cabInfo = New-ExternalHelpCab -CabFilesFolder $MamlOutputFolder -LandingPagePath $LandingPage -OutputFolder $CabOutputFolder + + # Only output the cab fileinfo object + if ($cabInfo.Count -eq 8) { $cabInfo[-1].FullName } + } + } + catch { + Write-Error -Message "PlatyPS failure: $ModuleName -- $Version" -Exception $_ + } + } + + Remove-Item $workingDir -Force -ErrorAction SilentlyContinue + } + Write-Verbose -Verbose "Started job for $($_.Name)" + $jobs += $job +} + +$null = $jobs | Wait-Job + +# Variable to collect any errors in during processing +$allErrors = [System.Collections.Generic.List[string]]::new() +foreach ($job in $jobs) { + Write-Verbose -Verbose "$($job.Name) output:" + if ($job.Verbose.Count -gt 0) { + foreach ($verboseMessage in $job.Verbose) { + Write-Verbose -Verbose $verboseMessage + } + } + + if ($job.State -eq "Failed") { + $allErrors += "$($job.Name) failed due to unhandled exception" + } + + if ($job.Error.Count -gt 0) { + $allErrors += "$($job.Name) failed with errors:" + $allErrors += $job.Error.ReadAll() + } +} + +# If the above block, produced any errors, throw and fail the job +if ($allErrors.Count -gt 0) { + $allErrors + throw "There are errors during platyPS run!`nPlease fix your markdown to comply with the schema: https://github.com/PowerShell/platyPS/blob/master/platyPS.schema.md" +} diff --git a/ci-steps.yml b/ci-steps.yml new file mode 100644 index 000000000000..99b26b16c2ae --- /dev/null +++ b/ci-steps.yml @@ -0,0 +1,42 @@ +steps: +- powershell: | + Get-ChildItem Env:\ + displayName: Capture environment + +#- powershell: | +# if ((Get-Command pwsh -CommandType Application -ErrorAction Ignore) -eq $null) +# { +# Write-Verbose -Verbose "Installing pwsh" +# $destPath = "${env:BUILD_ARTIFACTSTAGINGDIRECTORY}/install-powershell.ps1" +# Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/install-powershell.ps1' -OutFile $destPath +# Unblock-File $destPath +# & $destPath -UseMSI -Quiet +# } +# displayName: Install pwsh if not available + +- powershell: | + Install-Module -Name platyPS -Repository PSGallery -Force + displayName: Install tools + +- powershell: | + $(Build.SourcesDirectory)\build.ps1 + displayName: Build + +- powershell: | + Compress-Archive -Path "$(Build.SourcesDirectory)\updatablehelp\*" -DestinationPath "$(Build.ArtifactStagingDirectory)\updatablehelp-$(Build.BuildId).zip" + Write-Host "##vso[artifact.upload containerfolder=artifacts;artifactname=artifacts]$(Build.ArtifactStagingDirectory)\updatablehelp-$(Build.BuildId).zip" + displayName: Compress and upload updatable help content + + # We run tests on Windows PowerShell. Changing to PowerShell core would need changes to the tests +- powershell: | + Install-Module -Name Pester -Repository PSGallery -Force -SkipPublisherCheck + Import-Module "$(Build.SourcesDirectory)/tests/PowerShellDocsTests.psm1" -Force + Invoke-Test + displayName: Test + +# Publish Test Results to Azure Pipelines/TFS +- task: PublishTestResults@2 + inputs: + testResultsFormat: 'NUnit' + testResultsFiles: '**/TestResults.xml' + searchFolder: '$(Build.SourcesDirectory)' diff --git a/ci.yml b/ci.yml new file mode 100644 index 000000000000..3208f4217dda --- /dev/null +++ b/ci.yml @@ -0,0 +1,40 @@ +name: PR-$(System.PullRequest.PullRequestNumber)-$(Date:yyyyMMdd)$(Rev:.rr) +trigger: + branches: + include: + - live + - staging + paths: + include: + - '*' + exclude: + - .github/* + - .vscode/* + - contributing/* + - tools/terms/* + +pr: + branches: + include: + - staging + - live + paths: + include: + - '*' + exclude: + - .github/* + - .vscode/* + - contributing/* + - tools/terms/* + +resources: +- repo: self + clean: true + +jobs: +- job: build_and_test + displayName: Build And Test + pool: Hosted VS2017 + + steps: + - template: ci-steps.yml diff --git a/contributing/1-GET-STARTED.md b/contributing/1-GET-STARTED.md index d7cc0be4a405..dc8f8fd851eb 100644 --- a/contributing/1-GET-STARTED.md +++ b/contributing/1-GET-STARTED.md @@ -1,44 +1,40 @@ # Contributing to PowerShell Documentation Thank you for your interest in PowerShell documentation! + See below for details on how you can contribute to our technical documentation. ->For general information about getting started with Git and GitHub, see [GitHub Help][git-help]. +> For general information about getting started with Git and GitHub, see [GitHub Help][git-help]. ## Sign a CLA -Before you can contribute to any PowerShell repositories, you must sign a -[Microsoft Contribution Licensing Agreement (CLA)][cla]. -If you've already contributed to PowerShell repositories in the past, congratulations! -You've already completed this step. +Before you can contribute to any PowerShell repositories, you must sign a [Microsoft Contribution Licensing Agreement (CLA)][cla]. +If you've already contributed to PowerShell repositories in the past, congratulations! You've +already completed this step. ## Providing feedback on PowerShell documentation -You can point out errors, suggest changes, or request new topics by [creating an issue][new-issue] -on the [PowerShell-Docs repository issues page][doc-issues]. +Point out errors, suggest changes, or request new topics by [creating an issue][new-issue] on the [PowerShell-Docs repository issues page][doc-issues]. -Issues are reviewed regularly by members of the PowerShell documentation team. -The issues are triaged, assigned, and addressed accordingly. +Issues are reviewed regularly by members of the PowerShell documentation team. The issues are +triaged, assigned, and addressed accordingly. ## Making minor edits to existing topics -To [edit an existing file][edit-file], simply navigate to it and click the "Edit" button. -GitHub will automatically create your own fork of our repository where you can make your changes. -Once you're finished, save your edits and submit a [pull request][pull] to the *staging* branch -of the [PowerShell-Docs][docs-repo] repository. -After your pull request is created, someone on the PowerShell documentation team reviews your changes -before merging them into the *staging* branch. +To [edit an existing file][edit-file], navigate to it and click the "Edit" button. GitHub will +automatically create your own fork of our repository where you can make your changes. Once you are +finished, save your edits and submit a [pull request][pull] to the *staging* branch of the [PowerShell-Docs][docs-repo] +repository. After your pull request is created, someone on the PowerShell documentation team reviews +your changes before merging them into the *staging* branch. ## Making major edits to existing topics -If you are making substantial changes to an existing article, adding or changing images, -or contributing a new article, you will need to manually create your GitHub fork, -then clone the fork down to your local computer. -A fork is a GitHub-based replica of the main repository, under your GitHub account, -that provides you with a working copy which you can use in isolation. -You will create pull requests from your fork. -Similarly, a clone is a local-based replica of the repository which, in this case, will be a clone of your fork. -The clone allows you to work on Git repositories offline, and using more powerful native software/tools. +If you are making substantial changes, adding or changing images, or contributing a new article, you +will need to create a GitHub fork and clone it to your computer. A fork is a GitHub-based replica of +the main repository, under your GitHub account, that provides you with a working copy which you can +use in isolation. You will create pull requests from your fork. Similarly, a clone is a local-based +replica of the repository which, in this case, will be a clone of your fork. The clone allows you to +work on Git repositories offline, and using more powerful native software/tools. Here is the workflow for making major edits to existing documentation: @@ -47,8 +43,8 @@ Here is the workflow for making major edits to existing documentation: 3. Create a new local branch in your cloned repository. 4. Make changes to the file(s) you want to update in a Markdown editor. 5. [Push your local branch][push] to your fork. -6. [Create a pull request][pull] to the *staging* branch of the [PowerShell-Docs][docs-repo] repository. - +6. [Create a pull request][pull] to the *staging* branch of the [PowerShell-Docs][docs-repo] + repository. ## Next steps @@ -64,4 +60,4 @@ See [Writing PowerShell documentation](2-WRITING.md). [fork]: https://help.github.com/articles/fork-a-repo/ [clone]: https://help.github.com/articles/cloning-a-repository/ [push]: https://help.github.com/articles/pushing-to-a-remote/ -[pull]: https://help.github.com/articles/creating-a-pull-request/ \ No newline at end of file +[pull]: https://help.github.com/articles/creating-a-pull-request/ diff --git a/contributing/2-WRITING.md b/contributing/2-WRITING.md index b4b02d3ea016..4a2c4b7b144c 100644 --- a/contributing/2-WRITING.md +++ b/contributing/2-WRITING.md @@ -1,61 +1,61 @@ # Writing PowerShell documentation One of the easiest ways to contribute to PowerShell is by helping to write and edit documentation. -All of our documentation hosted on GitHub is written using *Markdown*. -Markdown is a lightweight markup language with plain text formatting syntax. -Markdown forms the basis of our documentation's conceptual authoring language. -Creating new articles is as easy as writing a simple text file by using your favorite text editor. +All of our documentation hosted on GitHub is written using *Markdown*. Markdown is a lightweight +markup language with plain text formatting syntax. Markdown forms the basis of our documentation's +conceptual authoring language. Creating new articles is as easy as writing a simple text file by +using your favorite text editor. ## Markdown editors Here are some Markdown editors you can try out: -* [Visual Studio Code](https://code.visualstudio.com) -* [Atom](https://atom.io/) -* [Sublime Text](http://www.sublimetext.com/) +- [Visual Studio Code](https://code.visualstudio.com) +- [Atom](https://atom.io/) +- [Sublime Text](http://www.sublimetext.com/) ## Get started using Markdown -To get started using Markdown, see GitHub's Help topics for [Writing on GitHub][gfm-help]. +To get started using Markdown, see [How to use Markdown for writing Docs](https://docs.microsoft.com/contribute/how-to-write-use-markdown). -**NOTE:** GitHub recently adopted the CommonMark specification (with GFM extensions) for its Markdown syntax. -In the new specification, many spacing rules have changed. -Spaces are significant in Markdown. -Do not use hard tabs in Markdown. -For more detailed information about the Markdown specification, see the [Markdown Specifics](4-MARKDOWN-SPECIFICS.md) article. +The Open Publishing System (OPS) is the platform used by docs.microsoft.com. OPS uses DocFX +Flavored Markdown (DFM). DFM supports all GitHub Flavored Markdown (GFM) syntax and is compatible +with CommonMark. There are some [differences between DFM and GFM][dfm-diffs] that can affect +content preview in GitHub or your editor. -DocFX, used by OPS, supports DocFX Flavored Markdown (DFM). -DFM is highly compatible with GitHub Flavored Markdown (GFM) and adds some functionality, including cross-reference and file inclusion. -There are [differences between DFM and GFM][dfm-diffs] that can affect content preview in GitHub or your editor. +The default Markdown engine in OPS is built on the top of [markdig][]. This engine is based on the +CommonMark specification and supports extensions for DocFX. In the latest version of the +[CommonMark][] specification, many spacing rules have changed. Spaces are significant in Markdown. +Don't use hard tabs in Markdown. For more detailed information about the Markdown specification, +see the [Markdown Specifics](4-MARKDOWN-SPECIFICS.md) article. ## Creating new topics -If you want to contribute new documentation, first check for [issues tagged as "in progress"][labels] -to make sure you're not duplicating efforts. -If no one seems to be working on what you have planned: +To contribute new documentation, check for issues tagged as ["in progress"][labels] to make +sure you're not duplicating efforts. If no one seems to be working on what you have planned: -* Open a new issue and label it as "in progress" (if you are a member of the PowerShell organization) - or add "in progress" as a comment to tell others what you're working on. -* Follow the same workflow as described above for making major edits to existing topics. -* Do not edit the `TOC.yml` files (located in the top-level folder for each documentation set). -* Create an issue requesting that your new article be added table of contents. - Include a suggestion about where you think it show appear in the TOC. - Someone on the PowerShell documentation team will make the appropriate changes to the TOC files. +- Open a new issue and label it as "in progress". If you don't have rights to assign labels, add "in + progress" as a comment to tell others what you're working on. +- Follow the same workflow as described above for making major edits to existing topics. +- Add your new article to the `TOC.yml` file (located in the top-level folder of each + documentation set). ## Updating topics that exist in multiple versions -Most reference topics are duplicated across all versions of PowerShell. -When reporting an issue about a cmdlet reference or an About_ topic, you must specify which versions are affected by the issue. -The default issue template in GitHub includes a [GFM task list][gfm-task]. -Use the checkboxes in the task list to specify which versions of the content are affected. -When you submit a change to a topic for an issue that affects multiple versions of the content, -you must apply the appropriate change to each version of the file. +Most reference topics are duplicated across all versions of PowerShell. When reporting an issue +about a cmdlet reference or an About_ article, you must specify which versions are affected by the +issue. The default issue template in GitHub includes a [GFM task list][gfm-task]. Use the checkboxes +in the task list to specify which versions of the content are affected. When you submit a change to +a article for an issue that affects multiple versions of the content, you must apply the appropriate +change to each version of the file. ## Next Steps Read the [Style Guide](3-STYLE-GUIDE.md). +[markdig]: https://github.com/lunet-io/markdig +[CommonMark]: https://spec.commonmark.org/ [gfm-help]: https://help.github.com/categories/writing-on-github/ [labels]: https://github.com/PowerShell/PowerShell-Docs/labels/in%20progress [gfm-task]: https://github.github.com/gfm/#task-list-items-extension- diff --git a/contributing/3-STYLE-GUIDE.md b/contributing/3-STYLE-GUIDE.md index 7ecd51bb490e..b73eda04c035 100644 --- a/contributing/3-STYLE-GUIDE.md +++ b/contributing/3-STYLE-GUIDE.md @@ -59,14 +59,14 @@ Feel free to help out. For example: This [Write-Host](..\reference\6\Microsoft.PowerShell.Utility\Write-Host.md) cmdlet uses the - **-Object** parameter to ... + **Object** parameter to ... > [!NOTE] > Never use backticks or bold inside the brackets of a hyperlink. This is an exception to the previous > rule. - When referring to a parameter by name, the name should be **bold**. When illustrating the use of - a parameter with the hyphen prefix, the paramter should be wrapped in backticks. For example: + a parameter with the hyphen prefix, the parameter should be wrapped in backticks. For example: > The parameter's name is **Name**, but it is typed as `-Name` when used on the command line as a > parameter. @@ -120,10 +120,10 @@ https://docs.microsoft.com/en-us/powershell/azure/overview?view=azurermps-5.1.1 ``` - **\** - identifies the language of the article (example: en-us or de-de) -- **\** - the name of the product or service being documented (example: powershell, - dotnet, or azure) -- **[\]** - (optional) the name of the product's feature or subservice (for - example, csharp or load-balancer) +- **\** - the name of the product or service (example: powershell, dotnet, or + azure) +- **[\]** - (optional) the name of the product's feature or subservice (example: + csharp or load-balancer) - **[\]** - (optional) the name of a subfolder within a feature - \ - the name of the article file for the topic (example: load-balancer-overview or overview) @@ -132,9 +132,9 @@ https://docs.microsoft.com/en-us/powershell/azure/overview?view=azurermps-5.1.1 ### Linking to content in the same Docset -When the content is in the same Docset, the relative links are simple to calculate. -The link target must be the path to the _Markdown file_ in the repo. -For example, the following markdown links to the about_Arrays topic in this repo. +When the content is in the same Docset, the relative links are simple to calculate. The link target +must be the path to the _Markdown file_ in the repo. For example, the following markdown links to +the about_Arrays topic in this repo. ```Markdown [about_Arrays](../reference/5.1/Microsoft.PowerShell.Core/About/about_Arrays.md) @@ -150,8 +150,8 @@ Note that the live link works within the GitHub view of this content. When the content is in a different Docset, the relative links are more complicated. The link target must be the URL path to the _published article_ on **docs.microsoft.com**. The relative link starts -with the **\** portion of the URL as described above. You should omit the -**[?view=\]** portion unless you need to link to a specific version of the content. +with the `` portion of the URL as described above. You should omit the +`?view=\` portion unless you need to link to a specific version of the content. For example, the following Markdown links to the Overview topic for Azure PowerShell. diff --git a/contributing/4-MARKDOWN-SPECIFICS.md b/contributing/4-MARKDOWN-SPECIFICS.md index e2177723a72e..dcede873b6c0 100644 --- a/contributing/4-MARKDOWN-SPECIFICS.md +++ b/contributing/4-MARKDOWN-SPECIFICS.md @@ -1,23 +1,21 @@ # Markdown Specifics -The Microsoft Open Publishing System (OPS) that builds our documentation uses [markdig][] -to process the Markdown documents. Markdig parses the documents based on the rules of the latest -[CommonMark][] specification. +The Microsoft Open Publishing System (OPS) that builds our documentation uses [markdig][] to process +the Markdown documents. Markdig parses the documents based on the rules of the latest [CommonMark][] +specification. -The new CommonMark spec is much stricter about the construction of some Markdown elements. -Pay close attention to the details provided in this document. +The new CommonMark spec is much stricter about the construction of some Markdown elements. Pay close +attention to the details provided in this document. ## Blank lines, spaces, and tabs -Remove duplicate blank lines. -Multiple blank lines render as a single blank line in HTML. -Blank lines can also signal the end of a block in Markdown. -There should be a single blank between Markdown blocks of different types (for example, -between a paragraph and a list). +Remove duplicate blank lines. Multiple blank lines render as a single blank line in HTML. Blank +lines can also signal the end of a block in Markdown. There should be a single blank between +Markdown blocks of different types (for example, between a paragraph and a list). -**NOTE:** Spacing is significant in Markdown. -Always uses spaces instead of hard tabs. -Remove extra spaces at the end of lines. +> [!NOTE] +> Spacing is significant in Markdown. Always uses spaces instead of hard tabs. Remove +> extra spaces at the end of lines. ## Titles and headings @@ -30,8 +28,8 @@ Only use [ATX headings][atx] (# style, as opposed to = or \- style headers). - Header levels should increment by one. Do not skip levels. - Do not use bold or code markup in header text -When editing reference content, the H2s are prescribed by [platyPS][platyPS]. -Adding or removing H2 causes a build break. +When editing reference content, the H2s are prescribed by [platyPS][platyPS]. Adding or removing H2 +causes a build break. ## Lists @@ -40,11 +38,10 @@ consider using a sub-level header rather than a list. ### Unordered lists -Do not end list items with a period (unless they contain multiple sentences). -Use the hyphen character [-] as for list item bullets. This avoids confusion with bold or -italic markup that uses the asterisk [*]. -To include a paragraph or other elements under a bullet item, insert a line break and -align indentation with the first character after the bullet. +Do not end list items with a period (unless they contain multiple sentences). Use the hyphen +character [-] as for list item bullets. This avoids confusion with bold or italic markup that uses +the asterisk [*]. To include a paragraph or other elements under a bullet item, insert a line break +and align indentation with the first character after the bullet. For example: @@ -83,10 +80,10 @@ If you want multiple lines within a single list element, format your list as fol ```markdown 1. For the first element, insert a single space after the 1. - To include a second element (like this one), insert a line break after the first and align indentations. - The indentation of the second element must line up with the first character after the numbered list marker. - For single digit items, like this one, you indent to column 4. - For double digits items, for example item number 10, you indent to column 5. + To include a second element (like this one), insert a line break after the first and align + indentations. The indentation of the second element must line up with the first character after + the numbered list marker. For single digit items, like this one, you indent to column 4. For + double digits items, for example item number 10, you indent to column 5. 2. The next numbered item starts here. ``` @@ -95,17 +92,51 @@ to get this output: 1. For the first element (like this one), insert a space after the 1. - To include a second element (like this one), insert a line break after the first and align indentations. - The indentation of the second element must line up with the first character after the numbered list marker. - For single digit items, like this one, you indent to column 4. - For double digits items, for example item number 10, you indent to column 5. + To include a second element (like this one), insert a line break after the first and align + indentations. The indentation of the second element must line up with the first character after + the numbered list marker. For single digit items, like this one, you indent to column 4. For + double digits items, for example item number 10, you indent to column 5. 2. The next numbered item starts here. +## Images + +The syntax to include an image is: + +```markdown +![[alt text]]() + +Example: +![Introduction](./images/overview/Introduction.png) +``` + +Where `alt text` is a brief description of the image and `` is a relative path to the +image. Alternate text is required for screen readers for the visually impaired. It is also useful if +there is a site bug where the image cannot render. + +Images should be stored in a `images/` folder within the folder containing your +article. Images should not be shared between articles. Create a folder that matches the filename of +your article under the `images` folder. Copy the images for that article to that new folder. If an +image is used by multiple articles, each image folder must have a copy of that image file. This +practice prevents a change to an image in one article affecting another article. + +In some cases, you want to share images, like logos and icons, across multiple articles. These +images are stored in a the `/images/shared` folder at the root of the repository. + +The following file types are supported by default for images: + +- .jpg +- .png + +You can add support for other image types by adding them as resources to the docfx.json file for +your doc set. For example, add .gif to enable animated .gif files. + ## Markdown extensions supported by Open Publishing + The following sections describe supported extensions in Open Publishing. ### Note, warning, tip, important + Use specific syntax inside a block quote to indicate that the content is a type of note. ```Markdown @@ -124,7 +155,7 @@ Use specific syntax inside a block quote to indicate that the content is a type And it will be rendered like this: -![alert boxes](./images/alert-boxes.png) +![alert boxes](./images/4-markdown-specifics/alert-boxes.png) ## Next steps diff --git a/contributing/5-FORMATTING-CODE.md b/contributing/5-FORMATTING-CODE.md index 140d6625c7fb..126f8231726b 100644 --- a/contributing/5-FORMATTING-CODE.md +++ b/contributing/5-FORMATTING-CODE.md @@ -1,12 +1,12 @@ # Formatting code blocks -The existing documentation has used multiple styles, over time, and the formatting rules have changed multiple times. -We want to adopt a consistent style for PowerShell code blocks and output in our documentation. -The current Open Publishing System (OPS) we use has a syntax highlighting feature that supports many languages. -OPS also adds a **Copy** button that copies the contents of the code block to the clipboard. -This allows you to quickly paste the code into a script for testing the code example. -However, not all examples in our documentation are intended to be run. -Some code blocks are simple illustrations of a PowerShell concept. +The existing documentation has used multiple styles, over time, and the formatting rules have +changed multiple times. We want to adopt a consistent style for PowerShell code blocks and output in +our documentation. The current Open Publishing System (OPS) we use has a syntax highlighting feature +that supports many languages. OPS also adds a **Copy** button that copies the contents of the code +block to the clipboard. This allows you to quickly paste the code into a script for testing the code +example. However, not all examples in our documentation are intended to be run. Some code blocks are +simple illustrations of a PowerShell concept. We are defining two scenarios for code blocks: @@ -15,13 +15,12 @@ We are defining two scenarios for code blocks: ## Formatting illustrative examples -Illustrative examples are used to explain a PowerShell concept. -They are not meant to be copied to the clipboard for execution. -These are most commonly used for simple examples that are easy to type. +Illustrative examples are used to explain a PowerShell concept. They are not meant to be copied to +the clipboard for execution. These are most commonly used for simple examples that are easy to type. They are also used for syntax examples where you are illustrating the syntax of a command. -Illustrative examples use a "naked" code fence to mark the beginning and end of the code block. -The code block may contain example output from the command being illustrated. +Illustrative examples use a "naked" code fence to mark the beginning and end of the code block. The +code block may contain example output from the command being illustrated. ### Syntax block @@ -67,13 +66,14 @@ Here is an example illustrating PowerShell comparison operators: abc ``` -Note that this example has the simplified PowerShell prompt and shows the resulting output. -In this case, we don't intend the reader to copy this example and try to run the copied code. +Note that this example has the simplified PowerShell prompt and shows the resulting output. In this +case, we don't intend the reader to copy this example and try to run the copied code. ## Formatting executable examples -More complex examples or examples that would be useful to copy and execute should use \`\`\`powershell\`\`\` code fence markers. -Output emitted by PowerShell commands should be enclosed in a **Output** code block to prevent syntax highlighting. +More complex examples or examples that would be useful to copy and execute should use +\`\`\`powershell\`\`\` code fence markers. Output emitted by +PowerShell commands should be enclosed in a **Output** code block to prevent syntax highlighting. For example: @@ -107,10 +107,10 @@ And this "Output" code box has no syntax highlighting. ## Understanding the COPY button -OPS also adds a **Copy** button that copies the contents of the code block to the clipboard. -This allows you to quickly paste the code into a script for testing the code example. -The **Copy** button also removes PowerShell prompts from the text before copying it to the clipboard. -The **Copy** button uses the following JavaScript code to remove the prompts. +OPS also adds a **Copy** button that copies the contents of the code block to the clipboard. This +allows you to quickly paste the code into a script for testing the code example. The **Copy** button +also removes PowerShell prompts from the text before copying it to the clipboard. The **Copy** +button uses the following JavaScript code to remove the prompts. ```javascript if (language === 'powershell') { @@ -118,38 +118,38 @@ if (language === 'powershell') { } ``` -Note that the regex used only matches simple prompts like "`PS C:\>`". -Prompts that include subdirectories or paths from other PSDrive providers will not be removed. -See the general guidelines, in the next section, for the appropriate use of prompts in examples. +Note that the regex used only matches simple prompts like "`PS C:\>`". Prompts that include +subdirectories or paths from other PSDrive providers will not be removed. See the general +guidelines, in the next section, for the appropriate use of prompts in examples. ## General guidelines - Code fences - Markdown allows for indentation to signify a code block, but this pattern can be problematic and should be avoided. - All code blocks should be contained in a code fence. - A code fence is a block of code surrounded by \`\`\` strings. - The code fence markers must be on their own line before and after the code sample. - The marker at the start of the code block may have an optional language label. - See the previous discussion about illustrative and executable examples for the proper use of language labels. + Markdown allows for indentation to signify a code block, but this pattern can be problematic and + should be avoided. All code blocks should be contained in a code fence. A code fence is a block of + code surrounded by \`\`\` strings. The code fence markers must be on their own line + before and after the code sample. The marker at the start of the code block may have an optional + language label. See the previous discussion about illustrative and executable examples for the + proper use of language labels. - Line continuation in code samples - Avoid using line continuation characters (\`) in PowerShell code examples. - These are hard to see and can cause problems if there are extra spaces at the end of the line. - Use PowerShell splatting to reduce line length for cmdlets that have a lot of parameters. - Take advantage of PowerShell's natural line break opportunities, like after pipe (\|) characters and opening braces, parentheses, and brackets. + Avoid using line continuation characters (\`) in PowerShell code examples. These are hard to see + and can cause problems if there are extra spaces at the end of the line. Use PowerShell splatting + to reduce line length for cmdlets that have a lot of parameters. Take advantage of PowerShell's + natural line break opportunities, like after pipe (\|) characters and opening braces, parentheses, + and brackets. - PowerShell prompts in examples - PowerShell prompts should only be used in illustrative examples. - Prompts should **NOT** be used in executable examples. - For most of these examples, the prompt string should be "`PS>`". - This prompt is independent of OS-specific indicators. - Use of the prompt string is discouraged and should be limited to scenarios that are meant to illustrate command line usage. - More complex prompt strings are required for examples that illustrate commands that alter the prompt - or when the path displayed is significant to the scenario being illustrated. - The following example illustrate how the prompt changes when using the Registry provider. + PowerShell prompts should only be used in illustrative examples. Prompts should **NOT** be used in + executable examples. For most of these examples, the prompt string should be "`PS>`". This prompt + is independent of OS-specific indicators. Use of the prompt string is discouraged and should be + limited to scenarios that are meant to illustrate command line usage. More complex prompt strings + are required for examples that illustrate commands that alter the prompt or when the path + displayed is significant to the scenario being illustrated. The following example illustrate how + the prompt changes when using the Registry provider. ``` PS C:\> cd HKCU:\System\ diff --git a/contributing/6-UPDATING-REFERENCE.md b/contributing/6-UPDATING-REFERENCE.md index 1ecd17663d04..ffd0d282b28b 100644 --- a/contributing/6-UPDATING-REFERENCE.md +++ b/contributing/6-UPDATING-REFERENCE.md @@ -6,25 +6,23 @@ Cmdlet reference articles have a specific structure. This structure is defined b PlatyPS is the tool we use to generate the cmdlet help for a PowerShell module and to create the MAML help files used by the `Get-Help` cmdlet. -PlatyPS has a hardcoded schema for cmdlet reference that is written into the code. The -[platyPS.schema.md][] document attempts to describe this structure. When updating cmdlet reference, -if you don't follow this schema you can cause build errors that must be fixed before we can -accept your contribution. +PlatyPS has a hardcoded schema for cmdlet reference that is written into the code. The [platyPS.schema.md][] +document attempts to describe this structure. When updating cmdlet reference, if you don't follow +this schema you can cause build errors that must be fixed before we can accept your contribution. ## General guidelines - Do not remove any of the header structures. PlatyPS expect a specific set of headers. -- The **Input type** and **Output type** headers must have a type. - If the cmdlet does not take input or return a value then use the value "None". +- The **Input type** and **Output type** headers must have a type. If the cmdlet does not take input + or return a value then use the value "None". - Fenced code blocks are only allowed in the **Examples** section. - Inline code spans can be used in any paragraph. ## Formatting About_ files -We are changing the way we process about_ files. -About_* files are being reformatted for the best compatibility across PowerShell versions and our publishing tools. -For details, see [issue #1806][issue1806]. -Please do not alter the formatting of about_ files without checking in with a repo maintainer. +We are changing the way we process `about_*` files. `About_*` files are being reformatted for the +best compatibility across PowerShell versions and our publishing tools. For details, see [issue #1806][issue1806]. +Please do not alter the formatting of `about_*` files without checking in with a repo maintainer. Basic formatting guidelines: @@ -41,8 +39,8 @@ Basic formatting guidelines: In the PlatyPS schema, the **Examples** header is an H2 header and each example is an H3 header. -The schema does not allow code blocks to be separated by paragraphs in an example. -The valid schema is: +The schema does not allow code blocks to be separated by paragraphs in an example. The valid schema +is: ``` ### Example #X title @@ -57,19 +55,23 @@ For example: ### Example 1: Get cmdlets, functions, and aliases +This command gets the PowerShell cmdlets, functions, and aliases that are installed on the +computer. + ```powershell Get-Command ``` -This command gets the PowerShell cmdlets, functions, and aliases that are installed on the -computer. - ### Example 2: Get commands in the current session ```powershell Get-Command -ListImported ``` +## Next Steps + +See the [Pull Requests](7-PULL-REQUESTS.md) article. + [PlatyPS]: https://github.com/powershell/platyps [platyPS.schema.md]: https://github.com/PowerShell/platyPS/blob/master/platyPS.schema.md [issue1806]: https://github.com/PowerShell/PowerShell-Docs/issues/1806 diff --git a/contributing/7-PULL-REQUESTS.md b/contributing/7-PULL-REQUESTS.md new file mode 100644 index 000000000000..b0d3f41d590d --- /dev/null +++ b/contributing/7-PULL-REQUESTS.md @@ -0,0 +1,56 @@ +# Best Practices for Pull requests + +To publish changes to content, you submit a pull request from your fork. Every pull request has to +be reviewed prior to being merged. + +## Make the pull request queue work better for everyone + +There are two basic realities in the PR queue: + +- Pull requests that are small in scope and that contain very similar changes take less time to + review. +- Pull requests that are large in scope or that contain mixed kinds of changes take more time to + review. + +### Avoid branches that update large numbers of files + +Separate minor updates to existing articles from new articles or major rewrites. Work on these +changes in separate working branches. + +Bulk changes drive PRs with large numbers of changed files. Limit your PRs to a maximum of 50 +changed files. Large PRs are difficult to review and are more prone to contain errors. + +### Renaming or deleting files + +When you rename or delete files, avoid mixing these changes with content additions or updates. +Handle these changes in a separate PR that gets merged after the PR for related updates. For +example, update the redirects file and verify the redirect is working before deleting an article. + +You must update all files that link to the renamed file. This includes any TOC files. You must also +add redirection entries in the master redirection file (`.openpublishing.redirection.json`) in the +root of the repository. + +## Docs PR validation service + +The Docs PR validation service is a GitHub app that runs validation rules on the files in a PR. + +You'll see the following behavior: + +1. You submit a PR. +1. In the GitHub comment that indicates the status of your PR, you'll see the status of "checks" + enabled on the repo. Note that in this example, there are two checks enabled, "Commit Validation" + and "OpenPublishing.Build": + + ![some checks failed](images/7-pull-requests/validation-failed.png) + + Build can pass even if commit validation fails. + +1. Click **Details** for more information. +1. On the Details page, you'll see all the validation checks that failed, with information about how + to fix the issues. +1. When validation succeeds, you will see a comment similar to the following: + + ![build validation](images/7-pull-requests/build-validation.png) + +If you are an external (non-Microsoft) contributor you do not have access to the detailed build +reports or preview links. diff --git a/contributing/images/alert-boxes.png b/contributing/images/4-markdown-specifics/alert-boxes.png similarity index 100% rename from contributing/images/alert-boxes.png rename to contributing/images/4-markdown-specifics/alert-boxes.png diff --git a/contributing/images/7-pull-requests/build-validation.png b/contributing/images/7-pull-requests/build-validation.png new file mode 100644 index 000000000000..e0c7d0a4d3c0 Binary files /dev/null and b/contributing/images/7-pull-requests/build-validation.png differ diff --git a/contributing/images/7-pull-requests/validation-failed.png b/contributing/images/7-pull-requests/validation-failed.png new file mode 100644 index 000000000000..3c87d4680c63 Binary files /dev/null and b/contributing/images/7-pull-requests/validation-failed.png differ diff --git a/daily.yml b/daily.yml new file mode 100644 index 000000000000..baed621fbcff --- /dev/null +++ b/daily.yml @@ -0,0 +1,59 @@ +name: PowerShell-Docs-Daily-$(Date:yyyyMMdd)$(Rev:.rr) +trigger: + branches: + include: + - live + - staging + paths: + include: + - '*' + exclude: + - .github/* + - .vscode/* + - contributing/* + - tools/terms/* + +pr: + branches: + include: + - staging + - live + paths: + include: + - '*' + exclude: + - .github/* + - .vscode/* + - contributing/* + - tools/terms/* + +resources: +- repo: self + clean: true + +jobs: +- job: build_and_test + displayName: Build And Test + pool: Package ES CodeHub Lab E + + steps: + - template: ci-steps.yml + + - task: securedevelopmentteam.vss-secure-development-tools.build-task-antimalware.AntiMalware@3 + displayName: 'Run Defender Scan' + + - task: securedevelopmentteam.vss-secure-development-tools.build-task-policheck.PoliCheck@1 + displayName: 'Run PoliCheck' + inputs: + targetType: F + optionsFC: 0 + optionsXS: 0 + optionsPE: '1|2|3|4' + optionsHMENABLE: 0 + optionsRulesDBPath: '$(Build.SourcesDirectory)\tools\terms\PowerShell-Docs-Terms-Rules.mdb' + optionsFTPATH: '$(Build.SourcesDirectory)\tools\terms\FileTypeSet.xml' + continueOnError: true + + + + diff --git a/developer/TOC.yml b/developer/TOC.yml index bd62f102a3d3..3dc5a374b491 100644 --- a/developer/TOC.yml +++ b/developer/TOC.yml @@ -417,8 +417,8 @@ href: ./hosting/remoterunspace01-sample.md - name: RemoteRunspacePool01 Sample href: ./hosting/remoterunspacepool01-sample.md - - name: Writing a Windows PowerShell Formatting File - href: ./format/writing-a-windows-powershell-formatting-file.md + - name: Writing a PowerShell Formatting File + href: ./format/writing-a-powershell-formatting-file.md items: - name: Formatting File Overview href: ./format/formatting-file-overview.md @@ -443,8 +443,8 @@ href: ./format/defining-conditions-for-displaying-data.md - name: Formatting Displayed Data href: ./format/formatting-displayed-data.md - - name: Windows PowerShell Formatting Files - href: ./format/windows-powershell-formatting-files.md + - name: PowerShell Formatting Files + href: ./format/powershell-formatting-files.md - name: Examples of Formatting Files href: ./format/examples-of-formatting-files.md items: @@ -813,8 +813,8 @@ href: ./format/tableheaders-element-format.md - name: TableRowEntries Element for TableControl (Format) href: ./format/tablerowentries-element-for-tablecontrol-format.md - - name: TableRowEntry Element for TableRowEntroes for TableControl (Format) - href: ./format/tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md + - name: TableRowEntry Element for TableRowEntries for TableControl (Format) + href: ./format/tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md - name: Text Element for CustomItem for Controls for Configuration (Format) href: ./format/text-element-for-customitem-for-controls-for-configuration-format.md - name: Text Element for CustomItem for Controls for View (Format) @@ -877,8 +877,8 @@ href: ./format/wideitem-element-for-widecontrol-format.md - name: Width Element for TableColumnHeader for TableControl (Format) href: ./format/width-element-for-tablecolumnheader-for-tablecontrol-format.md - - name: Wrap Element for TableRowEntry for TableContrl (Format) - href: ./format/wrap-element-for-tablerowentry-for-tablecontrl-format.md + - name: Wrap Element for TableRowEntry for TableControl (Format) + href: ./format/wrap-element-for-tablerowentry-for-tablecontrol-format.md - name: WrapTables Element (Format) href: ./format/wraptables-element-format.md - name: Writing Comment-Based Help Topics @@ -1005,8 +1005,6 @@ href: ./workflow/creating-a-workflow-by-using-a-windows-powershell-script.md - name: Creating a Workflow with Windows PowerShell Activities href: ./workflow/creating-a-workflow-with-windows-powershell-activities.md - - name: Extending the Windows PowerShell Workflow activity controller - href: ./workflow/extending-the-windows-powershell-workflow-activity-controller.md - name: Importing and Invoking a Windows PowerShell Workflow href: ./workflow/importing-and-invoking-a-windows-powershell-workflow.md - name: Scheduling Jobs with the Windows PowerShell API diff --git a/developer/cmdlet/activity-parameters.md b/developer/cmdlet/activity-parameters.md index 91f80e1f8076..d07b2e7a5581 100644 --- a/developer/cmdlet/activity-parameters.md +++ b/developer/cmdlet/activity-parameters.md @@ -13,215 +13,50 @@ caps.latest.revision: 5 The following table lists the recommended names and functionality for activity parameters. -Append -Data type: SwitchParameter - -Implement this parameter so that the user can add content to the end of a resource when the parameter is specified. - -CaseSensitive -Data type: SwitchParameter - -Implement this parameter so the user can require case sensitivity when the parameter is specified. - -Command -Data type: String - -Implement this parameter so the user can specify a command string to run. - -CompatibleVersion -Data type: System.Version object - -Implement this parameter so the user can specify the semantics that the cmdlet must be compatible with for compatibility with previous versions. - -Compress -Data type: SwitchParameter - -Implement this parameter so that data compression is used when the parameter is specified. - -Compress -Data type: Keyword - -Implement this parameter so that the user can specify the algorithm to use for data compression. - -Continuous -Data type: SwitchParameter - -Implement this parameter so that data is processed until the user terminates the cmdlet when the parameter is specified. If the parameter is not specified, the cmdlet processes a predefined amount of data and then terminates the operation. - -Create -Data type: SwitchParameter - -Implement this parameter to indicate that a resource is created if one does not already exist when the parameter is specified. - -Delete -Data type: SwitchParameter - -Implement this parameter so that resources are deleted when the cmdlet has completed its operation when the parameter is specified. - -Drain -Data type: SwitchParameter - -Implement this parameter to indicate that outstanding work items are processed before the cmdlet processes new data when the parameter is specified. If the parameter is not specified, the work items are processed immediately. - -Erase -Data type: Int32 - -Implement this parameter so that the user can specify the number of times a resource is erased before it is deleted. - -ErrorLevel -Data type: Int32 - -Implement this parameter so that the user can specify the level of errors to report. - -Exclude -Data type: String[] - -Implement this parameter so that the user can exclude something from an activity. For more information about how to use input filters, see [Input Filter Parameters](./input-filter-parameters.md). - -Filter -Data type: Keyword - -Implement this parameter so that the user can specify a filter that selects the resources upon which to perform the cmdlet action. For more information about how to use input filters, see [Input Filter Parameters](./input-filter-parameters.md). - -Follow -Data type: SwitchParameter - -Implement this parameter so that progress is tracked when the parameter is specified. - -Force -Data type: SwitchParameter - -Implement this parameter to indicate that the user can perform an action even if restrictions are encountered when the parameter is specified. The parameter does not allow security to be compromised. For example, this parameter lets a user overwrite a read-only file. - -Include -Data type: String[] - -Implement this parameter so that the user can include something in an activity. For more information about how to use input filters, see [Input Filter Parameters](./input-filter-parameters.md). - -Incremental -Data type: SwitchParameter - -Implement this parameter to indicate that processing is performed incrementally when the parameter is specified. For example, this parameter lets a user perform incremental backups that back up files only since the last backup. - -InputObject -Data type: Object - -Implement this parameter when the cmdlet takes input from other cmdlets. When you define an `InputObject` parameter, always specify the `ValueFromPipeline` keyword when you declare the **Parameter** attribute. For more information about using input filters, see [Input Filter Parameters](./input-filter-parameters.md). - -Insert -Data type: SwitchParameter - -Implement this parameter so that the cmdlet inserts an item when the parameter is specified. - -Interactive -Data type: SwitchParameter - -Implement this parameter so that the cmdlet works interactively with the user when the parameter is specified. - -Interval -Data type: HashTable - -Implement this parameter so that the user can specify a hash table of keywords that contains the values. The following example shows sample values for the `Interval` parameter: `-interval @{ResumeScan=15; Retry=3}`. - -Log -Data type: SwitchParameter - -Implement this parameter audit the actions of the cmdlet when the parameter is specified. - -NoClobber -Data type: SwitchParameter - -Implement this parameter so that the resource will not be overwritten when the parameter is specified. This parameter generally applies to cmdlets that create new objects so that they can be prevented from overwriting existing objects with the same name. - -Notify -Data type: SwitchParameter - -Implement this parameter so that the user will be notified that the activity is complete when the parameter is specified. - -NotifyAddress -Data type: E-mail address - -Implement this parameter so that the user can specify the e-mail address to use to send a notification when the `Notify` parameter is specified. - -Overwrite -Data type: SwitchParameter - -Implement this parameter so that the cmdlet overwrites any existing data when the parameter is specified. - -Prompt -Data type: String - -Implement this parameter so that the user can specify a prompt for the cmdlet. - -Quiet -Data type: SwitchParameter - -Implement this parameter so that the cmdlet suppresses user feedback during its actions when the parameter is specified. - -Recurse -Data type: SwitchParameter - -Implement this parameter so that the cmdlet recursively performs its actions on resources when the parameter is specified. - -Repair -Data type: SwitchParameter - -Implement this parameter so that the cmdlet will attempt to correct something from a broken state when the parameter is specified. - -RepairString -Data type: String - -Implement this parameter so that the user can specify a string to use when the `Repair` parameter is specified. - -Retry -Data type: Int32 - -Implement this parameter so the user can specify the number of times the cmdlet will attempt an action. - -Select -Data type: Keyword array - -Implement this parameter so that the user can specify an array of the types of items. - -Stream -Data type: SwitchParameter - -Implement this parameter so the user can stream multiple output objects through the pipeline when the parameter is specified. - -Strict -Data type: SwitchParameter - -Implement this parameter so that all errors are handled as terminating errors when the parameter is specified. - -TempLocation -Data type: String - -Implement this parameter so the user can specify the location of temporary data that is used during the operation of the cmdlet. - -Timeout -Data type: Int32 - -Implement this parameter so that the user can specify the timeout interval (in milliseconds). - -Truncate -Data type: SwitchParameter - -Implement this parameter so that the cmdlet will truncate its actions when the parameter is specified. If the parameter is not specified, the cmdlet performs another action. - -Verify -Data type: SwitchParameter - -Implement this parameter so that the cmdlet will test to determine whether an action has occurred when the parameter is specified. - -Wait -Data type: SwitchParameter - -Implement this parameter so that the cmdlet will wait for user input before continuing when the parameter is specified. - -WaitTime -Data type: Int32 - -Implement this parameter so that the user can specify the duration (in seconds) that the cmdlet will wait for user input when the `Wait` parameter is specified. +|Parameter|Functionality| +|---|---| +|**Append**
Data type: SwitchParameter|Implement this parameter so that the user can add content to the end of a resource when the parameter is specified.| +|**CaseSensitive**
Data type: SwitchParameter|Implement this parameter so the user can require case sensitivity when the parameter is specified.| +|**Command**
Data type: String|Implement this parameter so the user can specify a command string to run.| +|**CompatibleVersion**
Data type: System.Version object|Implement this parameter so the user can specify the semantics that the cmdlet must be compatible with for compatibility with previous versions.| +|**Compress**
Data type: SwitchParameter|Implement this parameter so that data compression is used when the parameter is specified.| +|**Compress**
Data type: Keyword|Implement this parameter so that the user can specify the algorithm to use for data compression.| +|**Continuous**
Data type: SwitchParameter|Implement this parameter so that data is processed until the user terminates the cmdlet when the parameter is specified. If the parameter is not specified, the cmdlet processes a predefined amount of data and then terminates the operation.| +|**Create**
Data type: SwitchParameter|Implement this parameter to indicate that a resource is created if one does not already exist when the parameter is specified.| +|**Delete**
Data type: SwitchParameter|Implement this parameter so that resources are deleted when the cmdlet has completed its operation when the parameter is specified.| +|**Drain**
Data type: SwitchParameter|Implement this parameter to indicate that outstanding work items are processed before the cmdlet processes new data when the parameter is specified. If the parameter is not specified, the work items are processed immediately.| +|**Erase**
Data type: Int32|Implement this parameter so that the user can specify the number of times a resource is erased before it is deleted.| +|**ErrorLevel**
Data type: Int32|Implement this parameter so that the user can specify the level of errors to report.| +|**Exclude**
Data type: String[]|Implement this parameter so that the user can exclude something from an activity. For more information about how to use input filters, see [Input Filter Parameters](input-filter-parameters.md).| +|**Filter**
Data type: Keyword|Implement this parameter so that the user can specify a filter that selects the resources upon which to perform the cmdlet action. For more information about how to use input filters, see [Input Filter Parameters](./input-filter-parameters.md).| +|**Follow**
Data type: SwitchParameter|Implement this parameter so that progress is tracked when the parameter is specified.| +|**Force**
Data type: SwitchParameter|Implement this parameter to indicate that the user can perform an action even if restrictions are encountered when the parameter is specified. The parameter does not allow security to be compromised. For example, this parameter lets a user overwrite a read-only file.| +|**Include**
Data type: String[]|Implement this parameter so that the user can include something in an activity. For more information about how to use input filters, see [Input Filter Parameters](input-filter-parameters.md).| +|**Incremental**
Data type: SwitchParameter|Implement this parameter to indicate that processing is performed incrementally when the parameter is specified. For example, this parameter lets a user perform incremental backups that back up files only since the last backup.| +|**InputObject**
Data type: Object|Implement this parameter when the cmdlet takes input from other cmdlets. When you define an **InputObject** parameter, always specify the **ValueFromPipeline** keyword when you declare the **Parameter** attribute. For more information about using input filters, see [Input Filter Parameters](./input-filter-parameters.md).| +|**Insert**
Data type: SwitchParameter|Implement this parameter so that the cmdlet inserts an item when the parameter is specified.| +|**Interactive**
Data type: SwitchParameter|Implement this parameter so that the cmdlet works interactively with the user when the parameter is specified.| +|**Interval**
Data type: HashTable|Implement this parameter so that the user can specify a hash table of keywords that contains the values. The following example shows sample values for the **Interval** parameter: `-interval @{ResumeScan=15; Retry=3}`.| +|**Log**
Data type: SwitchParameter|Implement this parameter audit the actions of the cmdlet when the parameter is specified.| +|**NoClobber**
Data type: SwitchParameter|Implement this parameter so that the resource will not be overwritten when the parameter is specified. This parameter generally applies to cmdlets that create new objects so that they can be prevented from overwriting existing objects with the same name.| +|**Notify**
Data type: SwitchParameter|Implement this parameter so that the user will be notified that the activity is complete when the parameter is specified.| +|**NotifyAddress**
Data type: Email address|Implement this parameter so that the user can specify the e-mail address to use to send a notification when the **Notify** parameter is specified.| +|**Overwrite**
Data type: SwitchParameter|Implement this parameter so that the cmdlet overwrites any existing data when the parameter is specified.| +|**Prompt**
Data type: String|Implement this parameter so that the user can specify a prompt for the cmdlet.| +|**Quiet**
Data type: SwitchParameter|Implement this parameter so that the cmdlet suppresses user feedback during its actions when the parameter is specified.| +|**Recurse**
Data type: SwitchParameter|Implement this parameter so that the cmdlet recursively performs its actions on resources when the parameter is specified.| +|**Repair**
Data type: SwitchParameter|Implement this parameter so that the cmdlet will attempt to correct something from a broken state when the parameter is specified.| +|**RepairString**
Data type: String|Implement this parameter so that the user can specify a string to use when the **Repair** parameter is specified.| +|**Retry**
Data type: Int32|Implement this parameter so the user can specify the number of times the cmdlet will attempt an action.| +|**Select**
Data type: Keyword array|Implement this parameter so that the user can specify an array of the types of items.| +|**Stream**
Data type: SwitchParameter|Implement this parameter so the user can stream multiple output objects through the pipeline when the parameter is specified.| +|**Strict**
Data type: SwitchParameter|Implement this parameter so that all errors are handled as terminating errors when the parameter is specified.| +|**TempLocation**
Data type: String|Implement this parameter so the user can specify the location of temporary data that is used during the operation of the cmdlet.| +|**Timeout**
Data type: Int32|Implement this parameter so that the user can specify the timeout interval (in milliseconds).| +|**Truncate**
Data type: SwitchParameter|Implement this parameter so that the cmdlet will truncate its actions when the parameter is specified. If the parameter is not specified, the cmdlet performs another action.| +|**Verify**
Data type: SwitchParameter|Implement this parameter so that the cmdlet will test to determine whether an action has occurred when the parameter is specified.| +|**Wait**
Data type: SwitchParameter|Implement this parameter so that the cmdlet will wait for user input before continuing when the parameter is specified. +|**WaitTime**
Data type: Int32|Implement this parameter so that the user can specify the duration (in seconds) that the cmdlet will wait for user input when the **Wait** parameter is specified.| ## See Also diff --git a/developer/cmdlet/adding-aliases-wildcard-expansion-and-help-to-cmdlet-parameters.md b/developer/cmdlet/adding-aliases-wildcard-expansion-and-help-to-cmdlet-parameters.md index 6d569abfd4e5..486e833c97fb 100644 --- a/developer/cmdlet/adding-aliases-wildcard-expansion-and-help-to-cmdlet-parameters.md +++ b/developer/cmdlet/adding-aliases-wildcard-expansion-and-help-to-cmdlet-parameters.md @@ -15,28 +15,6 @@ This section describes how to add aliases, wildcard expansion, and Help messages This Stop-Proc cmdlet attempts to stop processes that are retrieved using the Get-Proc cmdlet (described in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md)). -Topics in this section include the following: - -- [Defining the Cmdlet](#Defining-the-Cmdlet) - -- [Defining Parameters for System Modification](#Defining-Parameters-for-System-Modification) - -- [Defining a Parameter Alias](#Defining-a-Parameter-Alias) - -- [Creating Help for Parameters](#Creating-Help-for-Parameters) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Supporting Wildcard Expansion](#Supporting-Wildcard-Expansion) - -- [Code Sample](#Defining-a-Parameter-Alias) - -- [Defining Object Types and Formatting](#Define-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. Because you are writing a cmdlet to change the system, it should be named accordingly. Because this cmdlet stops system processes, it uses the verb "Stop", defined by the [System.Management.Automation.Verbslifecycle](/dotnet/api/System.Management.Automation.VerbsLifeCycle) class, with the noun "Proc" to indicate process. For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). @@ -104,7 +82,7 @@ The following code from this Stop-Proc cmdlet defines the `HelpMessage` attribut ## Overriding an Input Processing Method -Your cmdlet must override an input processing method, most often this will be [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord). When modifying the system, the cmdlet should call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods to allow the user to provide feedback before a change is made. For more information about these methods, see [Creating a Cmdlet that Modifies the System](./creating-a-cmdlet-that-modifies-the-system.md). +Your cmdlet must override an input processing method, most often this will be [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord). When modifying the system, the cmdlet should call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods to allow the user to provide feedback before a change is made. For more information about these methods, see [Creating a Cmdlet that Modifies the System](./creating-a-cmdlet-that-modifies-the-system.md). ## Supporting Wildcard Expansion diff --git a/developer/cmdlet/adding-non-terminating-error-reporting-to-your-cmdlet.md b/developer/cmdlet/adding-non-terminating-error-reporting-to-your-cmdlet.md index c47ba58d2c85..a86114769d0a 100644 --- a/developer/cmdlet/adding-non-terminating-error-reporting-to-your-cmdlet.md +++ b/developer/cmdlet/adding-non-terminating-error-reporting-to-your-cmdlet.md @@ -11,35 +11,25 @@ caps.latest.revision: 8 --- # Adding Non-Terminating Error Reporting to Your Cmdlet -Cmdlets can report nonterminating errors by calling the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method and still continue to operate on the current input object or on further incoming pipeline objects. This section explains how to create a cmdlet that reports nonterminating errors from its input processing methods. +Cmdlets can report nonterminating errors by calling the [System.Management.Automation.Cmdlet.WriteError][] method and still continue to operate on the current input object or on further incoming pipeline objects. +This section explains how to create a cmdlet that reports nonterminating errors from its input processing methods. -For nonterminating errors (as well as terminating errors), the cmdlet must pass an [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object identifying the error. Each error record is identified by a unique string called the "error identifier." In addition to the identifier, the category of each error is specified by constants defined by a [System.Management.Automation.Errorcategory](/dotnet/api/System.Management.Automation.ErrorCategory) enumeration. The user can view errors based on their category by setting the `$ErrorView` variable to "CategoryView". +For nonterminating errors (as well as terminating errors), the cmdlet must pass an [System.Management.Automation.ErrorRecord][] object identifying the error. +Each error record is identified by a unique string called the "error identifier". +In addition to the identifier, the category of each error is specified by constants defined by a [System.Management.Automation.ErrorCategory][] enumeration. +The user can view errors based on their category by setting the `$ErrorView` variable to "CategoryView". For more information about error records, see [Windows PowerShell Error Records](./windows-powershell-error-records.md). -Topics in this section include the following: - -- [Defining the Cmdlet](#Defining-the-Cmdlet) - -- [Defining Parameters](#Defining-Parameters) - -- [Overriding Input Processing Methods](#Overriding-Input-Processing-Methods) - -- [Reporting Nonterminating Errors](#Reporting-Nonterminating-Errors) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Define-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet -The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. This cmdlet retrieves process information, so the verb name chosen here is "Get". (Almost any sort of cmdlet that is capable of retrieving information can process command-line input.) For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). +The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. +This cmdlet retrieves process information, so the verb name chosen here is "Get". +(Almost any sort of cmdlet that is capable of retrieving information can process command-line input.) +For more information about approved cmdlet verbs, see [Cmdlet Verb Names](approved-verbs-for-windows-powershell-commands.md). -The following is the definition for this Get-Proc cmdlet. Details of this definition are given in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). +The following is the definition for this Get-Proc cmdlet. +Details of this definition are given in [Creating Your First Cmdlet](creating-a-cmdlet-without-parameters.md). ```csharp [Cmdlet(VerbsCommon.Get, "proc")] @@ -54,9 +44,10 @@ Public Class GetProcCommand ## Defining Parameters -If necessary, your cmdlet must define parameters for processing input. This Get-Proc cmdlet defines a `Name` parameter as described in [Adding Parameters that Process Command-Line Input](./adding-parameters-that-process-command-line-input.md). +If necessary, your cmdlet must define parameters for processing input. +This Get-Proc cmdlet defines a **Name** parameter as described in [Adding Parameters that Process Command-Line Input](adding-parameters-that-process-command-line-input.md). -Here is the parameter declaration for the `Name` parameter of this Get-Proc cmdlet. +Here is the parameter declaration for the **Name** parameter of this Get-Proc cmdlet. ```csharp [Parameter( @@ -90,16 +81,22 @@ End Property ## Overriding Input Processing Methods -All cmdlets must override at least one of the input processing methods provided by the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. These methods are discussed in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). +All cmdlets must override at least one of the input processing methods provided by the [System.Management.Automation.Cmdlet][] class. +These methods are discussed in [Creating Your First Cmdlet](creating-a-cmdlet-without-parameters.md). > [!NOTE] > Your cmdlet should handle each record as independently as possible. -This Get-Proc cmdlet overrides the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to handle the `Name` parameter for input provided by the user or a script. This method will get the processes for each requested process name or all processes if no name is provided. Details of this override are given in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). +This Get-Proc cmdlet overrides the [System.Management.Automation.Cmdlet.ProcessRecord][] method to handle the **Name** parameter for input provided by the user or a script. +This method will get the processes for each requested process name or all processes if no name is provided. +Details of this override are given in [Creating Your First Cmdlet](creating-a-cmdlet-without-parameters.md). -#### Things to Remember When Reporting Errors +### Things to Remember When Reporting Errors -The [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object that the cmdlet passes when writing an error requires an exception at its core. Follow the .NET guidelines when determining the exception to use. Basically, if the error is semantically the same as an existing exception, the cmdlet should use or derive from that exception. Otherwise, it should derive a new exception or exception hierarchy directly from the [System.Exception](/dotnet/api/System.Exception) class. +The [System.Management.Automation.ErrorRecord][] object that the cmdlet passes when writing an error requires an exception at its core. +Follow the .NET guidelines when determining the exception to use. +Basically, if the error is semantically the same as an existing exception, the cmdlet should use or derive from that exception. +Otherwise, it should derive a new exception or exception hierarchy directly from the [System.Exception][] class. When creating error identifiers (accessed through the FullyQualifiedErrorId property of the ErrorRecord class) keep the following in mind. @@ -107,29 +104,40 @@ When creating error identifiers (accessed through the FullyQualifiedErrorId prop - A well formed fully qualified error identifier might be as follows. -`CommandNotFoundException,Micrososft.PowerShell.Commands.GetCommanddCommand.` +`CommandNotFoundException,Microsoft.PowerShell.Commands.GetCommandCommand` Notice that in the previous example, the error identifier (the first token) designates what the error is and the remaining part indicates where the error came from. -- For more complex scenarios, the error identifier can be a dot separated token that can be parsed on inspection. This allows you too branch on the parts of the error identifier as well as the error identifier and error category. +- For more complex scenarios, the error identifier can be a dot separated token that can be parsed on inspection. + This allows you too branch on the parts of the error identifier as well as the error identifier and error category. -The cmdlet should assign specific error identifiers to different code paths. Keep the following information in mind for assignment of error identifiers: +The cmdlet should assign specific error identifiers to different code paths. +Keep the following information in mind for assignment of error identifiers: -- An error identifier should remain constant throughout the cmdlet life cycle. Do not change the semantics of an error identifier between cmdlet versions. +- An error identifier should remain constant throughout the cmdlet life cycle. + Do not change the semantics of an error identifier between cmdlet versions. -- Use text for an error identifier that tersely corresponds to the error being reported. Do not use white space or punctuation. +- Use text for an error identifier that tersely corresponds to the error being reported. + Do not use white space or punctuation. -- Have your cmdlet generate only error identifiers that are reproducible. For example, it should not generate an identifier that includes a process identifier. Error identifiers are useful to a user only when they correspond to identifiers that are seen by other users experiencing the same problem. +- Have your cmdlet generate only error identifiers that are reproducible. + For example, it should not generate an identifier that includes a process identifier. + Error identifiers are useful to a user only when they correspond to identifiers that are seen by other users experiencing the same problem. -Unhandled exceptions are not caught by Windows PowerShell in the following conditions: +Unhandled exceptions are not caught by PowerShell in the following conditions: -- If a cmdlet creates a new thread and code running in that thread throws an unhandled exception, Windows PowerShell will not catch the error and will terminate the process. +- If a cmdlet creates a new thread and code running in that thread throws an unhandled exception, + PowerShell will not catch the error and will terminate the process. -- If an object has code in its destructor or Dispose methods that causes an unhandled exception, Windows PowerShell will not catch the error and will terminate the process. +- If an object has code in its destructor or Dispose methods that causes an unhandled exception, + PowerShell will not catch the error and will terminate the process. ## Reporting Nonterminating Errors -Any one of the input processing methods can report a nonterminating error to the output stream using the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method. Here is a code example from this Get-Proc cmdlet that illustrates the call to [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) from within the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. In this case, the call is made if the cmdlet cannot find a process for a specified process identifier. +Any one of the input processing methods can report a nonterminating error to the output stream using the [System.Management.Automation.Cmdlet.WriteError][] method. + +Here is a code example from this Get-Proc cmdlet that illustrates the call to [System.Management.Automation.Cmdlet.WriteError][] from within the override of the [System.Management.Automation.Cmdlet.ProcessRecord][] method. +In this case, the call is made if the cmdlet cannot find a process for a specified process identifier. ```csharp protected override void ProcessRecord() @@ -169,13 +177,16 @@ protected override void ProcessRecord() } ``` -#### Things to Remember About Writing Nonterminating Errors +### Things to Remember About Writing Nonterminating Errors For a nonterminating error, the cmdlet must generate a specific error identifier for each specific input object. -A cmdlet frequently needs to modify the Windows PowerShell action produced by a nonterminating error. It can do this by defining the `ErrorAction` and `ErrorVariable` parameters. If defining the `ErrorAction` parameter, the cmdlet presents the user options [System.Management.Automation.Actionpreference](/dotnet/api/system.management.automation.actionpreference), you can also directly influence the action by setting the `$ErrorActionPreference` variable. +A cmdlet frequently needs to modify the PowerShell action produced by a nonterminating error. +It can do this by defining the `ErrorAction` and `ErrorVariable` parameters. +If defining the `ErrorAction` parameter, the cmdlet presents the user options [System.Management.Automation.ActionPreference][], you can also directly influence the action by setting the `$ErrorActionPreference` variable. -The cmdlet can save nonterminating errors to a variable using the `ErrorVariable` parameter, which is not affected by the setting of `ErrorAction`. Failures can be appended to an existing error variable by adding a plus sign (+) to the front of the variable name. +The cmdlet can save nonterminating errors to a variable using the `ErrorVariable` parameter, which is not affected by the setting of `ErrorAction`. +Failures can be appended to an existing error variable by adding a plus sign (+) to the front of the variable name. ## Code Sample @@ -183,17 +194,21 @@ For the complete C# sample code, see [GetProcessSample04 Sample](./getprocesssam ## Define Object Types and Formatting -Windows PowerShell passes information between cmdlets using .NET objects. Consequently, a cmdlet might need to define its own type, or the cmdlet might need to extend an existing type provided by another cmdlet. For more information about defining new types or extending existing types, see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). +PowerShell passes information between cmdlets using .NET objects. +Consequently, a cmdlet might need to define its own type, or the cmdlet might need to extend an existing type provided by another cmdlet. +For more information about defining new types or extending existing types, see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). ## Building the Cmdlet -After implementing a cmdlet, you must register it with Windows PowerShell through a Windows PowerShell snap-in. For more information about registering cmdlets, see [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). +After implementing a cmdlet, you must register it with Windows PowerShell through a Windows PowerShell snap-in. +For more information about registering cmdlets, see [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). ## Testing the Cmdlet -When your cmdlet has been registered with Windows PowerShell, you can test it by running it on the command line. Let's test the sample Get-Proc cmdlet to see whether it reports an error: +When your cmdlet has been registered with PowerShell, you can test it by running it on the command line. +Let's test the sample Get-Proc cmdlet to see whether it reports an error: -- Start Windows PowerShell, and use the Get-Proc cmdlet to retrieve the processes named "TEST". +- Start PowerShell, and use the Get-Proc cmdlet to retrieve the processes named "TEST". ```powershell PS> get-proc -name test @@ -222,3 +237,11 @@ The following output appears. [Windows PowerShell Reference](../windows-powershell-reference.md) [Cmdlet Samples](./cmdlet-samples.md) + +[System.Exception]: /dotnet/api/System.Exception +[System.Management.Automation.ActionPreference]: /dotnet/api/System.Management.Automation.ActionPreference +[System.Management.Automation.Cmdlet.ProcessRecord]: /dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord +[System.Management.Automation.Cmdlet.WriteError]: /dotnet/api/System.Management.Automation.Cmdlet.WriteError +[System.Management.Automation.Cmdlet]: /dotnet/api/System.Management.Automation.Cmdlet +[System.Management.Automation.ErrorCategory]: /dotnet/api/System.Management.Automation.ErrorCategory +[System.Management.Automation.ErrorRecord]: /dotnet/api/System.Management.Automation.ErrorRecord diff --git a/developer/cmdlet/adding-parameter-sets-to-a-cmdlet.md b/developer/cmdlet/adding-parameter-sets-to-a-cmdlet.md index 5e4aabb5dc05..2c3dbd041df9 100644 --- a/developer/cmdlet/adding-parameter-sets-to-a-cmdlet.md +++ b/developer/cmdlet/adding-parameter-sets-to-a-cmdlet.md @@ -13,26 +13,6 @@ caps.latest.revision: 8 --- # Adding Parameter Sets to a Cmdlet -This section describes how to add parameter sets to the Stop-Proc cmdlet (described in [Creating a Cmdlet that Modifies the System](./creating-a-cmdlet-that-modifies-the-system.md)). Similar to the other Stop-Proc cmdlets described in this Programmer's Guide, this cmdlet attempts to stop processes that are retrieved using the Get-Proc cmdlet (described in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md)). - -Topics in this section include the following: - -- [Things to Know About Parameter Sets](#Adding-Parameter-Sets-to-a-Cmdlet) - -- [Declaring the Cmdlet Class](#Declaring-the-Cmdlet-Class) - -- [Declaring the Parameters of the Cmdlet](#Declaring-the-Parameters-of-the-Cmdlet) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Code Sample](#Declaring-the-Parameters-of-the-Cmdlet) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Things to Know About Parameter Sets Windows PowerShell defines a parameter set as a group of parameters that operate together. By grouping the parameters of a cmdlet, you can create a single cmdlet that can change its functionality based on what group of parameters the user specifies. @@ -173,7 +153,7 @@ Although there must be a unique parameter for each parameter set, parameters can ## Overriding an Input Processing Method -Every cmdlet must override an input processing method, most often this will be the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. In this cmdlet, the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is overridden so that the cmdlet can process any number of processes. It contains a Select statement that calls a different method based on which parameter set the user has specified. +Every cmdlet must override an input processing method, most often this will be the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. In this cmdlet, the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is overridden so that the cmdlet can process any number of processes. It contains a Select statement that calls a different method based on which parameter set the user has specified. ```csharp protected override void ProcessRecord() diff --git a/developer/cmdlet/adding-parameters-that-process-command-line-input.md b/developer/cmdlet/adding-parameters-that-process-command-line-input.md index b1e00ae3eb50..791cbde6db07 100644 --- a/developer/cmdlet/adding-parameters-that-process-command-line-input.md +++ b/developer/cmdlet/adding-parameters-that-process-command-line-input.md @@ -20,24 +20,6 @@ caps.latest.revision: 9 One source of input for a cmdlet is the command line. This topic describes how to add a parameter to the **Get-Proc** cmdlet (which is described in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md)) so that the cmdlet can process input from the local computer based on explicit objects passed to the cmdlet. The **Get-Proc** cmdlet described here retrieves processes based on their names, and then displays information about the processes at a command prompt. -The following sections are in this topic: - -- [Defining the Cmdlet Class](#Defining-the-Cmdlet-Class) - -- [Declaring Parameters](#Declaring-Parameters) - -- [Supporting Parameter Validation](#Supporting-Parameter-Validation) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet Class The first step in cmdlet creation is cmdlet naming and the declaration of the .NET Framework class that implements the cmdlet. This cmdlet retrieves process information, so the verb name chosen here is "Get." (Almost any sort of cmdlet that is capable of retrieving information can process command-line input.) For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). @@ -141,7 +123,7 @@ public string[] Name If your cmdlet is to handle command-line input, it must override the appropriate input processing methods. The basic input processing methods are introduced in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). -The **Get-Proc** cmdlet overrides the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to handle the `Name` parameter input provided by the user or a script. This method gets the processes for each requested process name, or all for processes if no name is provided. Notice that in [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), the call to [System.Management.Automation.Cmdlet.Writeobject%28System.Object%2Csystem.Boolean%29](/dotnet/api/system.management.automation.cmdlet.writeobject?view=powershellsdk-1.1.0#System_Management_Automation_Cmdlet_WriteObject_System_Object_System_Boolean_) is the output mechanism for sending output objects to the pipeline. The second parameter of this call, `enumerateCollection`, is set to `true` to inform the Windows PowerShell runtime to enumerate the output array of process objects and write one process at a time to the command line. +The **Get-Proc** cmdlet overrides the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to handle the `Name` parameter input provided by the user or a script. This method gets the processes for each requested process name, or all for processes if no name is provided. Notice that in [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), the call to [System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29](/dotnet/api/system.management.automation.cmdlet.writeobject?view=powershellsdk-1.1.0#System_Management_Automation_Cmdlet_WriteObject_System_Object_System_Boolean_) is the output mechanism for sending output objects to the pipeline. The second parameter of this call, `enumerateCollection`, is set to `true` to inform the Windows PowerShell runtime to enumerate the output array of process objects and write one process at a time to the command line. ```csharp protected override void ProcessRecord() diff --git a/developer/cmdlet/adding-parameters-that-process-pipeline-input.md b/developer/cmdlet/adding-parameters-that-process-pipeline-input.md index 30cc8b9938d4..1d9a5297517d 100644 --- a/developer/cmdlet/adding-parameters-that-process-pipeline-input.md +++ b/developer/cmdlet/adding-parameters-that-process-pipeline-input.md @@ -8,7 +8,7 @@ ms.tgt_pltfrm: "" ms.topic: "article" helpviewer_keywords: - "cmdlets [PowerShell Programmer's Guide], pipeline input" - - "parameters [PowerShell Programer's Guide], pipeline input" + - "parameters [PowerShell Programmer's Guide], pipeline input" ms.assetid: 09bf70a9-7c76-4ffe-b3f0-a1d5f10a0931 caps.latest.revision: 8 --- @@ -18,22 +18,6 @@ One source of input for a cmdlet is an object on the pipeline that originates fr This Get-Proc cmdlet uses a `Name` parameter that accepts input from a pipeline object, retrieves process information from the local computer based on the supplied names, and then displays information about the processes at the command line. -Topics in this section include the following: - -- [Defining the Cmdlet Class](#Defining-the-Cmdlet-Class) - -- [Defining Input from the Pipeline](#Defining-Input-from-the-Pipeline) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet Class The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. This cmdlet retrieves process information, so the verb name chosen here is "Get". (Almost any sort of cmdlet that is capable of retrieving information can process command-line input.) For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). @@ -87,7 +71,7 @@ The previous declaration sets the `ValueFromPipeline` keyword to `true` so that If your cmdlet is to handle pipeline input, it needs to override the appropriate input processing methods. The basic input processing methods are introduced in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). -This Get-Proc cmdlet overrides the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to handle the `Name` parameter input provided by the user or a script. This method will get the processes for each requested process name or all processes if no name is provided. Notice that within [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), the call to [System.Management.Automation.Cmdlet.Writeobject%28System.Object%2Csystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) is the output mechanism for sending output objects to the pipeline. The second parameter of this call, `enumerateCollection`, is set to `true` to tell the Windows PowerShell runtime to enumerate the array of process objects, and write one process at a time to the command line. +This Get-Proc cmdlet overrides the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to handle the `Name` parameter input provided by the user or a script. This method will get the processes for each requested process name or all processes if no name is provided. Notice that within [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), the call to [System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) is the output mechanism for sending output objects to the pipeline. The second parameter of this call, `enumerateCollection`, is set to `true` to tell the Windows PowerShell runtime to enumerate the array of process objects, and write one process at a time to the command line. ```csharp protected override void ProcessRecord() diff --git a/developer/cmdlet/adding-user-messages-to-your-cmdlet.md b/developer/cmdlet/adding-user-messages-to-your-cmdlet.md index e41a3996a96d..236d6e640d56 100644 --- a/developer/cmdlet/adding-user-messages-to-your-cmdlet.md +++ b/developer/cmdlet/adding-user-messages-to-your-cmdlet.md @@ -46,37 +46,11 @@ Cmdlets can write several kinds of messages that can be displayed to the user by There are no limits to the number of messages that your cmdlet can write or the type of messages that your cmdlet writes. Each message is written by making a specific call from within the input processing method of your cmdlet. -## The StopProc Cmdlet - -Topics in this section include the following: - -- [Defining the Cmdlet](#Defining-the-Cmdlet) - -- [Defining Parameters for System Modification](#Defining-Parameters-for-System-Modification) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Writing a Verbose Message](#Writing-a-Verbose-Message) - -- [Writing a Debug Message](#Writing-a-Debug-Message) - -- [Writing a Warning Message](#Writing-a-Warning-Message) - -- [Writing a Progress Message](#Writing-a-Progress-Message) - -- [Code Sample](#Code-Sample) - -- [Define Object Types and Formatting](#Define-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. Any sort of cmdlet can write user notifications from its input processing methods; so, in general, you can name this cmdlet using any verb that indicates what system modifications the cmdlet performs. For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). -The Stop-Proc cmdlet is designed to modify the system; therefore, the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) declaration for the .NET class must include the `SupportsShouldProcess` attribute keyword and be set to `true`. +The Stop-Proc cmdlet is designed to modify the system; therefore, the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) declaration for the .NET class must include the `SupportsShouldProcess` attribute keyword and be set to `true`. The following code is the definition for this Stop-Proc cmdlet class. For more information about this definition, see [Creating a Cmdlet that Modifies the System](./creating-a-cmdlet-that-modifies-the-system.md). @@ -135,16 +109,16 @@ private bool passThru; ## Overriding an Input Processing Method -Your cmdlet must override an input processing method, most often it will be [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord). This Stop-Proc cmdlet overrides the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) input processing method. In this implementation of the Stop-Proc cmdlet, calls are made to write verbose messages, debug messages, and warning messages. +Your cmdlet must override an input processing method, most often it will be [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord). This Stop-Proc cmdlet overrides the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) input processing method. In this implementation of the Stop-Proc cmdlet, calls are made to write verbose messages, debug messages, and warning messages. > [!NOTE] -> For more information about how this method calls the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods, see [Creating a Cmdlet that Modifies the System](./creating-a-cmdlet-that-modifies-the-system.md). +> For more information about how this method calls the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods, see [Creating a Cmdlet that Modifies the System](./creating-a-cmdlet-that-modifies-the-system.md). ## Writing a Verbose Message -The [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method is used to write general user-level information that is unrelated to specific error conditions. The system administrator can then use that information to continue processing other commands. In addition, any information written using this method should be localized as needed. +The [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method is used to write general user-level information that is unrelated to specific error conditions. The system administrator can then use that information to continue processing other commands. In addition, any information written using this method should be localized as needed. -The following code from this Stop-Proc cmdlet shows two calls to the [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method from the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. +The following code from this Stop-Proc cmdlet shows two calls to the [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method from the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. ```csharp message = String.Format("Attempting to stop process \"{0}\".", name); @@ -160,14 +134,14 @@ WriteVerbose(message); ## Writing a Debug Message -The [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method is used to write debug messages that can be used to troubleshoot the operation of the cmdlet. The call is made from an input processing method. +The [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method is used to write debug messages that can be used to troubleshoot the operation of the cmdlet. The call is made from an input processing method. > [!NOTE] -> Windows PowerShell also defines a `Debug` parameter that presents both verbose and debug information. If your cmdlet supports this parameter, it does not need to call [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) in the same code that calls [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose). +> Windows PowerShell also defines a `Debug` parameter that presents both verbose and debug information. If your cmdlet supports this parameter, it does not need to call [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) in the same code that calls [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose). -The following two sections of code from the sample Stop-Proc cmdlet show calls to the [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method from the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. +The following two sections of code from the sample Stop-Proc cmdlet show calls to the [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method from the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. -This debug message is written immediately before [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) is called. +This debug message is written immediately before [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) is called. ```csharp message = @@ -176,7 +150,7 @@ message = WriteDebug(message); ``` -This debug message is written immediately before [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) is called. +This debug message is written immediately before [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) is called. ```csharp message = @@ -186,15 +160,15 @@ WriteDebug(message); WriteObject(process); ``` -Windows PowerShell automatically routes any [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) calls to the tracing infrastructure and cmdlets. This allows the method calls to be traced to the hosting application, a file, or a debugger without your having to do any extra development work within the cmdlet. The following command-line entry implements a tracing operation. +Windows PowerShell automatically routes any [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) calls to the tracing infrastructure and cmdlets. This allows the method calls to be traced to the hosting application, a file, or a debugger without your having to do any extra development work within the cmdlet. The following command-line entry implements a tracing operation. **PS> trace-expression stop-proc -file proc.log -command stop-proc notepad** ## Writing a Warning Message -The [System.Management.Automation.Cmdlet.Writewarning*](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method is used to write a warning when the cmdlet is about to perform an operation that might have an unexpected result, for example, overwriting a read-only file. +The [System.Management.Automation.Cmdlet.WriteWarning](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method is used to write a warning when the cmdlet is about to perform an operation that might have an unexpected result, for example, overwriting a read-only file. -The following code from the sample Stop-Proc cmdlet shows the call to the [System.Management.Automation.Cmdlet.Writewarning*](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method from the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. +The following code from the sample Stop-Proc cmdlet shows the call to the [System.Management.Automation.Cmdlet.WriteWarning](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method from the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. ```csharp if (criticalProcess) @@ -208,10 +182,10 @@ The following code from the sample Stop-Proc cmdlet shows the call to the [Syste ## Writing a Progress Message -The [System.Management.Automation.Cmdlet.Writeprogress*](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) is used to write progress messages when cmdlet operations take an extended amount of time to complete. A call to [System.Management.Automation.Cmdlet.Writeprogress*](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) passes a [System.Management.Automation.Progressrecord](/dotnet/api/System.Management.Automation.ProgressRecord) object that is sent to the hosting application for rendering to the user. +The [System.Management.Automation.Cmdlet.WriteProgress](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) is used to write progress messages when cmdlet operations take an extended amount of time to complete. A call to [System.Management.Automation.Cmdlet.WriteProgress](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) passes a [System.Management.Automation.Progressrecord](/dotnet/api/System.Management.Automation.ProgressRecord) object that is sent to the hosting application for rendering to the user. > [!NOTE] -> This Stop-Proc cmdlet does not include a call to the [System.Management.Automation.Cmdlet.Writeprogress*](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) method. +> This Stop-Proc cmdlet does not include a call to the [System.Management.Automation.Cmdlet.WriteProgress](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) method. The following code is an example of a progress message written by a cmdlet that is attempting to copy an item. diff --git a/developer/cmdlet/advisory-development-guidelines.md b/developer/cmdlet/advisory-development-guidelines.md index a475bbe2936f..d9f5f5dffb1f 100644 --- a/developer/cmdlet/advisory-development-guidelines.md +++ b/developer/cmdlet/advisory-development-guidelines.md @@ -15,32 +15,6 @@ This section describes guidelines that you should consider to ensure good develo ## Design Guidelines -- [Support an InputObject Parameter (AD01)](./advisory-development-guidelines.md#AD01) - -- [Support the Force Parameter (AD02)](./advisory-development-guidelines.md#AD02) - -- [Handle Credentials Through Windows PowerShell (AD03)](./advisory-development-guidelines.md#AD03) - -- [Support Encoding Parameters (AD04)](./advisory-development-guidelines.md#AD04) - -- [Test Cmdlets Should Return a Boolean (AD05)](./advisory-development-guidelines.md#AD05) - -## Code Guidelines - -- [Follow Cmdlet Class Naming Conventions (AC01)](./advisory-development-guidelines.md#AC01) - -- [If No Pipeline Input Override the BeginProcessing Method (AC02)](./advisory-development-guidelines.md#AC02) - -- [To Handle Stop Requests Override the StopProcessing Method (AC03)](./advisory-development-guidelines.md#AC03) - -- [Implement the IDisposable Interface (AC04)](./advisory-development-guidelines.md#AC04) - -- [Use Serialization-friendly Parameter Types (AC05)](./advisory-development-guidelines.md#AC05) - -- [Use SecureString for Sensitive Data (AC06)](./advisory-development-guidelines.md#AC06) - -## Design Guidelines - The following guidelines should be considered when designing cmdlets. When you find a Design guideline that applies to your situation, be sure to look at the Code guidelines for similar guidelines. ### Support an InputObject Parameter (AD01) @@ -55,7 +29,7 @@ For example, the [Remove-Item](/powershell/module/microsoft.powershell.managemen ### Handle Credentials Through Windows PowerShell (AD03) -A cmdlet should define a `Credential` parameter to represent credentials. This parameter must be of type [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) and must be defined using a Credential attribute declaration. This support automatically prompts the user for the user name, for the password, or for both when a full credential is not supplied directly. For more information about the Credential attribute, see [Credential Attribute Declaration](./credential-attribute-declaration.md). +A cmdlet should define a `Credential` parameter to represent credentials. This parameter must be of type [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) and must be defined using a Credential attribute declaration. This support automatically prompts the user for the user name, for the password, or for both when a full credential is not supplied directly. For more information about the Credential attribute, see [Credential Attribute Declaration](./credential-attribute-declaration.md). ### Support Encoding Parameters (AD04) @@ -83,17 +57,17 @@ When you name the .NET Framework class that implements a cmdlet, name the class ### If No Pipeline Input Override the BeginProcessing Method (AC02) -If your cmdlet does not accept input from the pipeline, processing should be implemented in the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method. Use of this method allows Windows PowerShell to maintain ordering between cmdlets. The first cmdlet in the pipeline always returns its objects before the remaining cmdlets in the pipeline get a chance to start their processing. +If your cmdlet does not accept input from the pipeline, processing should be implemented in the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method. Use of this method allows Windows PowerShell to maintain ordering between cmdlets. The first cmdlet in the pipeline always returns its objects before the remaining cmdlets in the pipeline get a chance to start their processing. ### To Handle Stop Requests Override the StopProcessing Method (AC03) -Override the [System.Management.Automation.Cmdlet.Stopprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.StopProcessing) method so that your cmdlet can handle stop signal. Some cmdlets take a long time to complete their operation, and they let a long time pass between calls to the Windows PowerShell runtime, such as when the cmdlet blocks the thread in long-running RPC calls. This includes cmdlets that make calls to the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method, to the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method, and to other feedback mechanisms that may take a long time to complete. For these cases the user might need to send a stop signal to these cmdlets. +Override the [System.Management.Automation.Cmdlet.StopProcessing](/dotnet/api/System.Management.Automation.Cmdlet.StopProcessing) method so that your cmdlet can handle stop signal. Some cmdlets take a long time to complete their operation, and they let a long time pass between calls to the Windows PowerShell runtime, such as when the cmdlet blocks the thread in long-running RPC calls. This includes cmdlets that make calls to the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method, to the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method, and to other feedback mechanisms that may take a long time to complete. For these cases the user might need to send a stop signal to these cmdlets. ### Implement the IDisposable Interface (AC04) -If your cmdlet has objects that are not disposed of (written to the pipeline) by the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, your cmdlet might require additional object disposal. For example, if your cmdlet opens a file handle in its [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method and keeps the handle open for use by the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, this handle has to be closed at the end of processing. +If your cmdlet has objects that are not disposed of (written to the pipeline) by the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, your cmdlet might require additional object disposal. For example, if your cmdlet opens a file handle in its [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method and keeps the handle open for use by the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, this handle has to be closed at the end of processing. -The Windows PowerShell runtime does not always call the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. For example, the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method might not be called if the cmdlet is canceled midway through its operation or if a terminating error occurs in any part of the cmdlet. Therefore, the .NET Framework class for a cmdlet that requires object cleanup should implement the complete [System.Idisposable](/dotnet/api/System.IDisposable) interface pattern, including the finalizer, so that the Windows PowerShell runtime can call both the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) and [System.Idisposable.Dispose*](/dotnet/api/System.IDisposable.Dispose) methods at the end of processing. +The Windows PowerShell runtime does not always call the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. For example, the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method might not be called if the cmdlet is canceled midway through its operation or if a terminating error occurs in any part of the cmdlet. Therefore, the .NET Framework class for a cmdlet that requires object cleanup should implement the complete [System.IDisposable](/dotnet/api/System.IDisposable) interface pattern, including the finalizer, so that the Windows PowerShell runtime can call both the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) and [System.IDisposable.Dispose*](/dotnet/api/System.IDisposable.Dispose) methods at the end of processing. ### Use Serialization-friendly Parameter Types (AC05) @@ -111,7 +85,7 @@ Built-in rehydratable types: - PSPrimitiveDictionary -- SwitchParmeter +- SwitchParameter - PSListModifier diff --git a/developer/cmdlet/approved-verbs-for-windows-powershell-commands.md b/developer/cmdlet/approved-verbs-for-windows-powershell-commands.md index fc6f166f5bc2..b9ace0f91b4c 100644 --- a/developer/cmdlet/approved-verbs-for-windows-powershell-commands.md +++ b/developer/cmdlet/approved-verbs-for-windows-powershell-commands.md @@ -88,7 +88,7 @@ The following table lists most of the defined verbs. |[Exit](/dotnet/api/System.Management.Automation.VerbsCommon.Exit) (ex)|Sets the current environment or context to the most recently used context. For example, the `Exit-PSSession` cmdlet places the user in the session that was used to start the interactive session. This verb is paired with `Enter`.|For this action, do not use verbs such as Pop or Out.| |[Find](/dotnet/api/System.Management.Automation.VerbsCommon.Find) (fd)|Looks for an object in a container that is unknown, implied, optional, or specified.|| |[Format](/dotnet/api/System.Management.Automation.VerbsCommon.Format) (f)|Arranges objects in a specified form or layout.|| -|[Get](/dotnet/api/System.Management.Automation.VerbsCommon.Get) (g)|Specifies an action that retrieves a resource. This verb is paired with `Set`.|For this action, do not use verbs such as Read, Open, Cat, Type, Dir, Obtain, Dump, Acquire, Examine, Find, or Search for this action.| +|[Get](/dotnet/api/System.Management.Automation.VerbsCommon.Get) (g)|Specifies an action that retrieves a resource. This verb is paired with `Set`.|For this action, do not use verbs such as Read, Open, Cat, Type, Dir, Obtain, Dump, Acquire, Examine, Find, or Search.| |[Hide](/dotnet/api/System.Management.Automation.VerbsCommon.Hide) (h)|Makes a resource undetectable. For example, a cmdlet whose name includes the Hide verb might conceal a service from a user. This verb is paired with `Show`.|For this action, do not use a verb such as Block.| |[Join](/dotnet/api/System.Management.Automation.VerbsCommon.Join) (j)|Combines resources into one resource. For example, the `Join-Path` cmdlet combines a path with one of its child paths to create a single path. This verb is paired with `Split`.|For this action, do not use verbs such as Combine, Unite, Connect, or Associate.| |[Lock](/dotnet/api/System.Management.Automation.VerbsCommon.Lock) (lk)|Secures a resource. This verb is paired with `Unlock`.|For this action, do not use verbs such as Restrict or Secure.| @@ -140,10 +140,10 @@ The following table lists most of the defined verbs. |[Compare](/dotnet/api/System.Management.Automation.VerbsData.Compare) (cr)|Evaluates the data from one resource against the data from another resource.|For this action, do not use a verb such as Diff.| |[Compress](/dotnet/api/System.Management.Automation.VerbsData.Compress) (cm)|Compacts the data of a resource. Pairs with `Expand`.|For this action, do not use a verb such as Compact.| |[Convert](/dotnet/api/System.Management.Automation.VerbsData.Convert) (cv)|Changes the data from one representation to another when the cmdlet supports bidirectional conversion or when the cmdlet supports conversion between multiple data types.|For this action, do not use verbs such as Change, Resize, or Resample.| -|[Convertfrom](/dotnet/api/System.Management.Automation.VerbsData.ConvertFrom) (cf)|Converts one primary type of input (the cmdlet noun indicates the input) to one or more supported output types.|For this action, do not use verbs such as Export, Output, or Out.| -|[Convertto](/dotnet/api/System.Management.Automation.VerbsData.ConvertTo) (ct)|Converts from one or more types of input to a primary output type (the cmdlet noun indicates the output type).|For this action, do not use verbs such as Import, Input, or In.| +|[ConvertFrom](/dotnet/api/System.Management.Automation.VerbsData.ConvertFrom) (cf)|Converts one primary type of input (the cmdlet noun indicates the input) to one or more supported output types.|For this action, do not use verbs such as Export, Output, or Out.| +|[ConvertTo](/dotnet/api/System.Management.Automation.VerbsData.ConvertTo) (ct)|Converts from one or more types of input to a primary output type (the cmdlet noun indicates the output type).|For this action, do not use verbs such as Import, Input, or In.| |[Dismount](/dotnet/api/System.Management.Automation.VerbsData.Dismount) (dm)|Detaches a named entity from a location. This verb is paired with `Mount`.|For this action, do not use verbs such as Unmount or Unlink.| -|[Edit](/dotnet/api/System.Management.Automation.VerbsData.Edit) (ed)|Modifies existing data by adding or removing content.|For this action, do not use verbs such as Change, Update, or Modify for this action.| +|[Edit](/dotnet/api/System.Management.Automation.VerbsData.Edit) (ed)|Modifies existing data by adding or removing content.|For this action, do not use verbs such as Change, Update, or Modify.| |[Expand](/dotnet/api/System.Management.Automation.VerbsData.Expand) (en)|Restores the data of a resource that has been compressed to its original state. This verb is paired with `Compress`.|For this action, do not use verbs such as Explode or Uncompress.| |[Export](/dotnet/api/System.Management.Automation.VerbsData.Export) (ep)|Encapsulates the primary input into a persistent data store, such as a file, or into an interchange format. This verb is paired with `Import`.|For this action, do not use verbs such as Extract or Backup.| |[Group](/dotnet/api/System.Management.Automation.VerbsData.Group) (gp)|Arranges or associates one or more resources.|For this action, do not use verbs such as Aggregate, Arrange, Associate, or Correlate.| diff --git a/developer/cmdlet/attribute-types.md b/developer/cmdlet/attribute-types.md index 149b168bba9e..56b9679a067e 100644 --- a/developer/cmdlet/attribute-types.md +++ b/developer/cmdlet/attribute-types.md @@ -11,37 +11,55 @@ caps.latest.revision: 6 --- # Attribute Types -Cmdlet attributes can be grouped by functionality. The following sections describe the available attributes and describe what the runtime does when the attribute is invoked. +Cmdlet attributes can be grouped by functionality. +The following sections describe the available attributes and describe what the runtime does when the attribute is invoked. ## Cmdlet Attributes -Cmdlet -Identifies a .NET Framework class as a cmdlet. This is the required base attribute.For more information about the syntax and parameters of this attribute, see[Cmdlet Attribute Declaration](./cmdlet-attribute-declaration.md). +### Cmdlet + +Identifies a .NET Framework class as a cmdlet. +This is the required base attribute. +For more information, see [Cmdlet Attribute Declaration](./cmdlet-attribute-declaration.md). ## Parameter Attributes -Parameter -Identifies a public property in the cmdlet class as a cmdlet parameter. For more information about the syntax and parameters of this attribute, see[Parameter Attribute Declaration](./parameter-attribute-declaration.md). +### Parameter + +Identifies a public property in the cmdlet class as a cmdlet parameter. +For more information, see [Parameter Attribute Declaration](./parameter-attribute-declaration.md). -Alias -Specifies one or more aliases for a parameter. For more information about aliases, see [Cmdlet Aliases](./cmdlet-aliases.md).For more information about the syntax and parameters of this attribute, see[AliasAttribute Declaration](./alias-attribute-declaration.md). +### Alias + +Specifies one or more aliases for a parameter. +For more information, see [Alias Attribute Declaration](./alias-attribute-declaration.md). ## Argument Validation Attributes -ValidateCount -Specifies the minimum and maximum number of arguments that are allowed for a cmdlet parameter. For more information about the syntax and parameters of this attribute, see[ValidateCount Attribute Declaration](./validatecount-attribute-declaration.md). +### ValidateCount + +Specifies the minimum and maximum number of arguments that are allowed for a cmdlet parameter. +For more information, see [ValidateCount Attribute Declaration](./validatecount-attribute-declaration.md). + +### ValidateLength + +Specifies a minimum and maximum number of characters for a cmdlet parameter argument. +For more information, see [ValidateLength Attribute Declaration](./validatelength-attribute-declaration.md). + +### ValidatePattern + +Specifies a regular expression pattern that the cmdlet parameter argument must match. +For more information, see [ValidatePattern Attribute Declaration](./validatepattern-attribute-declaration.md). -ValidateLength -Specifies a minimum and maximum number of characters for a cmdlet parameter argument. For more information about the syntax and parameters of this attribute, see[ValidateLength Attribute Declaration](./validatelength-attribute-declaration.md). +### ValidateRange -ValidatePattern -Specifies a regular expression pattern that the cmdlet parameter argument must match. For more information about the syntax and parameters of this attribute, see[ValidatePattern Attribute Declaration](./validatepattern-attribute-declaration.md). +Specifies the minimum and maximum values for a cmdlet parameter argument. +For more information, see [ValidateRange Attribute Declaration](./validaterange-attribute-declaration.md). -ValidateRange -Specifies the minimum and maximum values for a cmdlet parameter argument. For more information about the syntax and parameters of this attribute, see[ValidateRange Attribute Declaration](./validaterange-attribute-declaration.md). +### ValidateSet -ValidateSet -Specifies a set of valid values for the cmdlet parameter argument. For more information about the syntax and parameters of this attribute, see[ValidateSet Attribute Declaration](./validateset-attribute-declaration.md). +Specifies a set of valid values for the cmdlet parameter argument. +For more information, see [ValidateSet Attribute Declaration](./validateset-attribute-declaration.md). ## See Also diff --git a/developer/cmdlet/background-jobs.md b/developer/cmdlet/background-jobs.md index 5ab02a25ef5f..46c62bc5f58a 100644 --- a/developer/cmdlet/background-jobs.md +++ b/developer/cmdlet/background-jobs.md @@ -15,7 +15,6 @@ Cmdlets can perform their action internally or as a Windows PowerShell*backgroun ## Background Jobs, Child Jobs, and the Job Repository -The job object that is returned by the cmdlets that support background jobs defines the job. (The [Start-Job](/powershell/module/Microsoft.PowerShell.Core/Start-Job) cmdlet also returns a job object.) The name of the job, an identifier that is used to specify the job, the state information, and the child jobs are included in this definition. The job does not perform any of the work. Each background job has at least one child job because the child job performs the actual work. When you run a cmdlet so that the work is performed as a background job, the cmdlet must add the job and the child jobs to a common repository, referred to as the *job repository*. The job object that is returned by the cmdlets that support background jobs defines the job. (The [Start-Job](/powershell/module/Microsoft.PowerShell.Core/Start-Job) cmdlet also returns a job object.) The name of the job, an identifier that is used to specify the job, the state information, and the child jobs are included in this definition. The job does not perform any of the work. Each background job has at least one child job because the child job performs the actual work. When you run a cmdlet so that the work is performed as a background job, the cmdlet must add the job and the child jobs to a common repository, referred to as the *job repository*. For more information about how background jobs are handled at the command line, see the following: diff --git a/developer/cmdlet/cmdlet-attribute-declaration.md b/developer/cmdlet/cmdlet-attribute-declaration.md index 6c052d2db168..3aaf6611acd5 100644 --- a/developer/cmdlet/cmdlet-attribute-declaration.md +++ b/developer/cmdlet/cmdlet-attribute-declaration.md @@ -20,7 +20,7 @@ The Cmdlet attribute identifies a Microsoft .NET Framework class as a cmdlet and ## Syntax ```csharp -[Cmdlet("verbName", "nounName"] +[Cmdlet("verbName", "nounName")] [Cmdlet("verbName", "nounName", Named Parameters...)] ``` @@ -30,13 +30,13 @@ The Cmdlet attribute identifies a Microsoft .NET Framework class as a cmdlet and Required. Specifies the cmdlet verb. This verb specifies the action taken by the cmdlet. For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md) and [Required Development Guidelines](./required-development-guidelines.md). `NounName` ([System.String](/dotnet/api/System.String)) -Required. Specifies the cmdlet noun. This noun specifies the resource that the cmdlet acts upon. For more information about about cmdlet nouns, see [Cmdlet Declaration](./cmdlet-class-declaration.md) and [Strongly Encouraged Development Guidelines](./strongly-encouraged-development-guidelines.md). +Required. Specifies the cmdlet noun. This noun specifies the resource that the cmdlet acts upon. For more information about cmdlet nouns, see [Cmdlet Declaration](./cmdlet-class-declaration.md) and [Strongly Encouraged Development Guidelines](./strongly-encouraged-development-guidelines.md). `SupportsShouldProcess` ([System.Boolean](/dotnet/api/System.Boolean)) -Optional named parameter. `True` indicates that the cmdlet supports calls to the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method, which provides the cmdlet with a way to prompt the user before an action that changes the system is performed. `False`, the default value, indicates that the cmdlet does not support calls to the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. For more information about confirmation requests, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). +Optional named parameter. `True` indicates that the cmdlet supports calls to the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method, which provides the cmdlet with a way to prompt the user before an action that changes the system is performed. `False`, the default value, indicates that the cmdlet does not support calls to the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. For more information about confirmation requests, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). `ConfirmImpact` ([System.Management.Automation.Confirmimpact](/dotnet/api/System.Management.Automation.ConfirmImpact)) -Optional named parameter. Specifies when the action of the cmdlet should be confirmed by a call to the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) will only be called when the ConfirmImpact value of the cmdlet (by default, Medium) is equal to or greater than the value of the `$ConfirmPreference` variable. This parameter should be specified only when the `SupportsShouldProcess` parameter is specified. +Optional named parameter. Specifies when the action of the cmdlet should be confirmed by a call to the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) will only be called when the ConfirmImpact value of the cmdlet (by default, Medium) is equal to or greater than the value of the `$ConfirmPreference` variable. This parameter should be specified only when the `SupportsShouldProcess` parameter is specified. `DefaultParameterSetName` ([System.String](/dotnet/api/System.String)) Optional named parameter. Specifies the default parameter set that the Windows PowerShell runtime attempts to use when it cannot determine which parameter set to use. Notice that this situation can be eliminated by making the unique parameter of each parameter set a mandatory parameter. @@ -54,9 +54,9 @@ Optional named parameter. `True` indicates that the cmdlet can be used within a **VerbName-NounName** -- All cmdlets that change resources outside of Windows PowerShell should include the `SupportsShouldProcess` keyword when the Cmdlet attribute is declared, which allows the cmdlet to call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method before the cmdlet performs its action. If the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call returns `false`, the action should not be taken. For more information about the confirmation requests generated by the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). +- All cmdlets that change resources outside of Windows PowerShell should include the `SupportsShouldProcess` keyword when the Cmdlet attribute is declared, which allows the cmdlet to call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method before the cmdlet performs its action. If the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call returns `false`, the action should not be taken. For more information about the confirmation requests generated by the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). -The `Confirm` and `WhatIf` cmdlet parameters are available only for cmdlets that support [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) calls. +The `Confirm` and `WhatIf` cmdlet parameters are available only for cmdlets that support [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) calls. ## Example diff --git a/developer/cmdlet/cmdlet-attributes.md b/developer/cmdlet/cmdlet-attributes.md index 26cd56b118e9..0d470c293af0 100644 --- a/developer/cmdlet/cmdlet-attributes.md +++ b/developer/cmdlet/cmdlet-attributes.md @@ -31,7 +31,7 @@ Describes how to define aliases for a cmdlet parameter name. Describes how to define a .NET Framework class as a cmdlet. [Credential Attribute Declaration](./credential-attribute-declaration.md) -Describes how to add support for converting string input into a [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object. +Describes how to add support for converting string input into a [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) object. [OutputType attribute Declaration](./outputtype-attribute-declaration.md) Describes how to specify the .NET Framework types returned by the cmdlet. diff --git a/developer/cmdlet/cmdlet-class-declaration.md b/developer/cmdlet/cmdlet-class-declaration.md index d592d2f579d2..5cdc3125f975 100644 --- a/developer/cmdlet/cmdlet-class-declaration.md +++ b/developer/cmdlet/cmdlet-class-declaration.md @@ -17,7 +17,7 @@ caps.latest.revision: 14 A Microsoft .NET Framework class is declared as a cmdlet by specifying the **Cmdlet** attribute as metadata for the class. (The **Cmdlet** attribute is the only required attribute for all cmdlets). When you specify the **Cmdlet** attribute, you must specify the verb-and-noun pair that identifies the cmdlet to the user. And, you must describe the Windows PowerShell functionality that the cmdlet supports. For more information about the declaration syntax that is used to specify the **Cmdlet** attribute, see [Cmdlet Attribute Declaration](./cmdlet-attribute-declaration.md). > [!NOTE] -> The **Cmdlet** attribute is defined by the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) class. The properties of this class correspond to the declaration parameters that are used when you declare the attribute. +> The **Cmdlet** attribute is defined by the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) class. The properties of this class correspond to the declaration parameters that are used when you declare the attribute. ## Nouns @@ -51,7 +51,7 @@ When you name cmdlets, use Pascal casing. For example, the `Get-Item` and `Get-I ## See Also -[System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) +[System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) [CmdletAttribute Declaration](./cmdlet-attribute-declaration.md) diff --git a/developer/cmdlet/cmdlet-error-reporting.md b/developer/cmdlet/cmdlet-error-reporting.md index 305dd55abbdf..172576c0cd3f 100644 --- a/developer/cmdlet/cmdlet-error-reporting.md +++ b/developer/cmdlet/cmdlet-error-reporting.md @@ -37,7 +37,7 @@ The following guidelines can be used to determine if an error condition is a ter ## Reporting Nonterminating Errors -The reporting of a nonterminating error should always be done within the cmdlet's implementation of the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method, the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, or the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. These types of errors are reported by calling the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method that in turn sends an error record to the error stream. +The reporting of a nonterminating error should always be done within the cmdlet's implementation of the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method, the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, or the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. These types of errors are reported by calling the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method that in turn sends an error record to the error stream. ## Reporting Terminating Errors @@ -47,7 +47,7 @@ You can also define your own exceptions for issues specific to your situation, o ## Error Records -Windows PowerShell describes a nonterminating error condition through the use of [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) objects. Each [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object provides error category information, an optional target object, and details about the error condition. +Windows PowerShell describes a nonterminating error condition through the use of [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) objects. Each [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object provides error category information, an optional target object, and details about the error condition. ### Error Identifiers @@ -55,7 +55,7 @@ The error identifier is a simple string that identifies the error condition with The following guidelines should be followed when specifying error identifiers. -- Assign different, highly specific, error identifiers to different code paths. Each code path that calls [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) should have its own error identifier. +- Assign different, highly specific, error identifiers to different code paths. Each code path that calls [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) should have its own error identifier. - Error identifiers should be unique to CLR exception types for both terminating and nonterminating errors. diff --git a/developer/cmdlet/cmdlet-input-processing-methods.md b/developer/cmdlet/cmdlet-input-processing-methods.md index 977c401f7196..db146f9c5963 100644 --- a/developer/cmdlet/cmdlet-input-processing-methods.md +++ b/developer/cmdlet/cmdlet-input-processing-methods.md @@ -13,77 +13,73 @@ caps.latest.revision: 12 --- # Cmdlet Input Processing Methods -Cmdlets must override one or more of the input processing methods described in this topic to perform their work. These methods allow the cmdlet to perform pre-processing operations, input processing operations, and post-processing operations. These methods also allow you to stop cmdlet processing. +Cmdlets must override one or more of the input processing methods described in this topic to perform their work. +These methods allow the cmdlet to perform operations of pre-processing, input processing, and post-processing. +These methods also allow you to stop cmdlet processing. +For a more detailed example of how to use these methods, see [SelectStr Tutorial](selectstr-tutorial.md). -## Pre-Processing Tasks +## Pre-Processing Operations -Cmdlets should override the [System.Management.Automation.Cmdlet.Beginprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.beginprocessing?view=powershellsdk-1.1.0) method to add any preprocessing operations that are valid for all the records that will be processed later by the cmdlet. When Windows PowerShell processes a command pipeline, Windows PowerShell calls this method once for each instance of the cmdlet in the pipeline. For more information about how Windows PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](https://msdn.microsoft.com/en-us/3202f55c-314d-4ac3-ad78-4c7ca72253c5). +Cmdlets should override the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method to add any preprocessing operations that are valid for all the records that will be processed later by the cmdlet. +When PowerShell processes a command pipeline, PowerShell calls this method once for each instance of the cmdlet in the pipeline. +For more information about how PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](/previous-versions/ms714429(v=vs.85)). -The following code shows an implementation of the [System.Management.Automation.Cmdlet.Beginprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.beginprocessing?view=powershellsdk-1.1.0) method. +The following code shows an implementation of the BeginProcessing method. ```csharp protected override void BeginProcessing() { - // Replace the WriteObject method with the logic required - // by your cmdlet. It is used here to generate the following - // output: - // "This is a test of the BeginProcessing template." + // Replace the WriteObject method with the logic required by your cmdlet. WriteObject("This is a test of the BeginProcessing template."); } ``` -For a more detailed example of how to use the [System.Management.Automation.Cmdlet.Beginprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.beginprocessing?view=powershellsdk-1.1.0) method, see [SelectStr Tutorial](./selectstr-tutorial.md). In this tutorial, the **Select-Str** cmdlet uses the [System.Management.Automation.Cmdlet.Beginprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.beginprocessing?view=powershellsdk-1.1.0) method to generate the regular expression that is used to search the input processing records. +## Input Processing Operations -## Input Processing Tasks +Cmdlets can override the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to process the input that is sent to the cmdlet. +When PowerShell processes a command pipeline, PowerShell calls this method for each input record that is processed by the cmdlet. +For more information about how PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](/previous-versions/ms714429(v=vs.85)). -Cmdlets can override the [System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) method to process the input that is sent to the cmdlet. When Windows PowerShell processes a command pipeline, Windows PowerShell calls this method for each input record that is processed by the cmdlet. For more information about how Windows PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](https://msdn.microsoft.com/en-us/3202f55c-314d-4ac3-ad78-4c7ca72253c5). -Cmdlets can override the [System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) method to process the input that is sent to the cmdlet. When Windows PowerShell processes a command pipeline, Windows PowerShell calls this method for each input record that is processed by the cmdlet. For more information about how Windows PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](https://msdn.microsoft.com/en-us/3202f55c-314d-4ac3-ad78-4c7ca72253c5). - -The following code shows an implementation of the [System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) method. +The following code shows an implementation of the ProcessRecord method. ```csharp protected override void ProcessRecord() { - // Replace the WriteObject method with the logic required - // by your cmdlet. It is used here to generate the following - // output: - // "This is a test of the ProcessRecord template." + // Replace the WriteObject method with the logic required by your cmdlet. WriteObject("This is a test of the ProcessRecord template."); } ``` -For a more detailed example of how to use the [System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) method, see [SelectStr Tutorial](./selectstr-tutorial.md). - -## Post-Processing Tasks +## Post-Processing Operations -Cmdlets should override the [System.Management.Automation.Cmdlet.Endprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.endprocessing?view=powershellsdk-1.1.0) method to add any post-processing operations that are valid for all the records that were processed by the cmdlet. For example, your cmdlet might have to clean up object variables after it is finished processing. +Cmdlets should override the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method to add any post-processing operations that are valid for all the records that were processed by the cmdlet. +For example, your cmdlet might have to clean up object variables after it is finished processing. -When Windows PowerShell processes a command pipeline, Windows PowerShell calls this method once for each instance of the cmdlet in the pipeline. However, it is important to remember that the Windows PowerShell runtime will not call the [System.Management.Automation.Cmdlet.Endprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.endprocessing?view=powershellsdk-1.1.0) method if the cmdlet is canceled midway through its input processing or if a terminating error occurs in any part of the cmdlet. For this reason, a cmdlet that requires object cleanup should implement the complete [System.Idisposable](/dotnet/api/System.IDisposable) pattern, including a finalizer, so that the runtime can call both the [System.Management.Automation.Cmdlet.Endprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.endprocessing?view=powershellsdk-1.1.0) and [System.Idisposable.Dispose*](/dotnet/api/System.IDisposable.Dispose) methods at the end of processing. For more information about how Windows PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](https://msdn.microsoft.com/en-us/3202f55c-314d-4ac3-ad78-4c7ca72253c5). -When Windows PowerShell processes a command pipeline, Windows PowerShell calls this method once for each instance of the cmdlet in the pipeline. However, it is important to remember that the Windows PowerShell runtime will not call the [System.Management.Automation.Cmdlet.Endprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.endprocessing?view=powershellsdk-1.1.0) method if the cmdlet is canceled midway through its input processing or if a terminating error occurs in any part of the cmdlet. For this reason, a cmdlet that requires object cleanup should implement the complete [System.Idisposable](/dotnet/api/System.IDisposable) pattern, including a finalizer, so that the runtime can call both the [System.Management.Automation.Cmdlet.Endprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.endprocessing?view=powershellsdk-1.1.0) and [System.Idisposable.Dispose*](/dotnet/api/System.IDisposable.Dispose) methods at the end of processing. For more information about how Windows PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](https://msdn.microsoft.com/en-us/3202f55c-314d-4ac3-ad78-4c7ca72253c5). +When PowerShell processes a command pipeline, PowerShell calls this method once for each instance of the cmdlet in the pipeline. +However, it is important to remember that the PowerShell runtime will not call the EndProcessing method if the cmdlet is canceled midway through its input processing or if a terminating error occurs in any part of the cmdlet. +For this reason, a cmdlet that requires object cleanup should implement the complete [System.IDisposable](/dotnet/api/System.IDisposable) pattern, including a finalizer, so that the runtime can call both the EndProcessing and [System.IDisposable.Dispose](/dotnet/api/System.IDisposable.Dispose) methods at the end of processing. +For more information about how PowerShell invokes the command pipeline, see [Cmdlet Processing Lifecycle](/previous-versions/ms714429(v=vs.85)). -The following code shows an implementation of the [System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) method. +The following code shows an implementation of the EndProcessing method. ```csharp protected override void EndProcessing() { - // Replace the WriteObject method with the logic required - // by your cmdlet. It is used here to generate the following - // output: - // "This is a test of the EndProcessing template." + // Replace the WriteObject method with the logic required by your cmdlet. WriteObject("This is a test of the EndProcessing template."); } ``` -For a more detailed example of how to use the [System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) method, see [SelectStr Tutorial](./selectstr-tutorial.md). - ## See Also -[System.Management.Automation.Cmdlet.Beginprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.beginprocessing?view=powershellsdk-1.1.0) +[System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) + +[System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) -[System.Management.Automation.Cmdlet.Processrecord%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.processrecord?view=powershellsdk-1.1.0) +[System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) -[System.Management.Automation.Cmdlet.Endprocessing%2A?Displayproperty=Fullname](/dotnet/api/system.management.automation.cmdlet.endprocessing?view=powershellsdk-1.1.0) +[SelectStr Tutorial](selectstr-tutorial.md) -[System.Idisposable](/dotnet/api/System.IDisposable) +[System.IDisposable](/dotnet/api/System.IDisposable) [Windows PowerShell Shell SDK](../windows-powershell-reference.md) diff --git a/developer/cmdlet/cmdlet-output.md b/developer/cmdlet/cmdlet-output.md index 6bed14f745d3..ce5aff9d29dc 100644 --- a/developer/cmdlet/cmdlet-output.md +++ b/developer/cmdlet/cmdlet-output.md @@ -24,7 +24,7 @@ Discusses cmdlet error reporting, a subset of cmdlet output. [Extending Output Objects](./extending-output-objects.md) Discusses how to use the types files (.ps1xml) to extend the .NET Framework objects that are returned by cmdlets, functions, and scripts. -[Windows PowerShell Formatting Files](../format/windows-powershell-formatting-files.md) +[PowerShell Formatting Files](../format/powershell-formatting-files.md) Describes the formatting files (.format.ps1xml) files that define the default display for a specific set of .NET Framework objects in Windows PowerShell. [Custom Formatting Files](./custom-formatting-files.md) diff --git a/developer/cmdlet/cmdlet-overview.md b/developer/cmdlet/cmdlet-overview.md index 2e98525a5616..4494e5cfb89f 100644 --- a/developer/cmdlet/cmdlet-overview.md +++ b/developer/cmdlet/cmdlet-overview.md @@ -26,26 +26,59 @@ Cmdlets perform an action and typically return a Microsoft .NET Framework object - Override one or more of the input processing methods to process records. -You can load the assembly that contains the class directly by using the [Import-Module](/powershell/module/microsoft.powershell.core/import-module) cmdlet, or you can create a host application that loads the assembly by using the [System.Management.Automation.Runspaces.Initialsessionstate](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) API. Both methods provide programmatic and command-line access to the functionality of the cmdlet. You can load the assembly that contains the class directly by using the [Import-Module](/powershell/module/microsoft.powershell.core/import-module) cmdlet, or you can create a host application that loads the assembly by using the [System.Management.Automation.Runspaces.Initialsessionstate](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) API. Both methods provide programmatic and command-line access to the functionality of the cmdlet. ## Cmdlet Terms The following terms are used frequently in the Windows PowerShell cmdlet documentation: -- **Cmdlet attribute**: A .NET Framework attribute that is used to declare a cmdlet class as a cmdlet. Although Windows PowerShell uses several other attributes that are optional, the Cmdlet attribute is required. For more information about this attribute, see [Cmdlet Attribute Declaration](./cmdlet-attribute-declaration.md). +### Cmdlet attribute + +A .NET Framework attribute that is used to declare a cmdlet class as a cmdlet. +Although PowerShell uses several other attributes that are optional, the Cmdlet attribute is required. +For more information about this attribute, see [Cmdlet Attribute Declaration](cmdlet-attribute-declaration.md). + +### Cmdlet parameter + +The public properties that define the parameters that are available to the user or to the application that is running the cmdlet. +Cmdlets can have required, named, positional, and *switch* parameters. +Switch parameters allow you to define parameters that are evaluated only if the parameters are specified in the call. +For more information about the different types of parameters, see [Cmdlet Parameters](cmdlet-parameters.md). + +### Parameter set + +A group of parameters that can be used in the same command to perform a specific action. +A cmdlet can have multiple parameter sets, but each parameter set must have at least one parameter that is unique. +Good cmdlet design strongly suggests that the unique parameter also be a required parameter. +For more information about parameter sets, see [Cmdlet Parameter Sets](cmdlet-parameter-sets.md). + +### Dynamic parameter + +A parameter that is added to the cmdlet at runtime. +Typically, the dynamic parameters are added to the cmdlet when another parameter is set to a specific value. +For more information about dynamic parameters, see [Cmdlet Dynamic Parameters](cmdlet-dynamic-parameters.md). -- **Cmdlet parameter**: The public properties that define the parameters that are available to the user or to the application that is running the cmdlet. Cmdlets can have required, named, positional, and *switch* parameters. Switch parameters allow you to define parameters that are evaluated only if the parameters are specified in the call. For more information about the different types of parameters, see [Cmdlet Parameters](./cmdlet-parameters.md). +### Input processing method -- **Parameter set**: A group of parameters that can be used in the same command to perform a specific action. A cmdlet can have multiple parameter sets, but each parameter set must have at least one parameter that is unique. Good cmdlet design strongly suggests that the unique parameter also be a required parameter. For more information about parameter sets, see [Cmdlet Parameter Sets](./cmdlet-parameter-sets.md). +A method that a cmdlet can use to process the records it receives as input. +The input processing methods include the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method, the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method, and the [System.Management.Automation.Cmdlet.StopProcessing](/dotnet/api/System.Management.Automation.Cmdlet.StopProcessing) method. When you implement a cmdlet, you must override at least one of the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), and [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) methods. +Typically, the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is the method that you override because it is called for every record that the cmdlet processes. +In contrast, the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method and the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method are called one time to perform pre-processing or post-processing of the records. +For more information about these methods, see [Input Processing Methods](cmdlet-input-processing-methods.md). -- **Dynamic parameter**: A parameter that is added to the cmdlet at runtime. Typically, the dynamic parameters are added to the cmdlet when another parameter is set to a specific value. For more information about dynamic parameters, see [Cmdlet Dynamic Parameters](./cmdlet-dynamic-parameters.md). +### ShouldProcess feature -- **Input processing method**: A method that a cmdlet can use to process the records it receives as input. The input processing methods include the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method, the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method, and the [System.Management.Automation.Cmdlet.Stopprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.StopProcessing) method. When you implement a cmdlet, you must override at least one of the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), and [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) methods. Typically, the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is the method that you override because it is called for every record that the cmdlet processes. In contrast, the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method and the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method are called one time to perform pre-processing or post-processing of the records. For more information about these methods, see [Input Processing Methods](./cmdlet-input-processing-methods.md). +PowerShell allows you to create cmdlets that prompt the user for feedback before the cmdlet makes a change to the system. +To use this feature, the cmdlet must declare that it supports the ShouldProcess feature when you declare the Cmdlet attribute, and the cmdlet must call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods from within an input processing method. +For more information about how to support the ShouldProcess functionality, see [Requesting Confirmation](requesting-confirmation-from-cmdlets.md). -- **ShouldProcess feature**: Windows PowerShell allows you to create cmdlets that prompt the user for feedback before the cmdlet makes a change to the system. To use this feature, the cmdlet must declare that it supports the ShouldProcess feature when you declare the Cmdlet attribute, and the cmdlet must call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods from within an input processing method. For more information about how to support the ShouldProcess functionality, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). +### Transaction -- **Transaction**: A logical group of commands that are treated as a single task. The task automatically fails if any command in the group fails, and the user has the choice to accept or reject the actions performed within the transaction. To participate in a transaction, the cmdlet must declare that it supports transactions when the Cmdlet attribute is declared. Support for transactions was introduced in Windows PowerShell 2.0. For more information about transactions, see [Windows PowerShell Transactions](http://msdn.microsoft.com/en-us/74d7bac7-bc53-49f1-a47a-272e8da84710). +A logical group of commands that are treated as a single task. +The task automatically fails if any command in the group fails, and the user has the choice to accept or reject the actions performed within the transaction. +To participate in a transaction, the cmdlet must declare that it supports transactions when the Cmdlet attribute is declared. +Support for transactions was introduced in Windows PowerShell 2.0. +For more information about transactions, see [How to Support Transactions](how-to-support-transactions.md). ## How Cmdlets Differ from Commands @@ -67,21 +100,21 @@ Windows PowerShell supports cmdlets that are derived from the following two base - Most cmdlets are based on .NET Framework classes that derive from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) base class. Deriving from this class allows a cmdlet to use the minimum set of dependencies on the Windows PowerShell runtime. This has two benefits. The first benefit is that the cmdlet objects are smaller, and you are less likely to be affected by changes to the Windows PowerShell runtime. The second benefit is that, if you have to, you can directly create an instance of the cmdlet object and then invoke it directly instead of invoking it through the Windows PowerShell runtime. -- The more-complex cmdlets are based on .NET Framework classes that derive from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) base class. Deriving from this class gives you much more access to the Windows PowerShell runtime. This access allows your cmdlet to call scripts, to access providers, and to access the current session state. (To access the current session state, you get and set session variables and preferences.) However, deriving from this class increases the size of the cmdlet object, and it means that your cmdlet is more tightly coupled to the current version of the Windows PowerShell runtime. +- The more-complex cmdlets are based on .NET Framework classes that derive from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) base class. Deriving from this class gives you much more access to the Windows PowerShell runtime. This access allows your cmdlet to call scripts, to access providers, and to access the current session state. (To access the current session state, you get and set session variables and preferences.) However, deriving from this class increases the size of the cmdlet object, and it means that your cmdlet is more tightly coupled to the current version of the Windows PowerShell runtime. -In general, unless you need the extended access to the Windows PowerShell runtime, you should derive from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. However, the Windows PowerShell runtime has extensive logging capabilities for the execution of cmdlets. If your auditing model depends on this logging, you can prevent the execution of your cmdlet from within another cmdlet by deriving from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. +In general, unless you need the extended access to the Windows PowerShell runtime, you should derive from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. However, the Windows PowerShell runtime has extensive logging capabilities for the execution of cmdlets. If your auditing model depends on this logging, you can prevent the execution of your cmdlet from within another cmdlet by deriving from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. ## Input Processing Methods The [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class provides the following virtual methods that are used to process records. All the derived cmdlet classes must override one or more of the first three methods: -- [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing): Used to provide optional one-time, pre-processing functionality for the cmdlet. +- [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing): Used to provide optional one-time, pre-processing functionality for the cmdlet. -- [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord): Used to provide record-by-record processing functionality for the cmdlet. The [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method might be called any number of times, or not at all, depending on the input of the cmdlet. +- [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord): Used to provide record-by-record processing functionality for the cmdlet. The [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method might be called any number of times, or not at all, depending on the input of the cmdlet. -- [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing): Used to provide optional one-time, post-processing functionality for the cmdlet. +- [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing): Used to provide optional one-time, post-processing functionality for the cmdlet. -- [System.Management.Automation.Cmdlet.Stopprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.StopProcessing): Used to stop processing when the user stops the cmdlet asynchronously (for example, by pressing CTRL+C). +- [System.Management.Automation.Cmdlet.StopProcessing](/dotnet/api/System.Management.Automation.Cmdlet.StopProcessing): Used to stop processing when the user stops the cmdlet asynchronously (for example, by pressing CTRL+C). For more information about these methods, see [Cmdlet Input Processing Methods](./cmdlet-input-processing-methods.md). diff --git a/developer/cmdlet/cmdlet-parameter-sets.md b/developer/cmdlet/cmdlet-parameter-sets.md index 10285c3e8aaa..b286a4e90c51 100644 --- a/developer/cmdlet/cmdlet-parameter-sets.md +++ b/developer/cmdlet/cmdlet-parameter-sets.md @@ -25,8 +25,7 @@ Each parameter set must have a unique parameter that the Windows PowerShell runt In the following illustration, the left column shows three valid parameter sets. Parameter A is unique to the first parameter set, parameter B is unique to the second parameter set, and parameter C is unique to the third parameter set. However, in the right column, the parameter sets do not have a unique parameter. -![](../media/ps-parametersets.gif) -![](../media/ps-parametersets.gif "ps_parametersets") +![ps_parametersets](../media/ps-parametersets.gif) ## Parameter Set Requirements diff --git a/developer/cmdlet/cmdlet-samples.md b/developer/cmdlet/cmdlet-samples.md index 9a26df9692f3..d88d4dfbb67b 100644 --- a/developer/cmdlet/cmdlet-samples.md +++ b/developer/cmdlet/cmdlet-samples.md @@ -43,7 +43,7 @@ This sample shows how to write a cmdlet whose parameters have aliases and that s This sample shows how to write a cmdlet that declares parameter sets, specifies the default parameter set, and can accept an input object. [Events01 Sample](./events01-sample.md) -This sample shows how to create a cmdlet that allows the user to register for events raised by [System.IO.Filesystemwatcher](/dotnet/api/System.IO.FileSystemWatcher). With this cmdlet users can, for example, register an action to execute when a file is created under a specific directory. This sample derives from the [Microsoft.Powershell.Commands.Objecteventregistrationbase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) base class. +This sample shows how to create a cmdlet that allows the user to register for events raised by [System.IO.Filesystemwatcher](/dotnet/api/System.IO.FileSystemWatcher). With this cmdlet users can, for example, register an action to execute when a file is created under a specific directory. This sample derives from the [Microsoft.PowerShell.Commands.Objecteventregistrationbase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) base class. ## See Also diff --git a/developer/cmdlet/cmdlet-sets.md b/developer/cmdlet/cmdlet-sets.md index 9083cc60b33c..a23581bb1e50 100644 --- a/developer/cmdlet/cmdlet-sets.md +++ b/developer/cmdlet/cmdlet-sets.md @@ -21,9 +21,9 @@ Keep the following things in mind when implementing a base class. - Override the appropriate input processing method in the base class. -- Declare the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute on all cmdlet classes, but do not declare it on the base class. +- Declare the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute on all cmdlet classes, but do not declare it on the base class. -- Implement a [System.Management.Automation.Pssnapin](/dotnet/api/System.Management.Automation.PSSnapIn) or [System.Management.Automation.Custompssnapin](/dotnet/api/System.Management.Automation.CustomPSSnapIn) class whose name and description reflects the set of cmdlets. +- Implement a [System.Management.Automation.PSSnapIn](/dotnet/api/System.Management.Automation.PSSnapIn) or [System.Management.Automation.Custompssnapin](/dotnet/api/System.Management.Automation.CustomPSSnapIn) class whose name and description reflects the set of cmdlets. ## Example @@ -37,7 +37,7 @@ using System.Management.Automation; //Windows PowerShell namespace. namespace Microsoft.Samples.PowerShell.Commands { - #region ProccessCommands + #region ProcessCommands /// /// This class implements a Stop-Proc cmdlet. The parameters @@ -117,7 +117,7 @@ namespace Microsoft.Samples.PowerShell.Commands // protected override void ProcessRecord() { - // Set up the wildcard chracters used in resolving + // Set up the wildcard characters used in resolving // the process names. WildcardOptions options = WildcardOptions.IgnoreCase | WildcardOptions.Compiled; diff --git a/developer/cmdlet/common-parameter-names.md b/developer/cmdlet/common-parameter-names.md index 4349845d850e..5956a52fa039 100644 --- a/developer/cmdlet/common-parameter-names.md +++ b/developer/cmdlet/common-parameter-names.md @@ -20,42 +20,50 @@ The parameters described in this topic are referred to as *common parameters*. T The following parameters are added to all cmdlets and can be accessed whenever the cmdlet is run. These parameters are defined by the [System.Management.Automation.Internal.Commonparameters](/dotnet/api/System.Management.Automation.Internal.CommonParameters) class. -Debug (alias: db) +### Debug (alias: db) + Data type: SwitchParameter -This parameter specifies whether programmer-level debugging messages that can be displayed at the command line. These messages are intended for troubleshooting the operation of the cmdlet, and are generated by calls to the [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method. Debug messages do not need to be localized. +This parameter specifies whether programmer-level debugging messages that can be displayed at the command line. These messages are intended for troubleshooting the operation of the cmdlet, and are generated by calls to the [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method. Debug messages do not need to be localized. + +### ErrorAction (alias: ea) -ErrorAction (alias: ea) Data type: Enumeration This parameter specifies what action should take place when an error occurs. The possible values for this parameter are defined by the [System.Management.Automation.Actionpreference](/dotnet/api/System.Management.Automation.ActionPreference) enumeration. -ErrorVariable (alias: ev) +### ErrorVariable (alias: ev) + Data type: String This parameter specifies the variable in which to place objects when an error occurs. To append to this variable, use +*varname* rather than clearing and setting the variable. -OutVariable (alias: ov) +### OutVariable (alias: ov) + Data type: String This parameter specifies the variable in which to place all output objects generated by the cmdlet. To append to this variable, use +*varname* rather than clearing and setting the variable. -OutBuffer (alias: ob) +### OutBuffer (alias: ob) + Data type: Int32 This parameter defines the number of objects to store in the output buffer before any objects are passed down the pipeline. By default, objects are passed immediately down the pipeline. -Verbose (alias: vb) +### Verbose (alias: vb) + Data type: SwitchParameter -This parameter specifies whether the cmdlet writes explanatory messages that can be displayed at the command line. These messages are intended to provide additional help to the user, and are generated by calls to the [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method. +This parameter specifies whether the cmdlet writes explanatory messages that can be displayed at the command line. These messages are intended to provide additional help to the user, and are generated by calls to the [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method. + +### WarningAction (alias: wa) -WarningAction (alias: wa) Data type: Enumeration This parameter specifies what action should take place when the cmdlet writes a warning message. The possible values for this parameter are defined by the [System.Management.Automation.Actionpreference](/dotnet/api/System.Management.Automation.ActionPreference) enumeration. -WarningVariable (alias: wv) +### WarningVariable (alias: wv) + Data type: String This parameter specifies the variable in which warning messages can be saved. To append to this variable, use +*varname* rather than clearing and setting the variable. @@ -64,12 +72,14 @@ This parameter specifies the variable in which warning messages can be saved. To The following parameters are added to cmdlets that requests confirmation before they perform their action. For more information about confirmation requests, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). These parameters are defined by the [System.Management.Automation.Internal.Shouldprocessparameters](/dotnet/api/System.Management.Automation.Internal.ShouldProcessParameters) class. -Confirm (alias: cf) +### Confirm (alias: cf) + Data type: SwitchParameter This parameter specifies whether the cmdlet displays a prompt that asks if the user is sure that they want to continue. -WhatIf (alias: wi) +### WhatIf (alias: wi) + Data type: SwitchParameter This parameter specifies whether the cmdlet writes a message that describes the effects of running the cmdlet without actually performing any action. @@ -78,7 +88,8 @@ This parameter specifies whether the cmdlet writes a message that describes the The following parameter is added to cmdlets that support transactions. These parameters are defined by the [System.Management.Automation.Internal.Transactionparameters](/dotnet/api/System.Management.Automation.Internal.TransactionParameters) class. -UseTransaction (alias: usetx) +### UseTransaction (alias: usetx) + Data type: SwitchParameter This parameter specifies whether the cmdlet will use the current transaction to perform its action. diff --git a/developer/cmdlet/confirmation-messages.md b/developer/cmdlet/confirmation-messages.md index 91d06b85f992..e661752ff8a1 100644 --- a/developer/cmdlet/confirmation-messages.md +++ b/developer/cmdlet/confirmation-messages.md @@ -11,7 +11,7 @@ caps.latest.revision: 8 --- # Confirmation Messages -Here are different confirmation messages that can be displayed depending on the variants of the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods that are called. +Here are different confirmation messages that can be displayed depending on the variants of the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods that are called. > [!IMPORTANT] > For sample code that shows how to request confirmations, see [How to Request Confirmations](./how-to-request-confirmations.md). @@ -27,7 +27,7 @@ Performing operation "Test-RequestConfirmationTemplate1" on Target "MyResource". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): ``` -If the user selects **Yes** or **Yes to All** to the confirmation request (as shown in the following example), a call to the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method is made, which causes a second confirmation message to be displayed. +If the user selects **Yes** or **Yes to All** to the confirmation request (as shown in the following example), a call to the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method is made, which causes a second confirmation message to be displayed. ```output Confirm @@ -51,7 +51,7 @@ Performing operation "MyAction" on Target "MyResource". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): ``` -If the user selects **Yes** or **Yes to All** to the previous message, a call to the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method is made, which causes a second confirmation message to be displayed. +If the user selects **Yes** or **Yes to All** to the previous message, a call to the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method is made, which causes a second confirmation message to be displayed. ```output Confirm diff --git a/developer/cmdlet/creating-a-cmdlet-that-modifies-the-system.md b/developer/cmdlet/creating-a-cmdlet-that-modifies-the-system.md index be96321b01cd..593ab74b3dc0 100644 --- a/developer/cmdlet/creating-a-cmdlet-that-modifies-the-system.md +++ b/developer/cmdlet/creating-a-cmdlet-that-modifies-the-system.md @@ -20,15 +20,15 @@ Sometimes a cmdlet must modify the running state of the system, not just the sta To support confirmation a cmdlet must do two things. -- Declare that the cmdlet supports confirmation when you specify the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute by setting the SupportsShouldProcess keyword to `true`. +- Declare that the cmdlet supports confirmation when you specify the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute by setting the SupportsShouldProcess keyword to `true`. -- Call [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) during the execution of the cmdlet (as shown in the following example). +- Call [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) during the execution of the cmdlet (as shown in the following example). By supporting confirmation, a cmdlet exposes the `Confirm` and `WhatIf` parameters that are provided by Windows PowerShell, and also meets the development guidelines for cmdlets (For more information about cmdlet development guidelines, see [Cmdlet Development Guidelines](./cmdlet-development-guidelines.md).). ## Changing the System -The act of "changing the system" refers to any cmdlet that potentially changes the state of the system outside Windows PowerShell. For example, stopping a process, enabling or disabling a user account, or adding a row to a database table are all changes to the system that should be confirmed. In contrast, operations that read data or establish transient connections do not change the system and generally do not require confirmation. Confirmation is also not needed for actions whose effect is limited to inside the Windows PowerShell runtime, such as `set-variable`. Cmdlets that might or might not make a persistent change should declare `SupportsShouldProcess` and call [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) only if they are about to make a persistent change. +The act of "changing the system" refers to any cmdlet that potentially changes the state of the system outside Windows PowerShell. For example, stopping a process, enabling or disabling a user account, or adding a row to a database table are all changes to the system that should be confirmed. In contrast, operations that read data or establish transient connections do not change the system and generally do not require confirmation. Confirmation is also not needed for actions whose effect is limited to inside the Windows PowerShell runtime, such as `set-variable`. Cmdlets that might or might not make a persistent change should declare `SupportsShouldProcess` and call [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) only if they are about to make a persistent change. > [!NOTE] > ShouldProcess confirmation applies only to cmdlets. If a command or script modifies the running state of a system by directly calling .NET methods or properties, or by calling applications outside of Windows PowerShell, this form of confirmation will not be available. @@ -37,28 +37,6 @@ The act of "changing the system" refers to any cmdlet that potentially changes t This topic describes a Stop-Proc cmdlet that attempts to stop processes that are retrieved using the Get-Proc cmdlet (described in [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md)). -Topics in this section include the following: - -- [Defining the Cmdlet](#Defining-the-Cmdlet) - -- [Defining Parameters for System Modification](#Defining-Parameters-for-System-Modification) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Calling the ShouldProcess Method](#Calling-the-ShouldProcess-Method) - -- [Calling the ShouldContinue Method](#Calling-the-ShouldContinue-Method) - -- [Stopping Input Processing](#Stopping-Input-Processing) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. Because you are writing a cmdlet to change the system, it should be named accordingly. This cmdlet stops system processes, so the verb name chosen here is "Stop", defined by the [System.Management.Automation.Verbslifecycle](/dotnet/api/System.Management.Automation.VerbsLifeCycle) class, with the noun "Proc" to indicate that the cmdlet stops processes. For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). @@ -71,11 +49,11 @@ The following is the class definition for this Stop-Proc cmdlet. public class StopProcCommand : Cmdlet ``` -Be aware that in the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) declaration, the `SupportsShouldProcess` attribute keyword is set to `true` to enable the cmdlet to make calls to [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). Without this keyword set, the `Confirm` and `WhatIf` parameters will not be available to the user. +Be aware that in the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) declaration, the `SupportsShouldProcess` attribute keyword is set to `true` to enable the cmdlet to make calls to [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). Without this keyword set, the `Confirm` and `WhatIf` parameters will not be available to the user. ### Extremely Destructive Actions -Some operations are extremely destructive, such as reformatting an active hard disk partition. In these cases, the cmdlet should set `ConfirmImpact` = `ConfirmImpact.High` when declaring the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute. This setting forces the cmdlet to request user confirmation even when the user has not specified the `Confirm` parameter. However, cmdlet developers should avoid overusing `ConfirmImpact` for operations that are just potentially destructive, such as deleting a user account. Remember that if `ConfirmImpact` is set to [System.Management.Automation.Confirmimpact.High](/dotnet/api/System.Management.Automation.ConfirmImpact.High). +Some operations are extremely destructive, such as reformatting an active hard disk partition. In these cases, the cmdlet should set `ConfirmImpact` = `ConfirmImpact.High` when declaring the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute. This setting forces the cmdlet to request user confirmation even when the user has not specified the `Confirm` parameter. However, cmdlet developers should avoid overusing `ConfirmImpact` for operations that are just potentially destructive, such as deleting a user account. Remember that if `ConfirmImpact` is set to [System.Management.Automation.Confirmimpact.High](/dotnet/api/System.Management.Automation.ConfirmImpact.High). Similarly, some operations are unlikely to be destructive, although they do in theory modify the running state of a system outside Windows PowerShell. Such cmdlets can set `ConfirmImpact` to [System.Management.Automation.Confirmimpact.Low](/dotnet/api/system.management.automation.confirmimpact?view=powershellsdk-1.1.0). This will bypass confirmation requests where the user has asked to confirm only medium-impact and high-impact operations. @@ -87,7 +65,7 @@ The Stop-Proc cmdlet defines three parameters: `Name`, `Force`, and `PassThru`. The `Name` parameter corresponds to the `Name` property of the process input object. Be aware that the `Name` parameter in this sample is mandatory, as the cmdlet will fail if it does not have a named process to stop. -The `Force` parameter allows the user to override calls to [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). In fact, any cmdlet that calls [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) should have a `Force` parameter so that when `Force` is specified, the cmdlet skips the call to [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) and proceeds with the operation. Be aware that this does not affect calls to [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess). +The `Force` parameter allows the user to override calls to [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). In fact, any cmdlet that calls [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) should have a `Force` parameter so that when `Force` is specified, the cmdlet skips the call to [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) and proceeds with the operation. Be aware that this does not affect calls to [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess). The `PassThru` parameter allows the user to indicate whether the cmdlet passes an output object through the pipeline, in this case, after a process is stopped. Be aware that this parameter is tied to the cmdlet itself instead of to a property of the input object. @@ -136,7 +114,7 @@ private bool passThru; ## Overriding an Input Processing Method -The cmdlet must override an input processing method. The following code illustrates the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) override used in the sample Stop-Proc cmdlet. For each requested process name, this method ensures that the process is not a special process, tries to stop the process, and then sends an output object if the `PassThru` parameter is specified. +The cmdlet must override an input processing method. The following code illustrates the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) override used in the sample Stop-Proc cmdlet. For each requested process name, this method ensures that the process is not a special process, tries to stop the process, and then sends an output object if the `PassThru` parameter is specified. ```csharp protected override void ProcessRecord() @@ -194,9 +172,9 @@ protected override void ProcessRecord() processName); // It is possible that ProcessRecord is called multiple times - // when the Name parameter reveives objects as input from the + // when the Name parameter receives objects as input from the // pipeline. So to retain YesToAll and NoToAll input that the - // user may enter across mutilple calls to ProcessRecord, this + // user may enter across multiple calls to ProcessRecord, this // information is stored as private members of the cmdlet. if (!ShouldContinue(message, "Warning!", ref yesToAll, @@ -204,7 +182,7 @@ protected override void ProcessRecord() { continue; } - } // if (cricicalProcess... + } // if (criticalProcess... // Stop the named process. try { @@ -240,14 +218,14 @@ protected override void ProcessRecord() ## Calling the ShouldProcess Method -The input processing method of your cmdlet should call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method to confirm execution of an operation before a change (for example, deleting files) is made to the running state of the system. This allows the Windows PowerShell runtime to supply the correct "WhatIf" and "Confirm" behavior within the shell. +The input processing method of your cmdlet should call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method to confirm execution of an operation before a change (for example, deleting files) is made to the running state of the system. This allows the Windows PowerShell runtime to supply the correct "WhatIf" and "Confirm" behavior within the shell. > [!NOTE] -> If a cmdlet states that it supports should process and fails to make the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call, the user might modify the system unexpectedly. +> If a cmdlet states that it supports should process and fails to make the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call, the user might modify the system unexpectedly. -The call to [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command-line settings or preference variables in determining what should be displayed to the user. +The call to [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command-line settings or preference variables in determining what should be displayed to the user. -The following example shows the call to [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) from the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method in the sample Stop-Proc cmdlet. +The following example shows the call to [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) from the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method in the sample Stop-Proc cmdlet. ```csharp if (!ShouldProcess(string.Format("{0} ({1})", processName, @@ -259,9 +237,9 @@ if (!ShouldProcess(string.Format("{0} ({1})", processName, ## Calling the ShouldContinue Method -The call to the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method sends a secondary message to the user. This call is made after the call to [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) returns `true` and if the `Force` parameter was not set to `true`. The user can then provide feedback to say whether the operation should be continued. Your cmdlet calls [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) as an additional check for potentially dangerous system modifications or when you want to provide yes-to-all and no-to-all options to the user. +The call to the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method sends a secondary message to the user. This call is made after the call to [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) returns `true` and if the `Force` parameter was not set to `true`. The user can then provide feedback to say whether the operation should be continued. Your cmdlet calls [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) as an additional check for potentially dangerous system modifications or when you want to provide yes-to-all and no-to-all options to the user. -The following example shows the call to [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) from the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method in the sample Stop-Proc cmdlet. +The following example shows the call to [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) from the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method in the sample Stop-Proc cmdlet. ```csharp if (criticalProcess &&!force) @@ -271,9 +249,9 @@ if (criticalProcess &&!force) processName); // It is possible that ProcessRecord is called multiple times - // when the Name parameter reveives objects as input from the + // when the Name parameter receives objects as input from the // pipeline. So to retain YesToAll and NoToAll input that the - // user may enter across mutilple calls to ProcessRecord, this + // user may enter across multiple calls to ProcessRecord, this // information is stored as private members of the cmdlet. if (!ShouldContinue(message, "Warning!", ref yesToAll, @@ -281,12 +259,12 @@ if (criticalProcess &&!force) { continue; } -} // if (cricicalProcess... +} // if (criticalProcess... ``` ## Stopping Input Processing -The input processing method of a cmdlet that makes system modifications must provide a way of stopping the processing of input. In the case of this Stop-Proc cmdlet, a call is made from the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to the [System.Diagnostics.Process.Kill*](/dotnet/api/System.Diagnostics.Process.Kill) method. Because the `PassThru` parameter is set to `true`, [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) also calls [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) to send the process object to the pipeline. +The input processing method of a cmdlet that makes system modifications must provide a way of stopping the processing of input. In the case of this Stop-Proc cmdlet, a call is made from the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to the [System.Diagnostics.Process.Kill*](/dotnet/api/System.Diagnostics.Process.Kill) method. Because the `PassThru` parameter is set to `true`, [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) also calls [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) to send the process object to the pipeline. ## Code Sample diff --git a/developer/cmdlet/creating-a-cmdlet-to-access-a-data-store.md b/developer/cmdlet/creating-a-cmdlet-to-access-a-data-store.md index 3cba2af11ebd..e0ae787d2f34 100644 --- a/developer/cmdlet/creating-a-cmdlet-to-access-a-data-store.md +++ b/developer/cmdlet/creating-a-cmdlet-to-access-a-data-store.md @@ -11,35 +11,17 @@ caps.latest.revision: 8 --- # Creating a Cmdlet to Access a Data Store -This section describes how to create a cmdlet that accesses stored data by way of a Windows PowerShell provider. This type of cmdlet uses the Windows PowerShell provider infrastructure of the Windows PowerShell runtime and, therefore, the cmdlet class must derive from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) base class. +This section describes how to create a cmdlet that accesses stored data by way of a Windows PowerShell provider. This type of cmdlet uses the Windows PowerShell provider infrastructure of the Windows PowerShell runtime and, therefore, the cmdlet class must derive from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) base class. The Select-Str cmdlet described here can locate and select strings in a file or object. The patterns used to identify the string can be specified explicitly through the `Path` parameter of the cmdlet or implicitly through the `Script` parameter. The cmdlet is designed to use any Windows PowerShell provider that derives from [System.Management.Automation.Provider.Icontentcmdletprovider](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider). For example, the cmdlet can specify the FileSystem provider or the Variable provider that is provided by Windows PowerShell. For more information aboutWindows PowerShell providers, see [Designing Your Windows PowerShell provider](../prog-guide/designing-your-windows-powershell-provider.md). -Topics in this section include the following: - -- [Defining the Cmdlet Class](#Defining-the-Cmdlet-Class) - -- [Defining Parameters for Data Access](#Declaring-the-Path-Parameter) - -- [Overriding Input Processing Methods](#Overriding-Input-Processing-Methods) - -- [Accessing Content](#Accessing-Content) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Declaring-Search-Support-Parameters) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - ## Defining the Cmdlet Class The first step in cmdlet creation is always naming the cmdlet and declaring the .NET class that implements the cmdlet. This cmdlet detects certain strings, so the verb name chosen here is "Select", defined by the [System.Management.Automation.Verbscommon](/dotnet/api/System.Management.Automation.VerbsCommon) class. The noun name "Str" is used because the cmdlet acts upon strings. In the declaration below, note that the cmdlet verb and noun name are reflected in the name of the cmdlet class. For more information about approved cmdlet verbs, see [Cmdlet Verb Names](./approved-verbs-for-windows-powershell-commands.md). -The .NET class for this cmdlet must derive from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) base class, because it provides the support needed by the Windows PowerShell runtime to expose the Windows PowerShell provider infrastructure. Note that this cmdlet also makes use of the .NET Framework regular expressions classes, such as [System.Text.Regularexpressions.Regex](/dotnet/api/System.Text.RegularExpressions.Regex). +The .NET class for this cmdlet must derive from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) base class, because it provides the support needed by the Windows PowerShell runtime to expose the Windows PowerShell provider infrastructure. Note that this cmdlet also makes use of the .NET Framework regular expressions classes, such as [System.Text.Regularexpressions.Regex](/dotnet/api/System.Text.RegularExpressions.Regex). The following code is the class definition for this Select-Str cmdlet. @@ -111,7 +93,7 @@ When this parameter is specified, the cmdlet uses the default parameter set `Pat This cmdlet defines the following support parameters that can be used to modify the search capabilities of the cmdlet. -The `Script` parameter specifies a script block that can be used to provide an alternate search mechanism for the cmdlet. The script must contain the patterns used for matching and return a [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) object. Note that this parameter is also the unique parameter that identifies the `ScriptParameterSet` parameter set. When the Windows PowerShell runtime sees this parameter, it uses only parameters that belong to the `ScriptParameterSet` parameter set. +The `Script` parameter specifies a script block that can be used to provide an alternate search mechanism for the cmdlet. The script must contain the patterns used for matching and return a [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) object. Note that this parameter is also the unique parameter that identifies the `ScriptParameterSet` parameter set. When the Windows PowerShell runtime sees this parameter, it uses only parameters that belong to the `ScriptParameterSet` parameter set. ```csharp [Parameter( @@ -189,13 +171,13 @@ internal WildcardPattern[] include = null; ### Declaring Parameter Sets -This cmdlet uses two parameter sets (`ScriptParameterSet` and `PatternParameterSet`, which is thedefault) as the names of two parameter sets used in data access. `PatternParameterSet` is the default parameter set and is used when the `Pattern` parameter is specified. `ScriptParameterSet` is used when the user specifies an alternate search mechanism through the `Script` parameter. For more information about parameter sets, see [Adding Parameter Sets to a Cmdlet](./adding-parameter-sets-to-a-cmdlet.md). +This cmdlet uses two parameter sets (`ScriptParameterSet` and `PatternParameterSet`, which is the default) as the names of two parameter sets used in data access. `PatternParameterSet` is the default parameter set and is used when the `Pattern` parameter is specified. `ScriptParameterSet` is used when the user specifies an alternate search mechanism through the `Script` parameter. For more information about parameter sets, see [Adding Parameter Sets to a Cmdlet](./adding-parameter-sets-to-a-cmdlet.md). ## Overriding Input Processing Methods -Cmdlets must override one or more of the input processing methods for the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. For more information about the input processing methods, see [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). +Cmdlets must override one or more of the input processing methods for the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. For more information about the input processing methods, see [Creating Your First Cmdlet](./creating-a-cmdlet-without-parameters.md). -This cmdlet overrides the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method to build an array of compiled regular expressions at startup. This increases performance during searches that do not use simple matching. +This cmdlet overrides the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method to build an array of compiled regular expressions at startup. This increases performance during searches that do not use simple matching. ```csharp protected override void BeginProcessing() @@ -274,7 +256,7 @@ protected override void BeginProcessing() }// End of function BeginProcessing(). ``` -This cmdlet also overrides the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to process the string selections that the user makes on the command line. It writes the results of string selection in the form of a custom object by calling a private **MatchString** method. +This cmdlet also overrides the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method to process the string selections that the user makes on the command line. It writes the results of string selection in the form of a custom object by calling a private **MatchString** method. ```csharp protected override void ProcessRecord() @@ -295,7 +277,7 @@ protected override void ProcessRecord() { WriteVerbose("Processing path " + path.Path); - // Check if the path represens one of the items to be + // Check if the path represents one of the items to be // excluded. If so, continue to next path. if (!MeetsIncludeExcludeCriteria(path.ProviderPath)) continue; @@ -351,7 +333,7 @@ protected override void ProcessRecord() } else { - // Add the block(line) that did notmatch to the + // Add the block(line) that did not match to the // collection of non matches , which will be stored // in the SessionState variable $NonMatches nonMatches.Add(items[0]); @@ -385,13 +367,13 @@ protected override void ProcessRecord() ## Accessing Content -Your cmdlet must open the provider indicated by the Windows PowerShell path so that it can access the data. The [System.Management.Automation.Sessionstate](/dotnet/api/System.Management.Automation.SessionState) object for the runspace is used for access to the provider, while the [System.Management.Automation.Pscmdlet.Invokeprovider*](/dotnet/api/System.Management.Automation.PSCmdlet.InvokeProvider) property of the cmdlet is used to open the provider. Access to content is provided by retrieval of the [System.Management.Automation.Providerintrinsics](/dotnet/api/System.Management.Automation.ProviderIntrinsics) object for the provider opened. +Your cmdlet must open the provider indicated by the Windows PowerShell path so that it can access the data. The [System.Management.Automation.Sessionstate](/dotnet/api/System.Management.Automation.SessionState) object for the runspace is used for access to the provider, while the [System.Management.Automation.PSCmdlet.Invokeprovider*](/dotnet/api/System.Management.Automation.PSCmdlet.InvokeProvider) property of the cmdlet is used to open the provider. Access to content is provided by retrieval of the [System.Management.Automation.Providerintrinsics](/dotnet/api/System.Management.Automation.ProviderIntrinsics) object for the provider opened. This sample Select-Str cmdlet uses the [System.Management.Automation.Providerintrinsics.Content*](/dotnet/api/System.Management.Automation.ProviderIntrinsics.Content) property to expose the content to scan. It can then call the [System.Management.Automation.Contentcmdletproviderintrinsics.Getreader*](/dotnet/api/System.Management.Automation.ContentCmdletProviderIntrinsics.GetReader) method, passing the required Windows PowerShell path. ## Code Sample -The following code shows the implementation of this version of this Select-Str cmdlet. Note that this code includes the cmdlet class, private methods used by the cmdlet, and the Windows PowerShell snap-in code used to register the cmdlet. For more information about registering the cmdlet, see [Building the Cmdlet](#Building-the-Cmdlet). +The following code shows the implementation of this version of this Select-Str cmdlet. Note that this code includes the cmdlet class, private methods used by the cmdlet, and the Windows PowerShell snap-in code used to register the cmdlet. For more information about registering the cmdlet, see [Building the Cmdlet](#building-the-cmdlet). ```csharp // @@ -430,7 +412,7 @@ namespace Microsoft.Samples.PowerShell.Commands /// This parameter must specify a PowerShell that indicates the /// PowerShell provider that is used to access the objects to be /// searched for matching patterns. This parameter should also have - /// a PSPath alias to provide consistancy with other cmdlets that use + /// a PSPath alias to provide consistency with other cmdlets that use /// PowerShell providers. /// /// Path of the object(s) to search. @@ -511,7 +493,7 @@ namespace Microsoft.Samples.PowerShell.Commands /// /// Declare a switch parameter that specifies if a case-sensitive /// search is performed. If not (default), a case-insensitive search - /// is perfored. + /// is performed. /// /// If True, a case-sensitive search is made. [Parameter] @@ -683,7 +665,7 @@ namespace Microsoft.Samples.PowerShell.Commands { WriteVerbose("Processing path " + path.Path); - // Check if the path represens one of the items to be + // Check if the path represents one of the items to be // excluded. If so, continue to next path. if (!MeetsIncludeExcludeCriteria(path.ProviderPath)) continue; @@ -739,7 +721,7 @@ namespace Microsoft.Samples.PowerShell.Commands } else { - // Add the block(line) that did notmatch to the + // Add the block(line) that did not match to the // collection of non matches , which will be stored // in the SessionState variable $NonMatches nonMatches.Add(items[0]); @@ -868,7 +850,7 @@ namespace Microsoft.Samples.PowerShell.Commands /// /// Check whether the supplied name meets the include/exclude criteria. /// That is - it's on the include list if the include list was - /// specified, and not on the exclude list if the explude list was specified. + /// specified, and not on the exclude list if the exclude list was specified. /// /// path to validate /// True if the path is acceptable. @@ -1072,7 +1054,7 @@ namespace Microsoft.Samples.PowerShell.Commands } /// - /// Specifiy the description of the PowerShell snap-in. + /// Specify the description of the PowerShell snap-in. /// public override string Description { diff --git a/developer/cmdlet/creating-a-cmdlet-without-parameters.md b/developer/cmdlet/creating-a-cmdlet-without-parameters.md index db617a6755d5..d5a33e44c8cf 100644 --- a/developer/cmdlet/creating-a-cmdlet-without-parameters.md +++ b/developer/cmdlet/creating-a-cmdlet-without-parameters.md @@ -16,24 +16,8 @@ caps.latest.revision: 8 This section describes how to create a cmdlet that retrieves information from the local computer without the use of parameters, and then writes the information to the pipeline. The cmdlet described here is a Get-Proc cmdlet that retrieves information about the processes of the local computer, and then displays that information at the command line. -Topics in this section include the following: - -- [Naming the Cmdlet](#Naming-the-Cmdlet) - -- [Defining the Cmdlet Class](#Defining-the-Cmdlet-Class) - -- [Overriding an Input Processing Method](#Overriding-an-Input-Processing-Method) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Cmdlet](#Building-the-Cmdlet) - -- [Testing the Cmdlet](#Testing-the-Cmdlet) - > [!NOTE] -> Be aware that when writing cmdlets, the Windows PowerShell® reference assemblies are downloaded onto disk (by default at C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0).They are not installed in the Global Assembly Cache (GAC). +> Be aware that when writing cmdlets, the Windows PowerShell® reference assemblies are downloaded onto disk (by default at C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0). They are not installed in the Global Assembly Cache (GAC). ## Naming the Cmdlet @@ -64,7 +48,7 @@ Public Class GetProcCommand Inherits Cmdlet ``` -Notice that previous to the class definition, the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute, with the syntax `[Cmdlet(verb, noun, ...)]`, is used to identify this class as a cmdlet. This is the only required attribute for all cmdlets, and it allows the Windows PowerShell runtime to call them correctly. You can set attribute keywords to further declare the class if necessary. Be aware that the attribute declaration for our sample GetProcCommand class declares only the noun and verb names for the Get-Proc cmdlet. +Notice that previous to the class definition, the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) attribute, with the syntax `[Cmdlet(verb, noun, ...)]`, is used to identify this class as a cmdlet. This is the only required attribute for all cmdlets, and it allows the Windows PowerShell runtime to call them correctly. You can set attribute keywords to further declare the class if necessary. Be aware that the attribute declaration for our sample GetProcCommand class declares only the noun and verb names for the Get-Proc cmdlet. > [!NOTE] > For all Windows PowerShell attribute classes, the keywords that you can set correspond to properties of the attribute class. @@ -73,28 +57,28 @@ When naming the class of the cmdlet, it is a good practice to reflect the cmdlet > [!IMPORTANT] > If you want to define a cmdlet that accesses the Windows PowerShell runtime directly, your .NET class should derive from -> the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) +> the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) > base class. For more information about this class, see [Creating a Cmdlet that Defines Parameter Sets](./adding-parameter-sets-to-a-cmdlet.md). > [!NOTE] > The class for a cmdlet must be explicitly marked as public. Classes that are not marked as public will default to internal and will not be found by the Windows PowerShell runtime. -Windows PowerShell uses the [Microsoft.Powershell.Commands](/dotnet/api/Microsoft.PowerShell.Commands) namespace for its cmdlet classes. It is recommended to place your cmdlet classes in a Commands namespace of your API namespace, for example, xxx.PS.Commands. +Windows PowerShell uses the [Microsoft.PowerShell.Commands](/dotnet/api/Microsoft.PowerShell.Commands) namespace for its cmdlet classes. It is recommended to place your cmdlet classes in a Commands namespace of your API namespace, for example, xxx.PS.Commands. ## Overriding an Input Processing Method The [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class provides three main input processing methods, at least one of which your cmdlet must override. For more information about how Windows PowerShell processes records, see [How Windows PowerShell Works](https://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58). -For all types of input, the Windows PowerShell runtime calls [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) to enable processing. If your cmdlet must perform some preprocessing or setup, it can do this by overriding this method. +For all types of input, the Windows PowerShell runtime calls [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) to enable processing. If your cmdlet must perform some preprocessing or setup, it can do this by overriding this method. > [!NOTE] > Windows PowerShell uses the term "record" to describe the set of parameter values supplied when a cmdlet is called. -If your cmdlet accepts pipeline input, it must override the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, and optionally the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. For example, a cmdlet might override both methods if it gathers all input using [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) and then operates on the input as a whole rather than one element at a time, as the `Sort-Object` cmdlet does. +If your cmdlet accepts pipeline input, it must override the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method, and optionally the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. For example, a cmdlet might override both methods if it gathers all input using [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) and then operates on the input as a whole rather than one element at a time, as the `Sort-Object` cmdlet does. -If your cmdlet does not take pipeline input, it should override the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. Be aware that this method is frequently used in place of [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) when the cmdlet cannot operate on one element at a time, as is the case for a sorting cmdlet. +If your cmdlet does not take pipeline input, it should override the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. Be aware that this method is frequently used in place of [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) when the cmdlet cannot operate on one element at a time, as is the case for a sorting cmdlet. -Because this sample Get-Proc cmdlet must receive pipeline input, it overrides the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method and uses the default implementations for [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) and [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing). The [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) override retrieves processes and writes them to the command line using the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method. +Because this sample Get-Proc cmdlet must receive pipeline input, it overrides the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method and uses the default implementations for [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) and [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing). The [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) override retrieves processes and writes them to the command line using the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method. ```csharp protected override void ProcessRecord() @@ -132,14 +116,14 @@ End Sub 'ProcessRecord - An input processing method can also receive input from the output object of an upstream cmdlet on the pipeline. For more information, see [Creating a Cmdlet to Process Pipeline Input](./adding-parameters-that-process-pipeline-input.md). Be aware that your cmdlet can receive input from a combination of command-line and pipeline sources. -- The downstream cmdlet might not return for a long time, or not at all. For that reason, the input processing method in your cmdlet should not hold locks during calls to [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject), especially locks for which the scope extends beyond the cmdlet instance. +- The downstream cmdlet might not return for a long time, or not at all. For that reason, the input processing method in your cmdlet should not hold locks during calls to [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject), especially locks for which the scope extends beyond the cmdlet instance. > [!IMPORTANT] > Cmdlets should never call [System.Console.Writeline*](/dotnet/api/System.Console.WriteLine) or its equivalent. -- Your cmdlet might have object variables to clean up when it is finished processing (for example, if it opens a file handle in the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method and keeps the handle open for use by [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord)). It is important to remember that the Windows PowerShell runtime does not always call the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method, which should perform object cleanup. +- Your cmdlet might have object variables to clean up when it is finished processing (for example, if it opens a file handle in the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method and keeps the handle open for use by [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord)). It is important to remember that the Windows PowerShell runtime does not always call the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method, which should perform object cleanup. -For example, [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) might not be called if the cmdlet is canceled midway or if a terminating error occurs in any part of the cmdlet. Therefore, a cmdlet that requires object cleanup should implement the complete [System.Idisposable](/dotnet/api/System.IDisposable) pattern, including the finalizer, so that the runtime can call both [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) and [System.Idisposable.Dispose*](/dotnet/api/System.IDisposable.Dispose) at the end of processing. +For example, [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) might not be called if the cmdlet is canceled midway or if a terminating error occurs in any part of the cmdlet. Therefore, a cmdlet that requires object cleanup should implement the complete [System.IDisposable](/dotnet/api/System.IDisposable) pattern, including the finalizer, so that the runtime can call both [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) and [System.IDisposable.Dispose*](/dotnet/api/System.IDisposable.Dispose) at the end of processing. ## Code Sample diff --git a/developer/cmdlet/credential-attribute-declaration.md b/developer/cmdlet/credential-attribute-declaration.md index 76bf3e179ac4..c2909605670a 100644 --- a/developer/cmdlet/credential-attribute-declaration.md +++ b/developer/cmdlet/credential-attribute-declaration.md @@ -11,8 +11,7 @@ caps.latest.revision: 6 --- # Credential Attribute Declaration -The Credential attribute is an optional attribute that can be used with credential parameters of type [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) so that a string can also be passed as an argument to the parameter. When this attribute is added to a parameter declaration, Windows PowerShell converts the string input into a [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object. For example, the [Get-Credential](/powershell/module/Microsoft.PowerShell.Security/Get-Credential) cmdlet uses this attribute to have Windows PowerShell generate the [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object that is returned by the cmdlet. -The Credential attribute is an optional attribute that can be used with credential parameters of type [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) so that a string can also be passed as an argument to the parameter. When this attribute is added to a parameter declaration, Windows PowerShell converts the string input into a [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object. For example, the [Get-Credential](/powershell/module/Microsoft.PowerShell.Security/Get-Credential) cmdlet uses this attribute to have Windows PowerShell generate the [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object that is returned by the cmdlet. +The Credential attribute is an optional attribute that can be used with credential parameters of type [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) so that a string can also be passed as an argument to the parameter. When this attribute is added to a parameter declaration, Windows PowerShell converts the string input into a [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) object. For example, the [Get-Credential](/powershell/module/Microsoft.PowerShell.Security/Get-Credential) cmdlet uses this attribute to have Windows PowerShell generate the [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) object that is returned by the cmdlet. ## Syntax @@ -22,9 +21,9 @@ The Credential attribute is an optional attribute that can be used with credenti ## Remarks -- Typically this attribute is used by parameters of type [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) so that a string can also be passed as an argument to the parameter. When a [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object is passed to the parameter, Windows PowerShell does nothing. +- Typically this attribute is used by parameters of type [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) so that a string can also be passed as an argument to the parameter. When a [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) object is passed to the parameter, Windows PowerShell does nothing. -- When creating the [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) object, Windows PowerShell uses the current Host to display the appropriate prompts to the user. For example, the default Host displays a prompt for a user name and password when this attribute is used. However, if a custom host is being used that defines a different prompt then that prompt would be displayed. +- When creating the [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential) object, Windows PowerShell uses the current Host to display the appropriate prompts to the user. For example, the default Host displays a prompt for a user name and password when this attribute is used. However, if a custom host is being used that defines a different prompt then that prompt would be displayed. - This attribute is used with the Parameter attribute. For more information about that attribute, see [Parameter Attribute Declaration](./parameter-attribute-declaration.md). diff --git a/developer/cmdlet/date-and-time-parameters.md b/developer/cmdlet/date-and-time-parameters.md index 0e693b46461e..1d3675f71b15 100644 --- a/developer/cmdlet/date-and-time-parameters.md +++ b/developer/cmdlet/date-and-time-parameters.md @@ -13,42 +13,14 @@ caps.latest.revision: 7 The following table lists recommended names and functionality for parameters that handle date and time information. Date and time parameters are typically used to record when something is created or accessed. -Accessed -Data type: SwitchParameter - -Implement this parameter so that when it is specified the cmdlet will operate on the resources that have been accessed based on the date and time specified by the `Before` and `After` parameters. - -If this parameter is specified, the `Created` and `Modified` parameters must be not be specified. - -After -Data type: DateTime - -Implement this parameter to specify the date and time after which the cmdlet was used. For the `After` parameter to work, the cmdlet must also have an `Accessed`, `Created`, or `Modified` parameter. And, that parameter must be set to `true` when the cmdlet is called. - -Before -Data type: DateTime - -Implement this parameter to specify the date and time before which the cmdlet was used. For the `Before` parameter to work, the cmdlet must also have an `Accessed`, `Created`, or `Modified` parameter. And, that parameter must be set to `true` when the cmdlet is called. - -Created -Data type: SwitchParameter - -Implement this parameter so that when it is specified the cmdlet will operate on the resources that have been created based on the date and time specified by the `Before` and `After` parameters. - -If this parameter is specified, the `Accessed` and `Modified` parameters must not be specified. - -Exact -Data type: SwitchParameter - -Implement this parameter so that when it is specified the resource term must match the resource name exactly. When the parameter is not specified the resource term and name do not need to match exactly. - -Modified -Data type: DateTime - -Implement this parameter so that when it is specified the cmdlet will operate on resources that have been changed based on the date and time specified by the `Before` and `After` parameters. - -If this parameter is specified, the `Accessed` and `Created` parameters must not be specified. - +|Parameter|Functionality| +|---|---| +|**Accessed**
Data type: SwitchParameter|Implement this parameter so that when it is specified the cmdlet will operate on the resources that have been accessed based on the date and time specified by the **Before** and **After** parameters. If this parameter is specified, the **Created** and **Modified** parameters must be not be specified.| +|**After**
Data type: DateTime|Implement this parameter to specify the date and time after which the cmdlet was used. For the **After** parameter to work, the cmdlet must also have an **Accessed**, **Created**, or **Modified** parameter. And, that parameter must be set to **true** when the cmdlet is called.| +|**Before**
Data type: DateTime|Implement this parameter to specify the date and time before which the cmdlet was used. For the **Before** parameter to work, the cmdlet must also have an **Accessed**, **Created**, or **Modified** parameter. And, that parameter must be set to **true** when the cmdlet is called.| +|**Created**
Data type: SwitchParameter|Implement this parameter so that when it is specified the cmdlet will operate on the resources that have been created based on the date and time specified by the **Before** and **After** parameters. If this parameter is specified, the **Accessed** and **Modified** parameters must not be specified.| +|**Exact**
Data type: SwitchParameter|Implement this parameter so that when it is specified the resource term must match the resource name exactly. When the parameter is not specified the resource term and name do not need to match exactly.| +|**Modified**
Data type: DateTime|Implement this parameter so that when it is specified the cmdlet will operate on resources that have been changed based on the date and time specified by the **Before** and **After** parameters. If this parameter is specified, the **Accessed** and **Created** parameters must not be specified.| ## See Also [Cmdlet Parameters](./cmdlet-parameters.md) diff --git a/developer/cmdlet/defining-default-member-sets-for-objects.md b/developer/cmdlet/defining-default-member-sets-for-objects.md index 4511dd1532f6..29f884ed3e24 100644 --- a/developer/cmdlet/defining-default-member-sets-for-objects.md +++ b/developer/cmdlet/defining-default-member-sets-for-objects.md @@ -15,7 +15,6 @@ The PSStandardMembers member set is used by Windows PowerShell to define the def ## Member Set for System.Diagnostics.Process -In the following example, the PSStandardMembers member set defines the DefaultDisplayPropertySet property set for [System.Diagnostics.Process](/dotnet/api/System.Diagnostics.Process) objects. This property set is used by the [Format-List](/powershell/module/Microsoft.PowerShell.Utility/Format-List) cmdlet. In the following example, the PSStandardMembers member set defines the DefaultDisplayPropertySet property set for [System.Diagnostics.Process](/dotnet/api/System.Diagnostics.Process) objects. This property set is used by the [Format-List](/powershell/module/Microsoft.PowerShell.Utility/Format-List) cmdlet. ```xml @@ -38,7 +37,6 @@ In the following example, the PSStandardMembers member set defines the DefaultDi ``` -The following output shows the default properties returned by the [Format-List](/powershell/module/Microsoft.PowerShell.Utility/Format-List) cmdlet. Only the `Id`, `Handles`, `CPU`, and `Name` properties are returned for each process object. The following output shows the default properties returned by the [Format-List](/powershell/module/Microsoft.PowerShell.Utility/Format-List) cmdlet. Only the `Id`, `Handles`, `CPU`, and `Name` properties are returned for each process object. ```powershell diff --git a/developer/cmdlet/error-reporting-concepts.md b/developer/cmdlet/error-reporting-concepts.md index bfdc55d143bc..a15b0f70c73d 100644 --- a/developer/cmdlet/error-reporting-concepts.md +++ b/developer/cmdlet/error-reporting-concepts.md @@ -18,7 +18,7 @@ caps.latest.revision: 11 Windows PowerShell provides two mechanisms for reporting errors: one mechanism for *terminating errors* and another mechanism for *non-terminating errors*. It is important for your cmdlet to report errors correctly so that the host application that is running your cmdlets can react in an appropriate manner. -Your cmdlet should call the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method when an error occurs that does not or should not allow the cmdlet to continue to process its input objects. Your cmdlet should call the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method to report non-terminating errors when the cmdlet can continue processing the input objects. Both methods provide an error record that the host application can use to investigate the cause of the error. +Your cmdlet should call the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method when an error occurs that does not or should not allow the cmdlet to continue to process its input objects. Your cmdlet should call the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method to report non-terminating errors when the cmdlet can continue processing the input objects. Both methods provide an error record that the host application can use to investigate the cause of the error. Use the following guidelines to determine whether an error is a terminating or non-terminating error. @@ -36,7 +36,7 @@ Use the following guidelines to determine whether an error is a terminating or n [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) -[System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) +[System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) [Windows PowerShell Error Records](./windows-powershell-error-records.md) diff --git a/developer/cmdlet/events01-sample.md b/developer/cmdlet/events01-sample.md index f0a78f908cb1..90658e5e024f 100644 --- a/developer/cmdlet/events01-sample.md +++ b/developer/cmdlet/events01-sample.md @@ -11,17 +11,20 @@ caps.latest.revision: 10 --- # Events01 Sample -This sample shows how to create a cmdlet that allows the user to register for events that are raised by [System.IO.Filesystemwatcher](/dotnet/api/System.IO.FileSystemWatcher). With this cmdlet, users can register an action to execute when a file is created under a specific directory. This sample derives from the [Microsoft.Powershell.Commands.Objecteventregistrationbase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) base class. +This sample shows how to create a cmdlet that allows the user to register for events that are raised by [System.IO.FileSystemWatcher](/dotnet/api/System.IO.FileSystemWatcher). +With this cmdlet, users can register an action to execute when a file is created under a specific directory. +This sample derives from the [Microsoft.PowerShell.Commands.ObjectEventRegistrationBase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) base class. ## How to build the sample by using Visual Studio. -1. With the Windows PowerShell 2.0 SDK installed, navigate to the Events01 folder. The default location is C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\csharp\Events01. +1. With the Windows PowerShell 2.0 SDK installed, navigate to the Events01 folder. + The default location is `C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\csharp\Events01`. -2. Double-click the icon for the solution (.sln) file. This opens the sample project in Microsoft Visual Studio. +2. Double-click the icon for the solution (.sln) file. + This opens the sample project in Microsoft Visual Studio. 3. In the **Build** menu, select **Build Solution**. - - The library for the sample will be built in the default \bin or \bin\debug folders. + The library for the sample will be built in the default `\bin` or `\bin\debug` folders. ### How to run the sample @@ -72,11 +75,14 @@ This sample requires Windows PowerShell 2.0. This sample demonstrates the following. -- How to write a cmdlet for event registration. The cmdlet derives from the [Microsoft.Powershell.Commands.Objecteventregistrationbase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) class, which provides support for parameters common to the Register-*Event cmdlets. Cmdlets that are derived from [Microsoft.Powershell.Commands.Objecteventregistrationbase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) need only to define their particular parameters and override the `GetSourceObject` and `GetSourceObjectEventName` abstract methods. +### How to write a cmdlet for event registration + +The cmdlet derives from the [Microsoft.PowerShell.Commands.ObjectEventRegistrationBase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) class, which provides support for parameters common to the `Register-*Event` cmdlets. +Cmdlets that are derived from [Microsoft.PowerShell.Commands.ObjectEventRegistrationBase](/dotnet/api/Microsoft.PowerShell.Commands.ObjectEventRegistrationBase) need only to define their particular parameters and override the `GetSourceObject` and `GetSourceObjectEventName` abstract methods. ## Example -This sample shows how to register for events raised by [System.IO.FileSystemWatcher](https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher\(v=vs.110\).aspx). +This sample shows how to register for events raised by [System.IO.FileSystemWatcher](/dotnet/api/System.IO.FileSystemWatcher). ```csharp namespace Sample @@ -177,4 +183,4 @@ namespace Sample ## See Also -[Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) \ No newline at end of file +[Writing a Windows PowerShell Cmdlet](writing-a-windows-powershell-cmdlet.md) \ No newline at end of file diff --git a/developer/cmdlet/examples-of-cmdlet-code.md b/developer/cmdlet/examples-of-cmdlet-code.md index 6264d40b6ecb..7df16f0d7dfd 100644 --- a/developer/cmdlet/examples-of-cmdlet-code.md +++ b/developer/cmdlet/examples-of-cmdlet-code.md @@ -40,7 +40,7 @@ This example shows how to invoke a script that is supplied to a cmdlet. These examples show the basic structure used to override the BeginProcessing, ProcessRecord, and EndProcessing methods. [How to Support ShouldProcess Calls](./how-to-request-confirmations.md) -This example shows how the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods should be called from within a cmdlet. +This example shows how the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods should be called from within a cmdlet. [How to Support Transactions](./how-to-support-transactions.md) This example shows how to indicate that the cmdlet supports transactions and how to implement the action that is taken when the cmdlet is used within a transaction. diff --git a/developer/cmdlet/extending-properties-for-objects.md b/developer/cmdlet/extending-properties-for-objects.md index e1920883b641..c1fe698ce31a 100644 --- a/developer/cmdlet/extending-properties-for-objects.md +++ b/developer/cmdlet/extending-properties-for-objects.md @@ -77,7 +77,7 @@ In the following example, the `Status` property (whose value is always "Success" A script property defines a property whose value is the output of a script. -In the following example, the `VersionInfo` property is added to the [System.IO.Fileinfo?Displayproperty=Fullname](/dotnet/api/System.IO.FileInfo) type. The [ScriptProperty](http://msdn.microsoft.com/en-us/858a4247-676b-4cc9-9f3e-057109aad350) element defines the extended property as a script property. The [Name](http://msdn.microsoft.com/en-us/b58e9d21-c8c9-49a5-909e-9c1cfc64f873) element specifies the name of the extended property. And, the [GetScriptBlock](http://msdn.microsoft.com/en-us/f3c77546-b98e-4c4e-bbe0-6dfd06696d1c) element specifies the script that generates the property value. (You can also add the [ScriptProperty](http://msdn.microsoft.com/en-us/858a4247-676b-4cc9-9f3e-057109aad350) element to the members of the [MemberSets](http://msdn.microsoft.com/en-us/46a50fb5-e150-4c03-8584-e1b53e4d49e3) element.) +In the following example, the `VersionInfo` property is added to the [System.IO.FileInfo?Displayproperty=Fullname](/dotnet/api/System.IO.FileInfo) type. The [ScriptProperty](http://msdn.microsoft.com/en-us/858a4247-676b-4cc9-9f3e-057109aad350) element defines the extended property as a script property. The [Name](http://msdn.microsoft.com/en-us/b58e9d21-c8c9-49a5-909e-9c1cfc64f873) element specifies the name of the extended property. And, the [GetScriptBlock](http://msdn.microsoft.com/en-us/f3c77546-b98e-4c4e-bbe0-6dfd06696d1c) element specifies the script that generates the property value. (You can also add the [ScriptProperty](http://msdn.microsoft.com/en-us/858a4247-676b-4cc9-9f3e-057109aad350) element to the members of the [MemberSets](http://msdn.microsoft.com/en-us/46a50fb5-e150-4c03-8584-e1b53e4d49e3) element.) ```xml @@ -95,7 +95,6 @@ In the following example, the `VersionInfo` property is added to the [System.IO. ## Property Sets -A property set defines a group of extended properties that can be referenced by the name of the set. For example, the `Property` parameter of the [Format-Table](/powershell/module/Microsoft.PowerShell.Utility/Format-Table) cmdlet can specify a specific property set to be displayed. When a property set is specified, only those properties that belong to the set are displayed. A property set defines a group of extended properties that can be referenced by the name of the set. For example, the `Property` parameter of the [Format-Table](/powershell/module/Microsoft.PowerShell.Utility/Format-Table) cmdlet can specify a specific property set to be displayed. When a property set is specified, only those properties that belong to the set are displayed. There is no restriction on the number of property sets that can be defined for an object. However, the property sets used to define the default display properties of an object must be specified within the PSStandardMembers member set. In the Types.ps1xml types file, the default property set names include DefaultDisplayProperty, DefaultDisplayPropertySet, and DefaultKeyPropertySet. Any additional property sets that you add to the PSStandardMembers member set are ignored. diff --git a/developer/cmdlet/format-parameters.md b/developer/cmdlet/format-parameters.md index 7575284d9d4b..a0f5485f49e4 100644 --- a/developer/cmdlet/format-parameters.md +++ b/developer/cmdlet/format-parameters.md @@ -13,41 +13,15 @@ caps.latest.revision: 7 The following table lists recommended names and functionality for parameters that are used to format or to generate data. -As -Data type: Keyword - -Implement this parameter to specify the cmdlet output format. For example, possible values could be Text or Script. - -Binary -Data type: SwitchParameter - -Implement this parameter to indicate that the cmdlet handles binary values. - -Encoding -Data type: Keyword - -Implement this parameter to specify the type of encoding that is supported. For example, possible values could be ASCII, UTF8, Unicode, UTF7, BigEndianUnicode, Byte, and String. - -NewLine -Data type: SwitchParameter - -Implement this parameter so that the newline characters are supported when the parameter is specified. - -ShortName -Data type: SwitchParameter - -Implement this parameter so that short names are supported when the parameter is specified. - -Width -Data type: Int32 - -Implement this parameter so that the user can specify the width of the output device. - -Wrap -Data type: SwitchParameter - -Implement this parameter so that text wrapping is supported when the parameter is specified. - +|Parameter|Functionality| +|---|---| +|**As**
Data type: Keyword|Implement this parameter to specify the cmdlet output format. For example, possible values could be Text or Script.| +|**Binary**
Data type: SwitchParameter|Implement this parameter to indicate that the cmdlet handles binary values.| +|**Encoding**
Data type: Keyword|Implement this parameter to specify the type of encoding that is supported. For example, possible values could be ASCII, UTF8, Unicode, UTF7, BigEndianUnicode, Byte, and String.| +|**NewLine**
Data type: SwitchParameter|Implement this parameter so that the newline characters are supported when the parameter is specified.| +|**ShortName**
Data type: SwitchParameter|Implement this parameter so that short names are supported when the parameter is specified.| +|**Width**
Data type: Int32|Implement this parameter so that the user can specify the width of the output device.| +|**Wrap**
Data type: SwitchParameter|Implement this parameter so that text wrapping is supported when the parameter is specified.| ## See Also [Cmdlet Parameters](./cmdlet-parameters.md) diff --git a/developer/cmdlet/getprocesssample05-sample.md b/developer/cmdlet/getprocesssample05-sample.md index 7ce8bb888ba3..9e0b1562271b 100644 --- a/developer/cmdlet/getprocesssample05-sample.md +++ b/developer/cmdlet/getprocesssample05-sample.md @@ -242,7 +242,7 @@ namespace Microsoft.Samples.PowerShell.Commands WriteVerbose("Finding matches for process name \"" + pattern + "\"."); - // WildCard serach on the available processes + // WildCard search on the available processes WildcardPattern wildcard = new WildcardPattern( pattern, @@ -367,7 +367,7 @@ namespace Microsoft.Samples.PowerShell.Commands /// /// Retrieves the list of all processes matching the Id /// parameter and generates a nonterminating error for - /// each specified process identofier which is not found. + /// each specified process identifier which is not found. /// /// /// An array of processes that match the given identifier. diff --git a/developer/cmdlet/how-to-create-a-windows-powershell-snap-in.md b/developer/cmdlet/how-to-create-a-windows-powershell-snap-in.md index 1a08daa026e4..4313dd50e5d8 100644 --- a/developer/cmdlet/how-to-create-a-windows-powershell-snap-in.md +++ b/developer/cmdlet/how-to-create-a-windows-powershell-snap-in.md @@ -19,7 +19,7 @@ Snap-in assemblies should be installed in a protected directory, just as they wo ## Windows PowerShell Snap-in Classes -All Windows PowerShell snap-in classes derive from the [System.Management.Automation.Pssnapin](/dotnet/api/System.Management.Automation.PSSnapIn) or [System.Management.Automation.Custompssnapin](/dotnet/api/System.Management.Automation.CustomPSSnapIn) classes. +All Windows PowerShell snap-in classes derive from the [System.Management.Automation.PSSnapIn](/dotnet/api/System.Management.Automation.PSSnapIn) or [System.Management.Automation.Custompssnapin](/dotnet/api/System.Management.Automation.CustomPSSnapIn) classes. ## Examples @@ -29,7 +29,7 @@ All Windows PowerShell snap-in classes derive from the [System.Management.Automa ## See Also -[System.Management.Automation.Pssnapin](/dotnet/api/System.Management.Automation.PSSnapIn) +[System.Management.Automation.PSSnapIn](/dotnet/api/System.Management.Automation.PSSnapIn) [System.Management.Automation.Custompssnapin](/dotnet/api/System.Management.Automation.CustomPSSnapIn) diff --git a/developer/cmdlet/how-to-declare-cmdlet-parameters.md b/developer/cmdlet/how-to-declare-cmdlet-parameters.md index 2a6934a6362b..0a33f1b5116a 100644 --- a/developer/cmdlet/how-to-declare-cmdlet-parameters.md +++ b/developer/cmdlet/how-to-declare-cmdlet-parameters.md @@ -77,7 +77,7 @@ For more information about the Parameter attribute, see [Parameter Attribute Dec ## How to Declare a Switch Parameter -- Define a public property as type [System.Management.Automation.Switchparameter](/dotnet/api/System.Management.Automation.SwitchParameter), and then declare the Parameter attribute. +- Define a public property as type [System.Management.Automation.SwitchParameter](/dotnet/api/System.Management.Automation.SwitchParameter), and then declare the Parameter attribute. ```csharp [Parameter(Position = 1)] @@ -110,7 +110,7 @@ For more information about the Alias attribute, see [Alias Attribute Declaration ## See Also -[System.Management.Automation.Switchparameter](/dotnet/api/System.Management.Automation.SwitchParameter) +[System.Management.Automation.SwitchParameter](/dotnet/api/System.Management.Automation.SwitchParameter) [Parameter Attribute Declaration](./parameter-attribute-declaration.md) diff --git a/developer/cmdlet/how-to-invoke-a-cmdlet-from-within-a-cmdlet.md b/developer/cmdlet/how-to-invoke-a-cmdlet-from-within-a-cmdlet.md index 661d1193e437..449b9d3df0e1 100644 --- a/developer/cmdlet/how-to-invoke-a-cmdlet-from-within-a-cmdlet.md +++ b/developer/cmdlet/how-to-invoke-a-cmdlet-from-within-a-cmdlet.md @@ -18,7 +18,7 @@ Get-Process -name [a-t] ``` > [!IMPORTANT] -> You can invoke only those cmdlets that derive directly from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. You cannot invoke a cmdlet that derives from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. +> You can invoke only those cmdlets that derive directly from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. You cannot invoke a cmdlet that derives from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. ## To invoke a cmdlet from within a cmdlet @@ -30,7 +30,7 @@ Get-Process -name [a-t] using Microsoft.PowerShell.Commands; // Windows PowerShell assembly. ``` -2. In the input processing method of the cmdlet, create a new instance of the cmdlet to be invoked. In this example, an object of type [Microsoft.Powershell.Commands.Getprocesscommand](/dotnet/api/Microsoft.PowerShell.Commands.GetProcessCommand) is created along with the string that contains the arguments that are used when the cmdlet is invoked. +2. In the input processing method of the cmdlet, create a new instance of the cmdlet to be invoked. In this example, an object of type [Microsoft.PowerShell.Commands.Getprocesscommand](/dotnet/api/Microsoft.PowerShell.Commands.GetProcessCommand) is created along with the string that contains the arguments that are used when the cmdlet is invoked. ```csharp GetProcessCommand gp = new GetProcessCommand(); @@ -49,7 +49,7 @@ Get-Process -name [a-t] ## Example -In this example, the `Get-Process` cmdlet is invoked from within the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method of a cmdlet. +In this example, the `Get-Process` cmdlet is invoked from within the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method of a cmdlet. ```csharp using System; diff --git a/developer/cmdlet/how-to-invoke-scripts-within-a-cmdlet.md b/developer/cmdlet/how-to-invoke-scripts-within-a-cmdlet.md index 971ede0c4b3d..7418dbf1d5a4 100644 --- a/developer/cmdlet/how-to-invoke-scripts-within-a-cmdlet.md +++ b/developer/cmdlet/how-to-invoke-scripts-within-a-cmdlet.md @@ -11,7 +11,7 @@ caps.latest.revision: 9 --- # How to Invoke Scripts Within a Cmdlet -This example shows how to invoke a script that is supplied to a cmdlet. The script is executed by the cmdlet, and its results are returned to the cmdlet as a collection of [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects. +This example shows how to invoke a script that is supplied to a cmdlet. The script is executed by the cmdlet, and its results are returned to the cmdlet as a collection of [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects. ## To invoke a script block @@ -31,7 +31,7 @@ This example shows how to invoke a script that is supplied to a cmdlet. The scri ); ``` -2. Then, the script iterates through the returned collection of [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects and perform the necessary operations. +2. Then, the script iterates through the returned collection of [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects and perform the necessary operations. ```c foreach (PSObject psObject in psObjects) diff --git a/developer/cmdlet/how-to-override-input-processing-methods.md b/developer/cmdlet/how-to-override-input-processing-methods.md index 568269a6ba0e..258df21974e7 100644 --- a/developer/cmdlet/how-to-override-input-processing-methods.md +++ b/developer/cmdlet/how-to-override-input-processing-methods.md @@ -13,17 +13,17 @@ caps.latest.revision: 8 These examples show how to overwrite the input processing methods within a cmdlet. These methods are used to perform the following operations: -- The [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method is used to perform one-time startup operations that are valid for all the objects processed by the cmdlet. The Windows PowerShell runtime calls this method only once. +- The [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method is used to perform one-time startup operations that are valid for all the objects processed by the cmdlet. The Windows PowerShell runtime calls this method only once. -- The [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is used to process the objects passed to the cmdlet. The Windows PowerShell runtime calls this method for each object passed to the cmdlet. +- The [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is used to process the objects passed to the cmdlet. The Windows PowerShell runtime calls this method for each object passed to the cmdlet. -- The [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method is used to perform one-time post processing operations. The Windows PowerShell runtime calls this method only once. +- The [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method is used to perform one-time post processing operations. The Windows PowerShell runtime calls this method only once. ## To override the BeginProcessing method -- Declare a protected override of the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method. +- Declare a protected override of the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method. -The following class prints a sample message. To use this class, change the verb and noun in the Cmdlet attribute, change the name of the class to reflect the new verb and noun, and then add the functionality you require to the override of the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method. +The following class prints a sample message. To use this class, change the verb and noun in the Cmdlet attribute, change the name of the class to reflect the new verb and noun, and then add the functionality you require to the override of the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) method. ```csharp [Cmdlet(VerbsDiagnostic.Test, "BeginProcessingClass")] @@ -44,9 +44,9 @@ public class TestBeginProcessingClassTemplate : Cmdlet ## To override the ProcessRecord method -- Declare a protected override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. +- Declare a protected override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. -The following class prints a sample message. To use this class, change the verb and noun in the Cmdlet attribute, change the name of the class to reflect the new verb and noun, and then add the functionality you require to the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. +The following class prints a sample message. To use this class, change the verb and noun in the Cmdlet attribute, change the name of the class to reflect the new verb and noun, and then add the functionality you require to the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. ```csharp [Cmdlet(VerbsDiagnostic.Test, "ProcessRecordClass")] @@ -68,9 +68,9 @@ public class TestProcessRecordClassTemplate : Cmdlet ## To override the EndProcessing method -- Declare a protected override of the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. +- Declare a protected override of the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. -The following class prints a sample. To use this class, change the verb and noun in the Cmdlet attribute, change the name of the class to reflect the new verb and noun, and then add the functionality you require to the override of the [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. +The following class prints a sample. To use this class, change the verb and noun in the Cmdlet attribute, change the name of the class to reflect the new verb and noun, and then add the functionality you require to the override of the [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. ```csharp [Cmdlet(VerbsDiagnostic.Test, "EndProcessingClass")] @@ -91,10 +91,10 @@ public class TestEndProcessingClassTemplate : Cmdlet ## See Also -[System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) +[System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) -[System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) +[System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) -[System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) +[System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) [Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) diff --git a/developer/cmdlet/how-to-request-confirmations.md b/developer/cmdlet/how-to-request-confirmations.md index 97824f448838..abb09fc337fc 100644 --- a/developer/cmdlet/how-to-request-confirmations.md +++ b/developer/cmdlet/how-to-request-confirmations.md @@ -11,7 +11,7 @@ caps.latest.revision: 9 --- # How to Request Confirmations -This example shows how to call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods to request confirmations from the user before an action is taken. +This example shows how to call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods to request confirmations from the user before an action is taken. > [!IMPORTANT] > For more information about how Windows PowerShell handles these requests, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). @@ -37,13 +37,13 @@ This example shows how to call the [System.Management.Automation.Cmdlet.Shouldpr private bool force; ``` -3. Add an `if` statement that uses the return value of the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method to determine if the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method is called. +3. Add an `if` statement that uses the return value of the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method to determine if the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method is called. -4. Add a second `if` statement that uses the return value of the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method and the value of the `Force` parameter to determine whether the operation should be performed. +4. Add a second `if` statement that uses the return value of the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method and the value of the `Force` parameter to determine whether the operation should be performed. ## Example -In the following code example, the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods are called from within the override of the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. However, you can also call these methods from the other input processing methods. +In the following code example, the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) methods are called from within the override of the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. However, you can also call these methods from the other input processing methods. ```csharp protected override void ProcessRecord() diff --git a/developer/cmdlet/how-to-support-jobs.md b/developer/cmdlet/how-to-support-jobs.md index 12a829df1b1c..29eafbe8790c 100644 --- a/developer/cmdlet/how-to-support-jobs.md +++ b/developer/cmdlet/how-to-support-jobs.md @@ -41,7 +41,7 @@ This example shows how to support jobs when you write cmdlets. If you want users -3. In a record processing method, add an `if` statement to detect whether the cmdlet should run as a job. The following code uses the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. +3. In a record processing method, add an `if` statement to detect whether the cmdlet should run as a job. The following code uses the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. ```csharp protected override void ProcessRecord() @@ -125,7 +125,7 @@ This example shows how to support jobs when you write cmdlets. If you want users -5. If the cmdlet performs the work, call the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method to return a process object to the pipeline. If the work is performed as a job, add child job to the job. +5. If the cmdlet performs the work, call the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method to return a process object to the pipeline. If the work is performed as a job, add child job to the job. ```csharp void DoProcessLogic(bool asJob) @@ -162,7 +162,7 @@ using System.Threading; // Thread pool namespace for posting work. using System.Diagnostics; // Diagnostics namespace for retrieving // process objects. -// This sample showes a cmdlet whose work can be done by the cmdlet or by using +// This sample shows a cmdlet whose work can be done by the cmdlet or by using // a background job. Background jobs are executed in their own thread, // independent of the pipeline thread in which the cmdlet is executed. // diff --git a/developer/cmdlet/how-to-support-transactions.md b/developer/cmdlet/how-to-support-transactions.md index 1c5bd7c08649..ade2bf5da5c1 100644 --- a/developer/cmdlet/how-to-support-transactions.md +++ b/developer/cmdlet/how-to-support-transactions.md @@ -14,19 +14,26 @@ caps.latest.revision: 8 This example shows the basic code elements that add support for transactions to a cmdlet. > [!IMPORTANT] -> For more information about how Windows PowerShell handles transactions, see [Windows PowerShell Transactions](http://msdn.microsoft.com/en-us/74d7bac7-bc53-49f1-a47a-272e8da84710). -> For more information about how Windows PowerShell handles transactions, see [Windows PowerShell Transactions](http://msdn.microsoft.com/en-us/74d7bac7-bc53-49f1-a47a-272e8da84710). +> For more information about how Windows PowerShell handles transactions, +> see [About Transactions][about_Transactions]. ## To support transactions -1. When you declare the Cmdlet attribute, specify that the cmdlet supports transactions. When the cmdlet supports transactions, Windows PowerShell adds the `UseTransaction` parameter to the cmdlet when it is run. +1. When you declare the Cmdlet attribute, + specify that the cmdlet supports transactions. + When the cmdlet supports transactions, + Windows PowerShell adds the `UseTransaction` parameter to the cmdlet when it is run. ```csharp [Cmdlet(VerbsCommunications.Send, "GreetingTx", SupportsTransactions=true )] ``` -2. Within one of the input processing methods, add an `if` block to determine if a transaction is available. If the `if` statement resolves to `true`, the actions within this statement can be performed within the context of the current transaction. +2. Within one of the input processing methods, + add an `if` block to determine if a transaction is available. + If the `if` statement resolves to `true`, + the actions within this statement + can be performed within the context of the current transaction. ```csharp if (TransactionAvailable()) @@ -41,3 +48,7 @@ This example shows the basic code elements that add support for transactions to ## See Also [Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) + + + +[about_Transactions]: /powershell/module/Microsoft.PowerShell.Core/About/about_Transactions diff --git a/developer/cmdlet/how-to-write-a-simple-cmdlet.md b/developer/cmdlet/how-to-write-a-simple-cmdlet.md index b51fa9d46f66..d2c46aecc5a8 100644 --- a/developer/cmdlet/how-to-write-a-simple-cmdlet.md +++ b/developer/cmdlet/how-to-write-a-simple-cmdlet.md @@ -1,7 +1,7 @@ --- title: "How to Write a Simple Cmdlet | Microsoft Docs" ms.custom: "" -ms.date: "09/13/2016" +ms.date: "01/15/2019" ms.reviewer: "" ms.suite: "" ms.tgt_pltfrm: "" @@ -9,27 +9,42 @@ ms.topic: "article" ms.assetid: 137543d8-0012-4cba-bcd6-98b25aac83bb caps.latest.revision: 9 --- -# How to Write a Simple Cmdlet -This topic shows how to write a simple cmdlet (the **Send-Greeting** cmdlet) that takes a single user name as input and then writes a greeting to that user. Although the cmdlet does not do much work, this example demonstrates the major sections of a cmdlet. +# How to write a cmdlet -## To Write a Simple Cmdlet +This article shows how to write a cmdlet. The `Send-Greeting` cmdlet takes a single user name as +input and then writes a greeting to that user. Although the cmdlet does not do much work, this +example demonstrates the major sections of a cmdlet. -1. Use the Cmdlet attribute to declare the class as a cmdlet. This attribute specifies the verb and the noun for the cmdlet name. +## Steps to write a cmdlet - For more information about how to declare the Cmdlet attribute, see [CmdletAttribute Declaration](./cmdlet-attribute-declaration.md). +1. To declare the class as a cmdlet, use the **Cmdlet** attribute. The **Cmdlet** attribute + specifies the verb and the noun for the cmdlet name. + + For more information about the **Cmdlet** attribute, see [CmdletAttribute Declaration](cmdlet-attribute-declaration.md). 2. Specify the name of the class. -3. Specify that the cmdlet derives from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) or [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. +3. Specify that the cmdlet derives from either of the following classes: + + * [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) + * [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) + +4. To define the parameters for the cmdlet, use the **Parameter** attribute. In this case, only one + required parameter is specified. -4. Use the Parameter attribute to define the parameters for the cmdlet. In this case, only one required parameter is specified. + For more information about the **Parameter** attribute, see [ParameterAttribute Declaration](parameter-attribute-declaration.md). - For more information about how to declare the Parameter attribute, see [ParameterAttribute Declaration](./parameter-attribute-declaration.md). +5. Override the input processing method that processes the input. In this case, the + [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) + method is overridden. -5. Override the input processing method that will process the input. In this case, the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method is overridden. +6. To write the greeting, use the method [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject). + The greeting is displayed in the following format: -6. Use the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method to write the following greeting: "Hello [UserName]!". + ```Output + Hello ! + ``` ## Example @@ -38,7 +53,7 @@ using System.Management.Automation; // Windows PowerShell assembly. namespace SendGreeting { - // Declare the class as a cmdlet and specify and + // Declare the class as a cmdlet and specify the // appropriate verb and noun for the cmdlet name. [Cmdlet(VerbsCommunications.Send, "Greeting")] public class SendGreetingCommand : Cmdlet @@ -52,7 +67,7 @@ namespace SendGreeting } private string name; - // Overide the ProcessRecord method to process + // Override the ProcessRecord method to process // the supplied user name and write out a // greeting to the user by calling the WriteObject // method. @@ -64,18 +79,18 @@ namespace SendGreeting } ``` -## See Also +## See also [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) -[System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) +[System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) -[System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) +[System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) -[System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) +[System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) -[CmdletAttribute Declaration](./cmdlet-attribute-declaration.md) +[CmdletAttribute Declaration](cmdlet-attribute-declaration.md) -[ParameterAttribute Declaration](./parameter-attribute-declaration.md) +[ParameterAttribute Declaration](parameter-attribute-declaration.md) -[Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) +[Writing a Windows PowerShell Cmdlet](writing-a-windows-powershell-cmdlet.md) \ No newline at end of file diff --git a/developer/cmdlet/interpreting-errorrecord-objects.md b/developer/cmdlet/interpreting-errorrecord-objects.md index 5993b0d4b03d..ebe2156d1fdd 100644 --- a/developer/cmdlet/interpreting-errorrecord-objects.md +++ b/developer/cmdlet/interpreting-errorrecord-objects.md @@ -11,14 +11,14 @@ caps.latest.revision: 9 --- # Interpreting ErrorRecord Objects -In most cases, an [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object represents a non-terminating error generated by a command or script. Terminating errors can also specify the additional information in an ErrorRecord via the [System.Management.Automation.Icontainserrorrecord](/dotnet/api/System.Management.Automation.IContainsErrorRecord) interface. +In most cases, an [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object represents a non-terminating error generated by a command or script. Terminating errors can also specify the additional information in an ErrorRecord via the [System.Management.Automation.Icontainserrorrecord](/dotnet/api/System.Management.Automation.IContainsErrorRecord) interface. -If you want to write an error handler in your script or a host to handle specific errors that occur during command or script execution, you must interpret the [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object to determine whether it represents the class of error that you want to handle. +If you want to write an error handler in your script or a host to handle specific errors that occur during command or script execution, you must interpret the [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object to determine whether it represents the class of error that you want to handle. When a cmdlet encounters a terminating or non-terminating error, it should create an error record that describes the error condition. The host application must investigate these error records and perform whatever action will mitigate the error. The host application must also investigate error records for nonterminating errors that failed to process a record but were able to continue, and it must investigate error records for terminating errors that caused the pipeline to stop. > [!NOTE] -> For terminating errors, the cmdlet calls the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method. For non-terminating errors, the cmdlet calls the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method. +> For terminating errors, the cmdlet calls the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method. For non-terminating errors, the cmdlet calls the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method. ## Error Record Design @@ -38,13 +38,13 @@ You can review several parts of the error record to identify the error. These pa ### The Error Category -The error category of the error record is one of the predefined constants provided by the [System.Management.Automation.Errorcategory](/dotnet/api/System.Management.Automation.ErrorCategory) enumeration. This information is available through the [System.Management.Automation.Errorrecord.Categoryinfo*](/dotnet/api/System.Management.Automation.ErrorRecord.CategoryInfo) property of the [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. +The error category of the error record is one of the predefined constants provided by the [System.Management.Automation.Errorcategory](/dotnet/api/System.Management.Automation.ErrorCategory) enumeration. This information is available through the [System.Management.Automation.ErrorRecord.CategoryInfo](/dotnet/api/System.Management.Automation.ErrorRecord.CategoryInfo) property of the [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. The cmdlet can specify the CloseError, OpenError, InvalidType, ReadError, and WriteError categories, and other error categories. The host application can use the error category to capture groups of errors. ### The Exception -The exception included in the error record is provided by the cmdlet and can be accessed through the [System.Management.Automation.Errorrecord.Exception*](/dotnet/api/System.Management.Automation.ErrorRecord.Exception) property of the [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. +The exception included in the error record is provided by the cmdlet and can be accessed through the [System.Management.Automation.ErrorRecord.Exception*](/dotnet/api/System.Management.Automation.ErrorRecord.Exception) property of the [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. Host applications can use the `is` keyword to identify that the exception is of a specific class or of a derived class. It is better to branch on the exception type, as shown in the following example. @@ -64,23 +64,23 @@ In the previous example, the first token is the error identifier, which is follo ### Other Information -The [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object might also provide information that describes the environment in which the error occurred. This information includes items such as error details, invocation information, and the target object that was being processed when the error occurred. Although this information might be useful to the host application, it is not typically used to identify the error. This information is available through the following properties: +The [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object might also provide information that describes the environment in which the error occurred. This information includes items such as error details, invocation information, and the target object that was being processed when the error occurred. Although this information might be useful to the host application, it is not typically used to identify the error. This information is available through the following properties: -[System.Management.Automation.Errorrecord.Errordetails*](/dotnet/api/System.Management.Automation.ErrorRecord.ErrorDetails) +[System.Management.Automation.ErrorRecord.ErrorDetails](/dotnet/api/System.Management.Automation.ErrorRecord.ErrorDetails) -[System.Management.Automation.Errorrecord.Invocationinfo*](/dotnet/api/System.Management.Automation.ErrorRecord.InvocationInfo) +[System.Management.Automation.ErrorRecord.InvocationInfo](/dotnet/api/System.Management.Automation.ErrorRecord.InvocationInfo) -[System.Management.Automation.Errorrecord.Targetobject*](/dotnet/api/System.Management.Automation.ErrorRecord.TargetObject) +[System.Management.Automation.ErrorRecord.TargetObject](/dotnet/api/System.Management.Automation.ErrorRecord.TargetObject) ## See Also -[System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) +[System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) [System.Management.Automation.Errorcategory](/dotnet/api/System.Management.Automation.ErrorCategory) [System.Management.Automation.Errorcategoryinfo](/dotnet/api/System.Management.Automation.ErrorCategoryInfo) -[System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) +[System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) diff --git a/developer/cmdlet/invoking-cmdlets-and-scripts-within-a-cmdlet.md b/developer/cmdlet/invoking-cmdlets-and-scripts-within-a-cmdlet.md index f898bfd20d2e..38fe1c59ad99 100644 --- a/developer/cmdlet/invoking-cmdlets-and-scripts-within-a-cmdlet.md +++ b/developer/cmdlet/invoking-cmdlets-and-scripts-within-a-cmdlet.md @@ -15,7 +15,7 @@ A cmdlet can invoke other cmdlets and scripts from within the input processing m ## The Invoke Method -All cmdlets can invoke an existing cmdlet by calling the [System.Management.Automation.Cmdlet.Invoke](/dotnet/api/System.Management.Automation.Cmdlet.Invoke) method from within an input processing method, such as [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), that is overridden by the cmdlet. However, you can invoke only those cmdlets that derive directly from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. You cannot invoke a cmdlet that derives from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. +All cmdlets can invoke an existing cmdlet by calling the [System.Management.Automation.Cmdlet.Invoke](/dotnet/api/System.Management.Automation.Cmdlet.Invoke) method from within an input processing method, such as [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), that is overridden by the cmdlet. However, you can invoke only those cmdlets that derive directly from the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. You cannot invoke a cmdlet that derives from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class. The [System.Management.Automation.Cmdlet.Invoke*](/dotnet/api/System.Management.Automation.Cmdlet.Invoke) method has the following variants. diff --git a/developer/cmdlet/non-terminating-errors.md b/developer/cmdlet/non-terminating-errors.md index 72b36bd3f3ad..31cb314b52d7 100644 --- a/developer/cmdlet/non-terminating-errors.md +++ b/developer/cmdlet/non-terminating-errors.md @@ -13,19 +13,19 @@ caps.latest.revision: 8 This topic discusses the method used to report non-terminating errors. It also discusses how to call the method from within the cmdlet. -When a non-terminating error occurs, the cmdlet should report this error by calling the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method. When the cmdlet reports a non-terminating error, the cmdlet can continue to operate on this input object and on further incoming pipeline objects. If the cmdlet calls the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method, the cmdlet can write an error record that describes the condition that caused the non-terminating error. For more information about error records, see [Windows PowerShell Error Records](./windows-powershell-error-records.md). +When a non-terminating error occurs, the cmdlet should report this error by calling the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method. When the cmdlet reports a non-terminating error, the cmdlet can continue to operate on this input object and on further incoming pipeline objects. If the cmdlet calls the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method, the cmdlet can write an error record that describes the condition that caused the non-terminating error. For more information about error records, see [Windows PowerShell Error Records](./windows-powershell-error-records.md). -Cmdlets can call [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) as necessary from within their input processing methods. However, cmdlets can call [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) only from the thread that called the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), or [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) input processing method. Do not call [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) from another thread. Instead, communicate errors back to the main thread. +Cmdlets can call [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) as necessary from within their input processing methods. However, cmdlets can call [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) only from the thread that called the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), or [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) input processing method. Do not call [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) from another thread. Instead, communicate errors back to the main thread. ## See Also -[System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) +[System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) -[System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) +[System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) -[System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) +[System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) -[System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) +[System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) [Windows PowerShell Error Records](./windows-powershell-error-records.md) diff --git a/developer/cmdlet/parameter-attribute-declaration.md b/developer/cmdlet/parameter-attribute-declaration.md index 5b0f5855122d..ac86bd821a65 100644 --- a/developer/cmdlet/parameter-attribute-declaration.md +++ b/developer/cmdlet/parameter-attribute-declaration.md @@ -67,7 +67,7 @@ Optional named parameter.Specifies the resource identifier for a Help message. - When you use parameter sets, note the following: - - Each parameter set must have at least one unique parameter. Good cmdlet design indicates this unique parameter should also be mandatory if possible. If your cmdlet is desigtened to be run without parameters, the unique parameter cannot be mandatory. + - Each parameter set must have at least one unique parameter. Good cmdlet design indicates this unique parameter should also be mandatory if possible. If your cmdlet is designed to be run without parameters, the unique parameter cannot be mandatory. - No parameter set should contain more than one positional parameter with the same position. @@ -75,8 +75,7 @@ Optional named parameter.Specifies the resource identifier for a Help message. - Multiple parameters can define `ValueFromPipelineByPropertyName = true`. -- For more information about the guidelines for parameter names, see [Cmdlet Parameter Names](https://msdn.microsoft.com/en-us/c4500737-0a05-4d01-911b-394424c65bfb). -- For more information about the guidelines for parameter names, see [Cmdlet Parameter Names](https://msdn.microsoft.com/en-us/c4500737-0a05-4d01-911b-394424c65bfb). +- For more information about the guidelines for parameter names, see [Cmdlet Parameter Names](standard-cmdlet-parameter-names-and-types.md). - The parameter attribute is defined by the [System.Management.Automation.Parameterattribute](/dotnet/api/System.Management.Automation.ParameterAttribute) class. @@ -84,8 +83,6 @@ Optional named parameter.Specifies the resource identifier for a Help message. [System.Management.Automation.Parameterattribute](/dotnet/api/System.Management.Automation.ParameterAttribute) -[Cmdlet Parameter Names](https://msdn.microsoft.com/en-us/c4500737-0a05-4d01-911b-394424c65bfb) - -[Cmdlet Parameter Names](https://msdn.microsoft.com/en-us/c4500737-0a05-4d01-911b-394424c65bfb) +[Cmdlet Parameter Names](standard-cmdlet-parameter-names-and-types.md) [Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) diff --git a/developer/cmdlet/property-parameters.md b/developer/cmdlet/property-parameters.md index 9e26c7d7f80b..c99d0ef6257a 100644 --- a/developer/cmdlet/property-parameters.md +++ b/developer/cmdlet/property-parameters.md @@ -13,90 +13,25 @@ caps.latest.revision: 6 The following table lists the recommended names and functionality for property parameters. -Count -Data type: Int32 - -Implement this parameter so that the user can specify the number of objects to be processed. - -Description -Data type: String - -Implement this parameter so that the user can specify a description for a resource. - -From -Data type: String - -Implement this parameter so that the user can specify the reference object to get information from. - -Id -Data type: - -Implement this parameter so that the user can specify the identifier of a resource. - -Input -Data type: String - -Implement this parameter so that the user can specify the input file specification. - -Location -Data type: String - -Implement this parameter so that the user can specify the location of the resource. - -LogName -Data type: String - -Implement this parameter so that the user can specify the name of the log file to process or use. - -Name -Data type: String - -Implement this parameter so that the user can specify the name of the resource. - -Output -Data type: String - -Implement this parameter so that the user can specify the output file. - -Owner -Data type: String - -Implement this parameter so that the user can specify the name of the owner of the resource. - -Property -Data type: String - -Implement this parameter so that the user can specify the name or the names of the properties to use. - -Reason -Data type: String - -Implement this parameter so that the user can specify why this cmdlet is being invoked. - -Regex -Data type: SwitchParameter - -Implement this parameter so that regular expressions are used when the parameter is specified. When this parameter is specified, wildcard characters are not resolved. - -Speed -Data type: Int32 - -Implement this parameter so that the user can specify the baud rate. The user sets this parameter to the speed of the resource. - -State -Data type: Keyword array - -Implement this parameter so that the user can specify the names of states, such as KEYDOWN. - -Value -Data type: Object - -Implement this parameter so that the user can specify a value to provide to the cmdlet. - -Version -Data type: String - -Implement this parameter so that the user can specify the version of the property. +|Parameter|Functionality| +|---|---| +|**Count**
Data type: Int32|Implement this parameter so that the user can specify the number of objects to be processed.| +|**Description**
Data type: String|Implement this parameter so that the user can specify a description for a resource.| +|**From**
Data type: String|Implement this parameter so that the user can specify the reference object to get information from.| +|**Id**
Data type: Resource dependent|Implement this parameter so that the user can specify the identifier of a resource.| +|**Input**
Data type: String|Implement this parameter so that the user can specify the input file specification.| +|**Location**
Data type: String|Implement this parameter so that the user can specify the location of the resource.| +|**LogName**
Data type: String|Implement this parameter so that the user can specify the name of the log file to process or use.| +|**Name**
Data type: String|Implement this parameter so that the user can specify the name of the resource.| +|**Output**
Data type: String|Implement this parameter so that the user can specify the output file.| +|**Owner**
Data type: String|Implement this parameter so that the user can specify the name of the owner of the resource.| +|**Property**
Data type: String|Implement this parameter so that the user can specify the name or the names of the properties to use.| +|**Reason**
Data type: String|Implement this parameter so that the user can specify why this cmdlet is being invoked.| +|**Regex**
Data type: SwitchParameter|Implement this parameter so that regular expressions are used when the parameter is specified. When this parameter is specified, wildcard characters are not resolved.| +|**Speed**
Data type: Int32|Implement this parameter so that the user can specify the baud rate. The user sets this parameter to the speed of the resource.| +|**State**
Data type: Keyword array|Implement this parameter so that the user can specify the names of states, such as KEYDOWN.| +|**Value**
Data type: Object|Implement this parameter so that the user can specify a value to provide to the cmdlet.| +|**Version**
Data type: String|Implement this parameter so that the user can specify the version of the property.| ## See Also diff --git a/developer/cmdlet/quantity-parameters.md b/developer/cmdlet/quantity-parameters.md index 3d3c6fe204a9..a0b7832f0c04 100644 --- a/developer/cmdlet/quantity-parameters.md +++ b/developer/cmdlet/quantity-parameters.md @@ -13,30 +13,13 @@ caps.latest.revision: 6 The following table lists the recommended names and functionality for quantity parameters. -All -Data type: Boolean - -Implement this parameter so that `true` indicates that all resources should be acted upon instead of a default subset of resources. Implement this parameter so that `false` indicates a subset of the resources. - -Allocation -Data type: Int32 - -Implement this parameter so that the user can specify the number of items to allocate. - -BlockCount -Data type: Int64 - -Implement this parameter so that the user can specify the block count. - -Count -Data type: Int64 - -Implement this parameter so that the user can specify the count. - -Scope -Data type: Keyword - -Implement this parameter so that the user can specify the scope to operate on. +|Parameter|Functionality| +|---|---| +|**All**
Data type: Boolean|Implement this parameter so that `true` indicates that all resources should be acted upon instead of a default subset of resources. Implement this parameter so that `false` indicates a subset of the resources.| +|**Allocation**
Data type: Int32|Implement this parameter so that the user can specify the number of items to allocate.| +|**BlockCount**
Data type: Int64|Implement this parameter so that the user can specify the block count.| +|**Count**
Data type: Int64|Implement this parameter so that the user can specify the count.| +|**Scope**
Data type: Keyword|Implement this parameter so that the user can specify the scope to operate on.| ## See Also diff --git a/developer/cmdlet/requesting-confirmation-from-cmdlets.md b/developer/cmdlet/requesting-confirmation-from-cmdlets.md index cc7b2e542341..27fe78cc8e43 100644 --- a/developer/cmdlet/requesting-confirmation-from-cmdlets.md +++ b/developer/cmdlet/requesting-confirmation-from-cmdlets.md @@ -19,7 +19,7 @@ caps.latest.revision: 13 Cmdlets should request confirmation when they are about to make a change to the system that is outside of the Windows PowerShell environment. For example, if a cmdlet is about to add a user account or stop a process, the cmdlet should require confirmation from the user before it proceeds. In contrast, if a cmdlet is about to change a Windows PowerShell variable, the cmdlet does not need to require confirmation. -In order to make a confirmation request, the cmdlet must indicate that it supports confirmation requests, and it must call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) (optional) methods to display a confirmation request message. +In order to make a confirmation request, the cmdlet must indicate that it supports confirmation requests, and it must call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) (optional) methods to display a confirmation request message. ## Supporting Confirmation Requests @@ -34,17 +34,17 @@ The following example shows a Cmdlet attribute declaration that supports confirm ## Calling the Confirmation request methods -In the cmdlet code, call the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method before the operation that changes the system is performed. Design the cmdlet so that if the call returns a value of `false`, the operation is not performed, and the cmdlet processes the next operation. +In the cmdlet code, call the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method before the operation that changes the system is performed. Design the cmdlet so that if the call returns a value of `false`, the operation is not performed, and the cmdlet processes the next operation. ## Calling the ShouldContinue Method -Most cmdlets request confirmation using only the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. However, some cases might require additional confirmation. For these cases, supplement the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call with a call to the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method. This allows the cmdlet or provider to more finely control the scope of the **Yes to all** response to the confirmation prompt. +Most cmdlets request confirmation using only the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. However, some cases might require additional confirmation. For these cases, supplement the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call with a call to the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method. This allows the cmdlet or provider to more finely control the scope of the **Yes to all** response to the confirmation prompt. -If a cmdlet calls the [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method, the cmdlet must also provide a `Force` switch parameter. If the user specifies `Force` when the user invokes the cmdlet, the cmdlet should still call [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess), but it should bypass the call to [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). +If a cmdlet calls the [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method, the cmdlet must also provide a `Force` switch parameter. If the user specifies `Force` when the user invokes the cmdlet, the cmdlet should still call [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess), but it should bypass the call to [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). -[System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) will throw an exception when it is called from a non-interactive environment where the user cannot be prompted. Adding a `Force` parameter ensures that the command can still be performed when it is invoked in a non-interactive environment. +[System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) will throw an exception when it is called from a non-interactive environment where the user cannot be prompted. Adding a `Force` parameter ensures that the command can still be performed when it is invoked in a non-interactive environment. -The following example shows how to call [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.Shouldcontinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). +The following example shows how to call [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) and [System.Management.Automation.Cmdlet.ShouldContinue](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue). ```csharp if (ShouldProcess (...) ) @@ -56,9 +56,9 @@ if (ShouldProcess (...) ) } ``` -The behavior of a [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call can vary depending on the environment in which the cmdlet is invoked. Using the previous guidelines will help ensure that the cmdlet behaves consistently with other cmdlets, regardless of the host environment. +The behavior of a [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call can vary depending on the environment in which the cmdlet is invoked. Using the previous guidelines will help ensure that the cmdlet behaves consistently with other cmdlets, regardless of the host environment. -For an example of calling the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method, see [How to Request Confirmations](./how-to-request-confirmations.md). +For an example of calling the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method, see [How to Request Confirmations](./how-to-request-confirmations.md). ## Specify the Impact Level @@ -68,13 +68,13 @@ For most cmdlets, you do not have to explicitly specify `ConfirmImpact`. Instea ## Calling Non-Confirmation Methods -If the cmdlet or provider must send a message but not request confirmation, it can call the following three methods. Avoid using the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method to send messages of these types because [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) output is intermingled with the normal output of your cmdlet or provider, which makes script writing difficult. +If the cmdlet or provider must send a message but not request confirmation, it can call the following three methods. Avoid using the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method to send messages of these types because [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) output is intermingled with the normal output of your cmdlet or provider, which makes script writing difficult. -- To caution the user and continue with the operation, the cmdlet or provider can call the [System.Management.Automation.Cmdlet.Writewarning*](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method. +- To caution the user and continue with the operation, the cmdlet or provider can call the [System.Management.Automation.Cmdlet.WriteWarning](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method. -- To provide additional information that the user can retrieve using the `Verbose` parameter, the cmdlet or provider can call the [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method. +- To provide additional information that the user can retrieve using the `Verbose` parameter, the cmdlet or provider can call the [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method. -- To provide debugging-level detail for other developers or for product support, the cmdlet or provider can call the [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method. The user can retrieve this information using the `Debug` parameter. +- To provide debugging-level detail for other developers or for product support, the cmdlet or provider can call the [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method. The user can retrieve this information using the `Debug` parameter. Cmdlets and providers first call the following methods to request confirmation before they attempt to perform an operation that changes a system outside of Windows PowerShell: diff --git a/developer/cmdlet/requesting-confirmation.md b/developer/cmdlet/requesting-confirmation.md index 4f9c76c52aab..b062539657fe 100644 --- a/developer/cmdlet/requesting-confirmation.md +++ b/developer/cmdlet/requesting-confirmation.md @@ -19,7 +19,7 @@ This section discusses confirmation messages that can be displayed before a cmdl Discusses the process that cmdlets, functions, and providers must follow to request a confirmation before they make a change to the system. [Users Requesting Confirmation](./users-requesting-confirmation.md) -Discusses how users can make a cmdlet, function, or provider request confirmation when the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method is called. +Discusses how users can make a cmdlet, function, or provider request confirmation when the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method is called. [Confirmation Messages](./confirmation-messages.md) Provides samples of the different confirmation messages that can be displayed. diff --git a/developer/cmdlet/required-development-guidelines.md b/developer/cmdlet/required-development-guidelines.md index 4b1394f162eb..10654607a7a7 100644 --- a/developer/cmdlet/required-development-guidelines.md +++ b/developer/cmdlet/required-development-guidelines.md @@ -101,7 +101,7 @@ When you name cmdlets, do not use any of the following special characters. |%|percent sign| |+|plus sign| |=|equals sign| -|~|tilda| +|~|tilde| ### Parameters Names that cannot be Used (RD03) @@ -116,9 +116,9 @@ To make these calls the cmdlet must specify that it supports confirmation reques > [!NOTE] > If the Cmdlet attribute of the cmdlet class indicates that the cmdlet supports calls to the [System.Management.Automation.Cmdlet.ShouldProcess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method, and the cmdlet fails to make the call to the [System.Management.Automation.Cmdlet.ShouldProcess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method, the user could modify the system unexpectedly. -Use the [System.Management.Automation.Cmdlet.ShouldProcess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method for any system modification. A user preference and the `Whatif` parameter control the [System.Management.Automation.Cmdlet.ShouldProcess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. In contrast, the [System.Management.Automation.Cmdlet.ShouldContinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) call performs an additional check for potentially dangerous modifications. This method is not controlled by any user preference or the `Whatif` parameter. If your cmdlet calls the [System.Management.Automation.Cmdlet.ShouldContinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method, it should have a `Force` parameter that bypasses the calls to these two methods and that proceeds with the operation. This is important because it allows your cmdlet to be used in non-interactive scripts and hosts. +Use the [System.Management.Automation.Cmdlet.ShouldProcess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method for any system modification. A user preference and the `WhatIf` parameter control the [System.Management.Automation.Cmdlet.ShouldProcess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method. In contrast, the [System.Management.Automation.Cmdlet.ShouldContinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) call performs an additional check for potentially dangerous modifications. This method is not controlled by any user preference or the `WhatIf` parameter. If your cmdlet calls the [System.Management.Automation.Cmdlet.ShouldContinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method, it should have a `Force` parameter that bypasses the calls to these two methods and that proceeds with the operation. This is important because it allows your cmdlet to be used in non-interactive scripts and hosts. -If your cmdlets support these calls, the user can determine whether the action should actually be performed. For example, the [Stop-Process](/powershell/module/microsoft.powershell.management/stop-process) cmdlet calls the [System.Management.Automation.Cmdlet.ShouldContinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method before it stops a set of critical processes, including the System, Winlogon, and Spoolsrv processes. +If your cmdlets support these calls, the user can determine whether the action should actually be performed. For example, the [Stop-Process](/powershell/module/microsoft.powershell.management/stop-process) cmdlet calls the [System.Management.Automation.Cmdlet.ShouldContinue*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldContinue) method before it stops a set of critical processes, including the System, Winlogon, and Spoolsv processes. For more information about supporting these methods, see [Requesting Confirmation](./requesting-confirmation-from-cmdlets.md). @@ -209,7 +209,7 @@ Create a Windows PowerShell module to package and deploy your cmdlets. Support f ## See Also -[Strongly Encouraged Developement Guidelines](./strongly-encouraged-development-guidelines.md) +[Strongly Encouraged Development Guidelines](./strongly-encouraged-development-guidelines.md) [Advisory Development Guidelines](./advisory-development-guidelines.md) diff --git a/developer/cmdlet/resource-parameters.md b/developer/cmdlet/resource-parameters.md index 636942c2a214..bcb36b10ddf4 100644 --- a/developer/cmdlet/resource-parameters.md +++ b/developer/cmdlet/resource-parameters.md @@ -13,122 +13,31 @@ caps.latest.revision: 5 The following table lists the recommended names and functionality for resource parameters. For these parameters, the resources could be the assembly that contains the cmdlet class or the host application that is running the cmdlet. -Application -Data type: String - -Implement this parameter so that the user can specify an application. - -Assembly -Data type: String - -Implement this parameter so that the user can specify an assembly. - -Attribute -Data type: String - -Implement this parameter so that the user can specify an attribute. - -Class -Data type: String - -Implement this parameter so that the user can specify a Microsoft .NET Framework class. - -Cluster -Data type: String - -Implement this parameter so that the user can specify a cluster. - -Culture -Data type: String - -Implement this parameter so that the user can specify the culture in which to run the cmdlet. - -Domain -Data type: String - -Implement this parameter so that the user can specify the domain name. - -Drive -Data type: String - -Implement this parameter so that the user can specify a drive name. - -Event -Data type: String - -Implement this parameter so that the user can specify an event name. - -Interface -Data type: String - -Implement this parameter so that the user can specify a network interface name. - -IpAddress -Data type: String - -Implement this parameter so that the user can specify an IP address. - -Job -Data type: String - -Implement this parameter so that the user can specify a job. - -LiteralPath -Data type: String - -Implement this parameter so that the user can specify the path to a resource when wildcard characters are not supported. (Use the `Path` parameter when wildcard characters are supported.) - -Mac -Data type: String - -Implement this parameter so that the user can specify a media access controller (MAC) address. - -ParentId -Data type: String - -Implement this parameter so that the user can specify the parent identifier. - -Path -Data type: String, String[] - -Implement this parameter so that the user can indicate the paths to a resource when wildcard characters are supported. (Use the `LiteralPath` parameter when wildcard characters are not supported.) - -We recommend that you develop this parameter so that it supports the full "provider:path" syntax used by providers. We also recommend that you develop it so that it works with as many providers as possible. - -Port -Data type: Integer, String - -Implement this parameter so that the user can specify an integer value for networking or a string value such as "biztalk" for other types of port. - -Printer -Data type: Integer, String - -Implement this parameter so that the user can specify the printer for the cmdlet to use. - -Size -Data type: Int32 - -Implement this parameter so that the user can specify a size. - -TID -Data type: String - -Implement this parameter so that the user can specify a transaction identifier (TID) for the cmdlet. - -Type -Data type: String - -Implement this parameter so that the user can specify the type of resource on which to operate. - -URL -Data type: String - -Implement this parameter so that the user can specify a Uniform Resource Locator (URL). - -User -Data type: String - -Implement this parameter so that the user can specify their name or the name of another user. +|Parameter|Functionality| +|---|---| +|**Application**
Data type: String|Implement this parameter so that the user can specify an application.| +|**Assembly**
Data type: String|Implement this parameter so that the user can specify an assembly.| +|**Attribute**
Data type: String|Implement this parameter so that the user can specify an attribute.| +|**Class**
Data type: String|Implement this parameter so that the user can specify a Microsoft .NET Framework class.| +|**Cluster**
Data type: String|Implement this parameter so that the user can specify a cluster.| +|**Culture**
Data type: String|Implement this parameter so that the user can specify the culture in which to run the cmdlet.| +|**Domain**
Data type: String|Implement this parameter so that the user can specify the domain name.| +|**Drive**
Data type: String|Implement this parameter so that the user can specify a drive name.| +|**Event**
Data type: String|Implement this parameter so that the user can specify an event name.| +|**Interface**
Data type: String|Implement this parameter so that the user can specify a network interface name.| +|**IpAddress**
Data type: String|Implement this parameter so that the user can specify an IP address.| +|**Job**
Data type: String|Implement this parameter so that the user can specify a job.| +|**LiteralPath**
Data type: String|Implement this parameter so that the user can specify the path to a resource when wildcard characters are not supported. (Use the **Path** parameter when wildcard characters are supported.)| +|**Mac**
Data type: String|Implement this parameter so that the user can specify a media access controller (MAC) address.| +|**ParentId**
Data type: String|Implement this parameter so that the user can specify the parent identifier.| +|**Path**
Data type: String, String[]|Implement this parameter so that the user can indicate the paths to a resource when wildcard characters are supported. (Use the **LiteralPath** parameter when wildcard characters are not supported.) We recommend that you develop this parameter so that it supports the full `provider:path` syntax used by providers. We also recommend that you develop it so that it works with as many providers as possible.| +|**Port**
Data type: Integer, String|Implement this parameter so that the user can specify an integer value for networking or a string value such as "biztalk" for other types of port.| +|**Printer**
Data type: Integer, String|Implement this parameter so that the user can specify the printer for the cmdlet to use.| +|**Size**
Data type: Int32|Implement this parameter so that the user can specify a size.| +|**TID**
Data type: String|Implement this parameter so that the user can specify a transaction identifier (TID) for the cmdlet.| +|**Type**
Data type: String|Implement this parameter so that the user can specify the type of resource on which to operate.| +|**URL**
Data type: String|Implement this parameter so that the user can specify a Uniform Resource Locator (URL).| +|**User**
Data type: String|Implement this parameter so that the user can specify their name or the name of another user.| ## See Also diff --git a/developer/cmdlet/security-parameters.md b/developer/cmdlet/security-parameters.md index d360e5ac145f..645f02e130c3 100644 --- a/developer/cmdlet/security-parameters.md +++ b/developer/cmdlet/security-parameters.md @@ -13,134 +13,33 @@ caps.latest.revision: 6 The following table lists the recommended names and functionality for parameters used to provide security information for an operation, such as parameters that specify certificate key and privilege information. -ACL -Data type: String - -Implement this parameter to specify the access control level of protection for a catalog or for a Uniform Resource Identifier (URI). - -CertFile -Data type: String - -Implement this parameter so that the user can specify the name of a file that contains one of the following: - -- A Base64 or Distinguished Encoding Rules (DER) encoded x.509 certificate - -- A Public Key Cryptography Standards (PKCS) #12 file that contains at least one certificate and key - -CertIssuerName -Data type: String - -Implement this parameter so that the user can specify the name of the issuer of a certificate or so that the user can specify a substring. - -CertRequestFile -Data type: String - -Implement this parameter to specify the name of a file that contains a Base64 or DER-encoded PKCS #10 certificate request. - -CertSerialNumber -Data type: String - -Implement this parameter to specify the serial number that was issued by the certification authority. - -CertStoreLocation -Data type: String - -Implement this parameter so that the user can specify the location of the certificate store. The location is typically a file path. - -CertSubjectName -Data type: String - -Implement this parameter so that the user can specify the issuer of a certificate or so that the user can specify a substring. - -CertUsage -Data type: String - -Implement this parameter to specify the key usage or the enhanced key usage. The key can be represented as a bit mask, a bit, an object identifier (OID), or a string. - -Credential -Data type: [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential) - -Implement this parameter so that the cmdlet will automatically prompt the user for a user name or password. A prompt for both is displayed if a full credential is not supplied directly. - -CSPName -Data type: String - -Implement this parameter so that the user can specify the name of the certificate service provider (CSP). - -CSPType -Data type: Integer - -Implement this parameter so that the user can specify the type of CSP. - -Group -Data type: String - -Implement this parameter so that the user can specify a collection of principals for access. For more information, see the description of the `Principal` parameter. - -KeyAlgorithm -Data type: String - -Implement this parameter so that the user can specify the key generation algorithm to use for security. - -KeyContainerName -Data type: String - -Implement this parameter so that the user can specify the name of the key container. - -KeyLength -Data type: Integer - -Implement this parameter so that the user can specify the length of the key in bits. - -Operation -Data type: String - -Implement this parameter so that the user can specify an action that can be performed on a protected object. - -Principal -Data type: String - -Implement this parameter so that the user can specify a unique identifiable entity for access. - -Privilege -Data type: String - -Implement this parameter so that the user can specify the right a cmdlet needs to perform an operation for a particular entity. - -Privileges -Data type: Array of privileges - -Implement this parameter so that the user can specify the rights that a cmdlet needs to perform its operation for a particular entry. - -Role -Data type: String - -Implement this parameter so that the user can specify a set of operations that can be performed by an entity. - -SaveCred -Data type: SwitchParameter - -Implement this parameter so that credentials that were previously saved by the user will be used when the parameter is specified. - -Scope -Data type: String - -Implement this parameter so that the user can specify the group of protected objects for the cmdlet. - -SID -Data type: String - -Implement this parameter so that the user can specify a unique identifier that represents a principal. - -Trusted -Data type: SwitchParameter - -Implement this parameter so that trust levels are supported when the parameter is specified. - -TrustLevel -Data type: Keyword - -Implement this parameter so that the user can specify the trust level that is supported. For example, possible values include internet, intranet, and fulltrust. +|Parameter|Functionality| +|---|---| +|**ACL**
Data type: String|Implement this parameter to specify the access control level of protection for a catalog or for a Uniform Resource Identifier (URI).| +|**CertFile**
Data type: String|Implement this parameter so that the user can specify the name of a file that contains one of the following:
- A Base64 or Distinguished Encoding Rules (DER) encoded x.509 certificate
- A Public Key Cryptography Standards (PKCS) #12 file that contains at least one certificate and key| +|**CertIssuerName**
Data type: String|Implement this parameter so that the user can specify the name of the issuer of a certificate or so that the user can specify a substring.| +|**CertRequestFile**
Data type: String|Implement this parameter to specify the name of a file that contains a Base64 or DER-encoded PKCS #10 certificate request.| +|**CertSerialNumber**
Data type: String|Implement this parameter to specify the serial number that was issued by the certification authority.| +|**CertStoreLocation**
Data type: String|Implement this parameter so that the user can specify the location of the certificate store. The location is typically a file path.| +|**CertSubjectName**
Data type: String|Implement this parameter so that the user can specify the issuer of a certificate or so that the user can specify a substring.| +|**CertUsage**
Data type: String|Implement this parameter to specify the key usage or the enhanced key usage. The key can be represented as a bit mask, a bit, an object identifier (OID), or a string.| +|**Credential**
Data type: [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential)|Implement this parameter so that the cmdlet will automatically prompt the user for a user name or password. A prompt for both is displayed if a full credential is not supplied directly.| +|**CSPName**
Data type: String|Implement this parameter so that the user can specify the name of the certificate service provider (CSP).| +|**CSPType**
Data type: Integer|Implement this parameter so that the user can specify the type of CSP.| +|**Group**
Data type: String|Implement this parameter so that the user can specify a collection of principals for access. For more information, see the description of the **Principal** parameter.| +|**KeyAlgorithm**
Data type: String|Implement this parameter so that the user can specify the key generation algorithm to use for security.| +|**KeyContainerName**
Data type: String|Implement this parameter so that the user can specify the name of the key container.| +|**KeyLength**
Data type: Integer|Implement this parameter so that the user can specify the length of the key in bits.| +|**Operation**
Data type: String|Implement this parameter so that the user can specify an action that can be performed on a protected object.| +|**Principal**
Data type: String|Implement this parameter so that the user can specify a unique identifiable entity for access.| +|**Privilege**
Data type: String|Implement this parameter so that the user can specify the right a cmdlet needs to perform an operation for a particular entity.| +|**Privileges**
Data type: Array of privileges|Implement this parameter so that the user can specify the rights that a cmdlet needs to perform its operation for a particular entry.| +|**Role**
Data type: String|Implement this parameter so that the user can specify a set of operations that can be performed by an entity.| +|**SaveCred**
Data type: SwitchParameter|Implement this parameter so that credentials that were previously saved by the user will be used when the parameter is specified.| +|**Scope**
Data type: String|Implement this parameter so that the user can specify the group of protected objects for the cmdlet.| +|**SID**
Data type: String|Implement this parameter so that the user can specify a unique identifier that represents a principal.| +|**Trusted**
Data type: SwitchParameter|Implement this parameter so that trust levels are supported when the parameter is specified.| +|**TrustLevel**
Data type: Keyword|Implement this parameter so that the user can specify the trust level that is supported. For example, possible values include internet, intranet, and fulltrust.| ## See Also diff --git a/developer/cmdlet/selectstr-tutorial.md b/developer/cmdlet/selectstr-tutorial.md index bb4599f507f1..06b982bb9bc0 100644 --- a/developer/cmdlet/selectstr-tutorial.md +++ b/developer/cmdlet/selectstr-tutorial.md @@ -1,17 +1,13 @@ --- -title: "SelectStr Tutorial | Microsoft Docs" -ms.custom: "" -ms.date: "09/13/2016" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" +title: SelectStr Tutorial +ms.custom: +ms.date: 09/13/2016 +ms.topic: article ms.assetid: e81c0920-d696-4355-aaf7-eb20a6f79b6d caps.latest.revision: 5 --- # SelectStr Tutorial -This section provides a tutorial for creating the Select-Str cmdlet, which is very similar to the [Select-String](/powershell/module/microsoft.powershell.utility/select-string) cmdlet provided by Windows PowerShell. This tutorial provides fragments of code that illustrate how cmdlets are implemented, and an explanation of the code. This section provides a tutorial for creating the Select-Str cmdlet, which is very similar to the [Select-String](/powershell/module/microsoft.powershell.utility/select-string) cmdlet provided by Windows PowerShell. This tutorial provides fragments of code that illustrate how cmdlets are implemented, and an explanation of the code. ## Topic in this Tutorial diff --git a/developer/cmdlet/stopproc-tutorial.md b/developer/cmdlet/stopproc-tutorial.md index 6a15d5757eac..b07bec51dcae 100644 --- a/developer/cmdlet/stopproc-tutorial.md +++ b/developer/cmdlet/stopproc-tutorial.md @@ -11,7 +11,6 @@ caps.latest.revision: 5 --- # StopProc Tutorial -This section provides a tutorial for creating the Stop-Proc cmdlet, which is very similar to the [Stop-Process](/powershell/module/Microsoft.PowerShell.Management/Stop-Process) cmdlet provided by Windows PowerShell. This tutorial provides fragments of code that illustrate how cmdlets are implemented, and an explanation of the code. This section provides a tutorial for creating the Stop-Proc cmdlet, which is very similar to the [Stop-Process](/powershell/module/Microsoft.PowerShell.Management/Stop-Process) cmdlet provided by Windows PowerShell. This tutorial provides fragments of code that illustrate how cmdlets are implemented, and an explanation of the code. ## Topics in this Tutorial diff --git a/developer/cmdlet/stopprocesssample01-sample.md b/developer/cmdlet/stopprocesssample01-sample.md index c591dff63686..1919c43e13e6 100644 --- a/developer/cmdlet/stopprocesssample01-sample.md +++ b/developer/cmdlet/stopprocesssample01-sample.md @@ -183,7 +183,7 @@ namespace Microsoft.Samples.PowerShell.Commands } // Make sure that the user really wants to stop a critical - // process that culd possibly stop the computer. + // process that could possibly stop the computer. bool criticalProcess = criticalProcessNames.Contains(processName.ToLower(CultureInfo.CurrentCulture)); @@ -195,16 +195,16 @@ namespace Microsoft.Samples.PowerShell.Commands processName); // It is possible that the ProcessRecord method is called - // multiple times when objects are recieved as inputs from + // multiple times when objects are received as inputs from // the pipeline. So to retain YesToAll and NoToAll input that - // the user may enter across mutilple calls to this function, + // the user may enter across multiple calls to this function, // they are stored as private members of the cmdlet. if (!ShouldContinue(message, "Warning!", ref yesToAll, ref noToAll)) { continue; } - } // if (cricicalProcess... + } // if (criticalProcess... // Stop the named process. try diff --git a/developer/cmdlet/stopprocesssample02-sample.md b/developer/cmdlet/stopprocesssample02-sample.md index 33d1d2e9e405..0c0916e8c4c4 100644 --- a/developer/cmdlet/stopprocesssample02-sample.md +++ b/developer/cmdlet/stopprocesssample02-sample.md @@ -55,11 +55,11 @@ This sample demonstrates the following. - Declaring a cmdlet parameters by using the Parameter attribute. -- Writing verbose messages. For more information about the method used to write verbose messages, see [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose). +- Writing verbose messages. For more information about the method used to write verbose messages, see [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose). -- Writing error messages. For more information about the method used to write error messages, see [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError). +- Writing error messages. For more information about the method used to write error messages, see [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError). -- Writing warning messages. For more information about the method used to write warning messages, see [System.Management.Automation.Cmdlet.Writewarning*](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning). +- Writing warning messages. For more information about the method used to write warning messages, see [System.Management.Automation.Cmdlet.WriteWarning](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning). ## Example @@ -218,9 +218,9 @@ namespace Microsoft.Samples.PowerShell.Commands processName); // It is possible that the ProcessRecord method is called - // multiple times when objects are recieved as inputs from + // multiple times when objects are received as inputs from // the pipeline. So to retain YesToAll and NoToAll input that - // the user may enter across mutilple calls to this function, + // the user may enter across multiple calls to this function, // they are stored as private members of the cmdlet. if (!ShouldContinue(message, "Warning!", ref yesToAll, ref noToAll)) diff --git a/developer/cmdlet/stopprocesssample03-sample.md b/developer/cmdlet/stopprocesssample03-sample.md index d7c5df48ae0f..2ac28cec285f 100644 --- a/developer/cmdlet/stopprocesssample03-sample.md +++ b/developer/cmdlet/stopprocesssample03-sample.md @@ -61,7 +61,7 @@ This sample demonstrates the following. This sample shows how to declare parameter aliases and support wildcards. -``` +```csharp using System; using System.Diagnostics; using System.Collections; @@ -152,7 +152,7 @@ namespace Microsoft.Samples.PowerShell.Commands catch (InvalidOperationException ioe) { base.ThrowTerminatingError(new ErrorRecord(ioe, - "UnableToAcessProcessList", + "UnableToAccessProcessList", ErrorCategory.InvalidOperation, null)); } @@ -243,7 +243,7 @@ namespace Microsoft.Samples.PowerShell.Commands string message = null; // Confirm the operation first. - // This is always false if the WhatIf parametr is specified. + // This is always false if the WhatIf parameter is specified. if (!ShouldProcess(string.Format(CultureInfo.CurrentCulture, "{0} ({1})", processName, process.Id))) { @@ -261,9 +261,9 @@ namespace Microsoft.Samples.PowerShell.Commands processName); // It is possible that ProcessRecord is called multiple - // when objects are recieved as inputs from a pipeline. + // when objects are received as inputs from a pipeline. // So, to retain YesToAll and NoToAll input that the - // user may enter across mutilple calls to this + // user may enter across multiple calls to this // function, they are stored as private members of the // Cmdlet. if (!ShouldContinue(message, "Warning!", diff --git a/developer/cmdlet/stopprocesssample04-sample.md b/developer/cmdlet/stopprocesssample04-sample.md index 4ff694c94984..14d7b7b8db64 100644 --- a/developer/cmdlet/stopprocesssample04-sample.md +++ b/developer/cmdlet/stopprocesssample04-sample.md @@ -301,9 +301,9 @@ namespace Microsoft.Samples.PowerShell.Commands "The process \"{0}\" is a critical process and should not be stopped. Are you sure you wish to stop the process?", processName); // It is possible that the ProcessRecord method is called - // multiple times when objects are recieved as inputs from + // multiple times when objects are received as inputs from // the pipeline. So to retain YesToAll and NoToAll input that - // the user may enter across mutilple calls to this function, + // the user may enter across multiple calls to this function, // they are stored as private members of the cmdlet. if (!ShouldContinue(message, "Warning!", ref yesToAll, ref noToAll)) @@ -355,7 +355,7 @@ namespace Microsoft.Samples.PowerShell.Commands WriteVerbose(message); - // If the PassThru prameter is specified, return the terminated + // If the PassThru parameter is specified, return the terminated // process to the pipeline. if (passThru) { diff --git a/developer/cmdlet/strongly-encouraged-development-guidelines.md b/developer/cmdlet/strongly-encouraged-development-guidelines.md index 7d3d3ad5c549..2913fc8e012a 100644 --- a/developer/cmdlet/strongly-encouraged-development-guidelines.md +++ b/developer/cmdlet/strongly-encouraged-development-guidelines.md @@ -95,18 +95,17 @@ When the same parameter is used by multiple cmdlets, always use the same paramet #### Parameters That Take True and False -If your parameter takes only `true` and `false`, define the parameter as type [System.Management.Automation.Switchparameter](/dotnet/api/System.Management.Automation.SwitchParameter). A switch parameter is treated as `true` when it is specified in a command. If the parameter is not included in a command, Windows PowerShell considers the value of the parameter to be `false`. Do not define Boolean parameters. +If your parameter takes only `true` and `false`, define the parameter as type [System.Management.Automation.SwitchParameter](/dotnet/api/System.Management.Automation.SwitchParameter). A switch parameter is treated as `true` when it is specified in a command. If the parameter is not included in a command, Windows PowerShell considers the value of the parameter to be `false`. Do not define Boolean parameters. If your parameter needs to differentiate between 3 values: $true, $false and "unspecified", then define a parameter of type Nullable\. The need for a 3rd, "unspecified" value typically occurs when the cmdlet can modify a Boolean property of an object. In this case "unspecified" means to not change the current value of the property. #### Support Arrays for Parameters -Frequently, users must perform the same operation against multiple arguments. For these users, a cmdlet should accept an array as parameter input so that a user can pass the arguments into the parameter as a Windows PowerShell variable. For example, the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet uses an array for the strings that identify the names of the processes to retrieve. Frequently, users must perform the same operation against multiple arguments. For these users, a cmdlet should accept an array as parameter input so that a user can pass the arguments into the parameter as a Windows PowerShell variable. For example, the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet uses an array for the strings that identify the names of the processes to retrieve. #### Support the PassThru Parameter -By default, many cmdlets that modify the system, such as the [Stop-Process](/powershell/module/Microsoft.PowerShell.Management/Stop-Process) cmdlet, act as "sinks" for objects and do not return a result. These cmdlet should implement the `PassThru` parameter to force the cmdlet to return an object. When the `PassThru` parameter is specified, the cmdlet returns an object by using a call to the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method. For example, the following command stops the Calc process and passes the resultant process to the pipeline. +By default, many cmdlets that modify the system, such as the [Stop-Process](/powershell/module/Microsoft.PowerShell.Management/Stop-Process) cmdlet, act as "sinks" for objects and do not return a result. These cmdlet should implement the `PassThru` parameter to force the cmdlet to return an object. When the `PassThru` parameter is specified, the cmdlet returns an object by using a call to the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method. For example, the following command stops the Calc process and passes the resultant process to the pipeline. ```powershell Stop-Process calc -passthru @@ -130,21 +129,21 @@ The Windows PowerShell runtime allows a user to specify how to handle output fro #### Support the WriteWarning, WriteVerbose, and WriteDebug Methods -A cmdlet should call the [System.Management.Automation.Cmdlet.Writewarning*](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method when the cmdlet is about to perform an operation that might have an unintended result. For example, a cmdlet should call this method if the cmdlet is about to overwrite a read-only file. +A cmdlet should call the [System.Management.Automation.Cmdlet.WriteWarning](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method when the cmdlet is about to perform an operation that might have an unintended result. For example, a cmdlet should call this method if the cmdlet is about to overwrite a read-only file. -A cmdlet should call the [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method when the user requires some detail about what the cmdlet is doing. For example, a cmdlet should call this information if the cmdlet author feels that there are scenarios that might require more information about what the cmdlet is doing. +A cmdlet should call the [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method when the user requires some detail about what the cmdlet is doing. For example, a cmdlet should call this information if the cmdlet author feels that there are scenarios that might require more information about what the cmdlet is doing. -The cmdlet should call the [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method when a developer or product support engineer must understand what has corrupted the cmdlet operation. It is not necessary for the cmdlet to call the [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method in the same code that calls the [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method because the `Debug` parameter presents both sets of information. +The cmdlet should call the [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method when a developer or product support engineer must understand what has corrupted the cmdlet operation. It is not necessary for the cmdlet to call the [System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method in the same code that calls the [System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method because the `Debug` parameter presents both sets of information. #### Support WriteProgress for Operations that take a Long Time -Cmdlet operations that take a long time to complete and that cannot run in the background should support progress reporting through periodic calls to the [System.Management.Automation.Cmdlet.Writeprogress*](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) method. +Cmdlet operations that take a long time to complete and that cannot run in the background should support progress reporting through periodic calls to the [System.Management.Automation.Cmdlet.WriteProgress](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) method. #### Use the Host Interfaces -Occasionally, a cmdlet must communicate directly with the user instead of by using the various Write or Should methods supported by the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. In this case, the cmdlet should derive from the [System.Management.Automation.Pscmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class and use the [System.Management.Automation.Pscmdlet.Host*](/dotnet/api/System.Management.Automation.PSCmdlet.Host) property. This property supports different levels of communication type, including the PromptForChoice, Prompt, and WriteLine/ReadLine types. At the most specific level, it also provides ways to read and write individual keys and to deal with buffers. +Occasionally, a cmdlet must communicate directly with the user instead of by using the various Write or Should methods supported by the [System.Management.Automation.Cmdlet](/dotnet/api/System.Management.Automation.Cmdlet) class. In this case, the cmdlet should derive from the [System.Management.Automation.PSCmdlet](/dotnet/api/System.Management.Automation.PSCmdlet) class and use the [System.Management.Automation.PSCmdlet.Host*](/dotnet/api/System.Management.Automation.PSCmdlet.Host) property. This property supports different levels of communication type, including the PromptForChoice, Prompt, and WriteLine/ReadLine types. At the most specific level, it also provides ways to read and write individual keys and to deal with buffers. -Unless a cmdlet is specifically designed to generate a graphical user interface (GUI), it should not bypass the host by using the [System.Management.Automation.Pscmdlet.Host*](/dotnet/api/System.Management.Automation.PSCmdlet.Host) property. An example of a cmdlet that is designed to generate a GUI is the [Out-GridView](/powershell/module/Microsoft.PowerShell.Utility/Out-GridView) cmdlet. +Unless a cmdlet is specifically designed to generate a graphical user interface (GUI), it should not bypass the host by using the [System.Management.Automation.PSCmdlet.Host*](/dotnet/api/System.Management.Automation.PSCmdlet.Host) property. An example of a cmdlet that is designed to generate a GUI is the [Out-GridView](/powershell/module/Microsoft.PowerShell.Utility/Out-GridView) cmdlet. > [!NOTE] > Cmdlets should not use the [System.Console](/dotnet/api/System.Console) API. @@ -169,15 +168,15 @@ If your cmdlet allows the user to specify a file or a data source, it should def If the data that the cmdlet reads or writes has to be a file, the cmdlet should accept Windows PowerShell path input, and the cmdlet should use the [System.Management.Automation.Sessionstate.Path](/dotnet/api/System.Management.Automation.SessionState.Path) property to translate the Windows PowerShell paths into paths that the file system recognizes. The specific mechanisms include the following methods: -- [System.Management.Automation.Pscmdlet.Getresolvedproviderpathfrompspath](/dotnet/api/System.Management.Automation.PSCmdlet.GetResolvedProviderPathFromPSPath) +- [System.Management.Automation.PSCmdlet.GetResolvedProviderPathFromPSPath](/dotnet/api/System.Management.Automation.PSCmdlet.GetResolvedProviderPathFromPSPath) -- [System.Management.Automation.Pscmdlet.Getunresolvedproviderpathfrompspath](/dotnet/api/System.Management.Automation.PSCmdlet.GetUnresolvedProviderPathFromPSPath) +- [System.Management.Automation.PSCmdlet.GetUnresolvedProviderPathFromPSPath](/dotnet/api/System.Management.Automation.PSCmdlet.GetUnresolvedProviderPathFromPSPath) -- [System.Management.Automation.Pathintrinsics.Getresolvedproviderpathfrompspath](/dotnet/api/System.Management.Automation.PathIntrinsics.GetResolvedProviderPathFromPSPath) +- [System.Management.Automation.PathIntrinsics.GetResolvedProviderPathFromPSPath](/dotnet/api/System.Management.Automation.PathIntrinsics.GetResolvedProviderPathFromPSPath) -- [System.Management.Automation.Pathintrinsics.Getunresolvedproviderpathfrompspath](/dotnet/api/System.Management.Automation.PathIntrinsics.GetUnresolvedProviderPathFromPSPath) +- [System.Management.Automation.PathIntrinsics.GetUnresolvedProviderPathFromPSPath](/dotnet/api/System.Management.Automation.PathIntrinsics.GetUnresolvedProviderPathFromPSPath) -If the data that the cmdlet reads or writes is only a set of strings instead of a file, the cmdlet should use the provider content information (`Content` member) to read and write. This information is obtained from the [System.Management.Automation.Provider.Cmdletprovider.Invokeprovider*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.InvokeProvider) property. These mechanisms allow other data stores to participate in the reading and writing of data. +If the data that the cmdlet reads or writes is only a set of strings instead of a file, the cmdlet should use the provider content information (`Content` member) to read and write. This information is obtained from the [System.Management.Automation.Provider.CmdletProvider.InvokeProvider](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.InvokeProvider) property. These mechanisms allow other data stores to participate in the reading and writing of data. #### Support Wildcard Characters @@ -201,11 +200,11 @@ If you are designing an object for a cmdlet, ensure that its members map directl Preexisting .NET Framework objects that are returned by cmdlets are frequently missing some important or convenient members that are needed by the script developer or user. These missing members can be particularly important for display and for creating the correct member names so that the object can be correctly passed to the pipeline. Create a custom Types.ps1xml file to document these required members. When you create this file, we recommend the following naming convention: **.Types.ps1xml. -For example, you could add a `Mode` script property to the [System.IO.Fileinfo](/dotnet/api/System.IO.FileInfo) type to display the attributes of a file more clearly. Additionally, you could add a `Count` alias property to the [System.Array](/dotnet/api/System.Array) type to allow the consistent use of that property name (instead of `Length`). +For example, you could add a `Mode` script property to the [System.IO.FileInfo](/dotnet/api/System.IO.FileInfo) type to display the attributes of a file more clearly. Additionally, you could add a `Count` alias property to the [System.Array](/dotnet/api/System.Array) type to allow the consistent use of that property name (instead of `Length`). ##### Implement the IComparable Interface -Implement a [System.Icomparable](/dotnet/api/System.IComparable) interface on all output objects. This allows the output objects to be easily piped to various sorting and analysis cmdlets. +Implement a [System.IComparable](/dotnet/api/System.IComparable) interface on all output objects. This allows the output objects to be easily piped to various sorting and analysis cmdlets. ##### Update Display Information @@ -225,11 +224,11 @@ A parameter accepts input from the pipeline if the **Parameter** attribute inclu #### Support the ProcessRecord Method -To accept all the records from the preceding cmdlet in the pipeline, your cmdlet must implement the [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. Windows PowerShell calls this method multiple times, once for every record that is sent to your cmdlet. +To accept all the records from the preceding cmdlet in the pipeline, your cmdlet must implement the [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) method. Windows PowerShell calls this method multiple times, once for every record that is sent to your cmdlet. ### Write Single Records to the Pipeline (SC03) -When a cmdlet returns objects, the cmdlet should write the objects immediately as they are generated. The cmdlet should not hold them in order to buffer them into a combined array. The cmdlets that receive the objects as input will then be able to process, display, or process and display the output objects without delay. A cmdlet that generates output objects one at a time should call the [System.Management.Automation.Cmdlet.Writeobject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method. A cmdlet that generates output objects in batches (for example, because an underlying API returns an array of output objects) should call the [System.Managemet.Automation.Cmdlet.Writeobject](/dotnet/api/System.Managemet.Automation.Cmdlet.WriteObject) Method with its second parameter set to `true`. +When a cmdlet returns objects, the cmdlet should write the objects immediately as they are generated. The cmdlet should not hold them in order to buffer them into a combined array. The cmdlets that receive the objects as input will then be able to process, display, or process and display the output objects without delay. A cmdlet that generates output objects one at a time should call the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method. A cmdlet that generates output objects in batches (for example, because an underlying API returns an array of output objects) should call the [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) Method with its second parameter set to `true`. ### Make Cmdlets Case-Insensitive and Case-Preserving (SC04) diff --git a/developer/cmdlet/supporting-wildcard-characters-in-cmdlet-parameters.md b/developer/cmdlet/supporting-wildcard-characters-in-cmdlet-parameters.md index 06ec81f4d62e..72bf66115da3 100644 --- a/developer/cmdlet/supporting-wildcard-characters-in-cmdlet-parameters.md +++ b/developer/cmdlet/supporting-wildcard-characters-in-cmdlet-parameters.md @@ -7,7 +7,7 @@ ms.suite: "" ms.tgt_pltfrm: "" ms.topic: "article" helpviewer_keywords: - - "wildcards [PowerShell Programer's Guide]" + - "wildcards [PowerShell Programmer's Guide]" - "parameters [PowerShell Programmer's Guide], wildcards" ms.assetid: 9b26e1e9-9350-4a5a-aad5-ddcece658d93 caps.latest.revision: 12 diff --git a/developer/cmdlet/terminating-errors.md b/developer/cmdlet/terminating-errors.md index 033274b58a0e..87d51b6f8e57 100644 --- a/developer/cmdlet/terminating-errors.md +++ b/developer/cmdlet/terminating-errors.md @@ -15,29 +15,29 @@ This topic discusses the method used to report terminating errors. It also discu When a terminating error occurs, the cmdlet should report the error by calling the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method. This method allows the cmdlet to send an error record that describes the condition that caused the terminating error. For more information about error records, see [Windows PowerShell Error Records](./windows-powershell-error-records.md). -When the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method is called, the Windows PowerShell runtime permanently stops the execution of the pipeline and throws a [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) exception. Any subsequent attempts to call [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject), [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError), or several other APIs causes those calls to throw a [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) exception. +When the [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) method is called, the Windows PowerShell runtime permanently stops the execution of the pipeline and throws a [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) exception. Any subsequent attempts to call [System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject), [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError), or several other APIs causes those calls to throw a [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) exception. The [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) exception can also occur if another cmdlet in the pipeline reports a terminating error, if the user has asked to stop the pipeline, or if the pipeline has been halted before completion for any reason. The cmdlet does not need to catch the [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) exception unless it must clean up open resources or its internal state. Cmdlets can write any number of output objects or non-terminating errors before reporting a terminating error. However, the terminating error permanently stops the pipeline, and no further output, terminating errors, or non-terminating errors can be reported. -Cmdlets can call [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) only from the thread that called the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), or [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) input processing method. Do not attempt to call [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) or [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) from another thread. Instead, errors must be communicated back to the main thread. +Cmdlets can call [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) only from the thread that called the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), or [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) input processing method. Do not attempt to call [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) or [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) from another thread. Instead, errors must be communicated back to the main thread. -It is possible for a cmdlet to throw an exception in its implementation of the [System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), or [System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. Any exception thrown from these methods (except for a few severe error conditions that stop the Windows PowerShell host) is interpreted as a terminating error which stops the pipeline, but not Windows PowerShell as a whole. (This applies only to the main cmdlet thread. Uncaught exceptions in threads spawned by the cmdlet, in general, halt the Windows PowerShell host.) We recommend that you use [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) rather than throwing an exception because the error record provides additional information about the error condition, which is useful to the end-user. Cmdlets should honor the managed code guideline against catching and handling all exceptions (`catch (Exception e)`). Convert only exceptions of known and expected types into error records. +It is possible for a cmdlet to throw an exception in its implementation of the [System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing), [System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord), or [System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) method. Any exception thrown from these methods (except for a few severe error conditions that stop the Windows PowerShell host) is interpreted as a terminating error which stops the pipeline, but not Windows PowerShell as a whole. (This applies only to the main cmdlet thread. Uncaught exceptions in threads spawned by the cmdlet, in general, halt the Windows PowerShell host.) We recommend that you use [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) rather than throwing an exception because the error record provides additional information about the error condition, which is useful to the end-user. Cmdlets should honor the managed code guideline against catching and handling all exceptions (`catch (Exception e)`). Convert only exceptions of known and expected types into error records. ## See Also -[System.Management.Automation.Cmdlet.Beginprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) +[System.Management.Automation.Cmdlet.BeginProcessing](/dotnet/api/System.Management.Automation.Cmdlet.BeginProcessing) -[System.Management.Automation.Cmdlet.Endprocessing*](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) +[System.Management.Automation.Cmdlet.EndProcessing](/dotnet/api/System.Management.Automation.Cmdlet.EndProcessing) -[System.Management.Automation.Cmdlet.Processrecord*](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) +[System.Management.Automation.Cmdlet.ProcessRecord](/dotnet/api/System.Management.Automation.Cmdlet.ProcessRecord) [System.Management.Automation.Pipelinestoppedexception](/dotnet/api/System.Management.Automation.PipelineStoppedException) [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) -[System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) +[System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) [Windows PowerShell Error Records](./windows-powershell-error-records.md) diff --git a/developer/cmdlet/tutorials-for-writing-cmdlets.md b/developer/cmdlet/tutorials-for-writing-cmdlets.md index 1179ca1cbe79..c459fa8bd0f5 100644 --- a/developer/cmdlet/tutorials-for-writing-cmdlets.md +++ b/developer/cmdlet/tutorials-for-writing-cmdlets.md @@ -18,16 +18,13 @@ This section contains tutorials for writing cmdlets. These tutorials include the ## In This Section -[GetProc Tutorial](./getproc-tutorial.md) +[GetProc Tutorial](./getproc-tutorial.md) - This tutorial describes how to define a cmdlet class and add basic functionality such as adding parameters and reporting errors. The cmdlet described in this tutorial is very similar to the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet provided by Windows PowerShell. -This tutorial describes how to define a cmdlet class and add basic functionality such as adding parameters and reporting errors. The cmdlet described in this tutorial is very similar to the [Get-Process](https://www.msn.com/?ocid=NEFLS000) cmdlet provided by Windows PowerShell. -[StopProc Tutorial](./stopproc-tutorial.md) -This tutorial describes how to define a cmdlet and add functionality such as user prompts, wildcard support, and the use of parameter sets. The cmdlet described here performs the same task as the [Stop-Process](/powershell/module/Microsoft.PowerShell.Management/Stop-Process) cmdlet provided by Windows PowerShell. +[StopProc Tutorial](./stopproc-tutorial.md) - This tutorial describes how to define a cmdlet and add functionality such as user prompts, wildcard support, and the use of parameter sets. The cmdlet described here performs the same task as the [Stop-Process](/powershell/module/Microsoft.PowerShell.Management/Stop-Process) cmdlet provided by Windows PowerShell. -[SelectStr Tutorial](./selectstr-tutorial.md) -This tutorial describes how to define a cmdlet that accesses a data store. The cmdlet described here performs the same task as the [Select-String](/powershell/module/microsoft.powershell.utility/select-string) cmdlet provided by Windows PowerShell. +[SelectStr Tutorial](./selectstr-tutorial.md) - This tutorial describes how to define a cmdlet that accesses a data store. The cmdlet described here performs the same task as the [Select-String](/powershell/module/microsoft.powershell.utility/select-string) cmdlet provided by Windows PowerShell. ## See Also diff --git a/developer/cmdlet/types-of-cmdlet-output.md b/developer/cmdlet/types-of-cmdlet-output.md index a95688a311e2..7ed56b40a147 100644 --- a/developer/cmdlet/types-of-cmdlet-output.md +++ b/developer/cmdlet/types-of-cmdlet-output.md @@ -1,7 +1,7 @@ --- title: "Types of Cmdlet Output | Microsoft Docs" ms.custom: "" -ms.date: "09/13/2016" +ms.date: "01/18/2019" ms.reviewer: "" ms.suite: "" ms.tgt_pltfrm: "" @@ -11,51 +11,100 @@ helpviewer_keywords: ms.assetid: 547e6695-e936-4cac-a90b-417d0dab393d caps.latest.revision: 12 --- -# Types of Cmdlet Output -Windows PowerShellprovides several methods that can be called by cmdlets to generate output. Typically, these methods use a specific operation to write their output to a specific data stream, such as the success data stream or the error data stream. This topic describes the types of output and the methods used to generate them. +# Types of cmdlet output -## Types of Output +PowerShell provides several methods that can be called by cmdlets to generate output. These methods +use a specific operation to write their output to a specific data stream, such as the success data +stream or the error data stream. This article describes the types of output and the methods used to +generate them. -Success output -Cmdlets can report success by returning an object that can be processed by the next command in the pipeline. To do this, the cmdlet calls the [System.Management.Automation.Cmdlet.Writeobject%28System.Object%29*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%29) method after the cmdlet has successfully performed its action. We recommend that you call this method instead of the [System.Management.Automation.Host.Pshostuserinterface.Writeline](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface.WriteLine) or [System.Console.Writeline](/dotnet/api/System.Console.WriteLine) methods. +## Types of output -You can provide a `PassThru` switch parameter for cmdlets that do not typically return objects. When the `PassThru` switch parameter is specified at the command line, the cmdlet is asked to return an object. For an example of a cmdlet that has a `PassThru` parameter, see [Add-History](/powershell/module/Microsoft.PowerShell.Core/Add-History). -You can provide a `PassThru` switch parameter for cmdlets that do not typically return objects. When the `PassThru` switch parameter is specified at the command line, the cmdlet is asked to return an object. For an example of a cmdlet that has a `PassThru` parameter, see [Add-History](/powershell/module/Microsoft.PowerShell.Core/Add-History). +### Success output -Error output -Cmdlets can report errors. When a terminating error occurs, the cmdlet throws an exception. When a non-terminating error occurs, the cmdlet calls the [System.Management.Automation.Provider.Cmdletprovider.Writeerror](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method to send an error record to the error data stream. For more information about error reporting, see [Windows PowerShell Error Reporting](./error-reporting-concepts.md). +Cmdlets can report success by returning an object that can be processed by the next command in the +pipeline. After the cmdlet has successfully performed its action, the cmdlet calls the +[System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) +method. We recommend that you call this method instead of the +[System.Console.WriteLine](/dotnet/api/System.Console.WriteLine) or +[System.Management.Automation.Host.PSHostUserInterface.WriteLine](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface.WriteLine) +methods. -Verbose output -Cmdlets can provide useful information to the user while the cmdlet is correctly processing records by calling the [System.Management.Automation.Cmdlet.Writeverbose*](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) method. This generates verbose messages that indicate how the action is proceeding. +You can provide a **PassThru** switch parameter for cmdlets that do not typically return objects. +When the **PassThru** switch parameter is specified at the command line, the cmdlet is asked to +return an object. For an example of a cmdlet that has a **PassThru** parameter, see +[Add-History](/powershell/module/Microsoft.PowerShell.Core/Add-History). -By default, verbose messages are not displayed. However, the user can specify the `Verbose` parameter when the cmdlet is run to display these messages. `Verbose` is a common parameter that is available to all cmdlets. +### Error output -Progress output -Cmdlets can provide progress information to the user when the cmdlet is performing tasks that take a long time to complete, such as copying a directory recursively. To do this, the cmdlet calls the [System.Management.Automation.Cmdlet.Writeprogress*](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) method. +Cmdlets can report errors. When a terminating error occurs, the cmdlet throws an exception. When a +non-terminating error occurs, the cmdlet calls the +[System.Management.Automation.Provider.CmdletProvider.WriteError](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) +method to send an error record to the error data stream. For more information about error +reporting, see [Error Reporting Concepts](./error-reporting-concepts.md). -Debug output -Cmdlets can provide debug messages that are helpful when troubleshooting the cmdlet code. To do this the cmdlet calls the [System.Management.Automation.Cmdlet.Writedebug*](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) method. +### Verbose output -By default, debug messages are not displayed. However, the user can specify the `Debug` parameter when the cmdlet is run to display these messages. `Debug` is a common parameter that is available to all cmdlets. +Cmdlets can provide useful information to you while the cmdlet is correctly processing records by +calling the +[System.Management.Automation.Cmdlet.WriteVerbose](/dotnet/api/System.Management.Automation.Cmdlet.WriteVerbose) +method. The method generates verbose messages that indicate how the action is proceeding. -Warning output -Cmdlets can display warning messages by calling the [System.Management.Automation.Cmdlet.Writewarning*](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) method. +By default, verbose messages are not displayed. You can specify the **Verbose** parameter when the +cmdlet is run to display these messages. **Verbose** is a common parameter that is available to all +cmdlets. -By default, warning messages are displayed. However, users can configure warning messages by using the `$WarningPreference` variable or by using the `Verbose` and `Debug` parameters when the cmdlet is called. +### Progress output -## Displaying Output to the User +Cmdlets can provide progress information to you when the cmdlet is performing tasks that take a +long time to complete, such as copying a directory recursively. To display progress information the +cmdlet calls the +[System.Management.Automation.Cmdlet.WriteProgress](/dotnet/api/System.Management.Automation.Cmdlet.WriteProgress) +method. -For all write-method calls, with the exception of the [System.Management.Automation.Cmdlet.Writeobject*](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) method, the display of the contents of these calls is determined by specific runtime variables. By using these variables, you can make the appropriate write call at the correct place in your code and not worry about when or if the output should be displayed. +### Debug output -## Accessing the Output Functionality of a Host Application +Cmdlets can provide debug messages that are helpful when troubleshooting the cmdlet code. To +display debug information the cmdlet calls the +[System.Management.Automation.Cmdlet.WriteDebug](/dotnet/api/System.Management.Automation.Cmdlet.WriteDebug) +method. -You can also design a cmdlet to directly access the output functionality of a host application through the Windows PowerShell runtime. Using the host APIs provided by Windows PowerShell instead of [System.Console](/dotnet/api/System.Console) or [System.Windows.Forms](/dotnet/api/System.Windows.Forms) ensures that your cmdlet will work with a variety of hosts, such as the powershell.exe console host, the powershell_ise.exe graphical host, the Windows PowerShell remoting host, and in 3rd party hosts. +By default, debug messages are not displayed. You can specify the **Debug** parameter when the +cmdlet is run to display these messages. **Debug** is a common parameter that is available to all +cmdlets. -## See Also +### Warning output -[Windows PowerShell Error Reporting](./error-reporting-concepts.md) +Cmdlets can display warning messages by calling the +[System.Management.Automation.Cmdlet.WriteWarning](/dotnet/api/System.Management.Automation.Cmdlet.WriteWarning) +method. -[Windows PowerShell Cmdlets](./cmdlet-overview.md) +By default, warning messages are displayed. However, you can configure warning messages by using +the `$WarningPreference` variable or by using the **Verbose** and **Debug** parameters when the +cmdlet is called. -[Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) +## Displaying output + +For all write-method calls, the content display is determined by specific runtime variables. The +exception is the +[System.Management.Automation.Cmdlet.WriteObject](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject) +method. By using these variables, you can make the appropriate write call at the correct place in +your code and not worry about when or if the output should be displayed. + +## Accessing the output functionality of a host application + +You can also design a cmdlet to directly access the output functionality of a host application +through the PowerShell runtime. Using the host APIs provided by PowerShell instead of +[System.Console](/dotnet/api/System.Console) or +[System.Windows.Forms](/dotnet/api/System.Windows.Forms) ensures that your cmdlet will work with a +variety of hosts. For example: the **powershell.exe** console host, the **powershell_ise.exe** +graphical host, the PowerShell remoting host, and third-party hosts. + +## See also + +[Error Reporting Concepts](./error-reporting-concepts.md) + +[Cmdlet Overview](./cmdlet-overview.md) + +[Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) \ No newline at end of file diff --git a/developer/cmdlet/types-of-cmdlet-parameters.md b/developer/cmdlet/types-of-cmdlet-parameters.md index 3e42fa650845..f0cb8d7052fa 100644 --- a/developer/cmdlet/types-of-cmdlet-parameters.md +++ b/developer/cmdlet/types-of-cmdlet-parameters.md @@ -85,13 +85,13 @@ private string userName; ## Switch Parameters -Windows PowerShell provides a [System.Management.Automation.Switchparameter](/dotnet/api/System.Management.Automation.SwitchParameter) type that allows you to define a parameter whose value is automatically set to `false` if the parameter is not specified when the cmdlet is called. Whenever possible, use switch parameters in place of Boolean parameters. +Windows PowerShell provides a [System.Management.Automation.SwitchParameter](/dotnet/api/System.Management.Automation.SwitchParameter) type that allows you to define a parameter whose value is automatically set to `false` if the parameter is not specified when the cmdlet is called. Whenever possible, use switch parameters in place of Boolean parameters. Consider the following sample. By default, several Windows PowerShell cmdlets do not pass an output object down the pipeline. However, these cmdlets have a `PassThru` switch parameter that overrides the default behavior. If the `PassThru` parameter is specified when these cmdlets are called, the cmdlet returns an output object to the pipeline. -If you need the parameter to have a default value of `true` when the parameter is not specified in the call, consider reversing the sense of the parameter. For sample, instead of setting the parameter attribute to a Boolean value of `true`, declare the property as the [System.Management.Automation.Switchparameter](/dotnet/api/System.Management.Automation.SwitchParameter) type, and then set the default value of the parameter to `false`. +If you need the parameter to have a default value of `true` when the parameter is not specified in the call, consider reversing the sense of the parameter. For sample, instead of setting the parameter attribute to a Boolean value of `true`, declare the property as the [System.Management.Automation.SwitchParameter](/dotnet/api/System.Management.Automation.SwitchParameter) type, and then set the default value of the parameter to `false`. -To define a switch parameter, declare the property as the [System.Management.Automation.Switchparameter](/dotnet/api/System.Management.Automation.SwitchParameter) type, as shown in the following sample. +To define a switch parameter, declare the property as the [System.Management.Automation.SwitchParameter](/dotnet/api/System.Management.Automation.SwitchParameter) type, as shown in the following sample. ```csharp [Parameter(Position = 1)] diff --git a/developer/cmdlet/users-requesting-confirmation.md b/developer/cmdlet/users-requesting-confirmation.md index 215ebd43df69..b78073e3c620 100644 --- a/developer/cmdlet/users-requesting-confirmation.md +++ b/developer/cmdlet/users-requesting-confirmation.md @@ -13,11 +13,11 @@ caps.latest.revision: 8 When you specify a value of `true` for the `SupportsShouldProcess` parameter of the Cmdlet attribute declaration, users can specify the `Confirm` parameter at the command prompt. -In the default environment, users can specify the `Confirm` parameter or `"-Confirm:$true` so that confirmation is requested when the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method is called. This bypasses [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) confirmation requests, even for high-impact operations. +In the default environment, users can specify the `Confirm` parameter or `"-Confirm:$true` so that confirmation is requested when the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) method is called. This bypasses [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) confirmation requests, even for high-impact operations. -If `Confirm` is not specified, the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call requests confirmation if the `$ConfirmPreference` preference variable is equal to or greater than the `ConfirmImpact` setting of the cmdlet or provider. The default setting of `$ConfirmPreference` is High. Therefore, in the default environment, only cmdlets and providers that specify a high-impact action request confirmation. +If `Confirm` is not specified, the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call requests confirmation if the `$ConfirmPreference` preference variable is equal to or greater than the `ConfirmImpact` setting of the cmdlet or provider. The default setting of `$ConfirmPreference` is High. Therefore, in the default environment, only cmdlets and providers that specify a high-impact action request confirmation. -If `Confirm` is false or if `"-Confirm:$false` is specified, the [System.Management.Automation.Cmdlet.Shouldprocess*](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call requests confirmation from the user, and the `$ConfirmPreference` shell variable is ignored. +If `Confirm` is false or if `"-Confirm:$false` is specified, the [System.Management.Automation.Cmdlet.ShouldProcess](/dotnet/api/System.Management.Automation.Cmdlet.ShouldProcess) call requests confirmation from the user, and the `$ConfirmPreference` shell variable is ignored. ## Remarks diff --git a/developer/cmdlet/validatecount-attribute-declaration.md b/developer/cmdlet/validatecount-attribute-declaration.md index 65446f5262ec..eead4025a80d 100644 --- a/developer/cmdlet/validatecount-attribute-declaration.md +++ b/developer/cmdlet/validatecount-attribute-declaration.md @@ -25,32 +25,36 @@ The ValidateCount attribute specifies the minimum and maximum number of argument #### Parameters -`MinLength` ([System.Int32](/dotnet/api/System.Int32)) +`MinLength` ([System.Int32][]) Required. Specifies the minimum number of arguments. -`MaxLength`([System.Int32](/dotnet/api/System.Int32)) +`MaxLength`([System.Int32][]) Required. Specifies the maximum number of arguments. ## Remarks -- For more information about how to declare this attribute, see [How to Declare Input Validation Rules](http://msdn.microsoft.com/en-us/544c2100-62ba-4be4-b2a2-cc0d4e4fc45b). +- For more information about how to declare this attribute, see [How to Validate an Argument Count][]. - When this attribute is not invoked, the corresponding cmdlet parameter can have any number of arguments. - The Windows PowerShell runtime throws an error under the following conditions: - - The `MinLength` and `MaxLength` attribute parameters are not of type [System.Int32](/dotnet/api/System.Int32). + - The `MinLength` and `MaxLength` attribute parameters are not of type [System.Int32][]. - The value of the `MaxLength` attribute parameter is less than the value of the `MinLength` attribute parameter. -- The ValidateCount attribute is defined by the [System.Management.Automation.Validatecount](/dotnet/api/System.Management.Automation.ValidateCount) class. +- The ValidateCount attribute is defined by the [System.Management.Automation.ValidateCountAttribute][] class. ## See Also -[System.Management.Automation.Validatecount](/dotnet/api/System.Management.Automation.ValidateCount) +[System.Management.Automation.ValidateCountAttribute][] -[How to Declare Input Validation Rules](http://msdn.microsoft.com/en-us/544c2100-62ba-4be4-b2a2-cc0d4e4fc45b) +[How to Validate an Argument Count][] -[How to Declare Input Validation Rules](http://msdn.microsoft.com/en-us/544c2100-62ba-4be4-b2a2-cc0d4e4fc45b) +[Writing a Windows PowerShell Cmdlet][] -[Writing a Windows PowerShell Cmdlet](./writing-a-windows-powershell-cmdlet.md) +[How to Validate an Argument Count]: how-to-validate-an-argument-count.md +[Writing a Windows PowerShell Cmdlet]: writing-a-windows-powershell-cmdlet.md + +[System.Int32]: /dotnet/api/System.Int32 +[System.Management.Automation.ValidateCountAttribute]: /dotnet/api/System.Management.Automation.ValidateCountAttribute diff --git a/developer/cmdlet/validatelength-attribute-declaration.md b/developer/cmdlet/validatelength-attribute-declaration.md index 36e5e93b729b..44b30e53f94b 100644 --- a/developer/cmdlet/validatelength-attribute-declaration.md +++ b/developer/cmdlet/validatelength-attribute-declaration.md @@ -33,8 +33,7 @@ Required. Specifies the maximum number of characters allowed. ## Remarks -- For more information about how to declare this attribute, see [How to Declare Input Validation Rules](http://msdn.microsoft.com/en-us/544c2100-62ba-4be4-b2a2-cc0d4e4fc45b). -- For more information about how to declare this attribute, see [How to Declare Input Validation Rules](http://msdn.microsoft.com/en-us/544c2100-62ba-4be4-b2a2-cc0d4e4fc45b). +- For more information about how to declare this attribute, see [How to Declare Input Validation Rules](./how-to-validate-parameter-input.md). - When this attribute is not used, the corresponding parameter argument can be of any length. diff --git a/developer/cmdlet/validating-parameter-input.md b/developer/cmdlet/validating-parameter-input.md index 9f32e83f98ff..4f4790755bb2 100644 --- a/developer/cmdlet/validating-parameter-input.md +++ b/developer/cmdlet/validating-parameter-input.md @@ -15,26 +15,41 @@ caps.latest.revision: 14 --- # Validating Parameter Input -Windows PowerShell can validate the arguments passed to cmdlet parameters in several ways. Windows PowerShell can validate the length, the range, and the pattern of the characters of the argument. It can validate the number of arguments available (the count). These validation rules are defined by validation attributes that are declared with the Parameter attribute on public properties of the cmdlet class. +PowerShell can validate the arguments passed to cmdlet parameters in several ways. +PowerShell can validate the length, the range, and the pattern of the characters of the argument. +It can validate the number of arguments available (the count). +These validation rules are defined by validation attributes that are declared with the Parameter attribute on public properties of the cmdlet class. -To validate a parameter argument, the Windows PowerShell runtime uses the information provided by the validation attributes to confirm the value of the parameter before the cmdlet is run. If the parameter input is not valid, the user receives an error message. Each validation parameter defines a validation rule that is enforced by Windows PowerShell. +To validate a parameter argument, the PowerShell runtime uses the information provided by the validation attributes to confirm the value of the parameter before the cmdlet is run. +If the parameter input is not valid, the user receives an error message. +Each validation parameter defines a validation rule that is enforced by PowerShell. -Windows PowerShell enforces the validation rules based on the following attributes. +PowerShell enforces the validation rules based on the following attributes. -ValidateCount -Specifies the minimum and maximum number of arguments that a parameter can accept. For more information about the syntax used to declare this attribute, see [ValidateCount Attribute Declaration](./validatecount-attribute-declaration.md). +### ValidateCount -ValidateLength -Specifies the minimum and maximum number of characters in the parameter argument. For more information about the syntax used to declare this attribute, see [ValidateLength Attribute Declaration](./validatelength-attribute-declaration.md). +Specifies the minimum and maximum number of arguments that a parameter can accept. +For more information, see [ValidateCount Attribute Declaration](./validatecount-attribute-declaration.md). -ValidatePattern -Specifies a regular expression that validates the parameter argument. For more information about the syntax used to declare this attribute, see [ValidatePattern Attribute Declaration](./validatepattern-attribute-declaration.md). +### ValidateLength -ValidateRange -Specifies the minimum and maximum values of the parameter argument. For more information about the syntax used to declare this attribute, see [ValidateRange Attribute Declaration](./validaterange-attribute-declaration.md). +Specifies the minimum and maximum number of characters in the parameter argument. +For more information, see [ValidateLength Attribute Declaration](./validatelength-attribute-declaration.md). -ValidateSet -Specifies the valid values for the parameter argument. For more information about the syntax used to declare this attribute, see [ValidateSet Attribute Declaration](./validateset-attribute-declaration.md). +### ValidatePattern + +Specifies a regular expression that validates the parameter argument. +For more information, see [ValidatePattern Attribute Declaration](./validatepattern-attribute-declaration.md). + +### ValidateRange + +Specifies the minimum and maximum values of the parameter argument. +For more information, see [ValidateRange Attribute Declaration](./validaterange-attribute-declaration.md). + +### ValidateSet + +Specifies the valid values for the parameter argument. +For more information, see [ValidateSet Attribute Declaration](./validateset-attribute-declaration.md). ## See Also diff --git a/developer/cmdlet/windows-powershell-error-records.md b/developer/cmdlet/windows-powershell-error-records.md index 2ac4e35e5881..c2d248d79df8 100644 --- a/developer/cmdlet/windows-powershell-error-records.md +++ b/developer/cmdlet/windows-powershell-error-records.md @@ -16,13 +16,13 @@ caps.latest.revision: 9 --- # Windows PowerShell Error Records -Cmdlets must pass an [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object that identifies the error condition for terminating and non-terminating errors. +Cmdlets must pass an [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object that identifies the error condition for terminating and non-terminating errors. -The [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object contains the following information: +The [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object contains the following information: - The exception that describes the error. Often, this is an exception that the cmdlet caught and converted into an error record. Every error record must contain an exception. -If the cmdlet did not catch an exception, it must create a new exception and choose the exception class that best describes the error condition. However, you do not need to throw the exception because it can be accessed through the [System.Management.Automation.Errorrecord.Exception*](/dotnet/api/System.Management.Automation.ErrorRecord.Exception) property of the [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. +If the cmdlet did not catch an exception, it must create a new exception and choose the exception class that best describes the error condition. However, you do not need to throw the exception because it can be accessed through the [System.Management.Automation.ErrorRecord.Exception](/dotnet/api/System.Management.Automation.ErrorRecord.Exception) property of the [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. - An error identifier that provides a targeted designator that can be used for diagnostic purposes and by Windows PowerShell scripts to handle specific error conditions with specific error handlers. Every error record must contain an error identifier (see Error Identifier). @@ -36,13 +36,13 @@ If the cmdlet did not catch an exception, it must create a new exception and cho ## Error Identifier -When you create an error record, specify an identifier that designates the error condition within your cmdlet. Windows PowerShell combines the targeted identifier with the name of your cmdlet to create a fully qualified error identifier. The fully qualified error identifier can be accessed through the [System.Management.Automation.Errorrecord.Fullyqualifiederrorid*](/dotnet/api/System.Management.Automation.ErrorRecord.FullyQualifiedErrorId) property of the [System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. The error identifier is not available by itself. It is available only as part of the fully qualified error identifier. +When you create an error record, specify an identifier that designates the error condition within your cmdlet. Windows PowerShell combines the targeted identifier with the name of your cmdlet to create a fully qualified error identifier. The fully qualified error identifier can be accessed through the [System.Management.Automation.ErrorRecord.FullyQualifiedErrorId](/dotnet/api/System.Management.Automation.ErrorRecord.FullyQualifiedErrorId) property of the [System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) object. The error identifier is not available by itself. It is available only as part of the fully qualified error identifier. Use the following guidelines to generate error identifiers when you create error records: - Make error identifiers specific to an error condition. Target the error identifiers for diagnostic purposes and for scripts that handle specific error conditions with specific error handlers. A user should be able to use the error identifier to identify the error and its source. Error identifiers also enable reporting for specific error conditions from existing exceptions so that new exception subclasses are not required. -- In general, assign different error identifiers to different code paths. The end-user benefits from specific identifiers. Often, each code path that calls [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) has its own identifier. As a rule, define a new identifier when you define a new template string for the error message, and vice-versa. Do not use the error message as an identifier. +- In general, assign different error identifiers to different code paths. The end-user benefits from specific identifiers. Often, each code path that calls [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) has its own identifier. As a rule, define a new identifier when you define a new template string for the error message, and vice-versa. Do not use the error message as an identifier. - When you publish code using a particular error identifier, you establish the semantics of errors with that identifier for your complete product support lifecycle. Do not reuse it in a context that is semantically different from the original context. If the semantics of this error change, create and then use a new identifier. @@ -58,7 +58,7 @@ When you create an error record, specify the category of the error using one of Avoid using the [System.Management.Automation.Errorcategory.Notspecified](/dotnet/api/System.Management.Automation.ErrorCategory.NotSpecified) constant. If you have any information about the error or about the operation that caused the error, choose the category that best describes the error or the operation, even if the category is not a perfect match. -The information displayed by Windows PowerShell is referred to as the category-view string and is built from the properties of the [System.Management.Automation.Errorcategoryinfo](/dotnet/api/System.Management.Automation.ErrorCategoryInfo) class. (This class is accessed through the error [System.Management.Automation.Errorrecord.Categoryinfo*](/dotnet/api/System.Management.Automation.ErrorRecord.CategoryInfo) property.) +The information displayed by Windows PowerShell is referred to as the category-view string and is built from the properties of the [System.Management.Automation.Errorcategoryinfo](/dotnet/api/System.Management.Automation.ErrorCategoryInfo) class. (This class is accessed through the error [System.Management.Automation.ErrorRecord.CategoryInfo](/dotnet/api/System.Management.Automation.ErrorRecord.CategoryInfo) property.) ``` {Category}: ({TargetName}:{TargetType}):[{Activity}], {Reason} @@ -80,27 +80,27 @@ The following list describes the information displayed: When you develop an error record for a cmdlet, the default error message for the error comes from the default message text in the [System.Exception.Message](/dotnet/api/System.Exception.Message) property. This is a read-only property whose message text is intended only for debugging purposes (according to the .NET Framework guidelines). We recommend that you create an error message that replaces or augments the default message text. Make the message more user-friendly and more specific to the cmdlet. -The replacement message is provided by an [System.Management.Automation.Errordetails](/dotnet/api/System.Management.Automation.ErrorDetails) object. Use one of the following constructors of this object because they provide additional localization information that can be used by Windows PowerShell. +The replacement message is provided by an [System.Management.Automation.ErrorDetails](/dotnet/api/System.Management.Automation.ErrorDetails) object. Use one of the following constructors of this object because they provide additional localization information that can be used by Windows PowerShell. -- [ErrorDetails.ErrorDetails(Cmdlet, String, String, Object\[System.Management.Automation.Errordetails.%23Ctor%28System.Management.Automation.Cmdlet%2Csystem.String%2Csystem.String%2Csystem.Object%5B%5D%29?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.ErrorDetails.%23ctor%28System.Management.Automation.Cmdlet%2CSystem.String%2CSystem.String%2CSystem.Object%5B%5D%29): Use this constructor if your template string is a resource string in the same assembly in which the cmdlet is implemented or if you want to load the template string through an override of the [System.Management.Automation.Cmdlet.Getresourcestring*](/dotnet/api/System.Management.Automation.Cmdlet.GetResourceString) method. +- [ErrorDetails.ErrorDetails(Cmdlet, String, String, Object\[System.Management.Automation.ErrorDetails.%23Ctor%28System.Management.Automation.Cmdlet%2CSystem.String%2CSystem.String%2CSystem.Object%5B%5D%29?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.ErrorDetails.%23ctor%28System.Management.Automation.Cmdlet%2CSystem.String%2CSystem.String%2CSystem.Object%5B%5D%29): Use this constructor if your template string is a resource string in the same assembly in which the cmdlet is implemented or if you want to load the template string through an override of the [System.Management.Automation.Cmdlet.GetResourceString](/dotnet/api/System.Management.Automation.Cmdlet.GetResourceString) method. -- [ErrorDetails.ErrorDetails(Assembly, String, String, Object\[System.Management.Automation.Errordetails.%23Ctor%28System.Reflection.Assembly%2Csystem.String%2Csystem.String%2Csystem.Object%5B%5D%29?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.ErrorDetails.%23ctor%28System.Reflection.Assembly%2CSystem.String%2CSystem.String%2CSystem.Object%5B%5D%29): Use this constructor if the template string is in another assembly and you do not load it through an override of [System.Management.Automation.Cmdlet.Getresourcestring*](/dotnet/api/System.Management.Automation.Cmdlet.GetResourceString). +- [ErrorDetails.ErrorDetails(Assembly, String, String, Object\[System.Management.Automation.ErrorDetails.%23Ctor%28System.Reflection.Assembly%2CSystem.String%2CSystem.String%2CSystem.Object%5B%5D%29?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.ErrorDetails.%23ctor%28System.Reflection.Assembly%2CSystem.String%2CSystem.String%2CSystem.Object%5B%5D%29): Use this constructor if the template string is in another assembly and you do not load it through an override of [System.Management.Automation.Cmdlet.GetResourceString](/dotnet/api/System.Management.Automation.Cmdlet.GetResourceString). The replacement message should conform to the .NET Framework design guidelines for writing exception messages with a small difference. The guidelines state that exception messages should be written for developers. These replacement messages should be written for the cmdlet user. -The replacement error message must be added before the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) methods are called. To add a replacement message, set the [System.Management.Automation.Errorrecord.Errordetails*](/dotnet/api/System.Management.Automation.ErrorRecord.ErrorDetails) property of the error record. When this property is set, Windows PowerShell displays the [System.Management.Automation.Errordetails.Message*](/dotnet/api/System.Management.Automation.ErrorDetails.Message) property instead of the default message text. +The replacement error message must be added before the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) methods are called. To add a replacement message, set the [System.Management.Automation.ErrorRecord.ErrorDetails](/dotnet/api/System.Management.Automation.ErrorRecord.ErrorDetails) property of the error record. When this property is set, Windows PowerShell displays the [System.Management.Automation.ErrorDetails.Message*](/dotnet/api/System.Management.Automation.ErrorDetails.Message) property instead of the default message text. ## Recommended Action Information -The [System.Management.Automation.Errordetails](/dotnet/api/System.Management.Automation.ErrorDetails) object can also provide information about what actions are recommended when the error occurs. +The [System.Management.Automation.ErrorDetails](/dotnet/api/System.Management.Automation.ErrorDetails) object can also provide information about what actions are recommended when the error occurs. ## Invocation information -When a cmdlet uses [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) to report an error record, Windows PowerShell automatically adds information that describes the command that was invoked when the error occurred. This information is provided by a [System.Management.Automation.Invocationinfo](/dotnet/api/System.Management.Automation.InvocationInfo) object that contains the name of the cmdlet that was invoked by the command, the command itself, and information about the pipeline or script. This property is read-only. +When a cmdlet uses [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) or [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) to report an error record, Windows PowerShell automatically adds information that describes the command that was invoked when the error occurred. This information is provided by a [System.Management.Automation.Invocationinfo](/dotnet/api/System.Management.Automation.InvocationInfo) object that contains the name of the cmdlet that was invoked by the command, the command itself, and information about the pipeline or script. This property is read-only. ## See Also -[System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) +[System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) [System.Management.Automation.Cmdlet.Throwterminatingerror*](/dotnet/api/System.Management.Automation.Cmdlet.ThrowTerminatingError) @@ -108,9 +108,9 @@ When a cmdlet uses [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api [System.Management.Automation.Errorcategoryinfo](/dotnet/api/System.Management.Automation.ErrorCategoryInfo) -[System.Management.Automation.Errorrecord](/dotnet/api/System.Management.Automation.ErrorRecord) +[System.Management.Automation.ErrorRecord](/dotnet/api/System.Management.Automation.ErrorRecord) -[System.Management.Automation.Errordetails](/dotnet/api/System.Management.Automation.ErrorDetails) +[System.Management.Automation.ErrorDetails](/dotnet/api/System.Management.Automation.ErrorDetails) [System.Management.Automation.Invocationinfo](/dotnet/api/System.Management.Automation.InvocationInfo) diff --git a/developer/cmdlet/windows-powershell-session-state.md b/developer/cmdlet/windows-powershell-session-state.md index 4e146bb54c8a..658499fe1ced 100644 --- a/developer/cmdlet/windows-powershell-session-state.md +++ b/developer/cmdlet/windows-powershell-session-state.md @@ -40,11 +40,11 @@ Session-state data is stored by the current instance of the execution engine wit ## Accessing Session-State Data Within Cmdlets -Cmdlets can access session-state data either indirectly through the [System.Management.Automation.Pscmdlet.Sessionstate*](/dotnet/api/System.Management.Automation.PSCmdlet.SessionState) property of the cmdlet class or directly through the [System.Management.Automation.Sessionstate](/dotnet/api/System.Management.Automation.SessionState) class. The [System.Management.Automation.Sessionstate](/dotnet/api/System.Management.Automation.SessionState) class provides properties that can be used to investigate different types of session-state data. +Cmdlets can access session-state data either indirectly through the [System.Management.Automation.PSCmdlet.Sessionstate*](/dotnet/api/System.Management.Automation.PSCmdlet.SessionState) property of the cmdlet class or directly through the [System.Management.Automation.Sessionstate](/dotnet/api/System.Management.Automation.SessionState) class. The [System.Management.Automation.Sessionstate](/dotnet/api/System.Management.Automation.SessionState) class provides properties that can be used to investigate different types of session-state data. ## See Also -[System.Management.Automation.Pscmdlet.Sessionstate](/dotnet/api/System.Management.Automation.PSCmdlet.SessionState) +[System.Management.Automation.PSCmdlet.Sessionstate](/dotnet/api/System.Management.Automation.PSCmdlet.SessionState) [System.Management.Automation.Sessionstate?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.SessionState) diff --git a/developer/cmdlet/writing-a-custom-windows-powershell-snap-in.md b/developer/cmdlet/writing-a-custom-windows-powershell-snap-in.md index fb30ab5ed6aa..b0d5cc0d9a84 100644 --- a/developer/cmdlet/writing-a-custom-windows-powershell-snap-in.md +++ b/developer/cmdlet/writing-a-custom-windows-powershell-snap-in.md @@ -213,6 +213,4 @@ For more information about registering snap-ins, see [How to Register Cmdlets, P [How to Register Cmdlets, Providers, and Host Applications](https://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) -[How to Register Cmdlets, Providers, and Host Applications](https://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [Windows PowerShell Shell SDK](../windows-powershell-reference.md) diff --git a/developer/cmdlet/writing-a-windows-powershell-snap-in.md b/developer/cmdlet/writing-a-windows-powershell-snap-in.md index a5a50e9daa68..1de819c3ea92 100644 --- a/developer/cmdlet/writing-a-windows-powershell-snap-in.md +++ b/developer/cmdlet/writing-a-windows-powershell-snap-in.md @@ -21,7 +21,7 @@ With this type of snap-in, you do not select which cmdlets and providers you wan 1. Add the RunInstallerAttribute attribute. -2. Create a public class that derives from the [System.Management.Automation.Pssnapin](/dotnet/api/System.Management.Automation.PSSnapIn) class. +2. Create a public class that derives from the [System.Management.Automation.PSSnapIn](/dotnet/api/System.Management.Automation.PSSnapIn) class. In this example, the class name is "GetProcPSSnapIn01". @@ -124,6 +124,4 @@ public class GetProcPSSnapIn01 : PSSnapIn [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) -[How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [Windows PowerShell Shell SDK](../windows-powershell-reference.md) diff --git a/developer/docfx.json b/developer/docfx.json index bbf7a5aa1919..553acec29bad 100644 --- a/developer/docfx.json +++ b/developer/docfx.json @@ -1,13 +1,10 @@ { "build": { - "content": [{ - "files": [ - "**/**.yml", - "**/**.md" - ], - "exclude": ["**/obj/**"] - }], + "content": [ + { "files": ["**/**.yml", "**/**.md"], "exclude": ["**/obj/**"] } + ], "globalMetadata": { + "toc_preview": true, "breadcrumb_path": "bread/toc.yml", "uhfHeaderId": "MSDocsHeader-Powershell", "ROBOTS": "INDEX, FOLLOW", @@ -17,16 +14,16 @@ "ms.devlang": "powershell", "ms.tgt_pltfr": "windows, macos, linux", "author": "joeyaiello", - "ms.author": "jaiello" + "ms.author": "jaiello", + "feedback_system": "GitHub", + "feedback_github_repo": "MicrosoftDocs/PowerShell-Docs", + "feedback_product_url": "https://github.com/PowerShell/PowerShell/issues/new/choose" }, - "resource": [{ - "files": [ - "**/images/**" - ], - "exclude": ["**/obj/**"] - }], + "resource": [ + { "files": ["**/media/**", "**/*.png", "**/*.gif", "**/*.jpeg", "**/*.jpg", "**/*.svg"], "exclude": ["**/obj/**", "**/includes/**"] } + ], "template": "op.html", "dest": "developer", "markdownEngineName": "markdig" } -} \ No newline at end of file +} diff --git a/developer/format/alignment-element-for-tablecolumnheader-for-tablecontrol-format.md b/developer/format/alignment-element-for-tablecolumnheader-for-tablecontrol-format.md index 6873e6e810f6..077ef76b32df 100644 --- a/developer/format/alignment-element-for-tablecolumnheader-for-tablecontrol-format.md +++ b/developer/format/alignment-element-for-tablecolumnheader-for-tablecontrol-format.md @@ -80,4 +80,4 @@ This example shows a `TableColumnHeader` element whose data is aligned on the le [TableColumnHeader Element (Format)](./tablecolumnheader-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/autosize-element-for-tablecontrol-format.md b/developer/format/autosize-element-for-tablecontrol-format.md index 38b37d6646a6..159cce9541f6 100644 --- a/developer/format/autosize-element-for-tablecontrol-format.md +++ b/developer/format/autosize-element-for-tablecontrol-format.md @@ -52,4 +52,4 @@ For more information about the components of a table view, see [Creating a Table [TableControl Element (Format)](./tablecontrol-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/autosize-element-for-widecontrol-format.md b/developer/format/autosize-element-for-widecontrol-format.md index 5c8d64904b96..57438d508444 100644 --- a/developer/format/autosize-element-for-widecontrol-format.md +++ b/developer/format/autosize-element-for-widecontrol-format.md @@ -59,4 +59,4 @@ For an example of a wide view, see [Wide View (Basic)](./wide-view-basic.md). [WideControl Element (Format)](./widecontrol-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/columnnumber-element-for-widecontrol-format.md b/developer/format/columnnumber-element-for-widecontrol-format.md index 88f80bd1fe1c..8137c5022bfe 100644 --- a/developer/format/columnnumber-element-for-widecontrol-format.md +++ b/developer/format/columnnumber-element-for-widecontrol-format.md @@ -63,4 +63,4 @@ For an example of a wide view, see [Wide View (Basic)](./wide-view-basic.md). [Wide View (Basic)](./wide-view-basic.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/configuration-element-format.md b/developer/format/configuration-element-format.md index 6b7cf326ac97..8ff50c34cf02 100644 --- a/developer/format/configuration-element-format.md +++ b/developer/format/configuration-element-format.md @@ -62,4 +62,4 @@ Formatting files define how objects are displayed. In most cases, this root elem [ViewDefinitions Element (Format)](./viewdefinitions-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/control-element-for-controls-for-configuration-format.md b/developer/format/control-element-for-controls-for-configuration-format.md index 7d777c2370f7..69f21705250b 100644 --- a/developer/format/control-element-for-controls-for-configuration-format.md +++ b/developer/format/control-element-for-controls-for-configuration-format.md @@ -67,4 +67,4 @@ The name given to this control can be referenced in the following elements: [Name Element for Control for Controls for Configuration (Format)](./name-element-for-control-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/control-element-for-controls-for-view-format.md b/developer/format/control-element-for-controls-for-view-format.md index 09b08f8f4a8c..25fe5426a95a 100644 --- a/developer/format/control-element-for-controls-for-view-format.md +++ b/developer/format/control-element-for-controls-for-view-format.md @@ -77,4 +77,4 @@ This control can be specified by the following elements: [Name Element for Control for Controls for View (Format)](./name-element-for-control-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/controls-element-for-configuration-format.md b/developer/format/controls-element-for-configuration-format.md index 7352d78ea5ed..290ce49fe09b 100644 --- a/developer/format/controls-element-for-configuration-format.md +++ b/developer/format/controls-element-for-configuration-format.md @@ -54,4 +54,4 @@ You can create any number of common controls. For each control, you must specify [Control Element for Controls for Configuration (Format)](./control-element-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/controls-element-for-view-format.md b/developer/format/controls-element-for-view-format.md index 9ee47f8951d9..d7beb33df2bd 100644 --- a/developer/format/controls-element-for-view-format.md +++ b/developer/format/controls-element-for-view-format.md @@ -54,4 +54,4 @@ None. [View Element (Format)](./view-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/creating-a-table-view.md b/developer/format/creating-a-table-view.md index b14e7a8a5fb3..ca1a41903ebf 100644 --- a/developer/format/creating-a-table-view.md +++ b/developer/format/creating-a-table-view.md @@ -89,7 +89,7 @@ The following XML elements are used to define a list view: 2. The [TableColumnHeader](./tablecolumnheader-element-format.md) element defines what is displayed at the top of a column of the table. Specify these elements in the order that you want the headers displayed. - There is no limit to the number of these element that you can use, but the number of [TableColumnHeader](./tablecolumnheader-element-format.md) elements in your table view must equal the number of [TableRowEntry](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) elements that you use. + There is no limit to the number of these element that you can use, but the number of [TableColumnHeader](./tablecolumnheader-element-format.md) elements in your table view must equal the number of [TableRowEntry](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md) elements that you use. 3. The [Label](./label-element-for-tablecolumnheader-for-tablecontrol-format.md) element specifies the text that is displayed. This element is optional. @@ -130,7 +130,7 @@ The following XML elements can be used to provide definitions for a row: - The [EntrySelectedBy](./entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md) element specifies the objects that are displayed by a specific definition. This element is optional and is needed only when you define multiple [TableRowEntry](./listentry-element-for-listcontrol-format.md) elements that display different objects. -- The [Wrap](./wrap-element-for-tablerowentry-for-tablecontrl-format.md) element specifies that text that exceeds the column width is displayed on the next line. By default, text that exceeds the column width is truncated. +- The [Wrap](./wrap-element-for-tablerowentry-for-tablecontrol-format.md) element specifies that text that exceeds the column width is displayed on the next line. By default, text that exceeds the column width is truncated. - The [TableColumnItems](./tablecolumnitems-element-for-tablerowentry-for-tablecontrol-format.md) element defines the properties or scripts whose values are displayed in the row. @@ -245,4 +245,4 @@ The following XML element can be used to calling the `ToString` method: ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/creating-a-wide-view.md b/developer/format/creating-a-wide-view.md index 05ef94c5ce7f..fd549c2ab1c4 100644 --- a/developer/format/creating-a-wide-view.md +++ b/developer/format/creating-a-wide-view.md @@ -256,4 +256,4 @@ The following XML element can be used to calling the `ToString` method: [Wide View (GroupBy)](./wide-view-groupby.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/creating-custom-controls.md b/developer/format/creating-custom-controls.md index eae978d84528..0001295111cc 100644 --- a/developer/format/creating-custom-controls.md +++ b/developer/format/creating-custom-controls.md @@ -47,4 +47,4 @@ The following example shows a custom control that is defined in the Certificates ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrol-element-for-control-for-controls-for-configuration-format.md b/developer/format/customcontrol-element-for-control-for-controls-for-configuration-format.md index 875279e0f9c0..5c6fa1415791 100644 --- a/developer/format/customcontrol-element-for-control-for-controls-for-configuration-format.md +++ b/developer/format/customcontrol-element-for-control-for-controls-for-configuration-format.md @@ -54,4 +54,4 @@ None. [CustomEntries Element for CustomControl for Configuration (Format)](./customentries-element-for-customcontrol-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrol-element-for-control-for-controls-for-view-format.md b/developer/format/customcontrol-element-for-control-for-controls-for-view-format.md index 678b37768229..45d1e78c972b 100644 --- a/developer/format/customcontrol-element-for-control-for-controls-for-view-format.md +++ b/developer/format/customcontrol-element-for-control-for-controls-for-view-format.md @@ -56,4 +56,4 @@ None. [Control Element for Controls for View (Format)](./control-element-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrol-element-for-groupby-format.md b/developer/format/customcontrol-element-for-groupby-format.md index 6f52f7b888be..02f73457f893 100644 --- a/developer/format/customcontrol-element-for-groupby-format.md +++ b/developer/format/customcontrol-element-for-groupby-format.md @@ -55,4 +55,4 @@ None. [GroupBy Element for View (Format)](./groupby-element-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrol-element-for-view-format.md b/developer/format/customcontrol-element-for-view-format.md index 6b96c3665c07..29bc40f730bc 100644 --- a/developer/format/customcontrol-element-for-view-format.md +++ b/developer/format/customcontrol-element-for-view-format.md @@ -56,4 +56,4 @@ In most cases, only one definition is required for each control view, but it is [View Element (Format)](./view-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-configuration-format.md b/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-configuration-format.md index 4a67e50a6871..6ce82180e112 100644 --- a/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-configuration-format.md +++ b/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-configuration-format.md @@ -67,4 +67,4 @@ You can create common controls that can be used by all the views of a formatting [ExpressionBinding Element for CustomItem for Controls for Configuration (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-view-format.md b/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-view-format.md index c089a40707bf..ca798a4ee8e7 100644 --- a/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-view-format.md +++ b/developer/format/customcontrolname-element-for-expressionbinding-for-controls-for-view-format.md @@ -69,4 +69,4 @@ You can create common controls that can be used by all the views of a formatting [ExpressionBinding Element for CustomItem for Controls for View (Format)](./expressionbinding-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrolname-element-for-expressionbinding-for-customcontrol-for-view-format.md b/developer/format/customcontrolname-element-for-expressionbinding-for-customcontrol-for-view-format.md index 2b905eb67fde..90a0d9a4d6fc 100644 --- a/developer/format/customcontrolname-element-for-expressionbinding-for-customcontrol-for-view-format.md +++ b/developer/format/customcontrolname-element-for-expressionbinding-for-customcontrol-for-view-format.md @@ -67,4 +67,4 @@ You can create common controls that can be used by all the views of a formatting [ExpressionBinding Element for CustomItem (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrolname-element-for-expressionbinding-for-groupby-format.md b/developer/format/customcontrolname-element-for-expressionbinding-for-groupby-format.md index a4ca0487da4d..f1f3f81cf55e 100644 --- a/developer/format/customcontrolname-element-for-expressionbinding-for-groupby-format.md +++ b/developer/format/customcontrolname-element-for-expressionbinding-for-groupby-format.md @@ -68,4 +68,4 @@ You can create common controls that can be used by all the views of a formatting [ExpressionBinding Element for CustomItem for GroupBy (Format)](./expressionbinding-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customcontrolname-element-for-groupby-format.md b/developer/format/customcontrolname-element-for-groupby-format.md index dd4851a9ca9f..8b2786ad9fff 100644 --- a/developer/format/customcontrolname-element-for-groupby-format.md +++ b/developer/format/customcontrolname-element-for-groupby-format.md @@ -63,4 +63,4 @@ You can create common controls that can be used by all the views of a formatting [Name Element for Control for Controls for View (Format)](./name-element-for-control-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentries-element-for-customcontrol-for-controls-for-configuration-format.md b/developer/format/customentries-element-for-customcontrol-for-controls-for-configuration-format.md index 47ecf1ca55b8..1182bee0f660 100644 --- a/developer/format/customentries-element-for-customcontrol-for-controls-for-configuration-format.md +++ b/developer/format/customentries-element-for-customcontrol-for-controls-for-configuration-format.md @@ -58,4 +58,4 @@ In most cases, a control has only one definition, which is defined in a single ` [CustomEntry Element for CustomControl for Controls for Configuration (Format)](./customentry-element-for-customcontrol-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentries-element-for-customcontrol-for-controls-for-view-format.md b/developer/format/customentries-element-for-customcontrol-for-controls-for-view-format.md index 1ee55af22480..9c972821e08a 100644 --- a/developer/format/customentries-element-for-customcontrol-for-controls-for-view-format.md +++ b/developer/format/customentries-element-for-customcontrol-for-controls-for-view-format.md @@ -59,4 +59,4 @@ In most cases, a control has only one definition, which is specified in a single [CustomControl Element for Control for Controls for View (Format)](./customcontrol-element-for-control-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentries-element-for-customcontrol-for-groupby-format.md b/developer/format/customentries-element-for-customcontrol-for-groupby-format.md index dcaf34f02b3f..da7c97a1983c 100644 --- a/developer/format/customentries-element-for-customcontrol-for-groupby-format.md +++ b/developer/format/customentries-element-for-customcontrol-for-groupby-format.md @@ -58,4 +58,4 @@ In most cases, a control has only one definition, which is specified in a single [CustomControl Element for GroupBy (Format)](./customcontrol-element-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentries-element-for-customcontrol-for-view-format.md b/developer/format/customentries-element-for-customcontrol-for-view-format.md index 2983f2ec882e..fe336c179982 100644 --- a/developer/format/customentries-element-for-customcontrol-for-view-format.md +++ b/developer/format/customentries-element-for-customcontrol-for-view-format.md @@ -57,4 +57,4 @@ In most cases, a control has only one definition, which is defined in a single ` [CustomEntry Element for CustomEntries for View (Format)](./customentry-element-for-customentries-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentry-element-for-customcontrol-for-controls-for-configuration-format.md b/developer/format/customentry-element-for-customcontrol-for-controls-for-configuration-format.md index f97930df7955..758a11ad87e0 100644 --- a/developer/format/customentry-element-for-customcontrol-for-controls-for-configuration-format.md +++ b/developer/format/customentry-element-for-customcontrol-for-controls-for-configuration-format.md @@ -61,4 +61,4 @@ In most cases, only one definition is required for each common custom control, b [CustomItem Element for CustomEntry for Controls for Configuration](./customitem-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentry-element-for-customcontrol-for-groupby-format.md b/developer/format/customentry-element-for-customcontrol-for-groupby-format.md index 4064aebf3ba5..fa8995a58a59 100644 --- a/developer/format/customentry-element-for-customcontrol-for-groupby-format.md +++ b/developer/format/customentry-element-for-customcontrol-for-groupby-format.md @@ -61,4 +61,4 @@ None. [CustomEntries Element for CustomControl for GroupBy (Format)](./customentries-element-for-customcontrol-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentry-element-for-customentries-for-controls-for-view-format.md b/developer/format/customentry-element-for-customentries-for-controls-for-view-format.md index 878cdc215957..317583785679 100644 --- a/developer/format/customentry-element-for-customentries-for-controls-for-view-format.md +++ b/developer/format/customentry-element-for-customentries-for-controls-for-view-format.md @@ -58,4 +58,4 @@ None. [CustomEntries Element for CustomControl for View (Format)](./customentries-element-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customentry-element-for-customentries-for-customcontrol-for-view-format.md b/developer/format/customentry-element-for-customentries-for-customcontrol-for-view-format.md index b9313bac4e58..66647f40d008 100644 --- a/developer/format/customentry-element-for-customentries-for-customcontrol-for-view-format.md +++ b/developer/format/customentry-element-for-customentries-for-customcontrol-for-view-format.md @@ -62,4 +62,4 @@ In most cases, only one definition is required for each custom control view, but [EntrySelectedBy Element for CustomEntry for View (Format)](./entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customitem-element-for-customentry-for-controls-for-configuration-format.md b/developer/format/customitem-element-for-customentry-for-controls-for-configuration-format.md index d16edda0ea71..f6e7b376139a 100644 --- a/developer/format/customitem-element-for-customentry-for-controls-for-configuration-format.md +++ b/developer/format/customitem-element-for-customentry-for-controls-for-configuration-format.md @@ -75,4 +75,4 @@ When specifying the child elements of the `CustomItem` element, keep the followi [Text Element for CustomItem for Controls for Configuration (Format)](./text-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customitem-element-for-customentry-for-controls-for-view-format.md b/developer/format/customitem-element-for-customentry-for-controls-for-view-format.md index 7a9e829c93c4..b34e9cf15f10 100644 --- a/developer/format/customitem-element-for-customentry-for-controls-for-view-format.md +++ b/developer/format/customitem-element-for-customentry-for-controls-for-view-format.md @@ -77,4 +77,4 @@ When specifying the child elements of the `CustomItem` element, keep the followi [Text Element for CustomItem for Controls for View (Format)](./text-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customitem-element-for-customentry-for-customcontrol-for-view-format.md b/developer/format/customitem-element-for-customentry-for-customcontrol-for-view-format.md index e4b283502dfe..c65fa8aba3d1 100644 --- a/developer/format/customitem-element-for-customentry-for-customcontrol-for-view-format.md +++ b/developer/format/customitem-element-for-customentry-for-customcontrol-for-view-format.md @@ -69,4 +69,4 @@ None. [Text Element for CustomItem for CustomControl for View (Format)](./text-element-for-customitem-for-customview-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/customitem-element-for-customentry-for-groupby-format.md b/developer/format/customitem-element-for-customentry-for-groupby-format.md index db49e718e008..dacedc4a5145 100644 --- a/developer/format/customitem-element-for-customentry-for-groupby-format.md +++ b/developer/format/customitem-element-for-customentry-for-groupby-format.md @@ -69,4 +69,4 @@ None. [Text Element for CustomItem for GroupBy (Format)](./text-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/defaultsettings-element-format.md b/developer/format/defaultsettings-element-format.md index 7f2d962daf46..7827adcda2a6 100644 --- a/developer/format/defaultsettings-element-format.md +++ b/developer/format/defaultsettings-element-format.md @@ -40,7 +40,7 @@ None. |Element|Description| |-------------|-----------------| -|[DisplayError Element (Frmat)](./displayerror-element-format.md)|Optional element.

Specifies that the string #ERR is displayed when an error occurs while displaying a piece of data.| +|[DisplayError Element (Format)](./displayerror-element-format.md)|Optional element.

Specifies that the string #ERR is displayed when an error occurs while displaying a piece of data.| |[EnumerableExpansions Element (Format)](./enumerableexpansions-element-format.md)|Optional element.

Defines the different ways that .NET objects are expanded when they are displayed in a view.| |[PropertyCountForTable (Format)](./propertycountfortable-element-format.md)|Optional element.

Specifies the minimum number of properties that an object must have to display the object in a table view.| |[ShowError Element (Format)](./showerror-element-format.md)|Optional element.

Specifies that the full error record is displayed when an error occurs while displaying a piece of data.| @@ -58,7 +58,7 @@ None. [Configuration Element](./configuration-element-format.md) -[DisplayError Element (Frmat)](./displayerror-element-format.md) +[DisplayError Element (Format)](./displayerror-element-format.md) [EnumerableExpansions Element (Format)](./enumerableexpansions-element-format.md) @@ -68,4 +68,4 @@ None. [WrapTables Element (Format)](./wraptables-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/defining-conditions-for-displaying-data.md b/developer/format/defining-conditions-for-displaying-data.md index 7ce19ae8de4d..dd23daead0fb 100644 --- a/developer/format/defining-conditions-for-displaying-data.md +++ b/developer/format/defining-conditions-for-displaying-data.md @@ -95,4 +95,4 @@ You can specify only one selection condition for an item. And the condition must ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/defining-selection-sets.md b/developer/format/defining-selection-sets.md index 6f84e204ba79..f7300342a766 100644 --- a/developer/format/defining-selection-sets.md +++ b/developer/format/defining-selection-sets.md @@ -37,7 +37,7 @@ You can reference a selection sets in the following ways: ## Selection Set Example -The following example shows a selection set that is taken directly from the `FileSystem` formatting file provided by Windows PowerShell. For more information about other Windows PowerShell formatting files, see [Windows PowerShell Formatting Files](./windows-powershell-formatting-files.md). +The following example shows a selection set that is taken directly from the `FileSystem` formatting file provided by Windows PowerShell. For more information about other Windows PowerShell formatting files, see [Windows PowerShell Formatting Files](./powershell-formatting-files.md). ```xml @@ -136,8 +136,8 @@ The previous selection set is referenced in the `ViewSelectedBy` element of a ta [Types](./types-element-for-selectionset-format.md) -[Windows PowerShell Formatting Files](./windows-powershell-formatting-files.md) +[PowerShell Formatting Files](./powershell-formatting-files.md) [Defining Conditions for when Data is Displayed](./defining-conditions-for-displaying-data.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/displayerror-element-format.md b/developer/format/displayerror-element-format.md index 69eb950ab2d6..923003f583aa 100644 --- a/developer/format/displayerror-element-format.md +++ b/developer/format/displayerror-element-format.md @@ -15,7 +15,7 @@ Specifies that the string #ERR is displayed when an error occurs displaying a pi Configuration Element (Format) DefaultSettings Element (Format) -DisplayError Element (Frmat) +DisplayError Element (Format) ## Syntax @@ -49,4 +49,4 @@ By default, when an error occurs while trying to display a piece of data, the lo [DefaultSettings Element (Format)](./defaultsettings-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-customentry-for-controls-for-configuration-format.md b/developer/format/entryselectedby-element-for-customentry-for-controls-for-configuration-format.md index 064315a8cccf..0bd0480e1dc9 100644 --- a/developer/format/entryselectedby-element-for-customentry-for-controls-for-configuration-format.md +++ b/developer/format/entryselectedby-element-for-customentry-for-controls-for-configuration-format.md @@ -65,6 +65,6 @@ At a minimum, each definition must have at least one .NET type, selection set, o [CustomEntry Element for CustomControl for Controls for Configuration (Format)](./customentry-element-for-customcontrol-for-controls-for-configuration-format.md) -[TypeName Element for EntrySelectdBy for Controls for Configuration (Format)](./typename-element-for-selectioncondition-for-controls-for-configuration-format.md) +[TypeName Element for EntrySelectedBy for Controls for Configuration (Format)](./typename-element-for-selectioncondition-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-customentry-for-controls-for-view-format.md b/developer/format/entryselectedby-element-for-customentry-for-controls-for-view-format.md index 54b2ff4b6157..f53bacbb976b 100644 --- a/developer/format/entryselectedby-element-for-customentry-for-controls-for-view-format.md +++ b/developer/format/entryselectedby-element-for-customentry-for-controls-for-view-format.md @@ -63,4 +63,4 @@ Selection conditions are used to define a condition that must exist for the defi [CustomEntry Element for CustomEntries for Controls for View (Format)](./customentry-element-for-customentries-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md b/developer/format/entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md index da783d80249d..d56d4f17ec56 100644 --- a/developer/format/entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md +++ b/developer/format/entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md @@ -73,4 +73,4 @@ For more information about the components of a custom control view, see [Custom [Custom Control View](./creating-custom-controls.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-customentry-for-groupby-format.md b/developer/format/entryselectedby-element-for-customentry-for-groupby-format.md index 0dc7ba06a0ce..e44773cbc8a9 100644 --- a/developer/format/entryselectedby-element-for-customentry-for-groupby-format.md +++ b/developer/format/entryselectedby-element-for-customentry-for-groupby-format.md @@ -68,4 +68,4 @@ Selection conditions are used to define a condition that must exist for the defi [CustomEntry Element for CustomEntries for Controls for View (Format)](./customentry-element-for-customentries-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-enumerableexpansion-format.md b/developer/format/entryselectedby-element-for-enumerableexpansion-format.md index 9988c32fdc9a..6efe81661124 100644 --- a/developer/format/entryselectedby-element-for-enumerableexpansion-format.md +++ b/developer/format/entryselectedby-element-for-enumerableexpansion-format.md @@ -69,4 +69,4 @@ Selection conditions are used to define a condition that must exist for the defi [TypeName Element for EntrySelectedBy for EnumerableExpansion (Format)](./typename-element-for-entryselectedby-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-listentry-for-listcontrol-format.md b/developer/format/entryselectedby-element-for-listentry-for-listcontrol-format.md index 5cf11d2b4036..afa566fefa99 100644 --- a/developer/format/entryselectedby-element-for-listentry-for-listcontrol-format.md +++ b/developer/format/entryselectedby-element-for-listentry-for-listcontrol-format.md @@ -44,7 +44,7 @@ None. |Element|Description| |-------------|-----------------| |[SelectionCondition Element for EntrySelectedBy for ListControl (Format)](./selectioncondition-element-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Defines the condition that must exist for this list view definition to be used.| -|[SelectionSetName Element for EnrtySelectedBy for ListControl (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies a set of .NET types that use this list view definition.| +|[SelectionSetName Element for EntrySelectedBy for ListControl (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies a set of .NET types that use this list view definition.| |[TypeName Element for EntrySelectedBy for ListControl (Format)](./typename-element-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies a .NET type that uses this list view definition.| ### Parent Elements @@ -79,7 +79,7 @@ The following example shows how to define the objects for a list view using thei [SelectionCondition Element for EntrySelectedBy for ListControl (Format)](./selectioncondition-element-for-entryselectedby-for-listcontrol-format.md) -[SelectionSetName Element for EnrtySelectedBy for ListControl (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md) +[SelectionSetName Element for EntrySelectedBy for ListControl (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md) [TypeName Element for EntrySelectedBy for ListControl (Format)](./typename-element-for-entryselectedby-for-listcontrol-format.md) @@ -87,4 +87,4 @@ The following example shows how to define the objects for a list view using thei [Defining Conditions for when Data is Displayed](./defining-conditions-for-displaying-data.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md b/developer/format/entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md index 6860655026eb..ee161f1730e6 100644 --- a/developer/format/entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md +++ b/developer/format/entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md @@ -51,7 +51,7 @@ None. |Element|Description| |-------------|-----------------| -|[TableRowEntry Element for TableControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md)|Defines the data that is displayed in a row of the table.| +|[TableRowEntry Element for TableControl (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md)|Defines the data that is displayed in a row of the table.| ## Remarks @@ -89,8 +89,8 @@ The following example shows a `TableRowEntry` element that is used to display th [SelectionSetName Element for EntrySelectedBy for TableControl (Format)](./selectionsetname-element-for-entryselectedby-for-tablecontrol-format.md) -[TableRowEntry Element for TableControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) +[TableRowEntry Element for TableControl (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md) [TypeName Element for EntrySelectedBy for TableControl (Format)](./typename-element-for-entryselectedby-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/entryselectedby-element-for-wideentry-format.md b/developer/format/entryselectedby-element-for-wideentry-format.md index 816be885e29f..adf2b961b6dc 100644 --- a/developer/format/entryselectedby-element-for-wideentry-format.md +++ b/developer/format/entryselectedby-element-for-wideentry-format.md @@ -75,4 +75,4 @@ For more information about other components of a wide view, see [Creating a Wide [Defining Conditions for Displaying Data](./defining-conditions-for-displaying-data.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/enumerableexpansion-element-format.md b/developer/format/enumerableexpansion-element-format.md index 9eba6707783d..cd26630b8657 100644 --- a/developer/format/enumerableexpansion-element-format.md +++ b/developer/format/enumerableexpansion-element-format.md @@ -56,4 +56,4 @@ The default behavior is to display only the properties of the objects in the col ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/enumerableexpansions-element-format.md b/developer/format/enumerableexpansions-element-format.md index f5fc11b553af..940375a480ec 100644 --- a/developer/format/enumerableexpansions-element-format.md +++ b/developer/format/enumerableexpansions-element-format.md @@ -51,4 +51,4 @@ This element is used to define how collection objects and the objects in the col ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-configuration-format.md b/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-configuration-format.md index 2143c7489486..ca2c05d7c1f5 100644 --- a/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-configuration-format.md +++ b/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-configuration-format.md @@ -53,4 +53,4 @@ None. [ExpressionBinding Element for CustomItem for Controls for Configuration (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-view-format.md b/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-view-format.md index f174856fcb89..9b01004235a0 100644 --- a/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-view-format.md +++ b/developer/format/enumeratecollection-element-for-expressionbinding-for-controls-for-view-format.md @@ -55,4 +55,4 @@ None. [ExpressionBinding Element for CustomItem for Controls for View (Format)](./expressionbinding-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/enumeratecollection-element-for-expressionbinding-for-customcontrol-for-view-format.md b/developer/format/enumeratecollection-element-for-expressionbinding-for-customcontrol-for-view-format.md index a1e68f888294..0a5747675fb4 100644 --- a/developer/format/enumeratecollection-element-for-expressionbinding-for-customcontrol-for-view-format.md +++ b/developer/format/enumeratecollection-element-for-expressionbinding-for-customcontrol-for-view-format.md @@ -53,4 +53,4 @@ None. [ExpressionBinding Element for CustomItem (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/enumeratecollection-element-for-expressionbinding-for-groupby-format.md b/developer/format/enumeratecollection-element-for-expressionbinding-for-groupby-format.md index dd523c472255..596a62dbe73b 100644 --- a/developer/format/enumeratecollection-element-for-expressionbinding-for-groupby-format.md +++ b/developer/format/enumeratecollection-element-for-expressionbinding-for-groupby-format.md @@ -54,4 +54,4 @@ None. [ExpressionBinding Element for CustomItem for GroupBy (Format)](./expressionbinding-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/examples-of-formatting-files.md b/developer/format/examples-of-formatting-files.md index c4feb98fa1b6..a1ec553efffb 100644 --- a/developer/format/examples-of-formatting-files.md +++ b/developer/format/examples-of-formatting-files.md @@ -23,4 +23,4 @@ This example shows how to implement a wide view that displays groups of [System. ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/expand-element-format.md b/developer/format/expand-element-format.md index 07ff686cc1ca..71d7c006bd78 100644 --- a/developer/format/expand-element-format.md +++ b/developer/format/expand-element-format.md @@ -61,4 +61,4 @@ The default behavior is to display only the properties of the objects in the col ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/expressionbinding-element-for-customitem-for-controls-for-configuration-format.md b/developer/format/expressionbinding-element-for-customitem-for-controls-for-configuration-format.md index ea94afe6c23d..bcb823d14811 100644 --- a/developer/format/expressionbinding-element-for-customitem-for-controls-for-configuration-format.md +++ b/developer/format/expressionbinding-element-for-customitem-for-controls-for-configuration-format.md @@ -66,4 +66,4 @@ None. [CustomItem Element for CustomEntry for Controls for Configuration](./customitem-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/expressionbinding-element-for-customitem-for-controls-for-view-format.md b/developer/format/expressionbinding-element-for-customitem-for-controls-for-view-format.md index 6d603dac4133..108166ec221c 100644 --- a/developer/format/expressionbinding-element-for-customitem-for-controls-for-view-format.md +++ b/developer/format/expressionbinding-element-for-customitem-for-controls-for-view-format.md @@ -78,4 +78,4 @@ None. [ScriptBlock Element for ExpressionBinding for Controls for View (Format)](./scriptblock-element-for-expressionbinding-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md b/developer/format/expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md index f65784706566..361b81452afc 100644 --- a/developer/format/expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md +++ b/developer/format/expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md @@ -76,4 +76,4 @@ None. [CustomItem Element for CustomEntry for CustomControl for View (Format)](./customitem-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/expressionbinding-element-for-customitem-for-groupby-format.md b/developer/format/expressionbinding-element-for-customitem-for-groupby-format.md index 45d7c7b698c6..ba36e5d1f8b0 100644 --- a/developer/format/expressionbinding-element-for-customitem-for-groupby-format.md +++ b/developer/format/expressionbinding-element-for-customitem-for-groupby-format.md @@ -75,4 +75,4 @@ None. [CustomItem Element for CustomEntry for GroupBy (Format)](./customitem-element-for-customentry-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlinehanging-element-for-frame-for-controls-for-configuration-format.md b/developer/format/firstlinehanging-element-for-frame-for-controls-for-configuration-format.md index a46980cc020b..bcb08e213e67 100644 --- a/developer/format/firstlinehanging-element-for-frame-for-controls-for-configuration-format.md +++ b/developer/format/firstlinehanging-element-for-frame-for-controls-for-configuration-format.md @@ -59,4 +59,4 @@ If this element is specified, you cannot specify the `FirstLineIndent` element. [Frame Element for CustomItem for Controls for Configuration (Format)](./frame-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlinehanging-element-for-frame-for-controls-for-view-format.md b/developer/format/firstlinehanging-element-for-frame-for-controls-for-view-format.md index d2c28345ca35..466f00281d71 100644 --- a/developer/format/firstlinehanging-element-for-frame-for-controls-for-view-format.md +++ b/developer/format/firstlinehanging-element-for-frame-for-controls-for-view-format.md @@ -63,4 +63,4 @@ If this element is specified, you cannot specify the [FirstLineIndent](./firstli [Frame Element for CustomItem for Controls for View (Format)](./frame-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlinehanging-element-for-frame-for-customcontrol-for-view-format.md b/developer/format/firstlinehanging-element-for-frame-for-customcontrol-for-view-format.md index fe8e18586efd..33f6d72081ce 100644 --- a/developer/format/firstlinehanging-element-for-frame-for-customcontrol-for-view-format.md +++ b/developer/format/firstlinehanging-element-for-frame-for-customcontrol-for-view-format.md @@ -19,7 +19,7 @@ View Element (Format) CustomControl Element (Format) CustomEntries Element for CustomControl for View (Format) CustomEntry Element for CustomEntries for View (Format) -CustomItem Element for CustomEntry for CutomControlView (Format) +CustomItem Element for CustomEntry for CustomControlView (Format) Frame Element for CustomItem for CustomControl for View (Format) FirstLineHanging Element for Frame for CustomControl for View (Format) @@ -61,4 +61,4 @@ If this element is specified, you cannot specify the [FirstLineIndent](./firstli [Frame Element for CustomItem for CustomControl for View (Format)](./frame-element-for-customitem-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlinehanging-element-for-frame-for-groupby-format.md b/developer/format/firstlinehanging-element-for-frame-for-groupby-format.md index 8f80fa68f2ba..0ae7ead6622e 100644 --- a/developer/format/firstlinehanging-element-for-frame-for-groupby-format.md +++ b/developer/format/firstlinehanging-element-for-frame-for-groupby-format.md @@ -62,4 +62,4 @@ If this element is specified, you cannot specify the [FirstLineIndent](./firstli [Frame Element for CustomItem for GroupBy (Format)](./frame-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlineindent-element-for-frame-for-controls-for-configuration-format.md b/developer/format/firstlineindent-element-for-frame-for-controls-for-configuration-format.md index 80061d837312..75ac6c33536f 100644 --- a/developer/format/firstlineindent-element-for-frame-for-controls-for-configuration-format.md +++ b/developer/format/firstlineindent-element-for-frame-for-controls-for-configuration-format.md @@ -61,4 +61,4 @@ If this element is specified, you cannot specify the [FirstLineHanging](./firstl [Frame Element for CustomItem for Controls for Configuration (Format)](./frame-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlineindent-element-for-frame-for-controls-for-view-format.md b/developer/format/firstlineindent-element-for-frame-for-controls-for-view-format.md index 542e2411becb..b047afb619d7 100644 --- a/developer/format/firstlineindent-element-for-frame-for-controls-for-view-format.md +++ b/developer/format/firstlineindent-element-for-frame-for-controls-for-view-format.md @@ -63,4 +63,4 @@ If this element is specified, you cannot specify the [FirstLineHanging](./firstl [Frame Element for CustomItem for Controls for View (Format)](./frame-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlineindent-element-for-frame-for-customcontrol-for-view-format.md b/developer/format/firstlineindent-element-for-frame-for-customcontrol-for-view-format.md index e7b87ad9223c..820b45c05919 100644 --- a/developer/format/firstlineindent-element-for-frame-for-customcontrol-for-view-format.md +++ b/developer/format/firstlineindent-element-for-frame-for-customcontrol-for-view-format.md @@ -19,7 +19,7 @@ View Element (Format) CustomControl Element (Format) CustomEntries Element for CustomControl for View (Format) CustomEntry Element for CustomEntries for View (Format) -CustomItem Element for CustomEntry for CutomControlView (Format) +CustomItem Element for CustomEntry for CustomControlView (Format) Frame Element for CustomItem for CustomControl for View (Format) FirstLineIndent Element @@ -61,4 +61,4 @@ If this element is specified, you cannot specify the [FirstLineHanging](./firstl [Frame Element for CustomItem for CustomControl for View (Format)](./frame-element-for-customitem-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/firstlineindent-element-for-frame-for-groupby-format.md b/developer/format/firstlineindent-element-for-frame-for-groupby-format.md index ea461e1a7010..56c5c08efa5c 100644 --- a/developer/format/firstlineindent-element-for-frame-for-groupby-format.md +++ b/developer/format/firstlineindent-element-for-frame-for-groupby-format.md @@ -62,4 +62,4 @@ If this element is specified, you cannot specify the [FirstLineHanging](./firstl [Frame Element for CustomItem for GroupBy (Format)](./frame-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/format-schema-xml-reference.md b/developer/format/format-schema-xml-reference.md index 4b42ba48bd2e..e851c9ef4d43 100644 --- a/developer/format/format-schema-xml-reference.md +++ b/developer/format/format-schema-xml-reference.md @@ -105,7 +105,7 @@ Defines what data is displayed by the custom control view and how it is displaye [DefaultSettings Element (Format)](./defaultsettings-element-format.md) Defines common settings that apply to all the views of the formatting file. Common settings include displaying errors, wrapping text in tables, defining how collections are expanded, and more. -[DisplayError Element (Frmat)](./displayerror-element-format.md) +[DisplayError Element (Format)](./displayerror-element-format.md) Specifies that the string #ERR is displayed when an error occurs displaying a piece of data. [EntrySelectedBy Element for CustomEntry for Controls for Configuration (Format)](./entryselectedby-element-for-customentry-for-controls-for-configuration-format.md) @@ -336,7 +336,7 @@ Specifies the .NET property that triggers the condition. When this property is p [PropertyName Element for SelectionCondition for GroupBy (Format)](./propertyname-element-for-selectioncondition-for-groupby-format.md) Specifies the .NET property that triggers the condition. When this property is present or when it evaluates to `true`, the condition is met, and the definition is used. This element is used when defining how a new group of objects is displayed. -[PropertyName Element for SelectionCondition for EmtrySelectedBy for ListEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md) +[PropertyName Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md) Specifies the .NET property that triggers the condition. When this property is present or when it evaluates to `true`, the condition is met, and the list entry is used. [PropertyName Element for SelectionCondition for EntrySelectedBy for TableRowEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-tablerowentry-format.md) @@ -528,7 +528,7 @@ Defines the headers for the columns of a table. [TableRowEntries Element (Format)](./tablerowentries-element-for-tablecontrol-format.md) Defines the rows of the table. -[TableRowEntry Element (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) +[TableRowEntry Element (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md) Defines the data that is displayed in a row of the table. [Text Element for CustomItem for Controls for Configuration (Format)](./text-element-for-customitem-for-controls-for-configuration-format.md) @@ -624,7 +624,7 @@ Defines the property or script whose value is displayed. [Width Element (Format)](./width-element-for-tablecolumnheader-for-tablecontrol-format.md) Defines the width (in characters) of a column. -[Wrap Element (Format)](./wrap-element-for-tablerowentry-for-tablecontrl-format.md) +[Wrap Element (Format)](./wrap-element-for-tablerowentry-for-tablecontrol-format.md) Specifies that text that exceeds the column width is displayed on the next line. [WrapTables Element (Format)](./wraptables-element-format.md) @@ -632,4 +632,4 @@ Specifies that data in a table cell is moved to the next line if the data is lon ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/formatstring-element-for-listitem-for-listcontrol-format.md b/developer/format/formatstring-element-for-listitem-for-listcontrol-format.md index aad5c1aecec1..f2a7228ea3b4 100644 --- a/developer/format/formatstring-element-for-listitem-for-listcontrol-format.md +++ b/developer/format/formatstring-element-for-listitem-for-listcontrol-format.md @@ -74,4 +74,4 @@ The following example shows how to define a formatting string for the value of t [ListItem Element (Format)](./listitem-element-for-listitems-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/formatstring-element-for-tablecolumnitem-for-tablecontrol-format.md b/developer/format/formatstring-element-for-tablecolumnitem-for-tablecontrol-format.md index a4f9a8da4b28..1ea7ea8d57dd 100644 --- a/developer/format/formatstring-element-for-tablecolumnitem-for-tablecontrol-format.md +++ b/developer/format/formatstring-element-for-tablecolumnitem-for-tablecontrol-format.md @@ -76,4 +76,4 @@ The following example shows how to define a formatting string for the value of t [TableColumnItem Element (Format)](./tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/formatstring-element-for-wideitem-for-widecontrol-format.md b/developer/format/formatstring-element-for-wideitem-for-widecontrol-format.md index d32d838c7472..0f735acbd156 100644 --- a/developer/format/formatstring-element-for-wideitem-for-widecontrol-format.md +++ b/developer/format/formatstring-element-for-wideitem-for-widecontrol-format.md @@ -73,4 +73,4 @@ The following example shows how to define a formatting string for the value of t [WideItem Element for WideControl (Format)](./wideitem-element-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/formatting-file-concepts.md b/developer/format/formatting-file-concepts.md index a67447c6f6c4..f7a4a4cc4f03 100644 --- a/developer/format/formatting-file-concepts.md +++ b/developer/format/formatting-file-concepts.md @@ -38,5 +38,5 @@ When defining what data is displayed by a view or a control, you can specify a c [Formatting Displayed Data](./formatting-displayed-data.md) You can specify how the individual data points in your List, Table, or Wide view are displayed. -[Windows PowerShell Formatting Files](./windows-powershell-formatting-files.md) -Lists the available formatting files provided by Windows PowerShell. +[PowerShell Formatting Files](./powershell-formatting-files.md) +Lists the available formatting files provided by PowerShell. diff --git a/developer/format/formatting-file-overview.md b/developer/format/formatting-file-overview.md index 4afc2891e187..57801a7222bf 100644 --- a/developer/format/formatting-file-overview.md +++ b/developer/format/formatting-file-overview.md @@ -11,12 +11,12 @@ caps.latest.revision: 13 --- # Formatting File Overview -The display format for the objects that are returned by commands (cmdlets, functions, and scripts) are defined by using formatting files (format.ps1xml files). Several of these files are provided by Windows PowerShell to define the display format for those objects returned by Windows PowerShell-provided commands, such as the [System.Diagnostics.Process](/dotnet/api/System.Diagnostics.Process) object returned by the `Get-Process` cmdlet. However, you can also create your own custom formatting files to overwrite the default display formats or you can write a custom formatting file to define the display of objects returned by your own commands. +The display format for the objects that are returned by commands (cmdlets, functions, and scripts) are defined by using formatting files (format.ps1xml files). Several of these files are provided by PowerShell to define the display format for those objects returned by PowerShell-provided commands, such as the [System.Diagnostics.Process](/dotnet/api/System.Diagnostics.Process) object returned by the `Get-Process` cmdlet. However, you can also create your own custom formatting files to overwrite the default display formats or you can write a custom formatting file to define the display of objects returned by your own commands. > [!IMPORTANT] > Formatting files do not determine the elements of an object that are returned to the pipeline. When an object is returned to the pipeline, all members of that object are available even if some are not displayed. -Windows PowerShell uses the data in these formatting files to determine what is displayed and how the displayed data is formatted. The displayed data can include the properties of an object or the value of a script. Scripts are used if you want to display some value that is not available directly from the properties of an object, such as adding the value of two properties of an object and then displaying the sum as a piece of data. Formatting of the displayed data is done by defining views for the objects that you want to display. You can define a single view for each object, you can define a single view for multiple objects, or you can define multiple views for the same object. There is no limit to the number of views that you can define. +PowerShell uses the data in these formatting files to determine what is displayed and how the displayed data is formatted. The displayed data can include the properties of an object or the value of a script. Scripts are used if you want to display some value that is not available directly from the properties of an object, such as adding the value of two properties of an object and then displaying the sum as a piece of data. Formatting of the displayed data is done by defining views for the objects that you want to display. You can define a single view for each object, you can define a single view for multiple objects, or you can define multiple views for the same object. There is no limit to the number of views that you can define. ## Common Features of Formatting Files @@ -39,7 +39,7 @@ List View Lists the properties of an object or a script value in a single column. Each row of the list displays an optional label or the property name followed by the value of the property or script. Creating a list view is very similar to piping an object to the `Format-List` cmdlet. For more information about this view, see [List View](./creating-a-list-view.md). Wide View -Lists a single property of an object or a script value in one or more columns. There is no label or header for this view. Creating a wide view is very similar to piping an object to the `Format-Wide` cmdlet. For more information about about this view, see [Wide View](./creating-a-wide-view.md). +Lists a single property of an object or a script value in one or more columns. There is no label or header for this view. Creating a wide view is very similar to piping an object to the `Format-Wide` cmdlet. For more information about this view, see [Wide View](./creating-a-wide-view.md). Custom View Displays a customizable view of object properties or script values that does not adhere to the rigid structure of table views, list views, or wide views. You can define a stand-alone custom view, or you can define a custom view that is used by another view, such as a table view or list view. Creating a custom view is very similar to piping an object to the `Format-Custom` cmdlet. For more information about this view, see [Custom View](./creating-custom-controls.md). @@ -161,4 +161,4 @@ The following example shows the XML tags used to define a table view that contai [Creating Custom Controls](./creating-custom-controls.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/frame-element-for-customitem-for-controls-for-configuration-format.md b/developer/format/frame-element-for-customitem-for-controls-for-configuration-format.md index 96bf5ddc25d8..bad74fade7af 100644 --- a/developer/format/frame-element-for-customitem-for-controls-for-configuration-format.md +++ b/developer/format/frame-element-for-customitem-for-controls-for-configuration-format.md @@ -74,4 +74,4 @@ You cannot specify the [FirstLineHanging](./firstlinehanging-element-for-frame-f [CustomItem Element for CustomEntry for Controls for Configuration](./customitem-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/frame-element-for-customitem-for-controls-for-view-format.md b/developer/format/frame-element-for-customitem-for-controls-for-view-format.md index 6696d721b2e1..23df18e1c1c4 100644 --- a/developer/format/frame-element-for-customitem-for-controls-for-view-format.md +++ b/developer/format/frame-element-for-customitem-for-controls-for-view-format.md @@ -76,4 +76,4 @@ You cannot specify the [FirstLineHanging](./firstlinehanging-element-for-frame-f [CustomItem Element for CustomEntry for Controls for View (Format)](./customitem-element-for-customentry-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/frame-element-for-customitem-for-customcontrol-for-view-format.md b/developer/format/frame-element-for-customitem-for-customcontrol-for-view-format.md index adee3453fa2d..8c42bdca3b69 100644 --- a/developer/format/frame-element-for-customitem-for-customcontrol-for-view-format.md +++ b/developer/format/frame-element-for-customitem-for-customcontrol-for-view-format.md @@ -19,7 +19,7 @@ View Element (Format) CustomControl Element (Format) CustomEntries Element for CustomControl for View (Format) CustomEntry Element for CustomEntries for View (Format) -CustomItem Element for CustomEntry for CutomControlView (Format) +CustomItem Element for CustomEntry for CustomControlView (Format) Frame Element for CustomItem for CustomControl for View (Format) ## Syntax @@ -74,4 +74,4 @@ You cannot specify the [FirstLineHanging](./firstlinehanging-element-for-frame-f [CustomItem Element for CustomEntry for View (Format)](./customitem-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/frame-element-for-customitem-for-groupby-format.md b/developer/format/frame-element-for-customitem-for-groupby-format.md index de74e6672a80..285b61dba0a7 100644 --- a/developer/format/frame-element-for-customitem-for-groupby-format.md +++ b/developer/format/frame-element-for-customitem-for-groupby-format.md @@ -75,4 +75,4 @@ You cannot specify the [FirstLineHanging](./firstlinehanging-element-for-frame-f [CustomItem Element for CustomEntry for GroupBy (Format)](./customitem-element-for-customentry-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/groupby-element-for-view-format.md b/developer/format/groupby-element-for-view-format.md index dbb3d23f0226..ba745b560aca 100644 --- a/developer/format/groupby-element-for-view-format.md +++ b/developer/format/groupby-element-for-view-format.md @@ -70,4 +70,4 @@ When defining how a new group of objects is displayed, you must specify the prop [View Element (Format)](./view-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/how-to-create-a-formatting-file-format-ps1xml.md b/developer/format/how-to-create-a-formatting-file-format-ps1xml.md index f8283ea021ea..09c6d22d852e 100644 --- a/developer/format/how-to-create-a-formatting-file-format-ps1xml.md +++ b/developer/format/how-to-create-a-formatting-file-format-ps1xml.md @@ -40,4 +40,4 @@ This topic describes how to create a formatting file (.format.ps1xml). ## See Also -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-configuration-format.md b/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-configuration-format.md index 323eef3ad078..1c19c797a401 100644 --- a/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-configuration-format.md +++ b/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-configuration-format.md @@ -65,4 +65,4 @@ You can specify one property name or a script for this condition but cannot spec [ExpressionBinding Element for CustomItem for Controls for Configuration (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-view-format.md b/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-view-format.md index 0c658524576f..07815e50ad51 100644 --- a/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-view-format.md +++ b/developer/format/itemselectioncondition-element-for-expressionbinding-for-controls-for-view-format.md @@ -67,4 +67,4 @@ You can specify one property name or a script for this condition but cannot spec [ExpressionBinding Element for CustomItem for Controls for View (Format)](./expressionbinding-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/itemselectioncondition-element-for-expressionbinding-for-customcontrol-format.md b/developer/format/itemselectioncondition-element-for-expressionbinding-for-customcontrol-format.md index b1e1672409b8..961168ad83a2 100644 --- a/developer/format/itemselectioncondition-element-for-expressionbinding-for-customcontrol-format.md +++ b/developer/format/itemselectioncondition-element-for-expressionbinding-for-customcontrol-format.md @@ -59,6 +59,6 @@ You can specify one property name or a script for this condition but cannot spec ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) [ExpressionBinding Element for CustomItem for CustomControl for View (Format)](./expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md) diff --git a/developer/format/itemselectioncondition-element-for-expressionbinding-for-groupby-format.md b/developer/format/itemselectioncondition-element-for-expressionbinding-for-groupby-format.md index a9eb9864e0de..910006daa7d9 100644 --- a/developer/format/itemselectioncondition-element-for-expressionbinding-for-groupby-format.md +++ b/developer/format/itemselectioncondition-element-for-expressionbinding-for-groupby-format.md @@ -60,6 +60,6 @@ You can specify one property name or a script for this condition but cannot spec ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) [ExpressionBinding Element for CustomItem for GroupBy (Format)](./expressionbinding-element-for-customitem-for-groupby-format.md) diff --git a/developer/format/itemselectioncondition-element-for-listitem-for-listcontrol-format.md b/developer/format/itemselectioncondition-element-for-listitem-for-listcontrol-format.md index f8343ca5ab82..75658c565139 100644 --- a/developer/format/itemselectioncondition-element-for-listitem-for-listcontrol-format.md +++ b/developer/format/itemselectioncondition-element-for-listitem-for-listcontrol-format.md @@ -19,8 +19,8 @@ View Element (Format) ListControl Element (Format) ListEntries Element for ListControl (Format) ListEntry Element for ListEntries for ListControl (Format) -ListItems Element for ListEntry for ListControl(Format) -ListItem Element Element for ListItemes for ListControl (Format) +ListItems Element for ListEntry for ListControl (Format) +ListItem Element for ListItems for ListControl (Format) ItemSelectionCondition Element for ListItem for ListControl (Format) ## Syntax @@ -65,4 +65,4 @@ You can specify one property name or a script for this condition but cannot spec [ScriptBlock Element for ItemSelectionCondition for ListControl (Format)](./scriptblock-element-for-itemselectioncondition-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/label-element-for-groupby-format.md b/developer/format/label-element-for-groupby-format.md index 195a7d3e46b7..852f6ca8da94 100644 --- a/developer/format/label-element-for-groupby-format.md +++ b/developer/format/label-element-for-groupby-format.md @@ -69,4 +69,4 @@ For an example of a complete formatting file that includes this element, see [Wi [GroupBy Element for View (Format)](./groupby-element-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/label-element-for-listitem-for-listcontrol-format.md b/developer/format/label-element-for-listitem-for-listcontrol-format.md index 2525a9c44248..1bc4a131f7ae 100644 --- a/developer/format/label-element-for-listitem-for-listcontrol-format.md +++ b/developer/format/label-element-for-listitem-for-listcontrol-format.md @@ -73,4 +73,4 @@ The following example shows how to add a label to a row. [ListItem Element (Format)](./listitem-element-for-listitems-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/label-element-for-tablecolumnheader-for-tablecontrol-format.md b/developer/format/label-element-for-tablecolumnheader-for-tablecontrol-format.md index f943bc6bb885..d05d26fea4de 100644 --- a/developer/format/label-element-for-tablecolumnheader-for-tablecontrol-format.md +++ b/developer/format/label-element-for-tablecolumnheader-for-tablecontrol-format.md @@ -19,7 +19,7 @@ View Element (Format) TableControl Element (Format) TableHeaders Element for TableControl (Format) TableColumnHeader Element for TableHeaders for TableControl (Format) -Label Element for TableColumnHeader for TablControl (Format) +Label Element for TableColumnHeader for TableControl (Format) ## Syntax @@ -74,4 +74,4 @@ This example shows a `TableColumnHeader` element whose label is "Column 1". [TableColumnHeader Element (Format)](./tablecolumnheader-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/leftindent-element-for-frame-for-controls-for-configuration-format.md b/developer/format/leftindent-element-for-frame-for-controls-for-configuration-format.md index 0a101e216832..ed90e808ce29 100644 --- a/developer/format/leftindent-element-for-frame-for-controls-for-configuration-format.md +++ b/developer/format/leftindent-element-for-frame-for-controls-for-configuration-format.md @@ -57,4 +57,4 @@ Specify the number of characters that you want to shift the data to the left. [Frame Element for CustomItem for Controls for Configuration (Format)](./frame-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/leftindent-element-for-frame-for-controls-for-view-format.md b/developer/format/leftindent-element-for-frame-for-controls-for-view-format.md index 1ba37c0ba558..e9320d99c9ff 100644 --- a/developer/format/leftindent-element-for-frame-for-controls-for-view-format.md +++ b/developer/format/leftindent-element-for-frame-for-controls-for-view-format.md @@ -59,4 +59,4 @@ Specify the number of characters that you want to shift the data to the left. [Frame Element for CustomItem for Controls for View (Format)](./frame-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/leftindent-element-for-frame-for-customcontrol-for-view-format.md b/developer/format/leftindent-element-for-frame-for-customcontrol-for-view-format.md index fa068f56a25a..36a9509e03b7 100644 --- a/developer/format/leftindent-element-for-frame-for-customcontrol-for-view-format.md +++ b/developer/format/leftindent-element-for-frame-for-customcontrol-for-view-format.md @@ -19,7 +19,7 @@ View Element (Format) CustomControl Element (Format) CustomEntries Element for CustomControl for View (Format) CustomEntry Element for CustomEntries for View (Format) -CustomItem Element for CustomEntry for CutomControlView (Format) +CustomItem Element for CustomEntry for CustomControlView (Format) Frame Element for CustomItem for CustomControl for View (Format) LeftIndent Element @@ -57,4 +57,4 @@ Specify the number of characters that you want to shift the data to the left. [Frame Element for CustomItem for CustomControl for View (Format)](./frame-element-for-customitem-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/leftindent-element-for-frame-for-groupby-format.md b/developer/format/leftindent-element-for-frame-for-groupby-format.md index 182d66c122f4..23c07b5bd2ac 100644 --- a/developer/format/leftindent-element-for-frame-for-groupby-format.md +++ b/developer/format/leftindent-element-for-frame-for-groupby-format.md @@ -58,4 +58,4 @@ Specify the number of characters that you want to shift the data to the left. [Frame Element for CustomItem for GroupBy (Format)](./frame-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/list-view-basic.md b/developer/format/list-view-basic.md index 400b489b83ff..7df903a3c9a7 100644 --- a/developer/format/list-view-basic.md +++ b/developer/format/list-view-basic.md @@ -11,7 +11,6 @@ caps.latest.revision: 7 --- # List View (Basic) -This example shows how to implement a basic list view that displays the [System.Serviceprocess.Servicecontroller?Displayproperty=Fullname](/dotnet/api/System.ServiceProcess.ServiceController) objects returned by the [Get-Service](/powershell/module/microsoft.powershell.management/get-service) cmdlet. For more information about the components of a list view, see [Creating a List View](./creating-a-list-view.md). This example shows how to implement a basic list view that displays the [System.Serviceprocess.Servicecontroller?Displayproperty=Fullname](/dotnet/api/System.ServiceProcess.ServiceController) objects returned by the [Get-Service](/powershell/module/microsoft.powershell.management/get-service) cmdlet. For more information about the components of a list view, see [Creating a List View](./creating-a-list-view.md). ### To load this formatting file @@ -126,4 +125,4 @@ ServiceType : Win32OwnProcess [Examples of Formatting Files](./examples-of-formatting-files.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/list-view-groupby.md b/developer/format/list-view-groupby.md index c2167b6210dd..84686bb64768 100644 --- a/developer/format/list-view-groupby.md +++ b/developer/format/list-view-groupby.md @@ -11,7 +11,6 @@ caps.latest.revision: 6 --- # List View (GroupBy) -This example shows how to implement a list view that separates the rows of the list into groups. This list view displays the properties of the [System.Serviceprocess.Servicecontroller?Displayproperty=Fullname](/dotnet/api/System.ServiceProcess.ServiceController) objects returned by the [Get-Service](/powershell/module/microsoft.powershell.management/get-service) cmdlet. For more information about the components of a list view, see [Creating a List View](./creating-a-list-view.md). This example shows how to implement a list view that separates the rows of the list into groups. This list view displays the properties of the [System.Serviceprocess.Servicecontroller?Displayproperty=Fullname](/dotnet/api/System.ServiceProcess.ServiceController) objects returned by the [Get-Service](/powershell/module/Microsoft.PowerShell.Management/Get-Service) cmdlet. For more information about the components of a list view, see [Creating a List View](./creating-a-list-view.md). ### To load this formatting file @@ -135,4 +134,4 @@ ServiceType : Win32OwnProcess [Examples of Formatting Files](./examples-of-formatting-files.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/list-view-labels.md b/developer/format/list-view-labels.md index a7eee4df2b1b..a8f9bfbfce87 100644 --- a/developer/format/list-view-labels.md +++ b/developer/format/list-view-labels.md @@ -11,7 +11,6 @@ caps.latest.revision: 6 --- # List View (Labels) -This example shows how to implement a list view that displays a custom label for each row of the list. This list view displays the properties of the [System.Serviceprocess.Servicecontroller?Displayproperty=Fullname](/dotnet/api/System.ServiceProcess.ServiceController) object that is returned by the [Get-Service](/powershell/module/microsoft.powershell.management/get-service) cmdlet. For more information about the components of a list view, see [Creating a List View](./creating-a-list-view.md). This example shows how to implement a list view that displays a custom label for each row of the list. This list view displays the properties of the [System.Serviceprocess.Servicecontroller?Displayproperty=Fullname](/dotnet/api/System.ServiceProcess.ServiceController) object that is returned by the [Get-Service](/powershell/module/Microsoft.PowerShell.Management/Get-Service) cmdlet. For more information about the components of a list view, see [Creating a List View](./creating-a-list-view.md). ### To load this formatting file @@ -135,4 +134,4 @@ SERVICETYPE property : Win32OwnProcess [Examples of Formatting Files](./examples-of-formatting-files.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/listcontrol-element-format.md b/developer/format/listcontrol-element-format.md index eb3bb25c5304..e2f39a7fe1cc 100644 --- a/developer/format/listcontrol-element-format.md +++ b/developer/format/listcontrol-element-format.md @@ -77,4 +77,4 @@ This example shows a list view for the [System.Serviceprocess.Servicecontroller] [Creating a List View](./creating-a-list-view.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/listentries-element-for-listcontrol-format.md b/developer/format/listentries-element-for-listcontrol-format.md index fe507c618f0f..8a3c74a4831d 100644 --- a/developer/format/listentries-element-for-listcontrol-format.md +++ b/developer/format/listentries-element-for-listcontrol-format.md @@ -79,4 +79,4 @@ This example shows the XML elements that define the list view for the [System.Se [List View](./creating-a-list-view.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/listentry-element-for-listcontrol-format.md b/developer/format/listentry-element-for-listcontrol-format.md index 250e857036e0..fd9112e6a6d7 100644 --- a/developer/format/listentry-element-for-listcontrol-format.md +++ b/developer/format/listentry-element-for-listcontrol-format.md @@ -84,4 +84,4 @@ This example shows the XML elements that define the list view for the [System.Se [ListItems Element (Format)](./listitems-element-for-listentry-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/listitem-element-for-listitems-for-listcontrol-format.md b/developer/format/listitem-element-for-listitems-for-listcontrol-format.md index 0e9abef09a65..8c2dc1d74945 100644 --- a/developer/format/listitem-element-for-listitems-for-listcontrol-format.md +++ b/developer/format/listitem-element-for-listitems-for-listcontrol-format.md @@ -98,4 +98,4 @@ This example shows the XML elements that define three rows of the list view. The [Creating a List View](./creating-a-list-view.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/listitems-element-for-listentry-for-listcontrol-format.md b/developer/format/listitems-element-for-listentry-for-listcontrol-format.md index d754a42a313d..845196f6ca4f 100644 --- a/developer/format/listitems-element-for-listentry-for-listcontrol-format.md +++ b/developer/format/listitems-element-for-listentry-for-listcontrol-format.md @@ -81,4 +81,4 @@ This example shows the XML elements that define three rows of the list view. [Creating a List View](./creating-a-list-view.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/loading-and-exporting-formatting-data.md b/developer/format/loading-and-exporting-formatting-data.md index 049582387142..16c882c38dd7 100644 --- a/developer/format/loading-and-exporting-formatting-data.md +++ b/developer/format/loading-and-exporting-formatting-data.md @@ -17,17 +17,14 @@ Once you have created your formatting file, you need to update the format data o Formatting files can be loaded into the current session using the following methods: -- You can import the formatting file into the current session from the command line. Use the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet as described in the following procedure. - You can import the formatting file into the current session from the command line. Use the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet as described in the following procedure. -- You can create a module manifest that references your formatting file. Modules allow you to package you formatting files for distribution. Use the [New-ModuleManifest](/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest) cmdlet to create the manifest, and the [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) cmdlet to load the module into the current session. For more information about modules, see [Writing a Windows PowerShell Module](../module/writing-a-windows-powershell-module.md). - You can create a module manifest that references your formatting file. Modules allow you to package you formatting files for distribution. Use the [New-ModuleManifest](/powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest) cmdlet to create the manifest, and the [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) cmdlet to load the module into the current session. For more information about modules, see [Writing a Windows PowerShell Module](../module/writing-a-windows-powershell-module.md). -- You can create a snap-in that references your formatting file. Use the [System.Management.Automation.Pssnapin.Formats](/dotnet/api/System.Management.Automation.PSSnapIn.Formats) to reference your formatting files. It is strongly encouraged to use modules to package cmdlets, and any associated formatting and types files for distribution. For more information about modules, see [Writing a Windows PowerShell Module](../module/writing-a-windows-powershell-module.md). +- You can create a snap-in that references your formatting file. Use the [System.Management.Automation.PSSnapIn.Formats](/dotnet/api/System.Management.Automation.PSSnapIn.Formats) to reference your formatting files. It is strongly encouraged to use modules to package cmdlets, and any associated formatting and types files for distribution. For more information about modules, see [Writing a Windows PowerShell Module](../module/writing-a-windows-powershell-module.md). -- If you are invoking commands programmatically, you can add a formatting file entry to the initial session state of the runspace where the commands are run. For more information about about .NET type used to add the formatting file, see the [System.Management.Automation.Runspaces.Sessionstateformatentry?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.Runspaces.SessionStateFormatEntry) class. +- If you are invoking commands programmatically, you can add a formatting file entry to the initial session state of the runspace where the commands are run. For more information about .NET type used to add the formatting file, see the [System.Management.Automation.Runspaces.Sessionstateformatentry?Displayproperty=Fullname](/dotnet/api/System.Management.Automation.Runspaces.SessionStateFormatEntry) class. -When a formatting file is loaded, it is added to an internal list that Windows PowerShell uses to determine which view to use when displaying objects at the command line. You can prepend your formatting file to the beginning of the list, or you can append it to the end of the list. Knowing where your formatting file is added to this list is important if you are loading formatting file that defines a view for an object that has an existing view defined, such as when you want to change how an object that is returned by a Windows PowerShell core cmdlet is displayed. If you are loading a formatting file that defines the only view for an object, you can use any of the methods described previously. If you are loading a formatting file that defines another view for an object, you must use the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet and prepend your file to the beginning of the list. When a formatting file is loaded, it is added to an internal list that Windows PowerShell uses to determine which view to use when displaying objects at the command line. You can prepend your formatting file to the beginning of the list, or you can append it to the end of the list. Knowing where your formatting file is added to this list is important if you are loading formatting file that defines a view for an object that has an existing view defined, such as when you want to change how an object that is returned by a Windows PowerShell core cmdlet is displayed. If you are loading a formatting file that defines the only view for an object, you can use any of the methods described previously. If you are loading a formatting file that defines another view for an object, you must use the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet and prepend your file to the beginning of the list. ## Storing Your Formatting File @@ -38,7 +35,6 @@ There is no requirement for where your formatting files are stored on disk. Howe 1. Store your formatting file to disk. -2. Run the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet using one of the following commands. 2. Run the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet using one of the following commands. To add your formatting file to the front of the list use this command. Use this command if you are changing how an object is displayed. @@ -54,7 +50,6 @@ There is no requirement for where your formatting files are stored on disk. Howe ``` Once you have added a file using the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet, you cannot remove the file from the list while the session is open. You must close the session to remove the formatting file from the list. - Once you have added a file using the [Update-FormatData](/powershell/module/Microsoft.PowerShell.Utility/Update-FormatData) cmdlet, you cannot remove the file from the list while the session is open. You must close the session to remove the formatting file from the list. ## Exporting format data diff --git a/developer/format/name-element-for-control-for-controls-for-configuration-format.md b/developer/format/name-element-for-control-for-controls-for-configuration-format.md index 302df1fa5ede..6e0f5a94921a 100644 --- a/developer/format/name-element-for-control-for-controls-for-configuration-format.md +++ b/developer/format/name-element-for-control-for-controls-for-configuration-format.md @@ -67,4 +67,4 @@ The name specified here can be used in the following elements to reference this [GroupBy Element for View (Format)](./groupby-element-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/name-element-for-control-for-controls-for-view-format.md b/developer/format/name-element-for-control-for-controls-for-view-format.md index 60e3f14a768b..133c1751b139 100644 --- a/developer/format/name-element-for-control-for-controls-for-view-format.md +++ b/developer/format/name-element-for-control-for-controls-for-view-format.md @@ -64,4 +64,4 @@ The name specified here can be used in the following elements to reference this [Control Element for Controls for View (Format)](./control-element-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/name-element-for-selectionset-format.md b/developer/format/name-element-for-selectionset-format.md index 2f21b449f168..93d8e0e8805a 100644 --- a/developer/format/name-element-for-selectionset-format.md +++ b/developer/format/name-element-for-selectionset-format.md @@ -74,4 +74,4 @@ This example shows a `SelectionSet` element that defines four .NET types. The na [SelectionSet Element (Format)](./selectionset-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/name-element-for-view-format.md b/developer/format/name-element-for-view-format.md index b6f9f93cc01a..85d7b817f27b 100644 --- a/developer/format/name-element-for-view-format.md +++ b/developer/format/name-element-for-view-format.md @@ -77,4 +77,4 @@ The following example shows a `View` element that defines a table view for the [ [View Element (Format)](./view-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/newline-element-for-customitem-for-controls-for-configuration-format.md b/developer/format/newline-element-for-customitem-for-controls-for-configuration-format.md index b2817432540e..85001db5519f 100644 --- a/developer/format/newline-element-for-customitem-for-controls-for-configuration-format.md +++ b/developer/format/newline-element-for-customitem-for-controls-for-configuration-format.md @@ -52,4 +52,4 @@ None. [CustomItem Element for CustomEntry for Controls for Configuration](./customitem-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/newline-element-for-customitem-for-controls-for-view-format.md b/developer/format/newline-element-for-customitem-for-controls-for-view-format.md index 7dd390f928c3..eb41f1dfb3ab 100644 --- a/developer/format/newline-element-for-customitem-for-controls-for-view-format.md +++ b/developer/format/newline-element-for-customitem-for-controls-for-view-format.md @@ -54,4 +54,4 @@ None. [CustomItem Element for CustomEntry for Controls for View (Format)](./customitem-element-for-customentry-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/newline-element-for-customitem-for-customcontrol-for-view-format.md b/developer/format/newline-element-for-customitem-for-customcontrol-for-view-format.md index 6a3ad38b96af..0608df13ec9e 100644 --- a/developer/format/newline-element-for-customitem-for-customcontrol-for-view-format.md +++ b/developer/format/newline-element-for-customitem-for-customcontrol-for-view-format.md @@ -52,4 +52,4 @@ None. [CustomItem Element for CustomEntry for View (Format)](./customitem-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/newline-element-for-customitem-for-groupby-format.md b/developer/format/newline-element-for-customitem-for-groupby-format.md index 64abea0f4ad7..3de50d62bcd1 100644 --- a/developer/format/newline-element-for-customitem-for-groupby-format.md +++ b/developer/format/newline-element-for-customitem-for-groupby-format.md @@ -53,4 +53,4 @@ None. [CustomItem Element for CustomEntry for GroupBy (Format)](./customitem-element-for-customentry-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/windows-powershell-formatting-files.md b/developer/format/powershell-formatting-files.md similarity index 75% rename from developer/format/windows-powershell-formatting-files.md rename to developer/format/powershell-formatting-files.md index 4f9aa7254b02..49053b293c09 100644 --- a/developer/format/windows-powershell-formatting-files.md +++ b/developer/format/powershell-formatting-files.md @@ -24,15 +24,12 @@ Defines the display of file system objects such as file and directory objects. Help.Format.ps1xml Defines the different views used by the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet, such as the detailed, full, parameters, and example views. -Defines the different views used by the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet, such as the detailed, full, parameters, and example views. PowerShellCore.Format.ps1xml Defines the display of the objects generated by Windows PowerShell core cmdlets, such as the objects returned by the [Get-Member](/powershell/module/Microsoft.PowerShell.Utility/Get-Member) and [Get-History](/powershell/module/Microsoft.PowerShell.Core/Get-History) cmdlets. -Defines the display of the objects generated by Windows PowerShell core cmdlets, such as the objects returned by the [Get-Member](/powershell/module/Microsoft.PowerShell.Utility/Get-Member) and [Get-History](/powershell/module/Microsoft.PowerShell.Core/Get-History) cmdlets. PowerShellTrace.Format.ps1xml Defines the display of trace objects such as those generated by the [Trace-Command](/powershell/module/Microsoft.PowerShell.Utility/Trace-Command) cmdlet. -Defines the display of trace objects such as those generated by the [Trace-Command](/powershell/module/Microsoft.PowerShell.Utility/Trace-Command) cmdlet. Registry.Format.ps1xml Defines the display of registry objects such as key and entry objects. diff --git a/developer/format/propertyname-element-for-expressionbinding-for-controls-for-configuration-format.md b/developer/format/propertyname-element-for-expressionbinding-for-controls-for-configuration-format.md index 90cc1068d82e..779549379e4c 100644 --- a/developer/format/propertyname-element-for-expressionbinding-for-controls-for-configuration-format.md +++ b/developer/format/propertyname-element-for-expressionbinding-for-controls-for-configuration-format.md @@ -57,4 +57,4 @@ Specify the name of the .NET property whose value is displayed by the control. [ExpressionBinding Element for CustomItem for Controls for Configuration (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-expressionbinding-for-controls-for-view-format.md b/developer/format/propertyname-element-for-expressionbinding-for-controls-for-view-format.md index b3f4e3c5ed38..48453f6bddd1 100644 --- a/developer/format/propertyname-element-for-expressionbinding-for-controls-for-view-format.md +++ b/developer/format/propertyname-element-for-expressionbinding-for-controls-for-view-format.md @@ -59,4 +59,4 @@ Specify the name of the .NET property whose value is displayed by the control. [ExpressionBinding Element for CustomItem for Controls for View (Format)](./expressionbinding-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-expressionbinding-for-customcontrol-for-view-format.md b/developer/format/propertyname-element-for-expressionbinding-for-customcontrol-for-view-format.md index 03a69ea33c6f..e48ffb5c495e 100644 --- a/developer/format/propertyname-element-for-expressionbinding-for-customcontrol-for-view-format.md +++ b/developer/format/propertyname-element-for-expressionbinding-for-customcontrol-for-view-format.md @@ -57,4 +57,4 @@ Specify the name of the .NET property whose value is displayed by the control. [ExpressionBinding Element for CustomItem for CustomControl for View (Format)](./expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-expressionbinding-for-groupby-format.md b/developer/format/propertyname-element-for-expressionbinding-for-groupby-format.md index 4a69bacbcd61..3b315a1f52eb 100644 --- a/developer/format/propertyname-element-for-expressionbinding-for-groupby-format.md +++ b/developer/format/propertyname-element-for-expressionbinding-for-groupby-format.md @@ -58,4 +58,4 @@ Specify the name of the .NET property whose value is displayed by the control. [ExpressionBinding Element for CustomItem for GroupBy (Format)](./expressionbinding-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-groupby-format.md b/developer/format/propertyname-element-for-groupby-format.md index 260a9733c206..76b826b982fe 100644 --- a/developer/format/propertyname-element-for-groupby-format.md +++ b/developer/format/propertyname-element-for-groupby-format.md @@ -73,4 +73,4 @@ For an example of a complete formatting file that includes this element, see [Wi [ScriptBlock Element for GroupBy (Format)](./scriptblock-element-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-itemseclectioncondition-for-controls-for-configuration-format.md b/developer/format/propertyname-element-for-itemseclectioncondition-for-controls-for-configuration-format.md index e98d2eb880aa..018c9a9f8fe4 100644 --- a/developer/format/propertyname-element-for-itemseclectioncondition-for-controls-for-configuration-format.md +++ b/developer/format/propertyname-element-for-itemseclectioncondition-for-controls-for-configuration-format.md @@ -62,4 +62,4 @@ If this element is used, you cannot specify the [ScriptBlock](./scriptblock-elem [ItemSelectionCondition Element for ExpressionBinding for Controls for Configuration (Format)](./itemselectioncondition-element-for-expressionbinding-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-itemselectioncondition-for-controls-for-view-format.md b/developer/format/propertyname-element-for-itemselectioncondition-for-controls-for-view-format.md index b5711f261cd7..c930b1981122 100644 --- a/developer/format/propertyname-element-for-itemselectioncondition-for-controls-for-view-format.md +++ b/developer/format/propertyname-element-for-itemselectioncondition-for-controls-for-view-format.md @@ -64,4 +64,4 @@ If this element is used, you cannot specify the [ScriptBlock](./scriptblock-elem [ItemSelectionCondition Element of ExpressionBinding for Controls for View (Format)](./itemselectioncondition-element-for-expressionbinding-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-itemselectioncondition-for-customcontrol-for-view-format.md b/developer/format/propertyname-element-for-itemselectioncondition-for-customcontrol-for-view-format.md index 549ee90bf80b..7fac435b3798 100644 --- a/developer/format/propertyname-element-for-itemselectioncondition-for-customcontrol-for-view-format.md +++ b/developer/format/propertyname-element-for-itemselectioncondition-for-customcontrol-for-view-format.md @@ -62,4 +62,4 @@ If this element is used, you cannot specify the [ScriptBlock](./scriptblock-elem [ItemSelectionCondition Element for Expression Binding for CustomControl for View (Format)](./itemselectioncondition-element-for-expressionbinding-for-customcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-itemselectioncondition-for-groupby-format.md b/developer/format/propertyname-element-for-itemselectioncondition-for-groupby-format.md index a6c837ac3a0a..5021f95db768 100644 --- a/developer/format/propertyname-element-for-itemselectioncondition-for-groupby-format.md +++ b/developer/format/propertyname-element-for-itemselectioncondition-for-groupby-format.md @@ -63,4 +63,4 @@ If this element is used, you cannot specify the [ScriptBlock](./scriptblock-elem [ItemSelectionCondition Element for ExpressionBinding for GroupBy (Format)](./itemselectioncondition-element-for-expressionbinding-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-itemselectioncondition-for-listcontrol-format.md b/developer/format/propertyname-element-for-itemselectioncondition-for-listcontrol-format.md index 4d024688dfa7..93ced5da4f02 100644 --- a/developer/format/propertyname-element-for-itemselectioncondition-for-listcontrol-format.md +++ b/developer/format/propertyname-element-for-itemselectioncondition-for-listcontrol-format.md @@ -62,4 +62,4 @@ If this element is used, you cannot specify the [ScriptBlock](./scriptblock-elem [ItemSelectionCondition Element for ListItem for ListControl (Format)](./itemselectioncondition-element-for-listitem-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-listitem-for-listcontrol-format.md b/developer/format/propertyname-element-for-listitem-for-listcontrol-format.md index 60310919e099..ca12646d7930 100644 --- a/developer/format/propertyname-element-for-listitem-for-listcontrol-format.md +++ b/developer/format/propertyname-element-for-listitem-for-listcontrol-format.md @@ -77,4 +77,4 @@ ListItem> [ListItem Element for ListControl(Format)](./listitem-element-for-listitems-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-controls-for-configuration-format.md b/developer/format/propertyname-element-for-selectioncondition-for-controls-for-configuration-format.md index c9a3baf316e3..5370b7e0e15d 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-controls-for-configuration-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-controls-for-configuration-format.md @@ -59,4 +59,4 @@ The selection condition must specify a least one property name or a script, but [SelectionCondition Element for EntrySelectedBy for Controls for Configuration (Format)](./selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-controls-for-view-format.md b/developer/format/propertyname-element-for-selectioncondition-for-controls-for-view-format.md index f658da7c818f..93b3e0bb9108 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-controls-for-view-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-controls-for-view-format.md @@ -61,4 +61,4 @@ The selection condition must specify a least one property name or a script, but [SelectionCondition Element for EntrySelectedBy for Controls for View (Format)](./selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-customcontrol-for-view-format.md b/developer/format/propertyname-element-for-selectioncondition-for-customcontrol-for-view-format.md index a2827e8b1624..44d89eab96d8 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-customcontrol-for-view-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-customcontrol-for-view-format.md @@ -60,4 +60,4 @@ The selection condition must specify a least one property name or a script, but [SelectionCondition Element for EntrySelectedBy for CustomControl for View (Format)](./selectioncondition-element-for-entryselectedby-for-customcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md index a88ca2eda678..633994a717e0 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md @@ -61,4 +61,4 @@ The selection condition must specify at least one property name or a script to e [SelectionCondition Element for EntrySelectedBy for EnumerableExpansion (Format)](./selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md index 3cc62931c24d..06dfa72be79d 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md @@ -21,7 +21,7 @@ ListEntries Element (Format) ListEntry Element (Format) EntrySelectedBy Element for ListEntry (Format) SelectionCondition Element for EntrySelectedBy for ListEntry (Format) -PropertyName Element for SelectionCondition for EmtrySelectedBy for ListEntry (Format) +PropertyName Element for SelectionCondition for EntrySelectedBy for ListEntry (Format) ## Syntax @@ -67,4 +67,4 @@ For more information about other components of a list view, see [Creating List V [ScriptBlock Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./scriptblock-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-tablerowentry-format.md b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-tablerowentry-format.md index f907ade364a1..503a6f207d6e 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-tablerowentry-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-tablerowentry-format.md @@ -67,4 +67,4 @@ For more information about the components of a table view, see [Creating a Table [SelectionCondition Element for EntrySelectedBy for TableRowEntry (Format)](./selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md index a3ca96317fe7..3353e775db69 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md @@ -71,4 +71,4 @@ For more information about other components of a wide view, see [Wide View](./cr [SelectionCondition Element for EntrySelectedBy for WideEntry (Format)](./selectioncondition-element-for-entryselectedby-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-selectioncondition-for-groupby-format.md b/developer/format/propertyname-element-for-selectioncondition-for-groupby-format.md index d31bf02d59b6..b4766f459f97 100644 --- a/developer/format/propertyname-element-for-selectioncondition-for-groupby-format.md +++ b/developer/format/propertyname-element-for-selectioncondition-for-groupby-format.md @@ -60,4 +60,4 @@ The selection condition must specify a least one property name or a script, but [SelectionCondition Element for EntrySelectedBy for GroupBy (Format)](./selectioncondition-element-for-entryselectedby-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-tablecolumnitem-for-tablecontrol-format.md b/developer/format/propertyname-element-for-tablecolumnitem-for-tablecontrol-format.md index bf1191f427f1..cca83a45a223 100644 --- a/developer/format/propertyname-element-for-tablecolumnitem-for-tablecontrol-format.md +++ b/developer/format/propertyname-element-for-tablecolumnitem-for-tablecontrol-format.md @@ -73,4 +73,4 @@ This example shows a `TableColumnItem` element that specifies the `Status` prope [TableColumnItem Element (Format)](./tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/propertyname-element-for-wideitem-for-widecontrol-format.md b/developer/format/propertyname-element-for-wideitem-for-widecontrol-format.md index 6d8b22d12719..2330f1263407 100644 --- a/developer/format/propertyname-element-for-wideitem-for-widecontrol-format.md +++ b/developer/format/propertyname-element-for-wideitem-for-widecontrol-format.md @@ -83,4 +83,4 @@ View> [Creating a Wide View](./creating-a-wide-view.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/rightindent-element-for-frame-for-controls-for-configuration-format.md b/developer/format/rightindent-element-for-frame-for-controls-for-configuration-format.md index e5419dfbb682..c073a607d8b3 100644 --- a/developer/format/rightindent-element-for-frame-for-controls-for-configuration-format.md +++ b/developer/format/rightindent-element-for-frame-for-controls-for-configuration-format.md @@ -57,4 +57,4 @@ Specify the number of characters that you want to shift the data to the right. [Frame Element for CustomItem for Controls for Configuration (Format)](./frame-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/rightindent-element-for-frame-for-controls-for-view-format.md b/developer/format/rightindent-element-for-frame-for-controls-for-view-format.md index 08712a3c2361..d07901ad8940 100644 --- a/developer/format/rightindent-element-for-frame-for-controls-for-view-format.md +++ b/developer/format/rightindent-element-for-frame-for-controls-for-view-format.md @@ -59,4 +59,4 @@ Specify the number of characters that you want to shift the data to the right. [Frame Element for CustomItem for Controls for View (Format)](./frame-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/rightindent-element-for-frame-for-customcontrol-for-view-format.md b/developer/format/rightindent-element-for-frame-for-customcontrol-for-view-format.md index b37c26921427..13c1f1326def 100644 --- a/developer/format/rightindent-element-for-frame-for-customcontrol-for-view-format.md +++ b/developer/format/rightindent-element-for-frame-for-customcontrol-for-view-format.md @@ -19,7 +19,7 @@ View Element (Format) CustomControl Element (Format) CustomEntries Element for CustomControl for View (Format) CustomEntry Element for CustomEntries for View (Format) -CustomItem Element for CustomEntry for CutomControlView (Format) +CustomItem Element for CustomEntry for CustomControlView (Format) Frame Element for CustomItem for CustomControl for View (Format) RightIndent Element @@ -57,4 +57,4 @@ Specify the number of characters that you want to shift the data to the right. [Frame Element for CustomItem for CustomControl for View (Format)](./frame-element-for-customitem-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/rightindent-element-for-frame-for-groupby-format.md b/developer/format/rightindent-element-for-frame-for-groupby-format.md index 936d9e40f89b..71155c85c815 100644 --- a/developer/format/rightindent-element-for-frame-for-groupby-format.md +++ b/developer/format/rightindent-element-for-frame-for-groupby-format.md @@ -58,4 +58,4 @@ Specify the number of characters that you want to shift the data to the right. [Frame Element for CustomItem for GroupBy (Format)](./frame-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-configuration-format.md b/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-configuration-format.md index 83502969327c..54f474056c49 100644 --- a/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-configuration-format.md +++ b/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-configuration-format.md @@ -57,4 +57,4 @@ Specify the script whose value is displayed by the control. [ExpressionBinding Element for CustomItem for Controls for Configuration (Format)](./expressionbinding-element-for-customitem-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-view-format.md b/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-view-format.md index 6fe5e501ebc2..9472a9a416cb 100644 --- a/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-view-format.md +++ b/developer/format/scriptblock-element-for-expressionbinding-for-controls-for-view-format.md @@ -59,4 +59,4 @@ Specify the script whose value is displayed by the control. [ExpressionBinding Element for CustomItem for Controls for View (Format)](./expressionbinding-element-for-customitem-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-expressionbinding-for-customcontrol-for-view-format.md b/developer/format/scriptblock-element-for-expressionbinding-for-customcontrol-for-view-format.md index 28be70f9a395..f7afad1c9077 100644 --- a/developer/format/scriptblock-element-for-expressionbinding-for-customcontrol-for-view-format.md +++ b/developer/format/scriptblock-element-for-expressionbinding-for-customcontrol-for-view-format.md @@ -57,4 +57,4 @@ Specify the script whose value is displayed by the control. [ExpressionBinding Element for CustomItem for CustomControl for View (Format)](./expressionbinding-element-for-customitem-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-expressionbinding-for-groupby-format.md b/developer/format/scriptblock-element-for-expressionbinding-for-groupby-format.md index 5e513f1acb1c..d7d69c4f470d 100644 --- a/developer/format/scriptblock-element-for-expressionbinding-for-groupby-format.md +++ b/developer/format/scriptblock-element-for-expressionbinding-for-groupby-format.md @@ -58,4 +58,4 @@ Specify the script whose value is displayed by the control. [ExpressionBinding Element for CustomItem for GroupBy (Format)](./expressionbinding-element-for-customitem-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-groupby-format.md b/developer/format/scriptblock-element-for-groupby-format.md index 9c9264015a26..88633763a525 100644 --- a/developer/format/scriptblock-element-for-groupby-format.md +++ b/developer/format/scriptblock-element-for-groupby-format.md @@ -22,7 +22,7 @@ ScriptBlock Element for GroupBy (Format) ## Syntax ```xml -ScriptToEvaluate +ScriptToEvaluate ``` ## Attributes and Elements @@ -49,14 +49,14 @@ Specify the script that is evaluated. ## Remarks -Windows PowerShell starts a new group whenever the value of this script changes. +PowerShell starts a new group whenever the value of this script changes. -When this element is specified, you cannot specify the [PropertyName](http://msdn.microsoft.com/en-us/396dede0-039a-4a87-a5ef-3ecabb729676) element to start a new group. +When this element is specified, you cannot specify the [PropertyName](propertyname-element-for-groupby-format.md) element to start a new group. ## See Also -[PropertyName Element for GroupBy (Format)](./propertyname-element-for-groupby-format.md) +[PropertyName Element for GroupBy (Format)](propertyname-element-for-groupby-format.md) -[GroupBy Element for View (Format)](./groupby-element-for-view-format.md) +[GroupBy Element for View (Format)](groupby-element-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-itemseclectioncondition-for-controls-for-configuration-format.md b/developer/format/scriptblock-element-for-itemseclectioncondition-for-controls-for-configuration-format.md index 7b29ce00419f..e15cb014135b 100644 --- a/developer/format/scriptblock-element-for-itemseclectioncondition-for-controls-for-configuration-format.md +++ b/developer/format/scriptblock-element-for-itemseclectioncondition-for-controls-for-configuration-format.md @@ -62,4 +62,4 @@ If this element is used, you cannot specify the [PropertyName](./propertyname-el [ItemSelectionCondition Element for ExpressionBinding for Controls for Configuration (Format)](./itemselectioncondition-element-for-expressionbinding-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-itemselectioncondition-for-controls-for-view-format.md b/developer/format/scriptblock-element-for-itemselectioncondition-for-controls-for-view-format.md index 65ddd28f9b9d..2683cd5d5e2a 100644 --- a/developer/format/scriptblock-element-for-itemselectioncondition-for-controls-for-view-format.md +++ b/developer/format/scriptblock-element-for-itemselectioncondition-for-controls-for-view-format.md @@ -64,4 +64,4 @@ If this element is used, you cannot specify the [PropertyName](./propertyname-el [ItemSelectionCondition Element of ExpressionBinding for Controls for View (Format)](./itemselectioncondition-element-for-expressionbinding-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-itemselectioncondition-for-customcontrol-for-view-format.md b/developer/format/scriptblock-element-for-itemselectioncondition-for-customcontrol-for-view-format.md index 97c447f407fb..af8fc1b38794 100644 --- a/developer/format/scriptblock-element-for-itemselectioncondition-for-customcontrol-for-view-format.md +++ b/developer/format/scriptblock-element-for-itemselectioncondition-for-customcontrol-for-view-format.md @@ -62,4 +62,4 @@ If this element is used, you cannot specify the [PropertyName](./propertyname-el [ItemSelectionCondition Element for Expression Binding for CustomControl for View (Format)](./itemselectioncondition-element-for-expressionbinding-for-customcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-itemselectioncondition-for-groupby-format.md b/developer/format/scriptblock-element-for-itemselectioncondition-for-groupby-format.md index 08164b2ca150..98e531bdf8ee 100644 --- a/developer/format/scriptblock-element-for-itemselectioncondition-for-groupby-format.md +++ b/developer/format/scriptblock-element-for-itemselectioncondition-for-groupby-format.md @@ -63,4 +63,4 @@ If this element is used, you cannot specify the [PropertyName](./propertyname-el [PropertyName Element for ItemSelectionCondition for GroupBy (Format)](./propertyname-element-for-itemselectioncondition-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-itemselectioncondition-for-listcontrol-format.md b/developer/format/scriptblock-element-for-itemselectioncondition-for-listcontrol-format.md index 3bdae6e6ab79..378d09597554 100644 --- a/developer/format/scriptblock-element-for-itemselectioncondition-for-listcontrol-format.md +++ b/developer/format/scriptblock-element-for-itemselectioncondition-for-listcontrol-format.md @@ -58,4 +58,4 @@ If this element is used, you cannot specify the `PropertyName` element when defi ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-listitem-for-listcontrol-format.md b/developer/format/scriptblock-element-for-listitem-for-listcontrol-format.md index 908113879d9c..f84743bc859c 100644 --- a/developer/format/scriptblock-element-for-listitem-for-listcontrol-format.md +++ b/developer/format/scriptblock-element-for-listitem-for-listcontrol-format.md @@ -76,4 +76,4 @@ The following example shows how to specify the property whose value is displayed [ListItem Element for ListItems for ListControl (Format)](./listitem-element-for-listitems-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-configuration-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-configuration-format.md index a50e14c4713b..b1c6ddbfdbb1 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-configuration-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-configuration-format.md @@ -59,4 +59,4 @@ The selection condition must specify a least one script or property name to eval [SelectionCondition Element for EntrySelectedBy for Controls for Configuration (Format)](./selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-view-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-view-format.md index 1207bff543ac..406089868d04 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-view-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-controls-for-view-format.md @@ -61,4 +61,4 @@ The selection condition must specify a least one script or property name to eval [SelectionCondition Element for EntrySelectedBy for Controls for View (Format)](./selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-customcontrol-for-view-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-customcontrol-for-view-format.md index c7cc1b9d3888..3947372bcaf6 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-customcontrol-for-view-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-customcontrol-for-view-format.md @@ -59,4 +59,4 @@ The selection condition must specify a least one script or property name to eval [SelectionCondition Element for EntrySelectedBy for CustomControl for View (Format)](./selectioncondition-element-for-entryselectedby-for-customcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md index d148f868501e..14c59c58bee0 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md @@ -61,4 +61,4 @@ The selection condition must specify at least one script or property name to eva [SelectionCondition Element for EntrySelectedBy for EnumerableExpansion (Format)](./selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-groupby-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-groupby-format.md index ac5b1c0c618e..267d24efd9f4 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-groupby-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-groupby-format.md @@ -60,4 +60,4 @@ The selection condition must specify a least one script or property name to eval [SelectionCondition Element for EntrySelectedBy for GroupBy (Format)](./selectioncondition-element-for-entryselectedby-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md index b5214fbcdca1..eea729916147 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md @@ -61,7 +61,7 @@ For more information about the other components of a list view, see [List View]( [ListEntry Element (Format)](./listentry-element-for-listcontrol-format.md) -[PropertyName Element for SelectionCondition for EmtrySelectedBy for ListEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md) +[PropertyName Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md) [SelectionCondition Element for EntrySelectedBy for ListEntry (Format)](./selectioncondition-element-for-entryselectedby-for-listcontrol-format.md) @@ -69,4 +69,4 @@ For more information about the other components of a list view, see [List View]( [Defining Conditions for when a View Entry or Item is Used](./defining-conditions-for-displaying-data.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md index 2f5ff5d279f0..6e72dd78bc8a 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md @@ -67,4 +67,4 @@ For more information about the components of a table view, see [Creating a Table [SelectionCondition Element for EntrySelectedBy for TableRowEntry (Format)](./selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md index ba319c1065cb..753da47d43d5 100644 --- a/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md +++ b/developer/format/scriptblock-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md @@ -67,4 +67,4 @@ For more information about other components of a wide view, see [Wide View](./cr [SelectionCondition Element for EntrySelectedBy for WideEntry (Format)](./selectioncondition-element-for-entryselectedby-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-tablecolumnitem-for-tablecontrol-format.md b/developer/format/scriptblock-element-for-tablecolumnitem-for-tablecontrol-format.md index 17670c3b68e2..ca13f6d73f4c 100644 --- a/developer/format/scriptblock-element-for-tablecolumnitem-for-tablecontrol-format.md +++ b/developer/format/scriptblock-element-for-tablecolumnitem-for-tablecontrol-format.md @@ -61,4 +61,4 @@ For more information about the components of a table view, see [Creating a Table [TableColumnItem Element (Format)](./tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/scriptblock-element-for-wideitem-for-widecontrol-format.md b/developer/format/scriptblock-element-for-wideitem-for-widecontrol-format.md index a71d01cf8569..1da1793e9b63 100644 --- a/developer/format/scriptblock-element-for-wideitem-for-widecontrol-format.md +++ b/developer/format/scriptblock-element-for-wideitem-for-widecontrol-format.md @@ -70,4 +70,4 @@ This example shows a `WideItem` element that defines a script whose value is dis [Creating a Wide View](./creating-a-wide-view.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md index 0016bef09b50..5ea1feedefae 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md @@ -78,4 +78,4 @@ For more information about how selection conditions can be used, see [Defining C [EntrySelectedBy Element for CustomEntry for Controls for Configuration (Format)](./entryselectedby-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md index 324b1e1c4e25..b1817e0ab62a 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md @@ -80,4 +80,4 @@ For more information about how to use selection conditions, see [Defining Condit [EntrySelectedBy Element for CustomEntry for Controls for View (Format)](./entryselectedby-element-for-customentry-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-customcontrol-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-customcontrol-format.md index d4c172ea2049..2a72c9019784 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-customcontrol-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-customcontrol-format.md @@ -79,4 +79,4 @@ For more information about how to use selection conditions, see [Defining Condit [EntrySelectedBy Element for CustomEntry for CustomControl for View (Format)](./entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md index b7010e002c11..a57392814cf9 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md @@ -72,4 +72,4 @@ For more information about other components of a wide view, see [Wide View](./cr [Defining Conditions for When Data Is Displayed](./defining-conditions-for-displaying-data.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-groupby-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-groupby-format.md index d1f702227981..5969a36067eb 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-groupby-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-groupby-format.md @@ -79,4 +79,4 @@ For more information about how to use selection conditions, see [Defining Condit [EntrySelectedBy Element for CustomEntry for GroupBy (Format)](./entryselectedby-element-for-customentry-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-listcontrol-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-listcontrol-format.md index 0b4186fcb292..d72e7933cfe5 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-listcontrol-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-listcontrol-format.md @@ -45,7 +45,7 @@ None. |Element|Description| |-------------|-----------------| -|[PropertyName Element for SelectionCondition for EmtrySelectedBy for ListEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies the .NET property that triggers the condition.| +|[PropertyName Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./propertyname-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies the .NET property that triggers the condition.| |[ScriptBlock Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./scriptblock-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies the script that triggers the condition.| |[SelectionSetName Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./selectionsetname-element-for-selectioncondition-for-entryselectedby-for-listentry-format.md)|Optional element.

Specifies the set of .NET types that trigger the condition.| |[TypeName Element for SelectionCondition for EntrySelectedBy for ListEntry (Format)](./typename-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md)|Optional element.

Specifies a .NET type that triggers the condition.| @@ -76,8 +76,8 @@ For more information about other components of a list view, see [Creating a List [ListEntry Element (Format)](./listentry-element-for-listcontrol-format.md) -[SelectionSetName Element for EnrtySelectedBy for ListEntry (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md) +[SelectionSetName Element for EntrySelectedBy for ListEntry (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md) [TypeName Element for EntrySelectedBy for ListEntry (Format)](http://msdn.microsoft.com/en-us/fcd4daa6-f3fd-43f7-a468-03c582d34533) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md index c16704a03895..c7d9f5c6b9cc 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md @@ -86,4 +86,4 @@ For more information about the components of a table view, see [Creating a Table [TypeName Element for SelectionCondition for EntrySelectedBy for TableRowEntry (Format)](./typename-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting and Types File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting and Types File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectioncondition-element-for-entryselectedby-for-widecontrol-format.md b/developer/format/selectioncondition-element-for-entryselectedby-for-widecontrol-format.md index f717586104c3..6edffc9c6581 100644 --- a/developer/format/selectioncondition-element-for-entryselectedby-for-widecontrol-format.md +++ b/developer/format/selectioncondition-element-for-entryselectedby-for-widecontrol-format.md @@ -86,4 +86,4 @@ For more information about other components of a wide view, see [Creating a Wide [TypeName Element for SelectionCondition for EntrySelectedBy for WideEntry (Format)](./typename-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionset-element-format.md b/developer/format/selectionset-element-format.md index 7f168ee9dee9..19050d7a6ad2 100644 --- a/developer/format/selectionset-element-format.md +++ b/developer/format/selectionset-element-format.md @@ -81,4 +81,4 @@ The following example shows a `SelectionSet` element that defines four .NET type [Types Element (Format)](./types-element-for-selectionset-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-configuration-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-configuration-format.md index a2c05a6afe7c..85fd437d643a 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-configuration-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-configuration-format.md @@ -61,4 +61,4 @@ Selection sets are typically used when you want to define a group of objects tha [EntrySelectedBy Element for CustomEntry for Controls for Configuration (Format)](./entryselectedby-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-view-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-view-format.md index ac32f8ec3275..fb3da64ad530 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-view-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-controls-for-view-format.md @@ -63,4 +63,4 @@ Selection sets are typically used when you want to define a group of objects tha [EntrySelectedBy Element for CustomEntry for Controls for View (Format)](./entryselectedby-element-for-customentry-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-customcontrol-for-view-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-customcontrol-for-view-format.md index 4d7030e80639..dc3ff50a0d39 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-customcontrol-for-view-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-customcontrol-for-view-format.md @@ -64,4 +64,4 @@ For more information about the components of a custom control view, see [Creatin [Custom Control View](./creating-custom-controls.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-enumerableexpansion-format.md index 9b8fa24cb101..1be635527811 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-enumerableexpansion-format.md @@ -61,4 +61,4 @@ Selection sets are typically used when you want to define a group of objects tha [EntrySelectedBy Element for EnumerableExpansion (Format)](./entryselectedby-element-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-groupby-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-groupby-format.md index 298ebb390f27..d0263954301d 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-groupby-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-groupby-format.md @@ -65,4 +65,4 @@ For more information about the components of a custom control view, see [Creatin [Creating Custom Controls](./creating-custom-controls.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-listcontrol-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-listcontrol-format.md index cd97a0ad48b8..de5cfb82317b 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-listcontrol-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-listcontrol-format.md @@ -77,4 +77,4 @@ The following example shows how to specify a selection set for an entry of a lis [EntrySelectedBy Element for ListEntry (Format)](./entryselectedby-element-for-listentry-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-tablecontrol-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-tablecontrol-format.md index 84b66c2448c2..5fec1b4fdb82 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-tablecontrol-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-tablecontrol-format.md @@ -66,4 +66,4 @@ For more information about the components of a table view, see [Creating a Table [Creating a Table View](./creating-a-table-view.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-entryselectedby-for-widecontrol-format.md b/developer/format/selectionsetname-element-for-entryselectedby-for-widecontrol-format.md index 2597ac08234e..18be19577e8e 100644 --- a/developer/format/selectionsetname-element-for-entryselectedby-for-widecontrol-format.md +++ b/developer/format/selectionsetname-element-for-entryselectedby-for-widecontrol-format.md @@ -67,4 +67,4 @@ For more information about other components of a wide view, see [Creating a Wide [EntrySelectedBy Element for WideEntry (Format)](./entryselectedby-element-for-wideentry-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-configuration-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-configuration-format.md index cab1d6ed3d95..caf510a13a4b 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-configuration-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-configuration-format.md @@ -65,4 +65,4 @@ The selection condition can specify a selection set or .NET type, but cannot spe [Defining Selection Sets](./defining-selection-sets.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-view-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-view-format.md index 24a86f651620..653d5edfb37b 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-view-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-controls-for-view-format.md @@ -67,4 +67,4 @@ The selection condition can specify a selection set or .NET type, but cannot spe [Defining Selection Sets](./defining-selection-sets.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-customcontrol-for-view-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-customcontrol-for-view-format.md index f908a4313e68..4458639304fe 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-customcontrol-for-view-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-customcontrol-for-view-format.md @@ -63,4 +63,4 @@ The selection condition can specify a selection set or .NET type, but cannot spe [Defining Selection Sets](./defining-selection-sets.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md index 6f02a7d4a7f2..306eb248a6ec 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md @@ -61,4 +61,4 @@ Selection sets are common groups of .NET objects that can be used by any view th [SelectionCondition Element for EntrySelectedBy for EnumerableExpansion (Format)](./selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-listentry-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-listentry-format.md index 175b508e83ed..ee30608216d1 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-listentry-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-listentry-format.md @@ -67,4 +67,4 @@ For more information about other components of a list view, see [Creating a List [SelectionCondition Element for EntrySelectedBy for ListEntry (Format)](./selectioncondition-element-for-entryselectedby-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md index dadf626d03b2..b6c201527a7f 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md @@ -69,4 +69,4 @@ For more information about other components of a wide view, see [Creating a Tabl [SelectionCondition Element for EntrySelectedBy for TableRowEntry (Format)](./selectioncondition-element-for-entryselectedby-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md index cae0eb46cfbd..39d1c716efae 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md @@ -71,4 +71,4 @@ For more information about other components of a wide view, see [Creating a Wide [TypeName Element for SelectionCondition for EntrySelectedBy for WideEntry (Format)](./typename-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-selectioncondition-for-groupby-format.md b/developer/format/selectionsetname-element-for-selectioncondition-for-groupby-format.md index 05b17f53b4f3..cd5ff20880bd 100644 --- a/developer/format/selectionsetname-element-for-selectioncondition-for-groupby-format.md +++ b/developer/format/selectionsetname-element-for-selectioncondition-for-groupby-format.md @@ -68,4 +68,4 @@ When this element is specified, you cannot specify the [TypeName](./typename-ele [Defining Selection Sets](./defining-selection-sets.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsetname-element-for-viewselectedby-format.md b/developer/format/selectionsetname-element-for-viewselectedby-format.md index 4057b3c7c0dc..81983ad2e6df 100644 --- a/developer/format/selectionsetname-element-for-viewselectedby-format.md +++ b/developer/format/selectionsetname-element-for-viewselectedby-format.md @@ -71,4 +71,4 @@ The following example shows how to specify a selection set for a list view. The [ViewSelectedBy Element (Format)](./viewselectedby-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/selectionsets-element-format.md b/developer/format/selectionsets-element-format.md index 471b1cca6171..27bc52aae27f 100644 --- a/developer/format/selectionsets-element-format.md +++ b/developer/format/selectionsets-element-format.md @@ -58,4 +58,4 @@ Common selection sets are specified by their name when defining the views of the [SelectionSet Element (Format)](./selectionset-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/showerror-element-format.md b/developer/format/showerror-element-format.md index d1c5938a4d13..17eb975b8833 100644 --- a/developer/format/showerror-element-format.md +++ b/developer/format/showerror-element-format.md @@ -45,4 +45,4 @@ None. ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tablecolumnheader-element-format.md b/developer/format/tablecolumnheader-element-format.md index 4ec8db70a054..c332028e03eb 100644 --- a/developer/format/tablecolumnheader-element-format.md +++ b/developer/format/tablecolumnheader-element-format.md @@ -44,7 +44,7 @@ None. |-------------|-----------------| |[Label Element For TableColumnHeader for TableControl (Format)](./label-element-for-tablecolumnheader-for-tablecontrol-format.md)|Optional element.

Defines the label that is displayed at the top of the column. If no label is specified, the name of the property whose value is displayed in the rows is used.| |[Width Element for TableColumnHeader for TableControl (Format)](./width-element-for-tablecolumnheader-for-tablecontrol-format.md)|Required element.

Specifies the width (in characters) of the column.| -|[Alignment Element for TableColumbnHeader for TableControl (Format)](./alignment-element-for-tablecolumnheader-for-tablecontrol-format.md)|Optional element.

Specifies how the label of the column is displayed. If no alignment is specified, the label is aligned on the left.| +|[Alignment Element for TableColumnHeader for TableControl (Format)](./alignment-element-for-tablecolumnheader-for-tablecontrol-format.md)|Optional element.

Specifies how the label of the column is displayed. If no alignment is specified, the label is aligned on the left.| ### Parent Elements @@ -81,7 +81,7 @@ The following example shows two `TableColumnHeader` elements. The first element ## See Also -[Alignment Element for TableColumnHeader for TableContrl (Format)](./alignment-element-for-tablecolumnheader-for-tablecontrol-format.md) +[Alignment Element for TableColumnHeader for TableControl (Format)](./alignment-element-for-tablecolumnheader-for-tablecontrol-format.md) [Creating a Table View](./creating-a-table-view.md) @@ -91,4 +91,4 @@ The following example shows two `TableColumnHeader` elements. The first element [Width for TableColumnHeader for TableControl Element (Format)](./width-element-for-tablecolumnheader-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md b/developer/format/tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md index b8d2070f7ab5..3fc0af87db87 100644 --- a/developer/format/tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md +++ b/developer/format/tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md @@ -28,7 +28,7 @@ TableColumnItem Element for TableColumnItems for TableControl (Format) Left, Right, or Center Nameof.NetProperty - ScriptToEvaluate + ScriptToEvaluate ``` @@ -87,4 +87,4 @@ This example shows a `TableColumnItem` element that displays the value of the `S [ScriptBlock Element for TableColumnItem for TableControl (Format)](./scriptblock-element-for-tablecolumnitem-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tablecolumnitems-element-for-tablerowentry-for-tablecontrol-format.md b/developer/format/tablecolumnitems-element-for-tablerowentry-for-tablecontrol-format.md index 81517b0e0b39..80492e3f061b 100644 --- a/developer/format/tablecolumnitems-element-for-tablerowentry-for-tablecontrol-format.md +++ b/developer/format/tablecolumnitems-element-for-tablerowentry-for-tablecontrol-format.md @@ -47,7 +47,7 @@ None. |Element|Description| |-------------|-----------------| -|[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md)|Defines the data that is displayed in a row of the table.| +|[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md)|Defines the data that is displayed in a row of the table.| ## Remarks @@ -80,6 +80,6 @@ The following example shows a `TableColumnItems` element that defines three prop [TableColumnItem Element (Format)](./tablecolumnitem-element-for-tablecolumnitems-for-tablecontrol-format.md) -[TableRowEntry Element (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) +[TableRowEntry Element (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tablecontrol-element-format.md b/developer/format/tablecontrol-element-format.md index d73cc290dc00..cd4dfddc8890 100644 --- a/developer/format/tablecontrol-element-format.md +++ b/developer/format/tablecontrol-element-format.md @@ -44,7 +44,7 @@ None. |[AutoSize Element for TableControl (Format)](./autosize-element-for-tablecontrol-format.md)|Optional element.

Specifies whether the column size and the number of columns are adjusted based on the size of the data.| |[HideTableHeaders Element for TableControl (Format)](./hidetableheaders-element-format.md)|Optional element.

Indicates whether the header of the table is not displayed.| |[TableHeaders Element for TableControl (Format)](./tableheaders-element-format.md)|Required element.

Defines the labels, the widths, and the alignment of the data for the columns of the table view.| -|[TableRowEntries Element for TableCotrol (Format)](./tablerowentries-element-for-tablecontrol-format.md)|Optional element.

Provides the definitions of the table view.| +|[TableRowEntries Element for TableControl (Format)](./tablerowentries-element-for-tablecontrol-format.md)|Optional element.

Provides the definitions of the table view.| ### Parent Elements @@ -88,4 +88,4 @@ This example shows a `TableControl` element that is used to display the properti [TableRowEntries Element (Format)](./tablerowentries-element-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tableheaders-element-format.md b/developer/format/tableheaders-element-format.md index 645ed3ab4351..6ede07d38da6 100644 --- a/developer/format/tableheaders-element-format.md +++ b/developer/format/tableheaders-element-format.md @@ -78,4 +78,4 @@ This example shows a `TableHeaders` element that defines two column headers. [TableControl Element (Format)](./tablecontrol-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tablerowentries-element-for-tablecontrol-format.md b/developer/format/tablerowentries-element-for-tablecontrol-format.md index 920207724901..521f70704db3 100644 --- a/developer/format/tablerowentries-element-for-tablecontrol-format.md +++ b/developer/format/tablerowentries-element-for-tablecontrol-format.md @@ -39,7 +39,7 @@ None. |Element|Description| |-------------|-----------------| -|[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md)|Required element.

Defines the data that is displayed in a row of the table.| +|[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md)|Required element.

Defines the data that is displayed in a row of the table.| ### Parent Elements @@ -82,6 +82,6 @@ The following example shows a `TableRowEntries` element that defines a row that [TableControl Element (Format)](./tablecontrol-element-format.md) -[TableRowEntry Element (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) +[TableRowEntry Element (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md b/developer/format/tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md similarity index 80% rename from developer/format/tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md rename to developer/format/tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md index 6e2a0d6910f9..2fce1375a88e 100644 --- a/developer/format/tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md +++ b/developer/format/tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md @@ -1,5 +1,5 @@ --- -title: "TableRowEntry Element for TableRowEntroes for TableControl (Format) | Microsoft Docs" +title: "TableRowEntry Element for TableRowEntries for TableControl (Format) | Microsoft Docs" ms.custom: "" ms.date: "09/13/2016" ms.reviewer: "" @@ -9,7 +9,7 @@ ms.topic: "article" ms.assetid: 18d86af7-7ff9-4968-81be-2caa61937d49 caps.latest.revision: 10 --- -# TableRowEntry Element for TableRowEntroes for TableControl (Format) +# TableRowEntry Element for TableRowEntries for TableControl (Format) Defines the data that is displayed in a row of the table. @@ -44,7 +44,7 @@ None. |-------------|-----------------| |[EntrySelectedBy Element for TableRowEntry for TableControl (Format)](./entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md)|Required element.

Defines the objects whose property values are displayed in the row.| |[TableColumnItems Element for TableRowEntry for TableControl (Format)](./tablecolumnitems-element-for-tablerowentry-for-tablecontrol-format.md)|Required element.

Defines the properties or scripts whose values are displayed.| -|[Wrap Element for TableRowEntry for TableCntrol (Format)](./wrap-element-for-tablerowentry-for-tablecontrl-format.md)|Optional element.

Specifies that text that exceeds the column width is displayed on the next line.| +|[Wrap Element for TableRowEntry for TableControl (Format)](./wrap-element-for-tablerowentry-for-tablecontrol-format.md)|Optional element.

Specifies that text that exceeds the column width is displayed on the next line.| ### Parent Elements @@ -88,8 +88,6 @@ The following example shows a `TableRowEntry` element that defines a row that di [TableRowEntries Element for TableControl (Format)](./tablerowentries-element-for-tablecontrol-format.md) -[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) +[Wrap Element for TableRowEntry for TableControl (Format)](./wrap-element-for-tablerowentry-for-tablecontrol-format.md) -[Wrap Element for TableRowEntry for TableCntrol (Format)](./wrap-element-for-tablerowentry-for-tablecontrl-format.md) - -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/text-element-for-customitem-for-controls-for-configuration-format.md b/developer/format/text-element-for-customitem-for-controls-for-configuration-format.md index 0738019a4ed5..a976cbaa466b 100644 --- a/developer/format/text-element-for-customitem-for-controls-for-configuration-format.md +++ b/developer/format/text-element-for-customitem-for-controls-for-configuration-format.md @@ -56,4 +56,4 @@ Specify the text of a control for data that you want to display. [CustomItem Element for CustomEntry for Controls for Configuration](./customitem-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/text-element-for-customitem-for-controls-for-view-format.md b/developer/format/text-element-for-customitem-for-controls-for-view-format.md index f9a1545ac178..5d5a1e8fc54c 100644 --- a/developer/format/text-element-for-customitem-for-controls-for-view-format.md +++ b/developer/format/text-element-for-customitem-for-controls-for-view-format.md @@ -57,4 +57,4 @@ Specify the text of a control for data that you want to display. [CustomItem Element for CustomEntry for Controls for View (Format)](./customitem-element-for-customentry-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/text-element-for-customitem-for-customview-for-view-format.md b/developer/format/text-element-for-customitem-for-customview-for-view-format.md index 270fa5baecff..c4c84ea85947 100644 --- a/developer/format/text-element-for-customitem-for-customview-for-view-format.md +++ b/developer/format/text-element-for-customitem-for-customview-for-view-format.md @@ -56,4 +56,4 @@ Specify the text of a control for data that you want to display. [CustomItem Element for CustomEntry for View (Format)](./customitem-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/text-element-for-customitem-for-groupby-format.md b/developer/format/text-element-for-customitem-for-groupby-format.md index 1e1edc48ba47..801ae4677959 100644 --- a/developer/format/text-element-for-customitem-for-groupby-format.md +++ b/developer/format/text-element-for-customitem-for-groupby-format.md @@ -57,4 +57,4 @@ Specify the text of a control for data that you want to display. [CustomItem Element for CustomEntry for GroupBy (Format)](./customitem-element-for-customentry-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-controls-for-configuration-format.md b/developer/format/typename-element-for-entryselectedby-for-controls-for-configuration-format.md index 6a0bb961b9f6..b08fd9d3b88a 100644 --- a/developer/format/typename-element-for-entryselectedby-for-controls-for-configuration-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-controls-for-configuration-format.md @@ -57,4 +57,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [EntrySelectedBy Element for CustomEntry for Controls for Configuration (Format)](./entryselectedby-element-for-customentry-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-controls-for-view-format.md b/developer/format/typename-element-for-entryselectedby-for-controls-for-view-format.md index 8428d6abf6df..fa416e1f96bf 100644 --- a/developer/format/typename-element-for-entryselectedby-for-controls-for-view-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-controls-for-view-format.md @@ -58,4 +58,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [EntrySelectedBy Element for CustomEntry for Controls for View (Format)](./entryselectedby-element-for-customentry-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-customentry-for-view-format.md b/developer/format/typename-element-for-entryselectedby-for-customentry-for-view-format.md index fd9bf682cb29..9f2dce447d10 100644 --- a/developer/format/typename-element-for-entryselectedby-for-customentry-for-view-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-customentry-for-view-format.md @@ -62,4 +62,4 @@ For more information about the components of a custom control view, see [Creatin [EntrySelectedBy Element for CustomEntry for View (Format)](./entryselectedby-element-for-customentry-for-customcontrol-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/typename-element-for-entryselectedby-for-enumerableexpansion-format.md index c355a8605f87..809688c219d9 100644 --- a/developer/format/typename-element-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-enumerableexpansion-format.md @@ -55,4 +55,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [EntrySelectedBy Element for EnumerableExpansion (Format)](./entryselectedby-element-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-groupby-format.md b/developer/format/typename-element-for-entryselectedby-for-groupby-format.md index 323c86e5460b..e6d312c3c765 100644 --- a/developer/format/typename-element-for-entryselectedby-for-groupby-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-groupby-format.md @@ -63,4 +63,4 @@ For more information about the components of a custom control view, see [Creatin [EntrySelectedBy Element for CustomEntry for GroupBy (Format)](./entryselectedby-element-for-customentry-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-listcontrol-format.md b/developer/format/typename-element-for-entryselectedby-for-listcontrol-format.md index a5c5d0381b9a..4c605882a765 100644 --- a/developer/format/typename-element-for-entryselectedby-for-listcontrol-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-listcontrol-format.md @@ -75,6 +75,6 @@ The following example shows how to specify a selection set for an entry of a lis [EntrySelectedBy Element for ListEntry (Format)](./entryselectedby-element-for-listentry-for-listcontrol-format.md) -[SelectionSetName Element for EnrtySelectedBy for ListEntry (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md) +[SelectionSetName Element for EntrySelectedBy for ListEntry (Format)](./selectionsetname-element-for-entryselectedby-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-tablecontrol-format.md b/developer/format/typename-element-for-entryselectedby-for-tablecontrol-format.md index 36cdb6076cc3..26f7312bd9b0 100644 --- a/developer/format/typename-element-for-entryselectedby-for-tablecontrol-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-tablecontrol-format.md @@ -62,4 +62,4 @@ For more information about the components of a table view, see [Creating a Table [EntrySelectedBy Element (Format)](./entryselectedby-element-for-tablerowentry-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-entryselectedby-for-wideentry-format.md b/developer/format/typename-element-for-entryselectedby-for-wideentry-format.md index 22d0cb919c7c..8597a6ada739 100644 --- a/developer/format/typename-element-for-entryselectedby-for-wideentry-format.md +++ b/developer/format/typename-element-for-entryselectedby-for-wideentry-format.md @@ -62,4 +62,4 @@ For more information about other components of a wide view, see [Creating a Wide [EntrySelectedBy Element for WideEntry (Format)](./entryselectedby-element-for-wideentry-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-controls-for-configuration-format.md b/developer/format/typename-element-for-selectioncondition-for-controls-for-configuration-format.md index 860dd88a0a6b..5625b3bcdc2e 100644 --- a/developer/format/typename-element-for-selectioncondition-for-controls-for-configuration-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-controls-for-configuration-format.md @@ -58,4 +58,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [SelectionCondition Element for EntrySelectedBy for CustomEntry for Configuration (Format)](./selectioncondition-element-for-entryselectedby-for-controls-for-configuration-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-controls-for-view-format.md b/developer/format/typename-element-for-selectioncondition-for-controls-for-view-format.md index 8f2ed354a2fd..2fd842149647 100644 --- a/developer/format/typename-element-for-selectioncondition-for-controls-for-view-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-controls-for-view-format.md @@ -60,4 +60,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [SelectionCondition Element for EntrySelectedBy for Controls for View (Format)](./selectioncondition-element-for-entryselectedby-for-controls-for-view-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-customcontrol-for-view-format.md b/developer/format/typename-element-for-selectioncondition-for-customcontrol-for-view-format.md index 47a61a264ebd..df20dd3b6962 100644 --- a/developer/format/typename-element-for-selectioncondition-for-customcontrol-for-view-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-customcontrol-for-view-format.md @@ -58,4 +58,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [SelectionCondition Element for EntrySelectedBy for CustomControl for View (Format)](./selectioncondition-element-for-entryselectedby-for-customcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md index b9e6dd079f9f..cade0e4e6d11 100644 --- a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-enumerableexpansion-format.md @@ -55,4 +55,4 @@ Specify the fully qualified name of the .NET type, such as `System.IO.DirectoryI [SelectionCondition Element for EntrySelectedBy for EnumerableExpansion (Format)](./selectioncondition-element-for-entryselectedby-for-enumerableexpansion-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md index f76efd0502be..27232a075252 100644 --- a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-listcontrol-format.md @@ -65,4 +65,4 @@ For more information about other the components of a list view, see [Creating a [SelectionCondition Element for EntrySelectedBy for ListControl (Format)](./selectioncondition-element-for-entryselectedby-for-listcontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md index 7242eba51074..7dc85b05a6c6 100644 --- a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md @@ -67,4 +67,4 @@ For more information about the components of a table view, see [Creating a Table [SelectionSetName Element for SelectionCondition for EntrySelectedBy for TableRowEntry (Format)](./selectionsetname-element-for-selectioncondition-for-entryselectedby-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md index 19874ee08082..a2ef4136bc82 100644 --- a/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-entryselectedby-for-widecontrol-format.md @@ -59,7 +59,7 @@ For more information about other components of a wide view, see [Creating a Wide ## See Also -[Creatng a Wide View](./creating-a-wide-view.md) +[Creating a Wide View](./creating-a-wide-view.md) [Defining Conditions for When Data Is Displayed](./defining-conditions-for-displaying-data.md) @@ -67,4 +67,4 @@ For more information about other components of a wide view, see [Creating a Wide [SelectionSetName Element for SelectionCondition for EntrySelectedBy for WideEntry (Format)](./selectionsetname-element-for-selectioncondition-for-entryselectedby-for-wideentry-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-selectioncondition-for-groupby-format.md b/developer/format/typename-element-for-selectioncondition-for-groupby-format.md index 1e73e13efa3b..8eb31ffc14d2 100644 --- a/developer/format/typename-element-for-selectioncondition-for-groupby-format.md +++ b/developer/format/typename-element-for-selectioncondition-for-groupby-format.md @@ -61,4 +61,4 @@ When this element is specified, you cannot specify the `SelectionSetName` elemen [SelectionCondition Element for EntrySelectedBy for GroupBy (Format)](./selectioncondition-element-for-entryselectedby-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-types-format.md b/developer/format/typename-element-for-types-format.md index 96ce0afe7692..910e452c77ec 100644 --- a/developer/format/typename-element-for-types-format.md +++ b/developer/format/typename-element-for-types-format.md @@ -81,4 +81,4 @@ The following example shows a `SelectionSet` element that defines four .NET type [Types Element (Format)](./types-element-for-selectionset-format.md) -[Writing a Windows PowDefining Sets of ObjecterShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a Windows PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/typename-element-for-viewselectedby-format.md b/developer/format/typename-element-for-viewselectedby-format.md index f7c79a6c5ca4..d8551cc6be0a 100644 --- a/developer/format/typename-element-for-viewselectedby-format.md +++ b/developer/format/typename-element-for-viewselectedby-format.md @@ -77,4 +77,4 @@ The following example shows how to specify the [System.Serviceprocess.Servicecon [ViewSelectedBy Element (Format)](./viewselectedby-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/types-element-for-selectionset-format.md b/developer/format/types-element-for-selectionset-format.md index aebba286a87e..f3401e7fb7c5 100644 --- a/developer/format/types-element-for-selectionset-format.md +++ b/developer/format/types-element-for-selectionset-format.md @@ -77,4 +77,4 @@ This example shows a `SelectionSet` element that defines four .NET types. [TypeName Element of Types (Format)](./typename-element-for-types-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/view-element-format.md b/developer/format/view-element-format.md index 307477cc7703..c8a09c37f120 100644 --- a/developer/format/view-element-format.md +++ b/developer/format/view-element-format.md @@ -108,4 +108,4 @@ This example shows a `View` element that defines a table view for the [System.Se [CustomControl Element (Format)](./customcontrol-element-for-groupby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/viewdefinitions-element-format.md b/developer/format/viewdefinitions-element-format.md index 482cb046e5b3..6ccf7691996a 100644 --- a/developer/format/viewdefinitions-element-format.md +++ b/developer/format/viewdefinitions-element-format.md @@ -88,4 +88,4 @@ This example shows a `ViewDefinitions` element that contains the parent elements [Custom Controls](./creating-custom-controls.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/viewselectedby-element-format.md b/developer/format/viewselectedby-element-format.md index 98ec5c90bf5a..ca120854a9d4 100644 --- a/developer/format/viewselectedby-element-format.md +++ b/developer/format/viewselectedby-element-format.md @@ -83,4 +83,4 @@ The following example shows how to specify the [System.Serviceprocess.Servicecon [TypeName Element (Format)](./typename-element-for-viewselectedby-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wide-view-basic.md b/developer/format/wide-view-basic.md index b2981f60ffc3..a2b1122b0dd5 100644 --- a/developer/format/wide-view-basic.md +++ b/developer/format/wide-view-basic.md @@ -79,4 +79,4 @@ FSysAgent FwcAgent [Examples of Formatting Files](./examples-of-formatting-files.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wide-view-groupby.md b/developer/format/wide-view-groupby.md index 3ea92aad6e2f..25186072b2c7 100644 --- a/developer/format/wide-view-groupby.md +++ b/developer/format/wide-view-groupby.md @@ -94,4 +94,4 @@ FwcAgent [Examples of Formatting Files](./examples-of-formatting-files.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/widecontrol-element-format.md b/developer/format/widecontrol-element-format.md index 44c7c42cff26..403c9a6a1aa9 100644 --- a/developer/format/widecontrol-element-format.md +++ b/developer/format/widecontrol-element-format.md @@ -90,4 +90,4 @@ For a complete example of a wide view, see [Wide View (Basic)](./wide-view-basic [Creating a Wide View](./creating-a-wide-view.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wideentries-element-for-widecontrol-format.md b/developer/format/wideentries-element-for-widecontrol-format.md index cb0a5d4133a0..b56614e1c911 100644 --- a/developer/format/wideentries-element-for-widecontrol-format.md +++ b/developer/format/wideentries-element-for-widecontrol-format.md @@ -76,4 +76,4 @@ For a complete example of a wide view, see [Wide View (Basic)](./wide-view-basic [WideEntry Element (Format)](./wideentry-element-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wideentry-element-for-widecontrol-format.md b/developer/format/wideentry-element-for-widecontrol-format.md index 1d0c5276a345..eb86ef9f6e3d 100644 --- a/developer/format/wideentry-element-for-widecontrol-format.md +++ b/developer/format/wideentry-element-for-widecontrol-format.md @@ -85,4 +85,4 @@ For a complete example of a wide view, see [Wide View (Basic)](./wide-view-basic [WideItem Element (Format)](./wideitem-element-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wideitem-element-for-widecontrol-format.md b/developer/format/wideitem-element-for-widecontrol-format.md index 9a9423050ec3..cbfbf9badb29 100644 --- a/developer/format/wideitem-element-for-widecontrol-format.md +++ b/developer/format/wideitem-element-for-widecontrol-format.md @@ -81,4 +81,4 @@ For a complete example of a wide view, see [Wide View (Basic)](./wide-view-basic [WideEntry Element (Format)](./wideentry-element-for-widecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/width-element-for-tablecolumnheader-for-tablecontrol-format.md b/developer/format/width-element-for-tablecolumnheader-for-tablecontrol-format.md index 287c34e614d9..1ef01f77f5cf 100644 --- a/developer/format/width-element-for-tablecolumnheader-for-tablecontrol-format.md +++ b/developer/format/width-element-for-tablecolumnheader-for-tablecontrol-format.md @@ -43,7 +43,7 @@ None. |Element|Description| |-------------|-----------------| -|[TableColumnHeader Element for TableHeaders for TbleControl (Format)](./tablecolumnheader-element-format.md)|Defines a label, width, and alignment of the data for a column of the table.| +|[TableColumnHeader Element for TableHeaders for TableControl (Format)](./tablecolumnheader-element-format.md)|Defines a label, width, and alignment of the data for a column of the table.| ## Text Value @@ -71,4 +71,4 @@ The following example shows a `TableColumnHeader` element whose width is 16 char [TableColumnHeader Element for TableHeader for TableControl (Format)](./tablecolumnheader-element-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wrap-element-for-tablerowentry-for-tablecontrl-format.md b/developer/format/wrap-element-for-tablerowentry-for-tablecontrol-format.md similarity index 74% rename from developer/format/wrap-element-for-tablerowentry-for-tablecontrl-format.md rename to developer/format/wrap-element-for-tablerowentry-for-tablecontrol-format.md index a10df0de8b4d..282490219757 100644 --- a/developer/format/wrap-element-for-tablerowentry-for-tablecontrl-format.md +++ b/developer/format/wrap-element-for-tablerowentry-for-tablecontrol-format.md @@ -1,5 +1,5 @@ --- -title: "Wrap Element for TableRowEntry for TableContrl (Format) | Microsoft Docs" +title: "Wrap Element for TableRowEntry for TableControl (Format) | Microsoft Docs" ms.custom: "" ms.date: "09/13/2016" ms.reviewer: "" @@ -9,7 +9,7 @@ ms.topic: "article" ms.assetid: 64087c6c-2abd-446d-b837-7d3ee03a6874 caps.latest.revision: 11 --- -# Wrap Element for TableRowEntry for TableContrl (Format) +# Wrap Element for TableRowEntry for TableControl (Format) Specifies that text that exceeds the column width is displayed on the next line. By default, text that exceeds the column width is truncated. @@ -43,7 +43,7 @@ None. |Element|Description| |-------------|-----------------| -|[TableRowEntry Element for TabbleRowEntries for TablControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md)|Defines the data that is displayed in a row of the table.| +|[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md)|Defines the data that is displayed in a row of the table.| ## Remarks @@ -53,6 +53,6 @@ For more information about the components of a table view, see [Creating a Table [Creating a Table View](./creating-a-table-view.md) -[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentroes-for-tablecontrol-format.md) +[TableRowEntry Element for TableRowEntries for TableControl (Format)](./tablerowentry-element-for-tablerowentries-for-tablecontrol-format.md) -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/wraptables-element-format.md b/developer/format/wraptables-element-format.md index 255547697b74..114a42eb201e 100644 --- a/developer/format/wraptables-element-format.md +++ b/developer/format/wraptables-element-format.md @@ -45,4 +45,4 @@ None. ## See Also -[Writing a Windows PowerShell Formatting File](./writing-a-windows-powershell-formatting-file.md) +[Writing a PowerShell Formatting File](./writing-a-powershell-formatting-file.md) diff --git a/developer/format/writing-a-windows-powershell-formatting-file.md b/developer/format/writing-a-powershell-formatting-file.md similarity index 67% rename from developer/format/writing-a-windows-powershell-formatting-file.md rename to developer/format/writing-a-powershell-formatting-file.md index cd1b782b0ce0..ea38c2577d66 100644 --- a/developer/format/writing-a-windows-powershell-formatting-file.md +++ b/developer/format/writing-a-powershell-formatting-file.md @@ -1,5 +1,5 @@ --- -title: "Writing a Windows PowerShell Formatting File | Microsoft Docs" +title: "Writing a PowerShell Formatting File | Microsoft Docs" ms.custom: "" ms.date: "09/13/2016" ms.reviewer: "" @@ -9,9 +9,9 @@ ms.topic: "article" ms.assetid: 39acce45-5144-43ba-894d-a4ce782fa67d caps.latest.revision: 13 --- -# Writing a Windows PowerShell Formatting File +# Writing a PowerShell Formatting File -"Writing a Windows PowerShell Formatting File" is for command developers who are writing cmdlets or functions that output objects to the command line. Formatting files define how Windows PowerShell displays those objects at the command line. This documentation provides an overview of formatting files, an explanation of the concepts that you should understand when writing these files, examples of XML used in these files, and a reference section for the XML elements. +"Writing a PowerShell Formatting File" is for command developers who are writing cmdlets or functions that output objects to the command line. Formatting files define how PowerShell displays those objects at the command line. This documentation provides an overview of formatting files, an explanation of the concepts that you should understand when writing these files, examples of XML used in these files, and a reference section for the XML elements. ## In This Section diff --git a/developer/help/autogenerated-elements-of-comment-based-help.md b/developer/help/autogenerated-elements-of-comment-based-help.md index ef7dcbcfe7a5..b9b6dc2d18cc 100644 --- a/developer/help/autogenerated-elements-of-comment-based-help.md +++ b/developer/help/autogenerated-elements-of-comment-based-help.md @@ -17,23 +17,28 @@ The `Get-Help` cmdlet automatically generates several elements of a comment-base The `Get-Help` cmdlet automatically generates the following elements of a help topic. You cannot edit these elements directly, but in many cases you can change the results by changing the source of the element. -**Name** +### Name + The Name section of a function Help topic is taken from the function name in the function definition. The Name of a script Help topic is taken from the script file name. To change the name or its capitalization, change the function definition or the script file name. -**Syntax** +### Syntax + The Syntax section of the Help topic is generated from the parameter list in the Param statement of the function or script. To add detail to the Help topic syntax, such as the .NET Framework type of a parameter, add the detail to the parameter list. If you do not specify a parameter type, the "Object" type is inserted as the default value. -**Parameter List** +### Parameter List + The Parameters section of the Help topic is generated from the parameter list in the function or script and from the descriptions that you add by using the `.Parameters` keyword or comments in the parameter list. Parameters appear in the Parameters section in the same order that they appear in the parameter list. The spelling and capitalization of parameter names is also taken from the parameter list; it is not affected by the parameter name specified by the `.Parameter` keyword. -**Common Parameters** -The common parameters are added to the syntax and parameter list of the Help topic, even if they have no effect. For more information about the common parameters, see [about_CommonParameters](/powershell/module/microsoft.powershell.core/about/about_commonparameters). +### Common Parameters + The common parameters are added to the syntax and parameter list of the Help topic, even if they have no effect. For more information about the common parameters, see [about_CommonParameters](/powershell/module/microsoft.powershell.core/about/about_commonparameters). -**Parameter Attribute Table** +### Parameter Attribute Table + `Get-Help` generates the table of parameter attributes that appears when you use the Full or Parameter parameter of `Get-Help`. The value of the Required, Position, and Default value attributes is taken from the function or script syntax. -**Remarks** +### Remarks + The Remarks section of the Help topic is automatically generated from the function or script name. You cannot change or affect its content. diff --git a/developer/help/comment-based-help-keywords.md b/developer/help/comment-based-help-keywords.md index ce22c55a023b..b270ecee710e 100644 --- a/developer/help/comment-based-help-keywords.md +++ b/developer/help/comment-based-help-keywords.md @@ -17,7 +17,7 @@ This topic lists and describes the keywords in comment-based help. The following are valid comment-based Help keywords. They are listed in the order in which they typically appear in a Help topic along with their intended use. These keywords can appear in any order in the comment-based Help, and they are not case-sensitive. -Note that the `.ExternalHelp` keyword takes precedence over all other comment-based help keywords. When `.ExternalHelp` is present, the [Microsoft.Powershell.Commands.Get-Help](/dotnet/api/Microsoft.PowerShell.Commands.Get-Help) cmdlet does not display comment-based help, even when it cannot find a help file that matches the value of the keyword. +Note that the `.ExternalHelp` keyword takes precedence over all other comment-based help keywords. When `.ExternalHelp` is present, the [Microsoft.PowerShell.Commands.Get-Help](/dotnet/api/Microsoft.PowerShell.Commands.Get-Help) cmdlet does not display comment-based help, even when it cannot find a help file that matches the value of the keyword. `.Synopsis` A brief description of the function or script. This keyword can be used only once in each topic. @@ -70,9 +70,9 @@ Specifies a session that contains the Help topic. Enter a variable that contains `.ExternalHelp` `` Specifies the path and/or name of an XML-based Help file for the script or function. -The `.ExternalHelp` keyword tells the [Microsoft.Powershell.Commands.Get-Help](/dotnet/api/Microsoft.PowerShell.Commands.Get-Help) cmdlet to get help for the script or function in an XML-based file. The **.ExternalHelp** keyword is required when using an XML-based help file for a script or function. Without it, `Get-Help` will not find a help file for the function or script. +The `.ExternalHelp` keyword tells the [Microsoft.PowerShell.Commands.Get-Help](/dotnet/api/Microsoft.PowerShell.Commands.Get-Help) cmdlet to get help for the script or function in an XML-based file. The **.ExternalHelp** keyword is required when using an XML-based help file for a script or function. Without it, `Get-Help` will not find a help file for the function or script. -The `.ExternalHelp` keyword takes precedence over all other comment-based help keywords. When `.ExternalHelp` is present, the [Microsoft.Powershell.Commands.Get-Help](/dotnet/api/Microsoft.PowerShell.Commands.Get-Help) cmdlet does not display comment-based help, even when it cannot find a help file that matches the value of the keyword. +The `.ExternalHelp` keyword takes precedence over all other comment-based help keywords. When `.ExternalHelp` is present, the [Microsoft.PowerShell.Commands.Get-Help](/dotnet/api/Microsoft.PowerShell.Commands.Get-Help) cmdlet does not display comment-based help, even when it cannot find a help file that matches the value of the keyword. When the function is exported by a script module, the value of `.ExternalHelp` should be a file name without a path. `Get-Help` looks for the file in a locale-specific subdirectory of the module directory. There are no requirements for the file name, but a best practice is to use the following file name format: `.psm1-help.xml`. diff --git a/developer/help/how-to-add-examples-to-a-cmdlet-help-topic.md b/developer/help/how-to-add-examples-to-a-cmdlet-help-topic.md index 73ce28ff0a66..74b8ea924d05 100644 --- a/developer/help/how-to-add-examples-to-a-cmdlet-help-topic.md +++ b/developer/help/how-to-add-examples-to-a-cmdlet-help-topic.md @@ -11,20 +11,6 @@ caps.latest.revision: 5 --- # How to Add Examples to a Cmdlet Help Topic -- [Things to Know about Examples in Cmdlet Help](#Things-to-Know-about-Examples-in-Cmdlet-Help) - -- [Help Views that Display Examples](#Help-Views-that-Display-Examples) - -- [Adding an Examples Node](#Adding-an-Examples-Node) - -- [Adding Preceding Characters](#Adding-Preceding-Characters) - -- [Adding the Command](#Adding-the-Command) - -- [Adding a Description](#Adding-a-Description) - -- [Adding Example Output](#Adding-Example-Output) - ## Things to Know about Examples in Cmdlet Help - List all of the parameter names in the command, even when the parameter names are optional. This helps the user to interpret the command easily. diff --git a/developer/help/how-to-add-syntax-to-a-cmdlet-help-topic.md b/developer/help/how-to-add-syntax-to-a-cmdlet-help-topic.md index ce4dc8df3521..9e08de5dc3be 100644 --- a/developer/help/how-to-add-syntax-to-a-cmdlet-help-topic.md +++ b/developer/help/how-to-add-syntax-to-a-cmdlet-help-topic.md @@ -11,16 +11,6 @@ caps.latest.revision: 5 --- # How to Add Syntax to a Cmdlet Help Topic -- [Parameter Attributes](#Parameter-Attributes) - -- [Parameter Value Attributes](#Parameter-Value-Attributes) - -- [Gathering Syntax Information](#Gathering-Syntax-Information) - -- [Coding the Syntax Diagram XML](#Coding-the-Syntax-Diagram-XML) - -## Things to Know About the Syntax Diagram in Cmdlet Help - Before you start to code the XML for the syntax diagram in the cmdlet Help file, read this section to get a clear picture of the kind of data you need to provide, such as the parameter attributes, and how that data is displayed in the syntax diagram.. ### Parameter Attributes @@ -106,7 +96,7 @@ Typically, parameter values that are placeholders are required and parameter val Abbreviate types as long as their meaning is clear, such as "string" for System.String and "int" for System.Int32. - List all values of enumerations, such as the -type parameter in the previous example, wich can be set to "basic" or "advanced". + List all values of enumerations, such as the -type parameter in the previous example, which can be set to "basic" or "advanced". Switch parameters, such as -list in the previous example, do not have values. @@ -142,7 +132,7 @@ Typically, parameter values that are placeholders are required and parameter val Get-Tech -ID [-list] [-type basic advanced] ``` -8. If the user can choose from from parameters or parameter values, such as the Type parameter, enclose the choices in curly brackets and separate them with the exclusive OR symbol(;). +8. If the user can choose from parameters or parameter values, such as the Type parameter, enclose the choices in curly brackets and separate them with the exclusive OR symbol(;). ``` SYNTAX @@ -160,7 +150,7 @@ Typically, parameter values that are placeholders are required and parameter val ## Coding the Syntax Diagram XML -The syntax node of the XML begins immediately after the description node, which ends with the \ tag. For information about gathering the data used in the syntax diagram, see [Gathering Syntax Information](#Gathering-Syntax-Information). +The syntax node of the XML begins immediately after the description node, which ends with the \ tag. For information about gathering the data used in the syntax diagram, see [Gathering Syntax Information](#gathering-syntax-information). ### Adding a Syntax Node @@ -204,7 +194,7 @@ The following example includes a syntax node that has syntax item nodes for two Each parameter added to the syntax item node is specified within a pair of \ tags. You need a pair of \ tags for each parameter included in the parameter set, with the exception of the common parameters that are provided by Windows PowerShell?. -The attributes of the opening \ tag determine how the parameter appears in the syntax diagram. For information on parameter attributes, see [Parameter Attributes](#Parameter-Attributes). +The attributes of the opening \ tag determine how the parameter appears in the syntax diagram. For information on parameter attributes, see [Parameter Attributes](#parameter-attributes). > [!NOTE] > The \ tag supports a child element \ whose content is never displayed. The parameter descriptions are specified in the parameter node of the XML. To avoid inconsistencies between the information in the syntax item bodes and the parameter node, omit the (\ or leave it empty. @@ -229,4 +219,4 @@ The following example includes a syntax item node for a parameter set with two p -``` \ No newline at end of file +``` diff --git a/developer/help/how-to-create-the-cmdlet-help-file.md b/developer/help/how-to-create-the-cmdlet-help-file.md index 5986ded7ada4..81f5566eff8b 100644 --- a/developer/help/how-to-create-the-cmdlet-help-file.md +++ b/developer/help/how-to-create-the-cmdlet-help-file.md @@ -32,15 +32,15 @@ This section describes how to create a valid XML file that contains content for |Node|Description| |----------|-----------------| - |`
`|Adds content for the NAME and SYNOPSIS sections of the cmdlet Help topic. For more information, see[How to Add the Cmdlet Name and Synopsis](./how-to-add-the-cmdlet-name-and-synopsis-to-a-cmdlet-help-topic.md).| - |``|Adds content for the DESCRIPTION section of the cmdlet Help topic. For more information, see[How to Add the Detailed Description to a Cmdlet Help Topic](./how-to-add-a-cmdlet-description.md).| - |``|Adds content for the SYNTAX section of the cmdlet Help topic. For more information, see[How to Add Syntax to a Cmdlet Help Topic](./how-to-add-syntax-to-a-cmdlet-help-topic.md).| - |``|Adds content to the NOTES section of the cmdlet Help topic. For more information, see[How to add Notes to a Cmdlet Help Topic](./how-to-add-notes-to-a-cmdlet-help-topic.md).| - |``|Adds content for the EXAMPLES section of the cmdlet Help topic. For more information, see[How to Add Examples to a Cmdlet Help Topic](./how-to-add-examples-to-a-cmdlet-help-topic.md).| - |``|Adds content for the NAME and SYNOPSIS sections of the cmdlet Help topic. For more information, see [How to Add the Cmdlet Name and Synopsis](./how-to-add-the-cmdlet-name-and-synopsis-to-a-cmdlet-help-topic.md).| + |``|Adds content for the DESCRIPTION section of the cmdlet Help topic. For more information, see [How to Add the Detailed Description to a Cmdlet Help Topic](./how-to-add-a-cmdlet-description.md).| + |``|Adds content for the SYNTAX section of the cmdlet Help topic. For more information, see [How to Add Syntax to a Cmdlet Help Topic](./how-to-add-syntax-to-a-cmdlet-help-topic.md).| + |``|Adds content for the PARAMETERS section of the cmdlet Help topic. For more information, see [How to Add Parameters to a Cmdlet Help Topic](./how-to-add-parameter-information.md).| + |``|Adds content for the INPUTS section of the cmdlet Help topic. For more information, see [How to Add Input Types to a Cmdlet Help Topic](./how-to-add-input-types-to-a-cmdlet-help-topic.md).| + |``|Adds content for the OUTPUTS section of the cmdlet Help topic. For more information, see [How to Add Return Values to a Cmdlet Help Topic](./how-to-add-return-values-to-a-cmdlet-help-topic.md).| + |``|Adds content to the NOTES section of the cmdlet Help topic. For more information, see [How to add Notes to a Cmdlet Help Topic](./how-to-add-notes-to-a-cmdlet-help-topic.md).| + |``|Adds content for the EXAMPLES section of the cmdlet Help topic. For more information, see [How to Add Examples to a Cmdlet Help Topic](./how-to-add-examples-to-a-cmdlet-help-topic.md).| + |``|Adds content for the RELATED LINKS section of the cmdlet Help topic. For more information, see [How to Add Related Links to a Cmdlet Help Topic](./how-to-add-related-links-to-a-cmdlet-help-topic.md).| ## Example diff --git a/developer/hosting/adding-and-invoking-commands.md b/developer/hosting/adding-and-invoking-commands.md index cc1913c62a52..60ab8642d83b 100644 --- a/developer/hosting/adding-and-invoking-commands.md +++ b/developer/hosting/adding-and-invoking-commands.md @@ -134,7 +134,7 @@ namespace HostPS1e You invoke a pipeline asynchronously by calling an overload of the [System.Management.Automation.Powershell.Begininvoke*](/dotnet/api/System.Management.Automation.PowerShell.BeginInvoke) to create an [IAsyncResult](http://msdn.microsoft.com/library/system.iasyncresult\(v=vs.110\).aspx) object, and then calling the [System.Management.Automation.Powershell.Endinvoke*](/dotnet/api/System.Management.Automation.PowerShell.EndInvoke) method. - The following example shows how to invoke a pipeline asynchronoulsy. + The following example shows how to invoke a pipeline asynchronously. ```csharp using System; @@ -149,9 +149,9 @@ namespace HostPS3 { static void Main(string[] args) { - // Use the PowerShell.Create and Powers.AddCommand + // Use the PowerShell.Create and PowerShell.AddCommand // methods to create a command pipeline that includes - // Get-Process cmdlet. Do not include spaces immediatly + // Get-Process cmdlet. Do not include spaces immediately // before or after the cmdlet name as that will cause // the command to fail. PowerShell ps = PowerShell.Create().AddCommand("Get-Process"); diff --git a/developer/hosting/creating-a-constrained-runspace.md b/developer/hosting/creating-a-constrained-runspace.md index 7e8b7670c192..0ddbd3f6508e 100644 --- a/developer/hosting/creating-a-constrained-runspace.md +++ b/developer/hosting/creating-a-constrained-runspace.md @@ -104,7 +104,6 @@ namespace Microsoft.Samples.PowerShell.Runspaces ## Making commands private You can also make a command private, by setting it's [System.Management.Automation.Commandinfo.Visibility*](/dotnet/api/System.Management.Automation.CommandInfo.Visibility) property to [System.Management.Automation.Sessionstateentryvisibility.Private](/dotnet/api/System.Management.Automation.SessionStateEntryVisibility.Private). The host application and other commands can call that command, but the user of the application cannot. In the following example, the [Get-ChildItem](/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem) command is private. - You can also make a command private, by setting it's [System.Management.Automation.Commandinfo.Visibility*](/dotnet/api/System.Management.Automation.CommandInfo.Visibility) property to [System.Management.Automation.Sessionstateentryvisibility.Private](/dotnet/api/System.Management.Automation.SessionStateEntryVisibility.Private). The host application and other commands can call that command, but the user of the application cannot. In the following example, the [Get-ChildItem](/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem) command is private. ```csharp defaultSessionState = InitialSessionState.CreateDefault(); diff --git a/developer/hosting/creating-a-custom-user-interface.md b/developer/hosting/creating-a-custom-user-interface.md index 9c76f51c5cba..75df0443c7d5 100644 --- a/developer/hosting/creating-a-custom-user-interface.md +++ b/developer/hosting/creating-a-custom-user-interface.md @@ -11,4 +11,4 @@ caps.latest.revision: 4 --- # Creating a custom user interface -Windows PowerShell provides abstract classes and interfaces that allow you to create a custom interactive UI that hosts the Windows PowerShell engine. To create a custom UI, you must implement the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class. Optionally, you can also implement the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface)and [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) classes, and the [System.Management.Automation.Host.Ihostsupportsinteractivesession](/dotnet/api/System.Management.Automation.Host.IHostSupportsInteractiveSession) and [System.Management.Automation.Host.Ihostuisupportsmultiplechoiceselection](/dotnet/api/System.Management.Automation.Host.IHostUISupportsMultipleChoiceSelection) interfaces. +Windows PowerShell provides abstract classes and interfaces that allow you to create a custom interactive UI that hosts the Windows PowerShell engine. To create a custom UI, you must implement the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class. Optionally, you can also implement the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface)and [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) classes, and the [System.Management.Automation.Host.Ihostsupportsinteractivesession](/dotnet/api/System.Management.Automation.Host.IHostSupportsInteractiveSession) and [System.Management.Automation.Host.Ihostuisupportsmultiplechoiceselection](/dotnet/api/System.Management.Automation.Host.IHostUISupportsMultipleChoiceSelection) interfaces. diff --git a/developer/hosting/creating-an-initialsessionstate.md b/developer/hosting/creating-an-initialsessionstate.md index 69a6a43696db..19548aa18819 100644 --- a/developer/hosting/creating-an-initialsessionstate.md +++ b/developer/hosting/creating-an-initialsessionstate.md @@ -33,7 +33,7 @@ namespace SampleHost { static void Main(string[] args) { - // Call the InitailSessionState.CreateDefault method to create + // Call the InitialSessionState.CreateDefault method to create // an empty InitialSessionState object, and then add the // elements that will be available when the runspace is opened. InitialSessionState iss = InitialSessionState.CreateDefault(); diff --git a/developer/hosting/custom-host-samples.md b/developer/hosting/custom-host-samples.md index 43b63134073e..d7aad502ff74 100644 --- a/developer/hosting/custom-host-samples.md +++ b/developer/hosting/custom-host-samples.md @@ -20,7 +20,6 @@ This section includes sample code for writing a custom host. You can use Microso [Host02 Sample](./host02-sample.md) This sample shows how to write a host application that uses the Windows PowerShell runtime along with a custom host implementation. The host application sets the host culture to German, runs the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet and displays the results as you would see them using pwrsh.exe, and then prints out the current data and time in German. - This sample shows how to write a host application that uses the Windows PowerShell runtime along with a custom host implementation. The host application sets the host culture to German, runs the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet and displays the results as you would see them using pwrsh.exe, and then prints out the current data and time in German. [Host03 Sample](./host03-sample.md) This sample shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. @@ -30,7 +29,6 @@ This section includes sample code for writing a custom host. You can use Microso [Host05 Sample](./host05-sample.md) This sample shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. This host application also supports calls to remote computers by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets - This sample shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. This host application also supports calls to remote computers by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets [Host06 Sample](./host06-sample.md) This sample shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. In addition, this sample uses the Tokenizer APIs to specify the color of the text that is entered by the user. diff --git a/developer/hosting/host-application-samples.md b/developer/hosting/host-application-samples.md index d3bb5785d3cd..84c4eb1babeb 100644 --- a/developer/hosting/host-application-samples.md +++ b/developer/hosting/host-application-samples.md @@ -14,7 +14,6 @@ caps.latest.revision: 11 This section includes sample code that is provided in the Windows PowerShell 2.0 SDK. You can copy the full sample code from the topics in this section, or use the source files installed with the SDK. The [Windows PowerShell 2.0 Software Development Kit (SDK)](https://www.microsoft.com/en-us/download/details.aspx?id=2560) provides ReadMe files, source files, and Visual Studio project files for each sample. - You can copy the full sample code from the topics in this section, or use the source files installed with the SDK. The [Windows PowerShell 2.0 Software Development Kit (SDK)](https://www.microsoft.com/en-us/download/details.aspx?id=2560) provides ReadMe files, source files, and Visual Studio project files for each sample. ## In This Section @@ -23,11 +22,9 @@ This section includes sample code that is provided in the Windows PowerShell 2.0 [Custom Host Samples](./custom-host-samples.md) Includes sample code for writing a custom host. The host is the component of Windows PowerShell that provides communications between the user and the Windows PowerShell engine. For more information about custom hosts, see [Custom Host](https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85).aspx). - Includes sample code for writing a custom host. The host is the component of Windows PowerShell that provides communications between the user and the Windows PowerShell engine. For more information about custom hosts, see [Custom Host](https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85). [Runspace Samples](./runspace-samples.md) Includes sample code for creating runspaces. For more information about how runspaces are used, see [Host Application Runspaces](https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85).aspx). - Includes sample code for creating runspaces. For more information about how runspaces are used, see [Host Application Runspaces](https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85). [Remote Runspace Samples](./remote-runspace-samples.md) This section includes sample code that shows how to create runspaces that can be used to connect to a computer by using WS-Management-based Windows PowerShell remoting. diff --git a/developer/hosting/host01-sample.md b/developer/hosting/host01-sample.md index 286d55a3d968..faf40fe0bc65 100644 --- a/developer/hosting/host01-sample.md +++ b/developer/hosting/host01-sample.md @@ -21,7 +21,7 @@ This sample shows how to implement a host application that uses a custom host. I ## Demonstrates -- Creating a custom host class that derives from the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class. +- Creating a custom host class that derives from the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class. - Creating a runspace that uses the custom host class. @@ -133,7 +133,7 @@ namespace Microsoft.Samples.PowerShell.Host ## Example - The following code is the implementation of the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. + The following code is the implementation of the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. ```csharp namespace Microsoft.Samples.PowerShell.Host diff --git a/developer/hosting/host02-sample.md b/developer/hosting/host02-sample.md index d6a2127cb4b0..749710f2166b 100644 --- a/developer/hosting/host02-sample.md +++ b/developer/hosting/host02-sample.md @@ -11,7 +11,6 @@ caps.latest.revision: 17 --- # Host02 Sample -This sample shows how to write a host application that uses the Windows PowerShell runtime along with a custom host implementation. The host application sets the host culture to German, runs the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet and displays the results as you would see them by using pwrsh.exe, and then prints out the current data and time in German. This sample shows how to write a host application that uses the Windows PowerShell runtime along with a custom host implementation. The host application sets the host culture to German, runs the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) cmdlet and displays the results as you would see them by using pwrsh.exe, and then prints out the current data and time in German. ## Requirements @@ -20,7 +19,7 @@ This sample shows how to write a host application that uses the Windows PowerShe ## Demonstrates -- Creating a custom host whose classes derive from the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. +- Creating a custom host whose classes derive from the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. - Creating a runspace that uses the custom host. @@ -129,7 +128,7 @@ namespace Microsoft.Samples.PowerShell.Host ## Example - The following code is the implementation of the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. + The following code is the implementation of the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. ```csharp namespace Microsoft.Samples.PowerShell.Host @@ -463,7 +462,7 @@ namespace Microsoft.Samples.PowerShell.Host /// ignores the colors. /// /// The color of the characters. - /// The backgound color to use. + /// The background color to use. /// The characters to be written. public override void Write( ConsoleColor foregroundColor, @@ -521,7 +520,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Writes a line of characters to the output display of the host /// with foreground and background colors and appends a newline (carriage return). /// - /// The forground color of the display. + /// The foreground color of the display. /// The background color of the display. /// The line to be written. public override void WriteLine(ConsoleColor foregroundColor, ConsoleColor backgroundColor, string value) @@ -624,7 +623,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// Gets or sets the foreground color of the displayed text. - /// This maps to the corresponding Console.ForgroundColor property. + /// This maps to the corresponding Console.ForegroundColor property. /// public override ConsoleColor ForegroundColor { @@ -783,7 +782,7 @@ namespace Microsoft.Samples.PowerShell.Host [System.Management.Automation.Powershell](/dotnet/api/system.management.automation.powershell) - [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) + [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) diff --git a/developer/hosting/host03-sample.md b/developer/hosting/host03-sample.md index 80700d1bdfed..663b020d1b61 100644 --- a/developer/hosting/host03-sample.md +++ b/developer/hosting/host03-sample.md @@ -19,7 +19,7 @@ This sample shows how to build an interactive console-based host application tha ## Demonstrates -- Creating a custom host whose classes derive from the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. +- Creating a custom host whose classes derive from the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. - Building a console application that uses these host classes to build an interactive Windows PowerShell shell. @@ -56,7 +56,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Holds the instance of the PSHost implementation for this interpreter. private MyHost myHost; - /// Holds the runspace for this interpeter. + /// Holds the runspace for this interpreter. private Runspace myRunSpace; /// Holds a reference to the currently executing pipeline so it can be @@ -77,7 +77,7 @@ namespace Microsoft.Samples.PowerShell.Host this.myRunSpace.Open(); } - /// Gets or sets a value indicating whether the host applcation + /// Gets or sets a value indicating whether the host application /// should exit. public bool ShouldExit { @@ -116,7 +116,7 @@ namespace Microsoft.Samples.PowerShell.Host /// A helper class that builds and executes a pipeline that writes to the /// default output path. Any exceptions that are thrown are just passed to - /// the caller. Since all output goes to the default outter, this method() + /// the caller. Since all output goes to the default outputter, this method() /// won't return anything. /// param name="cmd"; The script to run. /// param name="input";Any input arguments to pass to the script. If null @@ -224,7 +224,7 @@ namespace Microsoft.Samples.PowerShell.Host string str = result[0].BaseObject as string; if (!string.IsNullOrEmpty(str)) { - // Remve \r\n that is added by Out-string. + // Remove \r\n that is added by Out-string. this.myHost.UI.WriteErrorLine(str.Substring(0, str.Length - 2)); } } @@ -313,7 +313,7 @@ namespace Microsoft.Samples.PowerShell.Host ## Example - The following code is the implementation of the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. + The following code is the implementation of the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. ```csharp // Copyright (c) 2006 Microsoft Corporation. All rights reserved. @@ -335,7 +335,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// Simple PowerShell interactive console host listener implementation. This class /// implements a basic read-evaluate-print loop or 'listener' allowing you to - /// interactively work with the PowerShell runtimw. + /// interactively work with the PowerShell runtime. /// class PSListenerConsoleSample { @@ -366,7 +366,7 @@ namespace Microsoft.Samples.PowerShell.Host private MyHost myHost; /// - /// Holds the runspace for this interpeter. + /// Holds the runspace for this interpreter. /// private Runspace myRunSpace; @@ -397,7 +397,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// A helper class that builds and executes a pipeline that writes to the /// default output path. Any exceptions that are thrown are just passed to - /// the caller. Since all output goes to the default outter, this method() + /// the caller. Since all output goes to the default outputter, this method() /// won't return anything. /// /// The script to run @@ -781,7 +781,7 @@ namespace Microsoft.Samples.PowerShell.Host /// foreground and background colors. /// /// The color of the characters. - /// The backgound color to use. + /// The background color to use. /// The characters to be written. public override void Write( ConsoleColor foregroundColor, @@ -801,7 +801,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Writes a line of characters to the output display of the host /// with foreground and background colors and appends a newline (carriage return). /// - /// The forground color of the display. + /// The foreground color of the display. /// The background color of the display. /// The line to be written. public override void WriteLine( @@ -898,7 +898,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// This is a private worker function splits out the /// accelerator keys from the menu and builds a two - /// dimentional array with the first access containing the + /// dimensional array with the first access containing the /// accelerator and the second containing the label string /// with the & removed. /// @@ -1020,7 +1020,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// Gets or sets the foreground color of the text to be written. - /// This maps to the corresponding Console.ForgroundColor property. + /// This maps to the corresponding Console.ForegroundColor property. /// public override ConsoleColor ForegroundColor { @@ -1171,7 +1171,7 @@ namespace Microsoft.Samples.PowerShell.Host ## See Also - [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) + [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) diff --git a/developer/hosting/host04-sample.md b/developer/hosting/host04-sample.md index 075492294f87..7cfa1cf48b3c 100644 --- a/developer/hosting/host04-sample.md +++ b/developer/hosting/host04-sample.md @@ -19,7 +19,7 @@ This sample shows how to build an interactive console-based host application tha ## Demonstrates -- Creating a custom host whose classes derive from the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. +- Creating a custom host whose classes derive from the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. - Building a console application that uses these host classes to build an interactive Windows PowerShell shell. @@ -69,7 +69,7 @@ namespace Microsoft.Samples.PowerShell.Host private MyHost myHost; /// - /// Holds a reference to the runspace for this interpeter. + /// Holds a reference to the runspace for this interpreter. /// private Runspace myRunSpace; @@ -85,7 +85,7 @@ namespace Microsoft.Samples.PowerShell.Host private object instanceLock = new object(); /// - /// Gets or sets a value indicating whether the host applcation + /// Gets or sets a value indicating whether the host application /// should exit. /// public bool ShouldExit @@ -173,7 +173,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// A helper class that builds and executes a pipeline that writes to the /// default output path. Any exceptions that are thrown are just passed to - /// the caller. Since all output goes to the default outter, this method + /// the caller. Since all output goes to the default outputter, this method /// returns nothing. /// /// The script to run @@ -376,7 +376,7 @@ namespace Microsoft.Samples.PowerShell.Host ## Example - The following code is the implementation of the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. + The following code is the implementation of the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. ```csharp namespace Microsoft.Samples.PowerShell.Host @@ -637,7 +637,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Text that proceeds (a title) the choices. /// A message that describes the choice. /// A collection of ChoiceDescription objects that - /// describ each choice. + /// describe each choice. /// The index of the label in the Choices /// parameter collection. To indicate no default choice, set to -1. /// The index of the Choices parameter collection element that @@ -711,7 +711,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Text that proceeds (a title) the choices. /// A message that describes the choice. /// A collection of ChoiceDescription objects that - /// describ each choice. + /// describe each choice. /// The index of the label in the Choices /// parameter collection. To indicate no default choice, set to -1. /// The index of the Choices parameter collection element that @@ -897,7 +897,7 @@ namespace Microsoft.Samples.PowerShell.Host /// foreground and background colors. /// /// The color of the characters. - /// The backgound color to use. + /// The background color to use. /// The characters to be written. public override void Write( ConsoleColor foregroundColor, @@ -917,7 +917,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Writes a line of characters to the output display of the host /// with foreground and background colors and appends a newline (carriage return). /// - /// The forground color of the display. + /// The foreground color of the display. /// The background color of the display. /// The line to be written. public override void WriteLine( @@ -1047,7 +1047,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// This is a private worker function splits out the /// accelerator keys from the menu and builds a two - /// dimentional array with the first access containing the + /// dimensional array with the first access containing the /// accelerator and the second containing the label string /// with the & removed. /// @@ -1137,7 +1137,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// Gets or sets the foreground color of the text to be written. - /// This maps to the corresponding Console.ForgroundColor property. + /// This maps to the corresponding Console.ForegroundColor property. /// public override ConsoleColor ForegroundColor { @@ -1288,7 +1288,7 @@ namespace Microsoft.Samples.PowerShell.Host ## See Also - [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) + [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) diff --git a/developer/hosting/host05-sample.md b/developer/hosting/host05-sample.md index 64ab02ff029a..df94cb9bc862 100644 --- a/developer/hosting/host05-sample.md +++ b/developer/hosting/host05-sample.md @@ -11,7 +11,6 @@ caps.latest.revision: 11 --- # Host05 Sample -This sample shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. This host application also supports calls to remote computers by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets. This sample shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. This host application also supports calls to remote computers by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets. ## Requirements @@ -22,7 +21,7 @@ This sample shows how to build an interactive console-based host application tha ## Demonstrates -- Creating a custom host whose classes derive from the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. +- Creating a custom host whose classes derive from the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. - Building a console application that uses these host classes to build an interactive Windows PowerShell shell. @@ -38,7 +37,6 @@ This sample shows how to build an interactive console-based host application tha - Implement the [System.Management.Automation.Host.Ihostuisupportsmultiplechoiceselection](/dotnet/api/System.Management.Automation.Host.IHostUISupportsMultipleChoiceSelection) interface. -- Implement the [System.Management.Automation.Host.Ihostsupportsinteractivesession](/dotnet/api/System.Management.Automation.Host.IHostSupportsInteractiveSession) interface to support interactive remoting by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets. - Implement the [System.Management.Automation.Host.Ihostsupportsinteractivesession](/dotnet/api/System.Management.Automation.Host.IHostSupportsInteractiveSession) interface to support interactive remoting by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets. ## Example @@ -65,7 +63,7 @@ namespace Microsoft.Samples.PowerShell.Host internal class PSListenerConsoleSample { /// - /// Holds a reference to the runspace for this interpeter. + /// Holds a reference to the runspace for this interpreter. /// internal Runspace myRunSpace; @@ -96,7 +94,7 @@ namespace Microsoft.Samples.PowerShell.Host private object instanceLock = new object(); /// - /// Gets or sets a value indicating whether the host applcation + /// Gets or sets a value indicating whether the host application /// should exit. /// public bool ShouldExit @@ -185,7 +183,7 @@ namespace Microsoft.Samples.PowerShell.Host /// A helper class that builds and executes a pipeline that writes to the /// default output path. Any exceptions that are thrown are just passed to /// the caller. Since all output goes to the default - /// outter, this method does not return anything. + /// outputter, this method does not return anything. /// /// The script to run. /// Any input arguments to pass to the script. @@ -399,7 +397,7 @@ namespace Microsoft.Samples.PowerShell.Host ## Example - The following code is the implementation of the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. + The following code is the implementation of the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. ```csharp namespace Microsoft.Samples.PowerShell.Host @@ -711,7 +709,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Text that proceeds (a title) the choices. /// A message that describes the choice. /// A collection of ChoiceDescription objects that - /// describ each choice. + /// describe each choice. /// The index of the label in the Choices /// parameter collection. To indicate no default choice, set to -1. /// The index of the Choices parameter collection element that @@ -785,7 +783,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Text that proceeds (a title) the choices. /// A message that describes the choice. /// A collection of ChoiceDescription objects that - /// describ each choice. + /// describe each choice. /// The index of the label in the Choices /// parameter collection. To indicate no default choice, set to -1. /// The index of the Choices parameter collection element that @@ -972,7 +970,7 @@ namespace Microsoft.Samples.PowerShell.Host /// foreground and background colors. /// /// The color of the characters. - /// The backgound color to use. + /// The background color to use. /// The characters to be written. public override void Write( ConsoleColor foregroundColor, @@ -992,7 +990,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Writes a line of characters to the output display of the host /// with foreground and background colors and appends a newline (carriage return). /// - /// The forground color of the display. + /// The foreground color of the display. /// The background color of the display. /// The line to be written. public override void WriteLine( @@ -1122,7 +1120,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// This is a private worker function splits out the /// accelerator keys from the menu and builds a two - /// dimentional array with the first access containing the + /// dimensional array with the first access containing the /// accelerator and the second containing the label string /// with the & removed. /// @@ -1212,7 +1210,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// Gets or sets the foreground color of the text to be written. - /// This maps to the corresponding Console.ForgroundColor property. + /// This maps to the corresponding Console.ForegroundColor property. /// public override ConsoleColor ForegroundColor { @@ -1363,7 +1361,7 @@ namespace Microsoft.Samples.PowerShell.Host ## See Also - [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) + [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) diff --git a/developer/hosting/host06-sample.md b/developer/hosting/host06-sample.md index b19595170cc8..634bd7645cd2 100644 --- a/developer/hosting/host06-sample.md +++ b/developer/hosting/host06-sample.md @@ -21,7 +21,7 @@ This sample shows how to build an interactive console-based host application tha ## Demonstrates -- Creating a custom host whose classes derive from the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. +- Creating a custom host whose classes derive from the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class, the [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) class, and the [System.Management.Automation.Host.Pshostrawuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostRawUserInterface) class. - Building a console application that uses these host classes to build an interactive Windows PowerShell shell. @@ -37,7 +37,6 @@ This sample shows how to build an interactive console-based host application tha - Implement the [System.Management.Automation.Host.Ihostuisupportsmultiplechoiceselection](/dotnet/api/System.Management.Automation.Host.IHostUISupportsMultipleChoiceSelection) interface. -- Implement the [System.Management.Automation.Host.Ihostsupportsinteractivesession](/dotnet/api/System.Management.Automation.Host.IHostSupportsInteractiveSession) interface to support interactive remoting by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets. - Implement the [System.Management.Automation.Host.Ihostsupportsinteractivesession](/dotnet/api/System.Management.Automation.Host.IHostSupportsInteractiveSession) interface to support interactive remoting by using the [Enter-PsSession](/powershell/module/Microsoft.PowerShell.Core/Enter-PSSession) and [Exit-PsSession](/powershell/module/Microsoft.PowerShell.Core/Exit-PSSession) cmdlets. - Use the Tokenize API to colorize the command line as it is typed. @@ -71,7 +70,7 @@ namespace Microsoft.Samples.PowerShell.Host internal ConsoleReadLine consoleReadLine = new ConsoleReadLine(); /// - /// Holds a reference to the runspace for this interpeter. + /// Holds a reference to the runspace for this interpreter. /// internal Runspace myRunSpace; @@ -192,7 +191,7 @@ namespace Microsoft.Samples.PowerShell.Host /// A helper class that builds and executes a pipeline that writes /// to the default output path. Any exceptions that are thrown are /// just passed to the caller. Since all output goes to the default - /// outter, this method does not return anything. + /// outputter, this method does not return anything. /// /// The script to run. /// Any input arguments to pass to the script. @@ -407,7 +406,7 @@ namespace Microsoft.Samples.PowerShell.Host ## Example - The following code is the implementation of the [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. + The following code is the implementation of the [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) class that is used by this host application. Those elements that are not implemented throw an exception or return nothing. ```csharp namespace Microsoft.Samples.PowerShell.Host @@ -710,7 +709,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Text that proceeds (a title) the choices. /// A message that describes the choice. /// A collection of ChoiceDescription objects that - /// describ each choice. + /// describe each choice. /// The index of the label in the Choices /// parameter collection. To indicate no default choice, set to -1. /// The index of the Choices parameter collection element that @@ -784,7 +783,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Text that proceeds (a title) the choices. /// A message that describes the choice. /// A collection of ChoiceDescription objects that - /// describ each choice. + /// describe each choice. /// The index of the label in the Choices /// parameter collection. To indicate no default choice, set to -1. /// The index of the Choices parameter collection element that @@ -970,7 +969,7 @@ namespace Microsoft.Samples.PowerShell.Host /// foreground and background colors. /// /// The color of the characters. - /// The backgound color to use. + /// The background color to use. /// The characters to be written. public override void Write( ConsoleColor foregroundColor, @@ -990,7 +989,7 @@ namespace Microsoft.Samples.PowerShell.Host /// Writes a line of characters to the output display of the host /// with foreground and background colors and appends a newline (carriage return). /// - /// The forground color of the display. + /// The foreground color of the display. /// The background color of the display. /// The line to be written. public override void WriteLine( @@ -1120,7 +1119,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// This is a private worker function splits out the /// accelerator keys from the menu and builds a two - /// dimentional array with the first access containing the + /// dimensional array with the first access containing the /// accelerator and the second containing the label string /// with the & removed. /// @@ -1210,7 +1209,7 @@ namespace Microsoft.Samples.PowerShell.Host /// /// Gets or sets the foreground color of the text to be written. - /// This maps to the corresponding Console.ForgroundColor property. + /// This maps to the corresponding Console.ForegroundColor property. /// public override ConsoleColor ForegroundColor { @@ -1523,7 +1522,7 @@ namespace Microsoft.Samples.PowerShell.Host } /// - /// The End key was enetered.. + /// The End key was entered.. /// private void OnEnd() { @@ -1532,7 +1531,7 @@ namespace Microsoft.Samples.PowerShell.Host } /// - /// The Home key was eneterd. + /// The Home key was entered. /// private void OnHome() { @@ -1541,7 +1540,7 @@ namespace Microsoft.Samples.PowerShell.Host } /// - /// The Escape key was enetered. + /// The Escape key was entered. /// private void OnEscape() { @@ -1562,12 +1561,12 @@ namespace Microsoft.Samples.PowerShell.Host // Move back to the start of the previous word. if (this.buffer.Length > 0 && this.current != 0) { - bool nonLetter = IsSeperator(this.buffer[this.current - 1]); + bool nonLetter = IsSeparator(this.buffer[this.current - 1]); while (this.current > 0 && (this.current - 1 < this.buffer.Length)) { this.MoveLeft(); - if (IsSeperator(this.buffer[this.current]) != nonLetter) + if (IsSeparator(this.buffer[this.current]) != nonLetter) { if (!nonLetter) { @@ -1587,12 +1586,12 @@ namespace Microsoft.Samples.PowerShell.Host } /// - /// Determines if a character is a seperator. + /// Determines if a character is a separator. /// /// Character to investigate. /// A value that indicates whether the character - /// is a seperator. - private static bool IsSeperator(char ch) + /// is a separator. + private static bool IsSeparator(char ch) { return !Char.IsLetter(ch); } @@ -1609,7 +1608,7 @@ namespace Microsoft.Samples.PowerShell.Host // Move to the next word. if (this.buffer.Length != 0 && this.current < this.buffer.Length) { - bool nonLetter = IsSeperator(this.buffer[this.current]); + bool nonLetter = IsSeparator(this.buffer[this.current]); while (this.current < this.buffer.Length) { this.MoveRight(); @@ -1619,7 +1618,7 @@ namespace Microsoft.Samples.PowerShell.Host break; } - if (IsSeperator(this.buffer[this.current]) != nonLetter) + if (IsSeparator(this.buffer[this.current]) != nonLetter) { if (nonLetter) { @@ -1842,7 +1841,7 @@ namespace Microsoft.Samples.PowerShell.Host ## See Also - [System.Management.Automation.Host.Pshost](/dotnet/api/System.Management.Automation.Host.PSHost) + [System.Management.Automation.Host.PSHost](/dotnet/api/System.Management.Automation.Host.PSHost) [System.Management.Automation.Host.Pshostuserinterface](/dotnet/api/System.Management.Automation.Host.PSHostUserInterface) diff --git a/developer/hosting/remote-runspace-samples.md b/developer/hosting/remote-runspace-samples.md index 3def8b8deae8..9b3775f5e5c0 100644 --- a/developer/hosting/remote-runspace-samples.md +++ b/developer/hosting/remote-runspace-samples.md @@ -17,7 +17,6 @@ This section includes sample code that shows how to create runspaces that can be > [!NOTE] > For more information about running commands on a remote computer, see [Windows PowerShell Remoting](https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85).aspx). -> For more information about running commands on a remote computer, see [Windows PowerShell Remoting](https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85). [RemoteRunspace01 Sample](./remoterunspace01-sample.md) This sample shows how to create a remote runspace that is used to establish a remote connection. diff --git a/developer/hosting/remoterunspace01-sample.md b/developer/hosting/remoterunspace01-sample.md index 542accd63f22..f8e064db1499 100644 --- a/developer/hosting/remoterunspace01-sample.md +++ b/developer/hosting/remoterunspace01-sample.md @@ -29,7 +29,7 @@ This sample shows how to create a remote runspace that is used to establish a re ## Example - This sample defines a remote connection and then uses that connection information to establish a remote connection. +This sample defines a remote connection and then uses that connection information to establish a remote connection. ```csharp namespace Microsoft.Samples.PowerShell.Runspaces @@ -39,7 +39,7 @@ namespace Microsoft.Samples.PowerShell.Runspaces using System.Management.Automation.Runspaces; // Windows PowerShell namespace. /// - /// This class contains the Main enrty point for the application. + /// This class contains the Main entry point for the application. /// internal class RemoteRunspace01 { @@ -50,12 +50,12 @@ namespace Microsoft.Samples.PowerShell.Runspaces /// This parameter is not used. public static void Main(string[] args) { - // Create a WSManConnactionInfo object using the default constructor + // Create a WSManConnectionInfo object using the default constructor // to connect to the "localHost". The WSManConnectionInfo object can // also specify connections to remote computers. WSManConnectionInfo connectionInfo = new WSManConnectionInfo(); - // Set the OpertationTimeout property. The OperationTimeout is used to tell + // Set the OperationTimeout property. The OperationTimeout is used to tell // Windows PowerShell how long to wait (in milliseconds) before timing out // for any operation. This includes sending input data to the remote computer, // receiving output data from the remote computer, and more. The user can @@ -91,5 +91,3 @@ namespace Microsoft.Samples.PowerShell.Runspaces } } ``` - -## See Also diff --git a/developer/hosting/remoterunspacepool01-sample.md b/developer/hosting/remoterunspacepool01-sample.md index 140f31ffdcc4..fa34db2bb3f8 100644 --- a/developer/hosting/remoterunspacepool01-sample.md +++ b/developer/hosting/remoterunspacepool01-sample.md @@ -25,7 +25,6 @@ This sample shows how to construct a remote runspace pool and how to run multipl - Creating a remote runspace that uses the [System.Management.Automation.Runspaces.Wsmanconnectioninfo](/dotnet/api/System.Management.Automation.Runspaces.WSManConnectionInfo) object to establish the remote connection. -- Running the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) and [Get-Service](/powershell/module/microsoft.powershell.management/get-service) cmdlets concurrently by using the remote runspace pool. - Running the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) and [Get-Service](/powershell/module/microsoft.powershell.management/get-service) cmdlets concurrently by using the remote runspace pool. - Closing the remote runspace pool to release the remote connection. @@ -42,7 +41,7 @@ namespace Samples using System.Management.Automation.Runspaces; // Windows PowerShell namespace. /// - /// This class contains the Main enrty point for the application. + /// This class contains the Main entry point for the application. /// internal class RemoteRunspacePool01 { diff --git a/developer/hosting/runspace01-sample.md b/developer/hosting/runspace01-sample.md index d22f3b176c87..d5e8dccdb0af 100644 --- a/developer/hosting/runspace01-sample.md +++ b/developer/hosting/runspace01-sample.md @@ -25,7 +25,7 @@ This sample shows how to use the [System.Management.Automation.Powershell](/dotn - Running the command synchronously. -- Using [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects to extract properties from the objects returned by the command. +- Using [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects to extract properties from the objects returned by the command. ## Example diff --git a/developer/hosting/runspace03-sample.md b/developer/hosting/runspace03-sample.md index 9c7d3ebbfe11..f8936ba87217 100644 --- a/developer/hosting/runspace03-sample.md +++ b/developer/hosting/runspace03-sample.md @@ -29,7 +29,7 @@ This sample demonstrates the following. - Running the script synchronously. -- Using [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects to extract and display properties from the objects returned by the script. +- Using [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects to extract and display properties from the objects returned by the script. - Retrieving and displaying error records that were generated when the script was run. diff --git a/developer/hosting/runspace04-sample.md b/developer/hosting/runspace04-sample.md index d06e01de91fb..e08cccfb0e85 100644 --- a/developer/hosting/runspace04-sample.md +++ b/developer/hosting/runspace04-sample.md @@ -29,7 +29,7 @@ This sample demonstrates the following. - Invoking the commands synchronously. -- Using [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects to extract and display properties from the objects returned by the commands. +- Using [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects to extract and display properties from the objects returned by the commands. - Retrieving and displaying error records that were generated during the running of the commands. diff --git a/developer/hosting/runspace05-sample.md b/developer/hosting/runspace05-sample.md index dff6b10370e0..c42f0ab48aa4 100644 --- a/developer/hosting/runspace05-sample.md +++ b/developer/hosting/runspace05-sample.md @@ -33,7 +33,7 @@ This sample demonstrates the following. - Running the command synchronously. -- Extracting properties from the [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. +- Extracting properties from the [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. ## Example diff --git a/developer/hosting/runspace06-sample.md b/developer/hosting/runspace06-sample.md index db4473e57c38..d130aa2a6960 100644 --- a/developer/hosting/runspace06-sample.md +++ b/developer/hosting/runspace06-sample.md @@ -33,7 +33,7 @@ This sample demonstrates the following. - Running the command synchronously. -- Extracting properties from the [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. +- Extracting properties from the [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. ## Example diff --git a/developer/hosting/runspace07-sample.md b/developer/hosting/runspace07-sample.md index 8e2e4c4eb4a9..aedbf81aafdc 100644 --- a/developer/hosting/runspace07-sample.md +++ b/developer/hosting/runspace07-sample.md @@ -29,11 +29,11 @@ This sample demonstrates the following. - Running the cmdlets synchronously. -- Extracting properties from the [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. +- Extracting properties from the [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. ## Example -This sample creates a runspace that used by a [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) object to run the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) and [Measure-Object](/powershell/module/microsoft.powershell.utility/measure-object) cmdlets. +This sample creates a runspace that used by a [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) object to run the [Get-Process](/powershell/module/Microsoft.PowerShell.Management/Get-Process) and [Measure-Object](/powershell/module/microsoft.powershell.utility/measure-object) cmdlets. ```csharp namespace Microsoft.Samples.PowerShell.Runspaces diff --git a/developer/hosting/runspace08-sample.md b/developer/hosting/runspace08-sample.md index f29ee1116acc..5b7eda318718 100644 --- a/developer/hosting/runspace08-sample.md +++ b/developer/hosting/runspace08-sample.md @@ -29,7 +29,7 @@ This sample demonstrates the following. - Running the cmdlets synchronously. -- Extracting properties from the [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. +- Extracting properties from the [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. ## Example diff --git a/developer/hosting/runspace10-sample.md b/developer/hosting/runspace10-sample.md index 5079d3f5859d..c821a93fd0da 100644 --- a/developer/hosting/runspace10-sample.md +++ b/developer/hosting/runspace10-sample.md @@ -31,7 +31,7 @@ This sample demonstrates the following. - Adding the command to the pipeline of the [System.Management.Automation.Powershell](/dotnet/api/system.management.automation.powershell) object. -- Extracting properties from the [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. +- Extracting properties from the [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) objects returned by the command. ## Example diff --git a/developer/hosting/runspace11-sample.md b/developer/hosting/runspace11-sample.md index ee913a17b000..c2dcd33e04a7 100644 --- a/developer/hosting/runspace11-sample.md +++ b/developer/hosting/runspace11-sample.md @@ -140,7 +140,7 @@ namespace Microsoft.Samples.PowerShell.Runspaces /// private static void Main() { - // Create a default initial session state. The default inital session state + // Create a default initial session state. The default initial session state // includes all the elements that are provided by Windows PowerShell. InitialSessionState iss = InitialSessionState.CreateDefault(); @@ -151,7 +151,7 @@ namespace Microsoft.Samples.PowerShell.Runspaces // Make the cmdlet private so that it is not accessible. cmdletEntry.Visibility = SessionStateEntryVisibility.Private; - // Set the language mode of the initial session state to NoLanguge to + // Set the language mode of the initial session state to NoLanguage to //prevent users from using language features. Only the invocation of // public commands is allowed. iss.LanguageMode = PSLanguageMode.NoLanguage; diff --git a/developer/hosting/windows-powershell-host-quickstart.md b/developer/hosting/windows-powershell-host-quickstart.md index f9859b7d5237..12f1369a0f85 100644 --- a/developer/hosting/windows-powershell-host-quickstart.md +++ b/developer/hosting/windows-powershell-host-quickstart.md @@ -11,7 +11,11 @@ caps.latest.revision: 9 --- # Windows PowerShell Host Quickstart -To host Windows PowerShell in your application, you use the [System.Management.Automation.PowerShell](/dotnet/api/System.Management.Automation.PowerShell) class. This class provides methods that create a pipeline of commands and then execute those commands in a runspace. The simplest way to create a host application is to use the default runspace. The default runspace contains all of the core Windows PowerShell commands. If you want your application to expose only a subset of the Windows PowerShell commands, you must create a custom runspace. +To host Windows PowerShell in your application, you use the [System.Management.Automation.PowerShell](/dotnet/api/System.Management.Automation.PowerShell) class. +This class provides methods that create a pipeline of commands and then execute those commands in a runspace. +The simplest way to create a host application is to use the default runspace. +The default runspace contains all of the core Windows PowerShell commands. +If you want your application to expose only a subset of the Windows PowerShell commands, you must create a custom runspace. ## Using the default runspace @@ -19,7 +23,9 @@ To start, we'll use the default runspace, and use the methods of the [System.Man ### AddCommand -You use the [System.Management.Automation.Powershell.AddCommand*](/dotnet/api/System.Management.Automation.PowerShell.AddCommand) method of the [System.Management.Automation.PowerShell](/dotnet/api/System.Management.Automation.PowerShell) class to add commands to the pipeline. For example, suppose you want to get the list of running processes on the machine. The way to run this command is as follows. +You use the [System.Management.Automation.Powershell.AddCommand](/dotnet/api/System.Management.Automation.PowerShell.AddCommand) method to add commands to the pipeline. +For example, suppose you want to get the list of running processes on the machine. +The way to run this command is as follows. 1. Create a [System.Management.Automation.PowerShell](/dotnet/api/System.Management.Automation.PowerShell) object. @@ -39,11 +45,14 @@ You use the [System.Management.Automation.Powershell.AddCommand*](/dotnet/api/Sy ps.Invoke(); ``` -If you call the [System.Management.Automation.Powershell.AddCommand*](/dotnet/api/System.Management.Automation.PowerShell.AddCommand) method more than once before you call the [System.Management.Automation.Powershell.Invoke*](/dotnet/api/System.Management.Automation.PowerShell.Invoke) method, the result of the first command is piped to the second, and so on. If you do not want to pipe the result of a previous command to a command, add it by calling the [System.Management.Automation.Powershell.AddStatement*](/dotnet/api/System.Management.Automation.PowerShell.AddStatement) instead. +If you call the AddCommand method more than once before you call the [System.Management.Automation.Powershell.Invoke](/dotnet/api/System.Management.Automation.PowerShell.Invoke) method, the result of the first command is piped to the second, and so on. +If you do not want to pipe the result of a previous command to a command, add it by calling the [System.Management.Automation.Powershell.AddStatement](/dotnet/api/System.Management.Automation.PowerShell.AddStatement) instead. ### AddParameter -The previous example executes a single command without any parameters. You can add parameters to the command by using the [System.Management.Automation.PSCommand.AddParameter*](/dotnet/api/System.Management.Automation.PSCommand.AddParameter) method For example, the following code gets a list of all of the processes that are named `PowerShell` running on the machine. +The previous example executes a single command without any parameters. +You can add parameters to the command by using the [System.Management.Automation.PSCommand.AddParameter](/dotnet/api/System.Management.Automation.PSCommand.AddParameter) method. +For example, the following code gets a list of all of the processes that are named `PowerShell` running on the machine. ```csharp PowerShell.Create().AddCommand("Get-Process") @@ -51,22 +60,22 @@ PowerShell.Create().AddCommand("Get-Process") .Invoke(); ``` -You can add additional parameters by calling [System.Management.Automation.PSCommand.AddParameter*](/dotnet/api/System.Management.Automation.PSCommand.AddParameter) repeatedly. +You can add additional parameters by calling the AddParameter method repeatedly. -```csharp -PowerShell.Create().AddCommand("Get-Process") - .AddParameter("Name", "PowerShell") - .AddParameter("Id", "12768") +```csharp +PowerShell.Create().AddCommand("Get-ChildItem") + .AddParameter("Path", @"c:\Windows") + .AddParameter("Filter", "*.exe") .Invoke(); ``` -You can also add a dictionary of parameter names and values by calling the [System.Management.Automation.PowerShell.AddParameters*](/dotnet/api/System.Management.Automation.PowerShell.AddParameters) method. +You can also add a dictionary of parameter names and values by calling the [System.Management.Automation.PowerShell.AddParameters](/dotnet/api/System.Management.Automation.PowerShell.AddParameters) method. ```csharp IDictionary parameters = new Dictionary(); -parameters.Add("Name", "PowerShell"); +parameters.Add("Path", @"c:\Windows"); +parameters.Add("Filter", "*.exe"); -parameters.Add("Id", "12768"); PowerShell.Create().AddCommand("Get-Process") .AddParameters(parameters) .Invoke() @@ -75,7 +84,8 @@ PowerShell.Create().AddCommand("Get-Process") ### AddStatement -You can simulate batching by using the [System.Management.Automation.PowerShell.AddStatement*](/dotnet/api/System.Management.Automation.PowerShell.AddStatement) method, which adds an additional statement to the end of the pipeline The following code gets a list of running processes with the name `PowerShell`, and then gets the list of running services. +You can simulate batching by using the [System.Management.Automation.PowerShell.AddStatement](/dotnet/api/System.Management.Automation.PowerShell.AddStatement) method, which adds an additional statement to the end of the pipeline. +The following code gets a list of running processes with the name `PowerShell`, and then gets the list of running services. ```csharp PowerShell ps = PowerShell.Create(); @@ -86,14 +96,18 @@ ps.Invoke(); ### AddScript -You can run an existing script by calling the [System.Management.Automation.PowerShell.AddScript*](/dotnet/api/System.Management.Automation.PowerShell.AddScript) method. The following example adds a script to the pipeline and runs it. This example assumes there is already a script named `MyScript.ps1` in a folder named `D:\PSScripts`. +You can run an existing script by calling the [System.Management.Automation.PowerShell.AddScript](/dotnet/api/System.Management.Automation.PowerShell.AddScript) method. +The following example adds a script to the pipeline and runs it. +This example assumes there is already a script named `MyScript.ps1` in a folder named `D:\PSScripts`. ```csharp PowerShell ps = PowerShell.Create(); ps.AddScript("D:\PSScripts\MyScript.ps1").Invoke(); ``` -There is also a version of the [System.Management.Automation.PowerShell.AddScript*](/dotnet/api/System.Management.Automation.PowerShell.AddScript) method that takes a boolean parameter named `useLocalScope`. If this parameter is set to `true`, then the script is run in the local scope. The following code will run the script in the local scope. +There is also a version of the AddScript method that takes a boolean parameter named `useLocalScope`. +If this parameter is set to `true`, then the script is run in the local scope. +The following code will run the script in the local scope. ```csharp PowerShell ps = PowerShell.Create(); @@ -102,11 +116,15 @@ ps.AddScript(@"D:\PSScripts\MyScript.ps1", true).Invoke(); ## Creating a custom runspace -While the default runspace used in the previous examples loads all of the core Windows PowerShell commands, you can create a custom runspace that loads only a specified subset of all commands. You might want to do this to improve performance (loading a larger number of commands is a performance hit), or to restrict the capability of the user to perform operations. A runspace that exposes only a limited number of commands is called a constrained runspace. To create a constrained runspace, you use the [System.Management.Automation.Runspaces.Runspace](/dotnet/api/System.Management.Automation.Runspaces.Runspace) and [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) classes. +While the default runspace used in the previous examples loads all of the core Windows PowerShell commands, you can create a custom runspace that loads only a specified subset of all commands. +You might want to do this to improve performance (loading a larger number of commands is a performance hit), or to restrict the capability of the user to perform operations. +A runspace that exposes only a limited number of commands is called a constrained runspace. +To create a constrained runspace, you use the [System.Management.Automation.Runspaces.Runspace](/dotnet/api/System.Management.Automation.Runspaces.Runspace) and [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) classes. ### Creating an InitialSessionState object -To create a custom runspace, you must first create an [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) object. In the following example, we use the [System.Management.Automation.Runspaces.RunspaceFactory](/dotnet/api/System.Management.Automation.Runspaces.RunspaceFactory) to create a ruspace after creating a default [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) object. +To create a custom runspace, you must first create an [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) object. +In the following example, we use the [System.Management.Automation.Runspaces.RunspaceFactory](/dotnet/api/System.Management.Automation.Runspaces.RunspaceFactory) to create a runspace after creating a default InitialSessionState object. ```csharp InitialSessionState iss = InitialSessionState.CreateDefault(); @@ -120,11 +138,15 @@ ps.Invoke(); ### Constraining the runspace -In the previous example, we created a default [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) object that loads all of the built-in core Windows PowerShell. We could also have called the [System.Management.Automation.Runspaces.InitialSessionState.CreateDefault2*](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState.CreateDefault2) method to create an InitialSessionState object that would load only the commands in the Mirosoft.PowerShell.Core snapin. To create a more constrained runspace, you must create an empty [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) object by calling the [System.Management.Automation.Runspaces.InitialSessionState.Create*](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState.Create) method, and then add commands to the InitialSessionState. +In the previous example, we created a default [System.Management.Automation.Runspaces.InitialSessionState](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState) object that loads all of the built-in core Windows PowerShell. +We could also have called the [System.Management.Automation.Runspaces.InitialSessionState.CreateDefault2](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState.CreateDefault2) method to create an InitialSessionState object that would load only the commands in the Microsoft.PowerShell.Core snapin. +To create a more constrained runspace, you must create an empty InitialSessionState object by calling the [System.Management.Automation.Runspaces.InitialSessionState.Create](/dotnet/api/System.Management.Automation.Runspaces.InitialSessionState.Create) method, and then add commands to the InitialSessionState. Using a runspace that loads only the commands that you specify provides significantly improved performance. -You use the methods of the [System.Management.Automation.Runspaces.SessionStateCmdletEntry](/dotnet/api/System.Management.Automation.Runspaces.SessionStateCmdletEntry) class to define cmdlets for the initial session state. The following example creates an empty initial session state, then defines and adds the `Get-Command` and `Import-Module` commands to the initial session state. We then create a runspace constrained by that initial session state, and execute the commands in that runspace. +You use the methods of the [System.Management.Automation.Runspaces.SessionStateCmdletEntry](/dotnet/api/System.Management.Automation.Runspaces.SessionStateCmdletEntry) class to define cmdlets for the initial session state. +The following example creates an empty initial session state, then defines and adds the `Get-Command` and `Import-Module` commands to the initial session state. +We then create a runspace constrained by that initial session state, and execute the commands in that runspace. Create the initial session state. diff --git a/developer/hosting/writing-a-windows-powershell-host-application.md b/developer/hosting/writing-a-windows-powershell-host-application.md index cd7984772799..d9df19463e38 100644 --- a/developer/hosting/writing-a-windows-powershell-host-application.md +++ b/developer/hosting/writing-a-windows-powershell-host-application.md @@ -13,7 +13,7 @@ caps.latest.revision: 15 You can host Windows PowerShell in your application. The host application can define the runspace where commands are run, open sessions on a local or remote computer, and invoke the commands either synchronously or asynchronously based on the needs of the application. -The following topics explain how to create an application that hosts +The following topics explain how to create an application that hosts Windows PowerShell. ## In This Section @@ -27,7 +27,7 @@ A set of topics that explain how to create runspaces to run Windows PowerShell c Explains how to create and run a command pipeline in your host application.. [Creating remote runspaces](./creating-remote-runspaces.md) -Expains how to connect a runspace to a remote computer. +Explains how to connect a runspace to a remote computer. [Creating a custom user interface](./creating-a-custom-user-interface.md) Introduces custom user interfaces and provides links to examples. @@ -37,4 +37,4 @@ This section includes samples of complete host applications. ## See Also -[Windows PowerShell](http://msdn.microsoft.com/en-us/b41a2af3-aec1-402d-8e18-c2c26be461ff) \ No newline at end of file +[Windows PowerShell](http://msdn.microsoft.com/en-us/b41a2af3-aec1-402d-8e18-c2c26be461ff) diff --git a/developer/module/file-types-permitted-in-an-updatable-help-cab-file.md b/developer/module/file-types-permitted-in-an-updatable-help-cab-file.md index a43cafe37485..9ff629c5e541 100644 --- a/developer/module/file-types-permitted-in-an-updatable-help-cab-file.md +++ b/developer/module/file-types-permitted-in-an-updatable-help-cab-file.md @@ -17,10 +17,8 @@ This topics lists and describes the content requirements for Updatable Help CAB ## Updatable Help CAB File Requirements -Uncompressed CAB file content is limited to 1 GB by default. To bypass this limit, users have to use the **Force** parameter of the [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlets. Uncompressed CAB file content is limited to 1 GB by default. To bypass this limit, users have to use the **Force** parameter of the [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlets. -To assure the security of help files that are downloaded from the Internet, an Updatable Help CAB file can include only the file types listed below. The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet validates all files against the help topic schemas. If the `Update-Help` cmdlet encounters a file that is invalid or is not a permitted type, it does not install the invalid file and stops installing files from the CAB on the user's computer. To assure the security of help files that are downloaded from the Internet, an Updatable Help CAB file can include only the file types listed below. The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet validates all files against the help topic schemas. If the `Update-Help` cmdlet encounters a file that is invalid or is not a permitted type, it does not install the invalid file and stops installing files from the CAB on the user's computer. - XML-based help topics for cmdlets. @@ -31,5 +29,4 @@ To assure the security of help files that are downloaded from the Internet, an U - Text-based help topics, such as About topics. -The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) verifies the CAB contents when it unpacks the CAB. If `Update-Help` finds non-compliant file types in an Updatable Help CAB file, it generates a terminating error and stops the operation. It does not install any help files from the CAB, even those of compliant file types. The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) verifies the CAB contents when it unpacks the CAB. If `Update-Help` finds non-compliant file types in an Updatable Help CAB file, it generates a terminating error and stops the operation. It does not install any help files from the CAB, even those of compliant file types. \ No newline at end of file diff --git a/developer/module/how-to-name-a-helpinfo-xml-file.md b/developer/module/how-to-name-a-helpinfo-xml-file.md index 07b2c6e634ee..a2000d6c76a7 100644 --- a/developer/module/how-to-name-a-helpinfo-xml-file.md +++ b/developer/module/how-to-name-a-helpinfo-xml-file.md @@ -23,7 +23,6 @@ The elements of the name are as follows. ModuleName The value of the **Name** property of the **ModuleInfo** object that the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) cmdlet returns. -The value of the **Name** property of the **ModuleInfo** object that the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) cmdlet returns. ModuleGUID The value of the **GUID** key in the module manifest. diff --git a/developer/module/how-to-name-an-updatable-help-cab-file.md b/developer/module/how-to-name-an-updatable-help-cab-file.md index abe8c5477459..5b7a2541d8dd 100644 --- a/developer/module/how-to-name-an-updatable-help-cab-file.md +++ b/developer/module/how-to-name-an-updatable-help-cab-file.md @@ -23,7 +23,6 @@ The elements of the name are as follows. ModuleName The value of the **Name** property of the **ModuleInfo** object that the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) cmdlet returns. -The value of the **Name** property of the **ModuleInfo** object that the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) cmdlet returns. ModuleGUID The value of the **GUID** key in the module manifest. diff --git a/developer/module/how-to-set-helpinfo-xml-version-numbers.md b/developer/module/how-to-set-helpinfo-xml-version-numbers.md index ab6fb7189b3c..c360b290fc84 100644 --- a/developer/module/how-to-set-helpinfo-xml-version-numbers.md +++ b/developer/module/how-to-set-helpinfo-xml-version-numbers.md @@ -15,8 +15,8 @@ This topic explains how to set and increase the version numbers in an Updatable ## How to Set HelpInfo XML Version Numbers -The version numbers in a HelpInfo XML file are critical to the operation of Updatable Help. The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlets download new help files only when the version number for a UI culture in the remote HelpInfo XML file is greater than the version number for that UI culture in the local HelpInfo XML, or there is no local HelpInfo XML file. -The version numbers in a HelpInfo XML file are critical to the operation of Updatable Help. The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlets download new help files only when the version number for a UI culture in the remote HelpInfo XML file is greater than the version number for that UI culture in the local HelpInfo XML, or there is no local HelpInfo XML file. +The version numbers in a HelpInfo XML file are critical to the operation of Updatable Help. +The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlets download new help files only when the version number for a UI culture in the remote HelpInfo XML file is greater than the version number for that UI culture in the local HelpInfo XML, or there is no local HelpInfo XML file. The HelpInfo XML file uses the 4-part version number that is defined in the **System.Version** class of the Microsoft .NET Framework. The format is `N1.N2.N3.N4`. Module authors can use any version numbering scheme that is permitted by the **System.Version** class. Updatable Help requires only that the version number for a UI culture increase when a new version of the CAB file for that UI culture is uploaded to the location that is specified by the **HelpContentURI** element in the HelpInfo XML file. diff --git a/developer/module/how-to-test-updatable-help.md b/developer/module/how-to-test-updatable-help.md index f30d367775b7..083e5c1064d8 100644 --- a/developer/module/how-to-test-updatable-help.md +++ b/developer/module/how-to-test-updatable-help.md @@ -15,7 +15,6 @@ This topic describes approaches to testing Updatable Help for a module. ## Using Verbose to Detect Errors -After uploading the HelpInfo XML file and CAB files for your module, test the files by running an [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) command with the **Verbose** parameter. The **Verbose** parameter directs `Update-Help` to report the critical steps in its actions, from reading the **HelpInfoUri** key in the module manifest to validating the file types in the unpacked CAB file and placing the files in the language-specific module directory. After uploading the HelpInfo XML file and CAB files for your module, test the files by running an [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) command with the **Verbose** parameter. The **Verbose** parameter directs `Update-Help` to report the critical steps in its actions, from reading the **HelpInfoUri** key in the module manifest to validating the file types in the unpacked CAB file and placing the files in the language-specific module directory. When all verbose messages are resolved, run an `Update-Help` command with the **Debug** parameter. This parameter should detect any remaining problems with the Updatable Help files. \ No newline at end of file diff --git a/developer/module/how-to-write-a-powershell-binary-module.md b/developer/module/how-to-write-a-powershell-binary-module.md index d19c7704e835..611e7a585510 100644 --- a/developer/module/how-to-write-a-powershell-binary-module.md +++ b/developer/module/how-to-write-a-powershell-binary-module.md @@ -23,7 +23,10 @@ The following procedure describes how to create and install a PowerShell binary 2. If necessary, create the rest of your solution: (additional cmdlets, XML files, and so on) and describe them with a module manifest. - In addition to describing the cmdlet assemblies in your solution, a module manifest can describe how you want your module exported and imported, what cmdlets will be exposed, and what additional files will go into the module. As stated previously however, PowerShell can treat a binary cmdlet like a module with no additional effort. As such, a module manifest is useful mainly for combining multiple files into a single package, or for explicitly controlling publication for a given assembly. For more information, see [How to Write a PowerShell Module Manifest](http://msdn.microsoft.com/en-us/abe4c24b-e64e-4a61-81d5-18c4fceba0b6). + In addition to describing the cmdlet assemblies in your solution, a module manifest can describe how you want your module exported and imported, what cmdlets will be exposed, and what additional files will go into the module. + As stated previously however, PowerShell can treat a binary cmdlet like a module with no additional effort. + As such, a module manifest is useful mainly for combining multiple files into a single package, or for explicitly controlling publication for a given assembly. + For more information, see [How to Write a PowerShell Module Manifest](how-to-write-a-powershell-module-manifest.md). The following code is an extremely simple C# code block that contains three cmdlets in the same file that can be used as a module. @@ -68,7 +71,7 @@ The following procedure describes how to create and install a PowerShell binary Note that technically you do not need to install your module anywhere on the `PSModulePath` - those are simply the default locations that PowerShell will look for your module. However, it is considered best practice to do so, unless you have a good reason for storing your module somewhere else. For more information, see [Installing a PowerShell Module](./installing-a-powershell-module.md) and [Modifying the PowerShell Module Installation Path](./modifying-the-psmodulepath-installation-path.md). -4. Import your module into PowerShell with a call to to [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module). +4. Import your module into PowerShell with a call to [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module). Calling to [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) will load your module into active memory. If you are using PowerShell 3.0 and later, simply calling the name of your module in code will also import it; for more information, see [Importing a PowerShell Module](./importing-a-powershell-module.md). @@ -76,7 +79,9 @@ The following procedure describes how to create and install a PowerShell binary Cmdlets and providers that exist in snap-in assemblies can be loaded as binary modules. When the snap-in assemblies are loaded as binary modules, the cmdlets and providers in the snap-in are available to the user, but the snap-in class in the assembly is ignored, and the snap-in is not registered. As a result, the snap-in cmdlets provided by Windows PowerShell cannot detect the snap-in even though the cmdlets and providers are available to the session. -In addition, any formatting or types files that are referenced by the snap-in cannot be imported as part of a binary module. To import the formatting and types files you must create a module manifest. See, [How to Write a PowerShell Module Manifest](http://msdn.microsoft.com/en-us/abe4c24b-e64e-4a61-81d5-18c4fceba0b6). +In addition, any formatting or types files that are referenced by the snap-in cannot be imported as part of a binary module. +To import the formatting and types files you must create a module manifest. +See, [How to Write a PowerShell Module Manifest](how-to-write-a-powershell-module-manifest.md). ## See Also diff --git a/developer/module/how-to-write-a-powershell-module-manifest.md b/developer/module/how-to-write-a-powershell-module-manifest.md index 8e21a2a25841..d012b7a0b1c4 100644 --- a/developer/module/how-to-write-a-powershell-module-manifest.md +++ b/developer/module/how-to-write-a-powershell-module-manifest.md @@ -71,10 +71,10 @@ The following table describes the elements you can have in a module manifest |PowerShellVersion

Type: string|' '|Minimum version of the Windows PowerShell engine required by this module. Current valid values are 1.0, 2.0, 3.0, 4.0, and 5.0.

Example: `PowerShellVersion = '5.0'`| |PowerShellHostName

Type: string|' '|Specifies the name of the Windows PowerShell host that is required by the module. This name is provided by Windows PowerShell. To find the name of a host program, in the program, type: `$host.name` .

Example: `PowerShellHostName = 'Windows PowerShell ISE Host'`| |PowerShellHostVersion

Type: string|' '|Minimum version of the Windows PowerShell host required by this module.

Example: `PowerShellHostVersion = '2.0'`| -|DotNetFrameworkVersion

Type: string|' '|Minimum version of Microsoft .NET Framework required by this module.

Example: `DotNetFrameorkVersion = '3.5'`| +|DotNetFrameworkVersion

Type: string|' '|Minimum version of Microsoft .NET Framework required by this module.

Example: `DotNetFrameworkVersion = '3.5'`| |CLRVersion

Type: string|' '|Minimum version of the common language runtime (CLR) required by this module.

Example: `CLRVersion = '3.5'`| |ProcessorArchitecture

Type: string|' '|Processor architecture (None, X86, Amd64) required by this module. Valid values are x86, AMD64, IA64, and None (unknown or unspecified).

Example: `ProcessorArchitecture = 'x86'`| -|RequiredModules

Type: [string[]]|@()|Modules that must be imported into the global environment prior to importing this module. This will load any modules listed unless they have already been loaded. (For example, some modules may already be loaded by a different module.). It is also possible to specify a specific version to load using `RequiredVersion` rather than `ModuleVersion`. When using `ModuleVersion` it will load the newest version available with a minimum of the version specified.

Example: `RequiredModules = @({ModuleName="myDependentModule", ModuleVersion="2.0",Guid="cfc45206-1e49-459d-a8ad-5b571ef94857"})`

Example: `RequiredModules = @({ModuleName="myDependentModule", RequiredVersion="1.5",Guid="cfc45206-1e49-459d-a8ad-5b571ef94857"})`| +|RequiredModules

Type: [string[]]|@()|Modules that must be imported into the global environment prior to importing this module. This will load any modules listed unless they have already been loaded. (For example, some modules may already be loaded by a different module.). It is also possible to specify a specific version to load using `RequiredVersion` rather than `ModuleVersion`. When using `ModuleVersion` it will load the newest version available with a minimum of the version specified.

Example: `RequiredModules = @(@{ModuleName="myDependentModule"; ModuleVersion="2.0"; Guid="cfc45206-1e49-459d-a8ad-5b571ef94857"})`

Example: `RequiredModules = @(@{ModuleName="myDependentModule"; RequiredVersion="1.5"; Guid="cfc45206-1e49-459d-a8ad-5b571ef94857"})`| |RequiredAssemblies

Type: [string[]]|@()|Assemblies that must be loaded prior to importing this module.

Note that unlike RequiredModules, PowerShell will load the RequiredAssemblies if they are not already loaded.| |ScriptsToProcess

Type: [string[]]|@()|Script (.ps1) files that are run in the caller's session state when the module is imported. This could be the global session state or, for nested modules, the session state of another module. You can use these scripts to prepare an environment just as you might use a login script.

These scripts are run before any of the modules listed in the manifest are loaded.| |TypesToProcess

Type: [Object[]]|@()|Type files (.ps1xml) to be loaded when importing this module.| diff --git a/developer/module/how-to-write-a-powershell-script-module.md b/developer/module/how-to-write-a-powershell-script-module.md index c9286d35e2ae..08c1431b61dd 100644 --- a/developer/module/how-to-write-a-powershell-script-module.md +++ b/developer/module/how-to-write-a-powershell-script-module.md @@ -23,7 +23,7 @@ You create a script module by saving a valid PowerShell script to a .psm1 file, Saving a script with the .psm1 extension means that you can use the module cmdlets, such as [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module), on it. These cmdlets exist primarily so that you can easily import and export your code onto other user's systems. (The alternate solution would be to load up your code on other systems and then dot-source it into active memory, which isn't a particularly scalable solution.) For more information see the **Module Cmdlets and Variables** section in [Windows PowerShell Modules](./understanding-a-windows-powershell-module.md) Note that, by default, all functions in your script will be accessible to users who import your .psm1 file, but properties will not. - An example PowerShell script, entitled Get-Calender, is available at the end of this topic. + An example PowerShell script, entitled Show-Calendar, is available at the end of this topic. ```powershell function Show-Calendar { @@ -72,12 +72,10 @@ You create a script module by saving a valid PowerShell script to a .psm1 file, The paths where you can install your module are located in the `$env:PSModulePath` global variable. For example, a common path to save a module on a system would be `%SystemRoot%/users//Documents/WindowsPowerShell/Modules/`. Be sure to create a folder for your module to exist in, even if it is only a single .psm1 file. If you did not save your module to one of these paths, you would have to pass in the location of your module in the call to `Import-Module`. (Otherwise, PowerShell would not be able to find it.) Starting with PowerShell 3.0, if you have placed your module on one of the PowerShell module paths, you do not need to explicitly import it: simply having a user call your function will automatically load it. For more information on the module path, see [Importing a PowerShell Module](./importing-a-powershell-module.md) and [PSModulePath Environment Variable](./modifying-the-psmodulepath-installation-path.md). 7. To remove a module from active service, make a call to [Remove-Module](/powershell/module/Microsoft.PowerShell.Core/Remove-Module). -7. To remove a module from active service, make a call to [Remove-Module](/powershell/module/Microsoft.PowerShell.Core/Remove-Module). -Note that [Remove-Module](/powershell/module/Microsoft.PowerShell.Core/Remove-Module) removes your module from active memory - it does not actually delete it from where you saved the module files. Note that [Remove-Module](/powershell/module/Microsoft.PowerShell.Core/Remove-Module) removes your module from active memory - it does not actually delete it from where you saved the module files. -### Get-Calendar code example +### Show-Calendar code example The following example is a simple script module that contains a single function named Show-Calendar. This function displays a visual representation of a calendar. In addition, the sample contains the PowerShell Help strings for the synopsis, description, parameter values, and example. Note that the last line of code indicates that the Show-Calendar function will be exported as a module member when the module is imported. diff --git a/developer/module/how-updatable-help-works.md b/developer/module/how-updatable-help-works.md index cadfdc4aaea2..d395ca28bb8e 100644 --- a/developer/module/how-updatable-help-works.md +++ b/developer/module/how-updatable-help-works.md @@ -15,7 +15,6 @@ This topic explains how Updatable Help processes the HelpInfo XML file and CAB f ## The Update-Help Process -The following list describes the actions of the [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet when a user runs a command to update the help files for a module in a particular UI culture. The following list describes the actions of the [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet when a user runs a command to update the help files for a module in a particular UI culture. 1. `Update-Help` gets the remote HelpInfo XML file from the location specified by the value of the **HelpInfoURI** key in the module manifest and validates the file against the schema. (To view the schema, see [HelpInfo XML Schema](./helpinfo-xml-schema.md).) Then `Update-Help` looks for a local HelpInfo XML file for the module in the module directory on the user's computer. @@ -30,7 +29,6 @@ The following list describes the actions of the [Update-Help](/powershell/module ## The Save-Help Process -The following list describes the actions of the [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) and [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlets when a user runs commands to update the help files in a file share, and then use those files to update the help files on the user's computer. The following list describes the actions of the [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) and [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlets when a user runs commands to update the help files in a file share, and then use those files to update the help files on the user's computer. The `Save-Help` cmdlet performs the following actions in response to a command to save the help files for a module in a file share that is specified by the **DestinationPath** parameter. diff --git a/developer/module/installing-a-powershell-module.md b/developer/module/installing-a-powershell-module.md index af6119784e6d..6cece0333ee2 100644 --- a/developer/module/installing-a-powershell-module.md +++ b/developer/module/installing-a-powershell-module.md @@ -11,50 +11,56 @@ caps.latest.revision: 28 --- # Installing a PowerShell Module -After you have created your PowerShell module, you will likely want to install the module on a system, so that you or others may use it. Generally speaking, this simply consists of copying the module files (ie, the .psm1, or the binary assembly, the module manifest, and any other associated files) onto a directory on that computer. For a very small project, this may be as simple as copying and pasting the files with Windows Explorer onto a single remote computer; however, for larger solutions you may wish to use a more sophisticated installation process. Regardless of how you get your module onto the system, PowerShell can use a number of techniques that will let users find and use your modules. (For more information, see [Importing a PowerShell Module](./importing-a-powershell-module.md).) Therefore, the main issue for installation is ensuring that PowerShell will be able to find your module. - -This topic contains the following sections: - -- Rules for Installing Modules - -- Where to Install Modules - -- Installing Multiple Versions of a Module - -- Handling Command Name Conflicts +After you have created your PowerShell module, you will likely want to install the module on a +system, so that you or others may use it. Generally speaking, this consists of copying the module +files (ie, the .psm1, or the binary assembly, the module manifest, and any other associated files) +onto a directory on that computer. For a very small project, this may be as simple as copying and +pasting the files with Windows Explorer onto a single remote computer; however, for larger solutions +you may wish to use a more sophisticated installation process. Regardless of how you get your module +onto the system, PowerShell can use a number of techniques that will let users find and use your +modules. Therefore, the main issue for installation is ensuring that PowerShell will be able to find +your module. For more information, see [Importing a PowerShell Module](./importing-a-powershell-module.md). ## Rules for Installing Modules -The following information pertains to all modules, including modules that you create for your own use, modules that you get from other parties, and modules that you distribute to others. +The following information pertains to all modules, including modules that you create for your own +use, modules that you get from other parties, and modules that you distribute to others. ### Install Modules in PSModulePath -Whenever possible, install all modules in a path that is listed in the **PSModulePath** environment variable or add the module path to the **PSModulePath** environment variable value. +Whenever possible, install all modules in a path that is listed in the **PSModulePath** environment +variable or add the module path to the **PSModulePath** environment variable value. -The **PSModulePath** environment variable ($Env:PSModulePath) contains the locations of Windows PowerShell modules. Cmdlets rely on the value of this environment variable to find modules. +The **PSModulePath** environment variable ($Env:PSModulePath) contains the locations of Windows +PowerShell modules. Cmdlets rely on the value of this environment variable to find modules. -By default, the **PSModulePath** environment variable value contains the following system and user module directories, but you can add to and edit the value. +By default, the **PSModulePath** environment variable value contains the following system and user +module directories, but you can add to and edit the value. -- $PSHome\Modules (%Windir%\System32\WindowsPowerShell\v1.0\Modules) +- `$PSHome\Modules` (%Windir%\System32\WindowsPowerShell\v1.0\Modules) > [!WARNING] - > This location is reserved for modules that ship with Windows. Do not install modules to this location. + > This location is reserved for modules that ship with Windows. Do not install modules to this + > location. -- $Home\Documents\WindowsPowerShell\Modules (%UserProfile%\Documents\WindowsPowerShell\Modules) +- `$Home\Documents\WindowsPowerShell\Modules` (%UserProfile%\Documents\WindowsPowerShell\Modules) -- $Env:ProgramFiles\WindowsPowerShell\Modules (%ProgramFiles%\WindowsPowerShell\Modules) +- `$Env:ProgramFiles\WindowsPowerShell\Modules` (%ProgramFiles%\WindowsPowerShell\Modules) - To get the value of the **PSModulePath** environment variable, use either of the following commands. + To get the value of the **PSModulePath** environment variable, use either of the following + commands. ```powershell $Env:PSModulePath [Environment]::GetEnvironmentVariable("PSModulePath") ``` - To add a module path to value of the **PSModulePath** environment variable value, use the following command format. This format uses the **SetEnvironmentVariable** method of the **System.Environment** class to make a session-independent change to the **PSModulePath** environment variable. + To add a module path to value of the **PSModulePath** environment variable value, use the + following command format. This format uses the **SetEnvironmentVariable** method of the + **System.Environment** class to make a session-independent change to the **PSModulePath** + environment variable. ```powershell - #Save the current value in the $p variable. $p = [Environment]::GetEnvironmentVariable("PSModulePath") @@ -67,15 +73,25 @@ By default, the **PSModulePath** environment variable value contains the followi ``` > [!IMPORTANT] - > Once you have added the path to **PSModulePath**, you should broadcast an environment message about the change. Broadcasting the change allows other applications, such as the shell, to pick up the change. To broadcast the change, have your product installation code send a **WM_SETTINGCHANGE** message with `lParam` set to the string "Environment". Be sure to send the message after your module installation code has updated **PSModulePath**. + > Once you have added the path to **PSModulePath**, you should broadcast an environment message + > about the change. Broadcasting the change allows other applications, such as the shell, to pick + > up the change. To broadcast the change, have your product installation code send a + > **WM_SETTINGCHANGE** message with `lParam` set to the string "Environment". Be sure to send the + > message after your module installation code has updated **PSModulePath**. ### Use the Correct Module Directory Name -A "well-formed" module is a module that is stored in a directory that has the same name as the base name of at least one file in the module directory. If a module is not well-formed, Windows PowerShell does not recognize it as a module. +A well-formed module is a module that is stored in a directory that has the same name as the base +name of at least one file in the module directory. If a module is not well-formed, Windows +PowerShell does not recognize it as a module. -The "base name" of a file is the name without the file name extension. In a well-formed module, the name of the directory that contains the module files must match the base name of at least one file in the module. +The "base name" of a file is the name without the file name extension. In a well-formed module, the +name of the directory that contains the module files must match the base name of at least one file +in the module. -For example, in the sample Fabrikam module, the directory that contains the module files is named "Fabrikam" and at least one file has the "Fabrikam" base name. In this case, both Fabrikam.psd1 and Fabrikam.dll have the "Fabrikam" base name. +For example, in the sample Fabrikam module, the directory that contains the module files is named +"Fabrikam" and at least one file has the "Fabrikam" base name. In this case, both Fabrikam.psd1 and +Fabrikam.dll have the "Fabrikam" base name. ``` C:\Program Files @@ -90,54 +106,73 @@ C:\Program Files ### Effect of Incorrect Installation -If the module is not well-formed and its location is not included in the value of the **PSModulePath** environment variable, basic discovery features of Windows PowerShell, such as the following, do not work. +If the module is not well-formed and its location is not included in the value of the +**PSModulePath** environment variable, basic discovery features of Windows PowerShell, such as the +following, do not work. - The Module Auto-Loading feature cannot import the module automatically. -- The `ListAvailable` parameter of the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) cmdlet cannot find the module. +- The `ListAvailable` parameter of the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) + cmdlet cannot find the module. -- The [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) cmdlet cannot find the module. To import the module, you must provide the full path to the root module file or module manifest file. +- The [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) cmdlet cannot find + the module. To import the module, you must provide the full path to the root module file or module + manifest file. - Additional features, such as the following, do not work unless the module is imported into the session. In well-formed modules in the **PSModulePath** environment variable, these features work even when the module is not imported into the session. + Additional features, such as the following, do not work unless the module is imported into the + session. In well-formed modules in the **PSModulePath** environment variable, these features work + even when the module is not imported into the session. -- The [Get-Command](/powershell/module/Microsoft.PowerShell.Core/Get-Command) cmdlet cannot find commands in the module. +- The [Get-Command](/powershell/module/Microsoft.PowerShell.Core/Get-Command) cmdlet cannot find + commands in the module. -- The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlets cannot update or save help for the module. +- The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) + cmdlets cannot update or save help for the module. -- The [Show-Command](/powershell/module/Microsoft.PowerShell.Utility/Show-Command) cmdlet cannot find and display the commands in the module. +- The [Show-Command](/powershell/module/Microsoft.PowerShell.Utility/Show-Command) cmdlet cannot + find and display the commands in the module. - The commands in the module are missing from the `Show-Command` window in Windows PowerShell Integrated Scripting Environment (ISE). + The commands in the module are missing from the `Show-Command` window in Windows PowerShell + Integrated Scripting Environment (ISE). ## Where to Install Modules -This section explains where in the file system to install Windows PowerShell modules. The location depends on how the module is used. +This section explains where in the file system to install Windows PowerShell modules. The location +depends on how the module is used. ### Installing Modules for a Specific User -If you create your own module or get a module from another party, such as a Windows PowerShell community website, and you want the module to be available for your user account only, install the module in your user-specific Modules directory. +If you create your own module or get a module from another party, such as a Windows PowerShell +community website, and you want the module to be available for your user account only, install the +module in your user-specific Modules directory. -``` -$home\Documents\WindowsPowerShell\Modules\\ -``` +`$home\Documents\WindowsPowerShell\Modules\\` -The user-specific Modules directory is added to the value of the **PSModulePath** environment variable by default. +The user-specific Modules directory is added to the value of the **PSModulePath** environment +variable by default. ### Installing Modules for all Users in Program Files -If you want a module to be available to all user accounts on the computer, install the module in the Program Files location. +If you want a module to be available to all user accounts on the computer, install the module in the +Program Files location. -``` -$Env:ProgramFiles\WindowsPowerShell\Modules\\ -``` +`$Env:ProgramFiles\WindowsPowerShell\Modules\\` > [!NOTE] -> The Program Files location is added to the value of the PSModulePath environment variable by default in Windows PowerShell 4.0 and later. For earlier versions of Windows PowerShell, you can manually create the Program Files location ((%ProgramFiles%\WindowsPowerShell\Modules) and add this path to your PSModulePath environment variable as described above. +> The Program Files location is added to the value of the PSModulePath environment variable by +> default in Windows PowerShell 4.0 and later. For earlier versions of Windows PowerShell, you can +> manually create the Program Files location ((%ProgramFiles%\WindowsPowerShell\Modules) and add +> this path to your PSModulePath environment variable as described above. ### Installing Modules in a Product Directory -If you are distributing the module to other parties, use the default Program Files location described above, or create your own company-specific or product-specific subdirectory of the %ProgramFiles% directory. +If you are distributing the module to other parties, use the default Program Files location +described above, or create your own company-specific or product-specific subdirectory of the +%ProgramFiles% directory. -For example, Fabrikam Technologies, a fictitious company, is shipping a Windows PowerShell module for their Fabrikam Manager product. Their module installer creates a Modules subdirectory in the Fabrikam Manager product subdirectory. +For example, Fabrikam Technologies, a fictitious company, is shipping a Windows PowerShell module +for their Fabrikam Manager product. Their module installer creates a Modules subdirectory in the +Fabrikam Manager product subdirectory. ``` C:\Program Files @@ -150,19 +185,24 @@ C:\Program Files ``` -To enable the Windows PowerShell module discovery features to find the Fabrikam module, the Fabrikam module installer adds the module location to the value of the **PSModulePath** environment variable. +To enable the Windows PowerShell module discovery features to find the Fabrikam module, the Fabrikam +module installer adds the module location to the value of the **PSModulePath** environment variable. ```powershell $p = [Environment]::GetEnvironmentVariable("PSModulePath") -$p += "C:\Program Files\Fabrikam Technolgies\Fabrikam Manager\Modules\" +$p += ";C:\Program Files\Fabrikam Technologies\Fabrikam Manager\Modules\" [Environment]::SetEnvironmentVariable("PSModulePath",$p) ``` ### Installing Modules in the Common Files Directory -If a module is used by multiple components of a product or by multiple versions of a product, install the module in a module-specific subdirectory of the %ProgramFiles%\Common Files\Modules subdirectory. +If a module is used by multiple components of a product or by multiple versions of a product, +install the module in a module-specific subdirectory of the %ProgramFiles%\Common Files\Modules +subdirectory. -In the following example, the Fabrikam module is installed in a Fabrikam subdirectory of the %ProgramFiles%\Common Files\Modules subdirectory. Note that each module resides in its own subdirectory in the Modules subdirectory. +In the following example, the Fabrikam module is installed in a Fabrikam subdirectory of the +`%ProgramFiles%\Common Files\Modules` subdirectory. Note that each module resides in its own +subdirectory in the Modules subdirectory. ``` C:\Program Files @@ -171,10 +211,10 @@ C:\Program Files Fabrikam Fabrikam.psd1 (module manifest) Fabrikam.dll (module assembly) - ``` -Then, the installer assures the value of the **PSModulePath** environment variable includes the path of the common files modules subdirectory. +Then, the installer assures the value of the **PSModulePath** environment variable includes the path +of the common files modules subdirectory. ```powershell $m = $env:ProgramFiles + '\Common Files\Modules' @@ -191,15 +231,20 @@ $p = $q -join ';' To install multiple versions of the same module, use the following procedure. -1. Create a directory for each version of the module. Include the version number in the directory name. - -2. Create a module manifest for each version of the module. In the value of the **ModuleVersion** key in the manifest, enter the module version number. Save the manifest file (.psd1) in the version-specific directory for the module. - -3. Add the module root folder path to the value of the **PSModulePath** environment variable, as shown in the following examples. +1. Create a directory for each version of the module. Include the version number in the directory + name. +2. Create a module manifest for each version of the module. In the value of the **ModuleVersion** + key in the manifest, enter the module version number. Save the manifest file (.psd1) in the + version-specific directory for the module. +3. Add the module root folder path to the value of the **PSModulePath** environment variable, as + shown in the following examples. -To import a particular version of the module, the end-user can use the `MinimumVersion` or `RequiredVersion` parameters of the [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) cmdlet. +To import a particular version of the module, the end-user can use the `MinimumVersion` or +`RequiredVersion` parameters of the [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) +cmdlet. -For example, if the Fabrikam module is available in versions 8.0 and 9.0, the Fabrikam module directory structure might resemble the following. +For example, if the Fabrikam module is available in versions 8.0 and 9.0, the Fabrikam module +directory structure might resemble the following. ``` C:\Program Files @@ -222,25 +267,38 @@ $p += ";C:\Program Files\Fabrikam\Fabrikam8;C:\Program Files\Fabrikam\Fabrikam9" [Environment]::SetEnvironmentVariable("PSModulePath",$p) ``` -When these steps are complete, the **ListAvailable** parameter of the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) cmdlet gets both of the Fabrikam modules. To import a particular module, use the `MiminumVersion` or `RequiredVersion` parameters of the [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) cmdlet. +When these steps are complete, the **ListAvailable** parameter of the [Get-Module](/powershell/module/Microsoft.PowerShell.Core/Get-Module) +cmdlet gets both of the Fabrikam modules. To import a particular module, use the `MinimumVersion` or +`RequiredVersion` parameters of the [Import-Module](/powershell/module/Microsoft.PowerShell.Core/Import-Module) +cmdlet. -If both modules are imported into the same session, and the modules contain cmdlets with the same names, the cmdlets that are imported last are effective in the session. +If both modules are imported into the same session, and the modules contain cmdlets with the same +names, the cmdlets that are imported last are effective in the session. ## Handling Command Name Conflicts -Command name conflicts can occur when the commands that a module exports have the same name as commands in the user's session. +Command name conflicts can occur when the commands that a module exports have the same name as +commands in the user's session. -When a session contains two commands that have the same name, Windows PowerShell runs the command type that takes precedence. When a session contains two commands that have the same name and the same type, Windows PowerShell runs the command that was added to the session most recently. To run a command that is not run by default, users can qualify the command name with the module name. +When a session contains two commands that have the same name, Windows PowerShell runs the command +type that takes precedence. When a session contains two commands that have the same name and the +same type, Windows PowerShell runs the command that was added to the session most recently. To run a +command that is not run by default, users can qualify the command name with the module name. -For example, if the session contains a `Get-Date` function and the `Get-Date` cmdlet, Windows PowerShell runs the function by default. To run the cmdlet, preface the command with the module name, such as: +For example, if the session contains a `Get-Date` function and the `Get-Date` cmdlet, Windows +PowerShell runs the function by default. To run the cmdlet, preface the command with the module +name, such as: ```powershell Microsoft.PowerShell.Utility\Get-Date ``` -To prevent name conflicts, module authors can use the **DefaultCommandPrefix** key in the module manifest to specify a noun prefix for all commands exported from the module. +To prevent name conflicts, module authors can use the **DefaultCommandPrefix** key in the module +manifest to specify a noun prefix for all commands exported from the module. -Users can use the **Prefix** parameter of the `Import-Module` cmdlet to use an alternate prefix. The value of the **Prefix** parameter takes precedence over the value of the **DefaultCommandPrefix** key. +Users can use the **Prefix** parameter of the `Import-Module` cmdlet to use an alternate prefix. The +value of the **Prefix** parameter takes precedence over the value of the **DefaultCommandPrefix** +key. ## See Also diff --git a/developer/module/naming-help-files.md b/developer/module/naming-help-files.md index d349d19278dc..4590f7550d3d 100644 --- a/developer/module/naming-help-files.md +++ b/developer/module/naming-help-files.md @@ -11,7 +11,6 @@ caps.latest.revision: 5 --- # Naming Help Files -This topic explains how to name an XML-based help file so that the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet can find it. The name requirements differ for each command type. This topic explains how to name an XML-based help file so that the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet can find it. The name requirements differ for each command type. ## Cmdlet Help Files @@ -24,7 +23,6 @@ The help file for a C# cmdlet must be named for the assembly in which the cmdlet The assembly name format is required even when the assembly is a nested module. -For example, the [Get-WinEvent;PSITPro5_Diagnostic;](/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent) cmdlet is defined in the Microsoft.PowerShell.Diagnostics.dll assembly. The `Get-Help` cmdlet looks for a help topic for the `Get-WinEvent` cmdlet only in the Microsoft.PowerShell.Diagnostics.dll-help.xml file in the module directory. For example, the [Get-WinEvent;PSITPro5_Diagnostic;](/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent) cmdlet is defined in the Microsoft.PowerShell.Diagnostics.dll assembly. The `Get-Help` cmdlet looks for a help topic for the `Get-WinEvent` cmdlet only in the Microsoft.PowerShell.Diagnostics.dll-help.xml file in the module directory. ## Provider Help files @@ -41,7 +39,6 @@ For example, the Certificate provider is defined in the Microsoft.PowerShell.Sec ## Function Help Files -Functions can be documented by using [comment-based help](/powershell/module/microsoft.powershell.core/about/about_comment_based_help) or documented in an XML help file. When the function is documented in an XML file, the function must have an `.ExternalHelp` comment keyword that associates the function with the XML file. Otherwise, the `Get-Help` cmdlet cannot find the help file. Functions can be documented by using [comment-based help](/powershell/module/microsoft.powershell.core/about/about_comment_based_help) or documented in an XML help file. When the function is documented in an XML file, the function must have an `.ExternalHelp` comment keyword that associates the function with the XML file. Otherwise, the `Get-Help` cmdlet cannot find the help file. There are no technical requirements for the name of a function help file. However, a best practice is to name the help file for the script module in which the function is defined. For example, the following function is defined in the MyModule.psm1 file. diff --git a/developer/module/understanding-a-windows-powershell-module.md b/developer/module/understanding-a-windows-powershell-module.md index 234a53dcafaf..20bcf3ee8770 100644 --- a/developer/module/understanding-a-windows-powershell-module.md +++ b/developer/module/understanding-a-windows-powershell-module.md @@ -49,7 +49,7 @@ A *manifest module* is a module that uses a manifest file to describe all of its ### Dynamic Modules -A *dynamic module* is a module is not loaded from, or saved to, a file. Instead, they are created dynamically by a script, using the [New-Module](/powershell/module/Microsoft.PowerShell.Core/New-Module) cmdlet. This type of module enables a script to create a module on demand that does not need to be loaded or saved to persistent storage. By its nature, a dynamic module is intended to be short-lived, and therefore cannot be accessed by the `Get-Module` cmdlet. Similarly, they usually do not need module manifests, nor do they likely need permanent folders to store their related assemblies. +A *dynamic module* is a module that is not loaded from, or saved to, a file. Instead, they are created dynamically by a script, using the [New-Module](/powershell/module/Microsoft.PowerShell.Core/New-Module) cmdlet. This type of module enables a script to create a module on demand that does not need to be loaded or saved to persistent storage. By its nature, a dynamic module is intended to be short-lived, and therefore cannot be accessed by the `Get-Module` cmdlet. Similarly, they usually do not need module manifests, nor do they likely need permanent folders to store their related assemblies. ## Module Manifests diff --git a/developer/module/updatable-help-authoring-step-by-step.md b/developer/module/updatable-help-authoring-step-by-step.md index 2b2a60b9e9df..1ac8a19bdeac 100644 --- a/developer/module/updatable-help-authoring-step-by-step.md +++ b/developer/module/updatable-help-authoring-step-by-step.md @@ -15,7 +15,6 @@ This documents lists the steps in the process of authoring Updatable Help. ## Authoring Updatable Help: Step-by-Step -Updatable Help is designed for end-users, but it also provides significant benefits to module authors and help writers, including the ability to add content, fix errors, deliver in multiple UI cultures, and respond to user comments and requests, long after the module has shipped. This topic explains how you package and upload help files so that users can download and install them by using the [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlets. Updatable Help is designed for end-users, but it also provides significant benefits to module authors and help writers, including the ability to add content, fix errors, deliver in multiple UI cultures, and respond to user comments and requests, long after the module has shipped. This topic explains how you package and upload help files so that users can download and install them by using the [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) and [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlets. The following steps provide an overview of the process of supporting Updatable Help. @@ -53,4 +52,4 @@ Use a tool that creates cabinet (.cab) files, such as MakeCab.exe, to create a . ### Step 6: Upload your files -To publish new or updated help files, upload the CAB files to the Internet location that is specified by the **HelpContentUri** element in the HelpInfo XML file. Then, upload the HelpInfo XML file to the Internet location that is specified by the value of the **HelpInfoUri** key in the module manifest. \ No newline at end of file +To publish new or updated help files, upload the CAB files to the Internet location that is specified by the **HelpContentUri** element in the HelpInfo XML file. Then, upload the HelpInfo XML file to the Internet location that is specified by the value of the **HelpInfoUri** key in the module manifest. diff --git a/developer/module/updatable-help-overview.md b/developer/module/updatable-help-overview.md index 167b1986ba1b..f3f772febd72 100644 --- a/developer/module/updatable-help-overview.md +++ b/developer/module/updatable-help-overview.md @@ -25,7 +25,9 @@ Updatable Help is fully supported by all Windows PowerShell modules in Windows® Updatable Help includes the following features. -- The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet, which determines whether users have the newest help files for a module and, if not, downloads the newest help files from the Internet, unpacks them, and installs them in the correct module subdirectories on the user's computer. Users can use the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet to view the newly-installed help topics immediately. They do not need to restart Windows PowerShell. +- The [Update-Help](/powershell/module/Microsoft.PowerShell.Core/Update-Help) cmdlet, which determines whether users have the newest help files for a module and, if not, downloads the newest help files from the Internet, unpacks them, and installs them in the correct module subdirectories on the user's computer. + Users can use the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet to view the newly-installed help topics immediately. + They do not need to restart PowerShell. - The [Save-Help](/powershell/module/Microsoft.PowerShell.Core/Save-Help) cmdlet, which downloads the newest help files from the Internet and saves them in a file system directory. Users can use the `Update-Help` cmdlet to get help files from the file system directory, and unpack and install them in the module subdirectories on the user's computer. The `Save-Help` cmdlet is designed for users who have limited or no Internet access and for enterprises who prefer to limit Internet access. diff --git a/developer/module/writing-a-windows-powershell-module.md b/developer/module/writing-a-windows-powershell-module.md index 863d186fc1e2..4f3de3144e45 100644 --- a/developer/module/writing-a-windows-powershell-module.md +++ b/developer/module/writing-a-windows-powershell-module.md @@ -37,7 +37,7 @@ Cmdlet and provider developers can use modules to test and distribute their comp [How to Write a PowerShell Binary Module](./how-to-write-a-powershell-binary-module.md) -[How to Write a PowerShell Module Manifest](http://msdn.microsoft.com/en-us/abe4c24b-e64e-4a61-81d5-18c4fceba0b6) +[How to Write a PowerShell Module Manifest](how-to-write-a-powershell-module-manifest.md) [Modifying the PSModulePath Installation Path](./modifying-the-psmodulepath-installation-path.md) diff --git a/developer/prog-guide/accessdbprovidersample02-code-sample.md b/developer/prog-guide/accessdbprovidersample02-code-sample.md index 004307d538b2..33309fb6ea23 100644 --- a/developer/prog-guide/accessdbprovidersample02-code-sample.md +++ b/developer/prog-guide/accessdbprovidersample02-code-sample.md @@ -15,7 +15,6 @@ The following code shows the implementation of the Windows PowerShell provider d > [!NOTE] > You can download the C# source file (AccessDBSampleProvider02.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider02.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > diff --git a/developer/prog-guide/accessdbprovidersample03-code-sample.md b/developer/prog-guide/accessdbprovidersample03-code-sample.md index 2e1cc96c1682..c55f9cfc5e80 100644 --- a/developer/prog-guide/accessdbprovidersample03-code-sample.md +++ b/developer/prog-guide/accessdbprovidersample03-code-sample.md @@ -15,7 +15,6 @@ The following code shows the implementation of the Windows PowerShell provider d > [!NOTE] > You can download the C# source file (AccessDBSampleProvider03.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider03.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > @@ -608,7 +607,7 @@ namespace Microsoft.Samples.PowerShell.Providers try { - // Create a odbc data adpater. This can be sued to update the + // Create a odbc data adapter. This can be sued to update the // data source with the records that will be created here // using data sets string sql = "Select * from " + tableName; diff --git a/developer/prog-guide/accessdbprovidersample06-code-sample.md b/developer/prog-guide/accessdbprovidersample06-code-sample.md index d4f1aa0777fe..4175b1f85704 100644 --- a/developer/prog-guide/accessdbprovidersample06-code-sample.md +++ b/developer/prog-guide/accessdbprovidersample06-code-sample.md @@ -15,7 +15,6 @@ The following code shows the implementation of the Windows PowerShell content pr > [!NOTE] > You can download the C# source file (AccessDBSampleProvider06.cs) for this provider by using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider06.cs) for this provider by using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > diff --git a/developer/prog-guide/creating-a-basic-windows-powershell-provider.md b/developer/prog-guide/creating-a-basic-windows-powershell-provider.md index bfea5ea63727..f446f6e41b1c 100644 --- a/developer/prog-guide/creating-a-basic-windows-powershell-provider.md +++ b/developer/prog-guide/creating-a-basic-windows-powershell-provider.md @@ -21,24 +21,6 @@ As mentioned previously, the basic provider described here implements methods fo > [!NOTE] > You can find a sample of this provider in the AccessDBSampleProvider01.cs file provided by Windows PowerShell. -The sections in this topic include the following: - -- [Defining the Windows PowerShell Provider Class](#Defining-the-Windows-PowerShell-Provider-Class) - -- [Defining Provider-Specific State Information](#Defining-Provider-Specific-State-Information) - -- [Initializing the Provider](#Initializing-the-Provider) - -- [Start Dynamic Parameters](#Start-Dynamic-Parameters) - -- [Uninitializing the Provider](#Uninitializing-the-Provider) - -- [Code Sample](#Code-Sample) - -- [Define Object Types and Formatting](None) - -- [Testing the Windows PowerShell Provider](#Testing-the-Windows-PowerShell-Provider) - ## Defining the Windows PowerShell Provider Class The first step in creating a Windows PowerShell provider is to define its .NET class. This basic provider defines a class called `AccessDBProvider` that derives from the [System.Management.Automation.Provider.Cmdletprovider](/dotnet/api/System.Management.Automation.Provider.CmdletProvider) base class. @@ -73,7 +55,7 @@ This basic provider does not override this method. However, the following code s -The provider can maintain the state of provider-specific information as described in [Defining Provider-specific Data State](#Defining-Provider-Specific-State-Information). In this case, your implementation must override the [System.Management.Automation.Provider.Cmdletprovider.Start*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Start) method to return an instance of the derived class. +The provider can maintain the state of provider-specific information as described in [Defining Provider-specific Data State](#defining-provider-specific-state-information). In this case, your implementation must override the [System.Management.Automation.Provider.Cmdletprovider.Start*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Start) method to return an instance of the derived class. ## Start Dynamic Parameters diff --git a/developer/prog-guide/creating-a-windows-powershell-container-provider.md b/developer/prog-guide/creating-a-windows-powershell-container-provider.md index 8961101f1eaa..aa087381bcf3 100644 --- a/developer/prog-guide/creating-a-windows-powershell-container-provider.md +++ b/developer/prog-guide/creating-a-windows-powershell-container-provider.md @@ -20,7 +20,6 @@ Providers that can work on multi-level data stores are referred to as Windows Po > [!NOTE] > You can download the C# source file (AccessDBSampleProvider04.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider04.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > @@ -31,46 +30,6 @@ The Windows PowerShell container provider described here defines the database as > [!CAUTION] > Be aware that this design assumes a database that has a field with the name ID, and that the type of the field is LongInteger. -Here is a list of the sections in this topic. If you are unfamiliar with writing a Windows PowerShell container provider, please read this information in the order that it appears. However, if you are familiar with writing a Windows PowerShell container provider, please go directly to the information that you need. - -- [Defining a Windows PowerShell Container Provider Class](#Defining-a-Windows-PowerShell-Container-Provider-Class) - -- [Defining Base Functionality]() - -- [Retrieving Child Items](#Retrieving-Child-Items) - -- [Attaching Dynamic Parameters to the `Get-ChildItem` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Get-ChildItem-Cmdlet) - -- [Retrieving Child Item Names](#Retrieving-Child-Item-Names) - -- [Attaching Dynamic Parameters to the `Get-ChildItem` Cmdlet (Name)](#Attaching-Dynamic-Parameters-to-the-Get-ChildItem-Cmdlet-(Name)) - -- [Renaming Items](#Renaming-Items) - -- [Attaching Dynamic Parameters to the `Rename-Item` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Rename-Item-Cmdlet) - -- [Creating New Items](#Creating-New-Items) - -- [Attaching Dynamic Parameters to the `New-Item` Cmdlet](#Attaching-Dynamic-Parameters-to-the-New-Item-Cmdlet) - -- [Removing a Items](#Removing-Items) - -- [Attaching Dynamic Parameters to the `Remove-Item` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Remove-Item-Cmdlet) - -- [Querying for Child Items](#Querying-for-Child-Items) - -- [Coping Items](#Copying-Items) - -- [Attaching Dynamic Parameters to the `Copy-Item` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Copy-Item-Cmdlet) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting]() - -- [Building the Windows PowerShell Provider](#Building-the-Windows-PowerShell-Provider) - -- [Testing the Windows PowerShell Provider](#Testing-the-Windows-PowerShell-Provider) - ## Defining a Windows PowerShell Container Provider Class A Windows PowerShell container provider must define a .NET class that derives from the [System.Management.Automation.Provider.Containercmdletprovider](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider) base class. Here is the class definition for the Windows PowerShell container provider described in this section. @@ -270,9 +229,9 @@ The following conditions may apply to your implementation of [System.Management. - By default, overrides of this method should not rename objects unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is specified. If the specified path indicates a container, the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is not required. -- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Renameitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RenameItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to system state, for example, renaming files. [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command line settings or preference variables in determining what should be displayed. +- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Renameitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RenameItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to system state, for example, renaming files. [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command line settings or preference variables in determining what should be displayed. - After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Containercmdletprovider.Renameitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RenameItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message a confirmation message to the user to allow additional feedback to say if the operation should be continued. A provider should call [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) as an additional check for potentially dangerous system modifications. + After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Containercmdletprovider.Renameitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RenameItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message a confirmation message to the user to allow additional feedback to say if the operation should be continued. A provider should call [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) as an additional check for potentially dangerous system modifications. ## Attaching Dynamic Parameters to the Rename-Item Cmdlet @@ -318,7 +277,7 @@ The following conditions may apply to your implementation of [System.Management. - For the `newItemValue` parameter, the implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method is recommended to accept strings at a minimum. It should also accept the type of object that is retrieved by the [System.Management.Automation.Provider.Itemcmdletprovider.Getitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.GetItem) method for the same path. The [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method can use the [System.Management.Automation.Languageprimitives.Convertto*](/dotnet/api/System.Management.Automation.LanguagePrimitives.ConvertTo) method to convert types to the desired type. -- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns true, the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method as an additional check for potentially dangerous system modifications. +- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns true, the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method as an additional check for potentially dangerous system modifications. ## Attaching Dynamic Parameters to the New-Item Cmdlet @@ -346,7 +305,7 @@ The following conditions may apply to your implementation of [System.Management. - Your implementation of [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) is responsible for preventing infinite recursion when there are circular links, and the like. An appropriate terminating exception should be thrown to reflect such a condition. -- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method as an additional check for potentially dangerous system modifications. +- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method as an additional check for potentially dangerous system modifications. ## Attaching Dynamic Parameters to the Remove-Item Cmdlet @@ -379,23 +338,23 @@ The following conditions may apply to your implementation of [System.Management. ## Copying Items -To copy items, the container provider must implement the [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method to support calls from the `Copy-Item` cmdlet. This method copies a data item from the location indicated by the `path` parameter of the cmdlet to the location indicated by the `copyPath` parameter. If the `recurse` parameter is specified, the method copies all sub-containers. If the parameter is not specified, the method copies only a single level of items. +To copy items, the container provider must implement the [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method to support calls from the `Copy-Item` cmdlet. This method copies a data item from the location indicated by the `path` parameter of the cmdlet to the location indicated by the `copyPath` parameter. If the `recurse` parameter is specified, the method copies all sub-containers. If the parameter is not specified, the method copies only a single level of items. -This provider does not implement this method. However, the following code is the default implementation of [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem). +This provider does not implement this method. However, the following code is the default implementation of [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem). #### Things to Remember About Implementing CopyItem -The following conditions may apply to your implementation of [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem): +The following conditions may apply to your implementation of [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem): - When defining the provider class, a Windows PowerShell container provider might declare provider capabilities of ExpandWildcards, Filter, Include, or Exclude, from the [System.Management.Automation.Provider.Providercapabilities](/dotnet/api/System.Management.Automation.Provider.ProviderCapabilities) enumeration. In these cases, the implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) method needs to ensure that the path passed to the method meets the requirements of the specified capabilities. To do this, the method should access the appropriate property, for example, the [System.Management.Automation.Provider.Cmdletprovider.Exclude*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Exclude) and [System.Management.Automation.Provider.Cmdletprovider.Include*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Include) properties. -- By default, overrides of this method should not copy objects over existing objects unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. For example, the FileSystem provider will not copy c:\temp\abc.txt over an existing c:\abc.txt file unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. If the path specified in the `copyPath` parameter exists and indicates a container, the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is not required. In this case, [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) should copy the item indicated by the `path` parameter to the container indicated by the `copyPath` parameter as a child. +- By default, overrides of this method should not copy objects over existing objects unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. For example, the FileSystem provider will not copy c:\temp\abc.txt over an existing c:\abc.txt file unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. If the path specified in the `copyPath` parameter exists and indicates a container, the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is not required. In this case, [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) should copy the item indicated by the `path` parameter to the container indicated by the `copyPath` parameter as a child. -- Your implementation of [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) is responsible for preventing infinite recursion when there are circular links, and the like. An appropriate terminating exception should be thrown to reflect such a condition. +- Your implementation of [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) is responsible for preventing infinite recursion when there are circular links, and the like. An appropriate terminating exception should be thrown to reflect such a condition. -- Your implementation of the [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns true, the [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method as an additional check for potentially dangerous system modifications. For more information about calling these methods, see [Rename Items](#Renaming-Items). +- Your implementation of the [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns true, the [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method as an additional check for potentially dangerous system modifications. For more information about calling these methods, see [Rename Items](#renaming-items). ## Attaching Dynamic Parameters to the Copy-Item Cmdlet @@ -411,7 +370,6 @@ For complete sample code, see [AccessDbProviderSample04 Code Sample](./accessdbp ## Building the Windows PowerShell Provider -See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). ## Testing the Windows PowerShell Provider @@ -495,7 +453,7 @@ When your Windows PowerShell provider has been registered with Windows PowerShel 5. Now use the `New-Item` cmdlet to add a row to an existing table. The `Path` parameter specifies the full path to the row, and must indicate a row number that is greater than the existing number of rows in the table. The `Type` parameter indicates "row" to specify that type of item to add. Finally, the `Value` parameter specifies a comma-delimited list of column values for the row. ```powershell - New-Item -Path mydb:\Customers\3 -ItemType "row" -Value "3,CustomerFirstName,CustomerLastName,CustomerEmailAdress,CustomerTitle,CustomerCompany,CustomerPhone, CustomerAddress,CustomerCity,CustomerState,CustomerZip,CustomerCountry" + New-Item -Path mydb:\Customers\3 -ItemType "row" -Value "3,CustomerFirstName,CustomerLastName,CustomerEmailAddress,CustomerTitle,CustomerCompany,CustomerPhone, CustomerAddress,CustomerCity,CustomerState,CustomerZip,CustomerCountry" ``` 6. Verify the correctness of the new item operation as follows. @@ -534,8 +492,6 @@ When your Windows PowerShell provider has been registered with Windows PowerShel [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) -[How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [Windows PowerShell SDK](../windows-powershell-reference.md) [Windows PowerShell Programmer's Guide](./windows-powershell-programmer-s-guide.md) \ No newline at end of file diff --git a/developer/prog-guide/creating-a-windows-powershell-content-provider.md b/developer/prog-guide/creating-a-windows-powershell-content-provider.md index d683735f3283..f9faf9e5b232 100644 --- a/developer/prog-guide/creating-a-windows-powershell-content-provider.md +++ b/developer/prog-guide/creating-a-windows-powershell-content-provider.md @@ -18,42 +18,11 @@ This topic describes how to create a Windows PowerShell provider that enables th > [!NOTE] > You can download the C# source file (AccessDBSampleProvider06.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider06.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > > For more information about other Windows PowerShell provider implementations, see [Designing Your Windows PowerShell Provider](./designing-your-windows-powershell-provider.md). -The following list contains the sections in this topic. If you are unfamiliar with writing a Windows PowerShell content provider, read these sections in the order that they appear. However, if you are familiar with writing a Windows PowerShell content provider, go directly to the information that you need. - -- [Defining the Windows PowerShell Content Provider Class](#Define-the-Windows-PowerShell-Content-Provider-Class) - -- [Defining Base Functionality](#Define-Functionality-of-Base-Class) - -- [Implementing a Content Reader](#Implementing-a-Content-Reader) - -- [Implementing a Content Writer](#Implementing-a-Content-Writer) - -- [Retrieving the Content Reader](#Retrieving-the-Content-Reader) - -- [Attaching Dynamic Parameters to the `Get-Content` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Get-Content-Cmdlet) - -- [Retrieving the Content Writer](#Retrieving-the-Content-Writer) - -- [Attaching Dynamic Parameters to the Add_Content and `Set-Content` Cmdlets](#Attaching-Dynamic-Parameters-to-the-Add-Content-and-Set-Content-Cmdlets) - -- [Clearing Content](#Clearing-Content) - -- [Attaching Dynamic Parameters to the `Clear-Content` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Clear-Content-Cmdlet) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting]() - -- [Building the Windows PowerShell provider](#Building-the-Windows-PowerShell-Provider) - -- [Testing the Windows PowerShell provider](#Testing-the-Windows-PowerShell-Provider) - ## Define the Windows PowerShell Content Provider Class A Windows PowerShell content provider must create a .NET class that supports the [System.Management.Automation.Provider.Icontentcmdletprovider](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider) interface. Here is the class definition for the item provider described in this section. @@ -201,9 +170,9 @@ The following conditions may apply to an implementation of [System.Management.Au - By default, overrides of this method should not clear the contents of objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be written if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. -- Your implementation of the [System.Management.Automation.Provider.Icontentcmdletprovider.Clearcontent*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.ClearContent) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to the data store, such as clearing content. The [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) method sends the name of the resource to be changed to the user, with the Windows PowerShell runtime handling any command-line settings or preference variables in determining what should be displayed. +- Your implementation of the [System.Management.Automation.Provider.Icontentcmdletprovider.Clearcontent*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.ClearContent) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to the data store, such as clearing content. The [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) method sends the name of the resource to be changed to the user, with the Windows PowerShell runtime handling any command-line settings or preference variables in determining what should be displayed. - After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Icontentcmdletprovider.Clearcontent*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.ClearContent) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to verify if the operation should be continued. The call to [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) allows an additional check for potentially dangerous system modifications. + After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Icontentcmdletprovider.Clearcontent*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.ClearContent) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to verify if the operation should be continued. The call to [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) allows an additional check for potentially dangerous system modifications. ## Attaching Dynamic Parameters to the Clear-Content Cmdlet @@ -226,12 +195,10 @@ For complete sample code, see [AccessDbProviderSample06 Code Sample](./accessdbp ## Defining Object Types and Formatting -When writing a provider, it may be necessary to add members to existing objects or define new objects. When this is done, you must create a Types file that Windows PowerShell can use to identify the members of the object and a Format file that defines how the object is displayed. For more information, see see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). -When writing a provider, it may be necessary to add members to existing objects or define new objects. When this is done, you must create a Types file that Windows PowerShell can use to identify the members of the object and a Format file that defines how the object is displayed. For more information, see see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). +When writing a provider, it may be necessary to add members to existing objects or define new objects. When this is done, you must create a Types file that Windows PowerShell can use to identify the members of the object and a Format file that defines how the object is displayed. For more information, see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). ## Building the Windows PowerShell Provider -See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). ## Testing the Windows PowerShell Provider @@ -279,14 +246,10 @@ Country : USA [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) -[Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) - [Implement a Navigation Windows PowerShell provider](./creating-a-windows-powershell-navigation-provider.md) [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) -[How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [Windows PowerShell SDK](../windows-powershell-reference.md) -[Windows PowerShell Programmer's Guide](./windows-powershell-programmer-s-guide.md) \ No newline at end of file +[Windows PowerShell Programmer's Guide](./windows-powershell-programmer-s-guide.md) diff --git a/developer/prog-guide/creating-a-windows-powershell-drive-provider.md b/developer/prog-guide/creating-a-windows-powershell-drive-provider.md index c2437bc4c2de..062a4d4ade12 100644 --- a/developer/prog-guide/creating-a-windows-powershell-drive-provider.md +++ b/developer/prog-guide/creating-a-windows-powershell-drive-provider.md @@ -19,26 +19,6 @@ This topic describes how to create a Windows PowerShell drive provider that prov The Windows PowerShell drive provider described here provides access to a Microsoft Access database. For this provider, the Windows PowerShell drive represents the database (it is possible to add any number of drives to a drive provider), the top-level containers of the drive represent the tables in the database, and the items of the containers represent the rows in the tables. -Here is a list of the sections in this topic. If you are unfamiliar with writing a Windows PowerShell drive provider, read these sections in the order that they appear. However, if you are familiar with writing a drive provider, please go directly to the information that you need. - -- [Defining the Windows PowerShell Provider Class](#Defining-the-Windows-PowerShell-Provider-Class) - -- [Defining Base Functionality](#Defining-Base-Functionality) - -- [Creating Drive State Information](#Creating-Drive-State-Information) - -- [Creating a Drive](#Creating-a-Drive) - -- [Attaching Dynamic Parameters to NewDrive](#Attaching-Dynamic-Parameters-to-NewDrive) - -- [Removing a Drive](#Removing-a-Drive) - -- [Initializing Default Drives](#Initializing-Default-Drives) - -- [Code Sample](#Code-Sample) - -- [Testing the Windows PowerShell Drive Provider](#Testing-the-Windows-PowerShell-Drive-Provider) - ## Defining the Windows PowerShell Provider Class Your drive provider must define a .NET class that derives from the [System.Management.Automation.Provider.Drivecmdletprovider](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider) base class. Here is the class definition for this drive provider: @@ -55,7 +35,7 @@ As described in [Design Your Windows PowerShell Provider](./designing-your-windo All Windows PowerShell providers are considered stateless, which means that your drive provider needs to create any state information that is needed by the Windows PowerShell runtime when it calls your provider. -For this drive provider, state information includes the connection to the database that is kept as part of the drive information. Here is code that shows how this information is stored in the [System.Management.Automation.Psdriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object that describes the drive: +For this drive provider, state information includes the connection to the database that is kept as part of the drive information. Here is code that shows how this information is stored in the [System.Management.Automation.PSDriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object that describes the drive: [!code-csharp[AccessDBProviderSample02.cs](../../powershell-sdk-samples/SDK-2.0/csharp/AccessDBProviderSample02/AccessDBProviderSample02.cs#L130-L151 "AccessDBProviderSample02.cs")] @@ -67,15 +47,15 @@ To allow the Windows PowerShell runtime to create a drive, the drive provider mu Your override of this method should do the following: -- Verify that the [System.Management.Automation.Psdriveinfo.Root*](/dotnet/api/System.Management.Automation.PSDriveInfo.Root) member exists and that a connection to the data store can be made. +- Verify that the [System.Management.Automation.PSDriveinfo.Root*](/dotnet/api/System.Management.Automation.PSDriveInfo.Root) member exists and that a connection to the data store can be made. - Create a drive and populate the connection member, in support of the `New-PSDrive` cmdlet. -- Validate the [System.Management.Automation.Psdriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object for the proposed drive. +- Validate the [System.Management.Automation.PSDriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object for the proposed drive. -- Modify the [System.Management.Automation.Psdriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object that describes the drive with any required performance or reliability information, or provide extra data for callers using the drive. +- Modify the [System.Management.Automation.PSDriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object that describes the drive with any required performance or reliability information, or provide extra data for callers using the drive. -- Handle failures using the [System.Management.Automation.Provider.Cmdletprovider.Writeerror*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method and then return `null`. +- Handle failures using the [System.Management.Automation.Provider.Cmdletprovider.WriteError](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method and then return `null`. This method returns either the drive information that was passed to the method or a provider-specific version of it. diff --git a/developer/prog-guide/creating-a-windows-powershell-item-provider.md b/developer/prog-guide/creating-a-windows-powershell-item-provider.md index 786783032c97..d2129742f835 100644 --- a/developer/prog-guide/creating-a-windows-powershell-item-provider.md +++ b/developer/prog-guide/creating-a-windows-powershell-item-provider.md @@ -18,7 +18,6 @@ This topic describes how to create a Windows PowerShell provider that can manipu > [!NOTE] > You can download the C# source file (AccessDBSampleProvider03.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider03.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > @@ -26,44 +25,6 @@ This topic describes how to create a Windows PowerShell provider that can manipu The Windows PowerShell item provider described in this topic gets items of data from an Access database. In this case, an "item" is either a table in the Access database or a row in a table. -The following list contains the sections in this topic. If you are unfamiliar with writing a Windows PowerShell item provider, read these sections in the order that they appear. However, if you are familiar with writing a Windows PowerShell item provider, go directly to the information that you need: - -- [Defining the Windows PowerShell Item Provider Class](#Defining-the-Windows-PowerShell-Item-Provider-Class) - -- [Defining Base Functionality](#Defining-Base-Functionality) - -- [Checking for Path Validity](#Checking-for-Path-Validity) - -- [Determining if an Item Exists](#Determining-if-an-Item-Exists) - -- [Attaching Dynamic Parameters to the `Test-Path` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Test-Path-Cmdlet) - -- [Retrieving an Item](#Retrieving-an-Item) - -- [Attaching Dynamic Parameters to the `Get-Item` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Get-Item-Cmdlet) - -- [Setting an Item](#Setting-an-Item) - -- [Attaching Dynamic Parameters to the `Set-Item` Cmdlet](#Retrieving-Dynamic-Parameters-for-SetItem) - -- [Clearing an Item](#Clearing-an-Item) - -- [Attaching Dynamic Parameters to the Cler-Item Cmdlet](#Retrieve-Dynamic-Parameters-for-ClearItem) - -- [Performing a Default Action for an Item](#Performing-a-Default-Action-for-an-Item) - -- [Retrieving Dynamic Parameters for InvokeDefaultAction](#Retrieve-Dynamic-Parameters-for-InvokeDefaultAction) - -- [Implementing Helper Methods and Classes](#Implementing-Helper-Methods-and-Classes) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Windows PowerShell Provider](#Building-the-Windows-PowerShell-provider) - -- [Testing the Windows PowerShell Provider](#Testing-the-Windows-PowerShell-provider) - ## Defining the Windows PowerShell Item Provider Class A Windows PowerShell item provider must define a .NET class that derives from the [System.Management.Automation.Provider.Itemcmdletprovider](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider) base class. The following is the class definition for the item provider described in this section. @@ -82,7 +43,6 @@ Before the Windows PowerShell item provider can manipulate the items in the stor ## Checking for Path Validity -When looking for an item of data, the Windows PowerShell runtime furnishes a Windows PowerShell path to the provider, as defined in the "PSPath Concepts" section of [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58). An Windows PowerShell item provider must verify the syntactic and semantic validity of any path passed to it by implementing the [System.Management.Automation.Provider.Itemcmdletprovider.Isvalidpath*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath) method. This method returns `true` if the path is valid, and `false` otherwise. Be aware that the implementation of this method should not verify the existence of the item at the path, but only that the path is syntactically and semantically correct. When looking for an item of data, the Windows PowerShell runtime furnishes a Windows PowerShell path to the provider, as defined in the "PSPath Concepts" section of [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58). An Windows PowerShell item provider must verify the syntactic and semantic validity of any path passed to it by implementing the [System.Management.Automation.Provider.Itemcmdletprovider.Isvalidpath*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath) method. This method returns `true` if the path is valid, and `false` otherwise. Be aware that the implementation of this method should not verify the existence of the item at the path, but only that the path is syntactically and semantically correct. Here is the implementation of the [System.Management.Automation.Provider.Itemcmdletprovider.Isvalidpath*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath) method for this provider. Note that this implementation calls a NormalizePath helper method to convert all separators in the path to a uniform one. @@ -151,11 +111,11 @@ The following conditions may apply to your implementation of [System.Management. - When defining the provider class, a Windows PowerShell item provider might declare provider capabilities of ExpandWildcards, Filter, Include, or Exclude, from the [System.Management.Automation.Provider.Providercapabilities](/dotnet/api/System.Management.Automation.Provider.ProviderCapabilities) enumeration. In these cases, the implementation of [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) must ensure that the path passed to the method meets those requirements. To do this, the method should access the appropriate property, for example, the [System.Management.Automation.Provider.Cmdletprovider.Exclude*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Exclude) and [System.Management.Automation.Provider.Cmdletprovider.Include*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Include) properties. -- By default, overrides of this method should not set or write objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be sent to the [System.Management.Automation.Provider.Cmdletprovider.Writeerror*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method if the path represents a hidden item and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. +- By default, overrides of this method should not set or write objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be sent to the [System.Management.Automation.Provider.Cmdletprovider.WriteError](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method if the path represents a hidden item and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. -- Your implementation of the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to the data store, for example, deleting files. The [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) method sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command-line settings or preference variables in determining what should be displayed. +- Your implementation of the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to the data store, for example, deleting files. The [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) method sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command-line settings or preference variables in determining what should be displayed. - After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to verify if the operation should be continued. The call to [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) allows an additional check for potentially dangerous system modifications. + After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to verify if the operation should be continued. The call to [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) allows an additional check for potentially dangerous system modifications. ## Retrieving Dynamic Parameters for SetItem @@ -179,11 +139,11 @@ The following conditions may apply to an implementation of [System.Management.Au - When defining the provider class, a Windows PowerShell item provider might declare provider capabilities of ExpandWildcards, Filter, Include, or Exclude, from the [System.Management.Automation.Provider.Providercapabilities](/dotnet/api/System.Management.Automation.Provider.ProviderCapabilities) enumeration. In these cases, the implementation of [System.Management.Automation.Provider.Itemcmdletprovider.Clearitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.ClearItem) must ensure that the path passed to the method meets those requirements. To do this, the method should access the appropriate property, for example, the [System.Management.Automation.Provider.Cmdletprovider.Exclude*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Exclude) and [System.Management.Automation.Provider.Cmdletprovider.Include*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Include) properties. -- By default, overrides of this method should not set or write objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be sent to the [System.Management.Automation.Provider.Cmdletprovider.Writeerror*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. +- By default, overrides of this method should not set or write objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be sent to the [System.Management.Automation.Provider.Cmdletprovider.WriteError](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. -- Your implementation of the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to the data store, for example, deleting files. The [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) method sends the name of the resource to be changed to the user, with the Windows PowerShell runtime and handle any command-line settings or preference variables in determining what should be displayed. +- Your implementation of the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to the data store, for example, deleting files. The [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) method sends the name of the resource to be changed to the user, with the Windows PowerShell runtime and handle any command-line settings or preference variables in determining what should be displayed. - After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to verify if the operation should be continued. The call to [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) allows an additional check for potentially dangerous system modifications. + After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to verify if the operation should be continued. The call to [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) allows an additional check for potentially dangerous system modifications. ## Retrieve Dynamic Parameters for ClearItem @@ -207,7 +167,7 @@ The following conditions may apply to an implementation of [System.Management.Au - When defining the provider class, a Windows PowerShell item provider might declare provider capabilities of ExpandWildcards, Filter, Include, or Exclude, from the [System.Management.Automation.Provider.Providercapabilities](/dotnet/api/System.Management.Automation.Provider.ProviderCapabilities) enumeration. In these cases, the implementation of [System.Management.Automation.Provider.Itemcmdletprovider.Invokedefaultaction*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction) must ensure that the path passed to the method meets those requirements. To do this, the method should access the appropriate property, for example, the [System.Management.Automation.Provider.Cmdletprovider.Exclude*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Exclude) and [System.Management.Automation.Provider.Cmdletprovider.Include*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Include) properties. -- By default, overrides of this method should not set or write objects hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be sent to the [System.Management.Automation.Provider.Cmdletprovider.Writeerror*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. +- By default, overrides of this method should not set or write objects hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be sent to the [System.Management.Automation.Provider.Cmdletprovider.WriteError](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteError) method if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. ## Retrieve Dynamic Parameters for InvokeDefaultAction @@ -219,7 +179,7 @@ This item provider does not implement this method. However, the following code i ## Implementing Helper Methods and Classes -This item provider implements several helper methods and classes that are used by the public override methods defined by Windows PowerShell. The code for these helper methods and classes are shown in the [Code Sample](#Code-Sample) section. +This item provider implements several helper methods and classes that are used by the public override methods defined by Windows PowerShell. The code for these helper methods and classes are shown in the [Code Sample](#code-sample) section. ### NormalizePath Method @@ -249,7 +209,7 @@ The sample item provider defines a DatabaseTableInfo.GetTables method that retur ### DatabaseRowInfo Class -This item provider defines the DatabaseRowInfo helper class that represents a row in a table of the database. This class is similar to the [System.IO.Fileinfo](/dotnet/api/System.IO.FileInfo) class. +This item provider defines the DatabaseRowInfo helper class that represents a row in a table of the database. This class is similar to the [System.IO.FileInfo](/dotnet/api/System.IO.FileInfo) class. The sample provider defines a DatabaseRowInfo.GetRows method to return a collection of row information objects for the specified table. This method includes a try/catch block to trap exceptions. Any errors will result in no row information. @@ -259,12 +219,10 @@ For complete sample code, see [AccessDbProviderSample03 Code Sample](./accessdbp ## Defining Object Types and Formatting -When writing a provider, it may be necessary to add members to existing objects or define new objects. When finished, create a Types file that Windows PowerShell can use to identify the members of the object and a Format file that defines how the object is displayed. For more information about , see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). When writing a provider, it may be necessary to add members to existing objects or define new objects. When finished, create a Types file that Windows PowerShell can use to identify the members of the object and a Format file that defines how the object is displayed. For more information about , see [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). ## Building the Windows PowerShell provider -See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). ## Testing the Windows PowerShell provider @@ -283,16 +241,10 @@ When this Windows PowerShell item provider is registered with Windows PowerShell [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) -[Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) - -[How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58) - [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58) [Creating a Container Windows PowerShell provider](./creating-a-windows-powershell-container-provider.md) [Creating a Drive Windows PowerShell provider](./creating-a-windows-powershell-drive-provider.md) -[How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) \ No newline at end of file diff --git a/developer/prog-guide/creating-a-windows-powershell-navigation-provider.md b/developer/prog-guide/creating-a-windows-powershell-navigation-provider.md index 59aa10bbc7bf..db565391ec1a 100644 --- a/developer/prog-guide/creating-a-windows-powershell-navigation-provider.md +++ b/developer/prog-guide/creating-a-windows-powershell-navigation-provider.md @@ -18,7 +18,6 @@ This topic describes how to create a Windows PowerShell navigation provider that > [!NOTE] > You can download the C# source file (AccessDBSampleProvider05.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (AccessDBSampleProvider05.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. > @@ -29,34 +28,6 @@ The provider described here enables the user handle an Access database as a driv > [!CAUTION] > Be aware that this design assumes a database that has a field with the name ID, and that the type of the field is LongInteger. -The following list includes sections in this topic. If you are unfamiliar with writing a Windows PowerShell navigation provider, read this information in the order that it appears. However, if you are familiar with writing a Windows PowerShell navigation provider, please go directly to the information that you need. - -- [Defining a PS Navigation Provider Class](#Define-the-Windows-PowerShell-provider) - -- [Defining Base Functionality](#Defining-Base-Functionality) - -- [Creating a PS Path](#Creating-a-Windows-PowerShell-Path) - -- [Retrieving the Parent Path](#Retrieving-the-Parent-Path) - -- [Retrieving the Child Path Name](#Retrieve-the-Child-Path-Name) - -- [Determining if an Item is a Container](#Determining-if-an-Item-is-a-Container) - -- [Moving an Item](#Moving-an-Item) - -- [Attaching Dynamic Parameters to the `Move-Item` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Move-Item-Cmdlet) - -- [Normalizing a Relative Path](#Normalizing-a-Relative-Path) - -- [Code Sample](#Code-Sample) - -- [Defining Object Types and Formatting](#Defining-Object-Types-and-Formatting) - -- [Building the Windows PowerShell Provider](#Building-the-Windows-PowerShell-provider) - -- [Testing the Windows PowerShell Provider](#Testing-the-Windows-PowerShell-provider) - ## Define the Windows PowerShell provider A Windows PowerShell navigation provider must create a .NET class that derives from the [System.Management.Automation.Provider.Navigationcmdletprovider](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider) base class. Here is the class definition for the navigation provider described in this section. @@ -149,9 +120,9 @@ Your navigation provider .NET class might declare provider capabilities of Expan By default, overrides of this method should not move objects over existing objects unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. For example, the filesystem provider will not copy c:\temp\abc.txt over an existing c:\bar.txt file unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. If the path specified in the `destination` parameter exists and is a container, the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is not required. In this case, [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) should move the item indicated by the `path` parameter to the container indicated by the `destination` parameter as a child. -Your implementation of the [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to system state, for example, deleting files. [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command line settings or preference variables in determining what should be displayed to the user. +Your implementation of the [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and check its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to system state, for example, deleting files. [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command line settings or preference variables in determining what should be displayed to the user. -After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to say if the operation should be continued. Your provider should call [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) as an additional check for potentially dangerous system modifications. +After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, the [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a message to the user to allow feedback to say if the operation should be continued. Your provider should call [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) as an additional check for potentially dangerous system modifications. ## Attaching Dynamic Parameters to the Move-Item Cmdlet @@ -179,12 +150,10 @@ For complete sample code, see [AccessDbProviderSample05 Code Sample](./accessdbp ## Defining Object Types and Formatting -It is possible for a provider to add members to existing objects or define new objects. For more information, see[Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). It is possible for a provider to add members to existing objects or define new objects. For more information, see[Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351). ## Building the Windows PowerShell provider -For more information, see [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). For more information, see [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). ## Testing the Windows PowerShell provider @@ -317,14 +286,10 @@ When your Windows PowerShell provider has been registered with Windows PowerShel [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) -[Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) - [Implement a Container Windows PowerShell provider](./creating-a-windows-powershell-container-provider.md) [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) -[How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [Windows PowerShell Programmer's Guide](./windows-powershell-programmer-s-guide.md) [Windows PowerShell SDK](../windows-powershell-reference.md) \ No newline at end of file diff --git a/developer/prog-guide/creating-a-windows-powershell-property-provider.md b/developer/prog-guide/creating-a-windows-powershell-property-provider.md index 1d89ff85a033..450fc38486f6 100644 --- a/developer/prog-guide/creating-a-windows-powershell-property-provider.md +++ b/developer/prog-guide/creating-a-windows-powershell-property-provider.md @@ -18,7 +18,6 @@ This topic describes how to create a provider that enables the user to manipulat > [!NOTE] > Windows PowerShell provides a template file that you can use to develop a Windows PowerShell provider. The TemplateProvider.cs file is available on the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> Windows PowerShell provides a template file that you can use to develop a Windows PowerShell provider. The TemplateProvider.cs file is available on the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded template is available in the **\** directory. You should make a copy of this file and use the copy for creating a new Windows PowerShell provider, removing any functionality that you do not need. > @@ -27,26 +26,6 @@ This topic describes how to create a provider that enables the user to manipulat > [!CAUTION] > The methods of your property provider should write any objects using the [System.Management.Automation.Provider.Cmdletprovider.Writepropertyobject*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WritePropertyObject) method. -The following list contains the sections in this topic. If you are unfamiliar with writing a Windows PowerShell property provider, read this information in the order that it appears. However, if you are familiar with writing a Windows PowerShell property provider, please go directly to the information that you need. - -- [Defining the Windows PowerShell Provider](#Defining-the-Windows-PowerShell-provider) - -- [Defining Base Functionality](#Defining-Base-Functionality) - -- [Retrieving Properties](#Retrieving-Properties) - -- [Attaching Dynamic Parameters to the `Get-ItemProperty` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Get-ItemProperty-Cmdlet) - -- [Setting Properties](#Setting-Properties) - -- [Attaching Dynamic Parameters to the `Set-ItemProperty` Cmdlet](#Attaching-Dynamic-Parameters-for-the-Set-ItemProperty-Cmdlet) - -- [Clearing a Property](#Clearing-Properties) - -- [Attaching Dynamic Parameters to the `Clear-ItemProperty` Cmdlet](#Attaching-Dynamic-Parameters-to-the-Clear-ItemProperty-Cmdlet) - -- [Building the Windows PowerShell Provider](#Building-the-Windows-PowerShell-provider) - ## Defining the Windows PowerShell provider A property provider must create a .NET class that supports the [System.Management.Automation.Provider.Ipropertycmdletprovider](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider) interface. Here is the default class declaration from the TemplateProvider.cs file provided by Windows PowerShell. @@ -61,7 +40,7 @@ The [System.Management.Automation.Provider.Ipropertycmdletprovider](/dotnet/api/ To retrieve properties, the provider must implement the [System.Management.Automation.Provider.Ipropertycmdletprovider.Getproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty) method to support calls from the `Get-ItemProperty` cmdlet. This method retrieves the properties of the item located at the specified provider-internal path (fully-qualified). -The `providerSpecificPickList` parameter indicates which properties to retrieve. If this parameter is `null` or empty, the method should retrieve all properties. In addition, [System.Management.Automation.Provider.Ipropertycmdletprovider.Getproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty) writes an instance of a [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) object that represents a property bag of the retrieved properties. The method should return nothing. +The `providerSpecificPickList` parameter indicates which properties to retrieve. If this parameter is `null` or empty, the method should retrieve all properties. In addition, [System.Management.Automation.Provider.Ipropertycmdletprovider.Getproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty) writes an instance of a [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) object that represents a property bag of the retrieved properties. The method should return nothing. It is recommended that the implementation of [System.Management.Automation.Provider.Ipropertycmdletprovider.Getproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty) supports the wildcard expansion of property names for each element in the pick list. To do this, use the [System.Management.Automation.Wildcardpattern](/dotnet/api/System.Management.Automation.WildcardPattern) class to perform the wildcard pattern matching. @@ -87,7 +66,7 @@ Here is the default implementation of [System.Management.Automation.Provider.Ipr ## Setting Properties -To set properties, the Windows PowerShell property provider must implement the [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) method to support calls from the `Set-ItemProperty` cmdlet. This method sets one or more properties of the item at the specified path, and overwrites the supplied properties as required. [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) also writes an instance of a [System.Management.Automation.Psobject](/dotnet/api/System.Management.Automation.PSObject) object that represents a property bag of the updated properties. +To set properties, the Windows PowerShell property provider must implement the [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) method to support calls from the `Set-ItemProperty` cmdlet. This method sets one or more properties of the item at the specified path, and overwrites the supplied properties as required. [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) also writes an instance of a [System.Management.Automation.PSObject](/dotnet/api/System.Management.Automation.PSObject) object that represents a property bag of the updated properties. Here is the default implementation of [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) from the TemplateProvider.cs file provided by Windows PowerShell. @@ -101,9 +80,9 @@ The following conditions may apply to an implementation of [System.Management.Au - By default, overrides of this method should not retrieve a reader for objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be written if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. -- Your implementation of the [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to system state, for example, renaming files. [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime and handling any command-line settings or preference variables in determining what should be displayed. +- Your implementation of the [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation when a change is made to system state, for example, renaming files. [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime and handling any command-line settings or preference variables in determining what should be displayed. - After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, if potentially dangerous system modifications can be made, the [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a confirmation message to the user to allow additional feedback to indicate that the operation should be continued. + After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, if potentially dangerous system modifications can be made, the [System.Management.Automation.Provider.Ipropertycmdletprovider.Setproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a confirmation message to the user to allow additional feedback to indicate that the operation should be continued. ## Attaching Dynamic Parameters for the Set-ItemProperty Cmdlet @@ -129,9 +108,9 @@ The following conditions may apply to your implementation of [System.Management. - By default, overrides of this method should not retrieve a reader for objects that are hidden from the user unless the [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) property is set to `true`. An error should be written if the path represents an item that is hidden from the user and [System.Management.Automation.Provider.Cmdletprovider.Force*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.Force) is set to `false`. -- Your implementation of the [System.Management.Automation.Provider.Ipropertycmdletprovider.Clearproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty) method should call [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation before a change is made to system state, such as clearing content. [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command line settings or preference variables in determining what should be displayed. +- Your implementation of the [System.Management.Automation.Provider.Ipropertycmdletprovider.Clearproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty) method should call [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) and verify its return value before making any changes to the data store. This method is used to confirm execution of an operation before a change is made to system state, such as clearing content. [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) sends the name of the resource to be changed to the user, with the Windows PowerShell runtime taking into account any command line settings or preference variables in determining what should be displayed. - After the call to [System.Management.Automation.Provider.Cmdletprovider.Shouldprocess*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, if potentially dangerous system modifications can be made, the [System.Management.Automation.Provider.Ipropertycmdletprovider.Clearproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty) method should call the [System.Management.Automation.Provider.Cmdletprovider.Shouldcontinue*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a confirmation message to the user to allow additional feedback to indicate that the potentially dangerous operation should be continued. + After the call to [System.Management.Automation.Provider.Cmdletprovider.ShouldProcess](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldProcess) returns `true`, if potentially dangerous system modifications can be made, the [System.Management.Automation.Provider.Ipropertycmdletprovider.Clearproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty) method should call the [System.Management.Automation.Provider.Cmdletprovider.ShouldContinue](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.ShouldContinue) method. This method sends a confirmation message to the user to allow additional feedback to indicate that the potentially dangerous operation should be continued. ## Attaching Dynamic Parameters to the Clear-ItemProperty Cmdlet @@ -143,7 +122,6 @@ Here is the default implementation of [System.Management.Automation.Provider.Ipr ## Building the Windows PowerShell provider -See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c). ## See Also @@ -154,8 +132,4 @@ See [How to Register Cmdlets, Providers, and Host Applications](http://msdn.micr [Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) -[Extending Object Types and Formatting](http://msdn.microsoft.com/en-us/da976d91-a3d6-44e8-affa-466b1e2bd351) - -[How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) - [How to Register Cmdlets, Providers, and Host Applications](http://msdn.microsoft.com/en-us/a41e9054-29c8-40ab-bf2b-8ce4e7ec1c8c) \ No newline at end of file diff --git a/developer/prog-guide/designing-your-windows-powershell-provider.md b/developer/prog-guide/designing-your-windows-powershell-provider.md index c936d43cb2ee..9daab0bbacba 100644 --- a/developer/prog-guide/designing-your-windows-powershell-provider.md +++ b/developer/prog-guide/designing-your-windows-powershell-provider.md @@ -160,6 +160,4 @@ The [System.Management.Automation.Provider.Isecuritydescriptorcmdletprovider](/d [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58) -[How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58) - [Windows PowerShell SDK](../windows-powershell-reference.md) \ No newline at end of file diff --git a/developer/prog-guide/getproc01-csharp-sample-code.md b/developer/prog-guide/getproc01-csharp-sample-code.md index 6ed1066156e0..7cce112dcd2a 100644 --- a/developer/prog-guide/getproc01-csharp-sample-code.md +++ b/developer/prog-guide/getproc01-csharp-sample-code.md @@ -15,7 +15,6 @@ The following code shows the implementation of the GetProc01 sample cmdlet. Noti > [!NOTE] > You can download the C# source file (getproc01.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getproc01.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc01-vb-net-sample-code.md b/developer/prog-guide/getproc01-vb-net-sample-code.md index 02cf608f549b..4b243ec447fc 100644 --- a/developer/prog-guide/getproc01-vb-net-sample-code.md +++ b/developer/prog-guide/getproc01-vb-net-sample-code.md @@ -15,7 +15,6 @@ The following code shows the implementation of the GetProc01 sample cmdlet. Noti > [!NOTE] > You can download the C# source file (getproc01.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getproc01.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc02-code-samples.md b/developer/prog-guide/getproc02-code-samples.md index 73ba9e203a67..c3e1c9b03815 100644 --- a/developer/prog-guide/getproc02-code-samples.md +++ b/developer/prog-guide/getproc02-code-samples.md @@ -15,7 +15,6 @@ Here are the code samples for the GetProc02 sample cmdlet. This is the `Get-Proc > [!NOTE] > You can download the C# source file (getproc02.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getproc02.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc02-csharp-sample-code.md b/developer/prog-guide/getproc02-csharp-sample-code.md index 11b6e50d350f..4ed9eb2cbf7d 100644 --- a/developer/prog-guide/getproc02-csharp-sample-code.md +++ b/developer/prog-guide/getproc02-csharp-sample-code.md @@ -11,7 +11,7 @@ caps.latest.revision: 6 --- # GetProc02 (C#) Sample Code -The following code shows the implementation of a `Get-Process` cmdlet that accepts command-line input. Notice that this implementation defines a `Name` parameter to allow command-line input, and it uses the [System.Management.Automation.Cmdlet.Writeobject%28System.Object%2Csystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending output objects to the pipeline. +The following code shows the implementation of a `Get-Process` cmdlet that accepts command-line input. Notice that this implementation defines a `Name` parameter to allow command-line input, and it uses the [System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending output objects to the pipeline. ## Code Sample diff --git a/developer/prog-guide/getproc02-vb-net-sample-code.md b/developer/prog-guide/getproc02-vb-net-sample-code.md index 65c70bc76a4d..d95244196bde 100644 --- a/developer/prog-guide/getproc02-vb-net-sample-code.md +++ b/developer/prog-guide/getproc02-vb-net-sample-code.md @@ -11,7 +11,7 @@ caps.latest.revision: 6 --- # GetProc02 (VB.NET) Sample Code -The following code shows the implementation of a `Get-Process` cmdlet that accepts command-line input. Notice that this implementation defines a `Name` parameter to allow command-line input, and it uses the [System.Management.Automation.Cmdlet.Writeobject%28System.Object%2Csystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending output objects to the pipeline. +The following code shows the implementation of a `Get-Process` cmdlet that accepts command-line input. Notice that this implementation defines a `Name` parameter to allow command-line input, and it uses the [System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending output objects to the pipeline. ## Code Sample diff --git a/developer/prog-guide/getproc03-code-samples.md b/developer/prog-guide/getproc03-code-samples.md index a5f5c1e1d484..bbabaec5cde9 100644 --- a/developer/prog-guide/getproc03-code-samples.md +++ b/developer/prog-guide/getproc03-code-samples.md @@ -15,7 +15,6 @@ Here are the code samples for the GetProc03 sample cmdlet. This is the `Get-Proc > [!NOTE] > You can download the C# source file (getprov03.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getprov03.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc03-csharp-sample-code.md b/developer/prog-guide/getproc03-csharp-sample-code.md index 5e608d423162..fad4b48fea64 100644 --- a/developer/prog-guide/getproc03-csharp-sample-code.md +++ b/developer/prog-guide/getproc03-csharp-sample-code.md @@ -11,11 +11,10 @@ caps.latest.revision: 5 --- # GetProc03 (C#) Sample Code -The following code shows the implementation of a `Get-Process` cmdlet that can accept pipelined input. This implementation defines a `Name` parameter that accepts pipeline input, retrieves process information from the local computer based on the supplied names, and then uses the [System.Management.Automation.Cmdlet.Writeobject%28System.Object%2Csystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending objects to the pipeline. +The following code shows the implementation of a `Get-Process` cmdlet that can accept pipelined input. This implementation defines a `Name` parameter that accepts pipeline input, retrieves process information from the local computer based on the supplied names, and then uses the [System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending objects to the pipeline. > [!NOTE] > You can download the C# source file (getprov03.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getprov03.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc03-vb-net-sample-code.md b/developer/prog-guide/getproc03-vb-net-sample-code.md index 7754672bf259..9afc1e39c8e7 100644 --- a/developer/prog-guide/getproc03-vb-net-sample-code.md +++ b/developer/prog-guide/getproc03-vb-net-sample-code.md @@ -11,7 +11,7 @@ caps.latest.revision: 7 --- # GetProc03 (VB.NET) Sample Code -The following code shows the implementation of a `Get-Process` cmdlet that can accept pipelined input. This implementation defines a `Name` parameter that accepts pipeline input, retrieves process information from the local computer based on the supplied names, and then uses the [System.Management.Automation.Cmdlet.Writeobject%28System.Object%2Csystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending objects to the pipeline. +The following code shows the implementation of a `Get-Process` cmdlet that can accept pipelined input. This implementation defines a `Name` parameter that accepts pipeline input, retrieves process information from the local computer based on the supplied names, and then uses the [System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29](/dotnet/api/System.Management.Automation.Cmdlet.WriteObject%28System.Object%2CSystem.Boolean%29) method as the output mechanism for sending objects to the pipeline. ## Code Sample diff --git a/developer/prog-guide/getproc04-code-samples.md b/developer/prog-guide/getproc04-code-samples.md index c1d68526904a..0e240eb01e91 100644 --- a/developer/prog-guide/getproc04-code-samples.md +++ b/developer/prog-guide/getproc04-code-samples.md @@ -11,11 +11,10 @@ caps.latest.revision: 5 --- # GetProc04 Code Samples -Here are the code samples for the GetProc04 sample cmdlet. This is the `Get-Process` cmdlet sample described in [Adding Nonterminating Error Reporting to Your Cmdlet](../cmdlet/adding-non-terminating-error-reporting-to-your-cmdlet.md). This `Get-Process` cmdlet calls the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method whenever an invalid operation exception is thrown while retrieving process information. +Here are the code samples for the GetProc04 sample cmdlet. This is the `Get-Process` cmdlet sample described in [Adding Nonterminating Error Reporting to Your Cmdlet](../cmdlet/adding-non-terminating-error-reporting-to-your-cmdlet.md). This `Get-Process` cmdlet calls the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method whenever an invalid operation exception is thrown while retrieving process information. > [!NOTE] > You can download the C# source file (getprov04.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getprov04.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc04-csharp-sample-code.md b/developer/prog-guide/getproc04-csharp-sample-code.md index b983e0994fc5..3121ae5a8843 100644 --- a/developer/prog-guide/getproc04-csharp-sample-code.md +++ b/developer/prog-guide/getproc04-csharp-sample-code.md @@ -11,11 +11,10 @@ caps.latest.revision: 5 --- # GetProc04 (C#) Sample Code -The following code shows the implementation of a `Get-Process` cmdlet that reports nonterminating errors. This implementation calls the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method to report nonterminating errors. +The following code shows the implementation of a `Get-Process` cmdlet that reports nonterminating errors. This implementation calls the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method to report nonterminating errors. > [!NOTE] > You can download the C# source file (getprov04.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getprov04.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc04-vb-net-sample-code.md b/developer/prog-guide/getproc04-vb-net-sample-code.md index d8fe53323b56..3d64369f593e 100644 --- a/developer/prog-guide/getproc04-vb-net-sample-code.md +++ b/developer/prog-guide/getproc04-vb-net-sample-code.md @@ -11,11 +11,10 @@ caps.latest.revision: 5 --- # GetProc04 (VB.NET) Sample Code -The following code shows the implementation of a `Get-Process` cmdlet that reports nonterminating errors. This implementation calls the [System.Management.Automation.Cmdlet.Writeerror*](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method to report nonterminating errors. +The following code shows the implementation of a `Get-Process` cmdlet that reports nonterminating errors. This implementation calls the [System.Management.Automation.Cmdlet.WriteError](/dotnet/api/System.Management.Automation.Cmdlet.WriteError) method to report nonterminating errors. > [!NOTE] > You can download the C# source file (getprov04.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (getprov04.cs) for this Get-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/getproc05-vb-net-sample-code.md b/developer/prog-guide/getproc05-vb-net-sample-code.md index d98f8cfaabe1..8b027164e7b9 100644 --- a/developer/prog-guide/getproc05-vb-net-sample-code.md +++ b/developer/prog-guide/getproc05-vb-net-sample-code.md @@ -161,7 +161,7 @@ Namespace Microsoft.Samples.PowerShell.Commands WriteVerbose(("Finding matches for process name """ & _ pattern & """.")) - ' WildCard serach on the available processes + ' WildCard search on the available processes Dim wildcard As New WildcardPattern(pattern, _ WildcardOptions.IgnoreCase) @@ -180,7 +180,7 @@ Namespace Microsoft.Samples.PowerShell.Commands End If ' Perform a wildcard search on this particular - ' process and check whehter this matches the + ' process and check whether this matches the ' pattern specified. If Not wildcard.IsMatch(processName) Then GoTo ContinueForEach2 diff --git a/developer/prog-guide/how-to-create-a-windows-powershell-provider.md b/developer/prog-guide/how-to-create-a-windows-powershell-provider.md index 69353a47ac83..8166301f458e 100644 --- a/developer/prog-guide/how-to-create-a-windows-powershell-provider.md +++ b/developer/prog-guide/how-to-create-a-windows-powershell-provider.md @@ -23,11 +23,10 @@ To the developer, the Windows PowerShell provider is the interface between the u Windows PowerShell provides several providers (such as the FileSystem provider, Registry provider, and Alias provider) that are used to access known data stores. For more information about the providers supplied by Windows PowerShell, use the following command to access online Help: -**PS>get-help about_provider** +**PS>get-help about_providers** ## Accessing the Stored Data Using Windows PowerShell Paths -Windows PowerShell providers are accessible to the Windows PowerShell runtime and to commands programmatically through the use of Windows PowerShell paths. Most of the time, these paths are used to directly access the data through the provider. However, some paths can be resolved to provider-internal paths that allow a cmdlet to use non-Windows PowerShell application programming interfaces (APIs) to access the data. For more information about how Windows PowerShell providers operate within Windows PowerShell, see [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58). Windows PowerShell providers are accessible to the Windows PowerShell runtime and to commands programmatically through the use of Windows PowerShell paths. Most of the time, these paths are used to directly access the data through the provider. However, some paths can be resolved to provider-internal paths that allow a cmdlet to use non-Windows PowerShell application programming interfaces (APIs) to access the data. For more information about how Windows PowerShell providers operate within Windows PowerShell, see [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58). ## Exposing Provider Cmdlets Using Windows PowerShell Drives @@ -61,8 +60,6 @@ The following table lists topics that include code examples that build on each o [How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58) -[How Windows PowerShell Works](http://msdn.microsoft.com/en-us/ced30e23-10af-4700-8933-49873bd84d58) - [Windows PowerShell SDK](../windows-powershell-reference.md) -[Windows PowerShell Programmer's Guide](./windows-powershell-programmer-s-guide.md) \ No newline at end of file +[Windows PowerShell Programmer's Guide](./windows-powershell-programmer-s-guide.md) diff --git a/developer/prog-guide/runspace01-csharp-code-sample.md b/developer/prog-guide/runspace01-csharp-code-sample.md index 527775cf419b..1ab68c8d1708 100644 --- a/developer/prog-guide/runspace01-csharp-code-sample.md +++ b/developer/prog-guide/runspace01-csharp-code-sample.md @@ -11,12 +11,10 @@ caps.latest.revision: 6 --- # Runspace01 (C#) Code Sample -Here are the code samples for the runspace described in [Creating a Console Application That Runs a Specified Command](http://msdn.microsoft.com/en-us/793a6570-a072-4799-840b-172f28ce620e). To do this, the application invokes a runspace, and then invokes a command. (Note that this application does not specify runspace configuration information, nor does it explicitly create a pipeline). The command that is invoked is the `Get-Process` cmdlet. Here are the code samples for the runspace described in [Creating a Console Application That Runs a Specified Command](http://msdn.microsoft.com/en-us/793a6570-a072-4799-840b-172f28ce620e). To do this, the application invokes a runspace, and then invokes a command. (Note that this application does not specify runspace configuration information, nor does it explicitly create a pipeline). The command that is invoked is the `Get-Process` cmdlet. > [!NOTE] > You can download the C# source file (runspace01.cs) for this runspace using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace01.cs) for this runspace using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace01-vb-net-code-sample.md b/developer/prog-guide/runspace01-vb-net-code-sample.md index 32d3fee9527e..38e03288f081 100644 --- a/developer/prog-guide/runspace01-vb-net-code-sample.md +++ b/developer/prog-guide/runspace01-vb-net-code-sample.md @@ -11,7 +11,6 @@ caps.latest.revision: 7 --- # Runspace01 (VB.NET) Code Sample -Here are the code samples for the runspace described in [Creating a Console Application That Runs a Specified Command](http://msdn.microsoft.com/en-us/793a6570-a072-4799-840b-172f28ce620e). To do this, the application invokes a runspace, and then invokes a command. (Note that this application does not specify runspace configuration information, nor does it explicitly create a pipeline.) The command that is invoked is the `Get-Process` cmdlet. Here are the code samples for the runspace described in [Creating a Console Application That Runs a Specified Command](http://msdn.microsoft.com/en-us/793a6570-a072-4799-840b-172f28ce620e). To do this, the application invokes a runspace, and then invokes a command. (Note that this application does not specify runspace configuration information, nor does it explicitly create a pipeline.) The command that is invoked is the `Get-Process` cmdlet. ## Code Sample diff --git a/developer/prog-guide/runspace03-code-samples.md b/developer/prog-guide/runspace03-code-samples.md index 7d8565075a17..352dbd241343 100644 --- a/developer/prog-guide/runspace03-code-samples.md +++ b/developer/prog-guide/runspace03-code-samples.md @@ -15,7 +15,6 @@ Here are the code samples for the runspace described in [Creating a Console Appl > [!NOTE] > You can download the C# source file (runspace03.cs) and the VB.NET source file (runspace03.vb) for this sample using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace03.cs) and the VB.NET source file (runspace03.vb) for this sample using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace03-csharp-code-sample.md b/developer/prog-guide/runspace03-csharp-code-sample.md index e1601557d828..6e2f8433332f 100644 --- a/developer/prog-guide/runspace03-csharp-code-sample.md +++ b/developer/prog-guide/runspace03-csharp-code-sample.md @@ -15,7 +15,6 @@ Here is the C# source code for the console application described in [Creating a > [!NOTE] > You can download the C# source file (runspace03.cs) for this sample using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace03.cs) for this sample using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace03-vb-net-code-sample.md b/developer/prog-guide/runspace03-vb-net-code-sample.md index 02605c8b5e95..cce1f946e363 100644 --- a/developer/prog-guide/runspace03-vb-net-code-sample.md +++ b/developer/prog-guide/runspace03-vb-net-code-sample.md @@ -11,12 +11,10 @@ caps.latest.revision: 6 --- # RunSpace03 (VB.NET) Code Sample -Here is the VB.NET source code for the console application described in [Creating a Console Application That Runs a Specified Script](http://msdn.microsoft.com/en-us/a93e6006-36db-4bcc-b9da-c5bebf4ffd68). This sample uses the [System.Management.Automation.Runspaceinvoke](/dotnet/api/System.Management.Automation.RunspaceInvoke) class to execute a script that retrieves process information for the list of process names passed into the script. It shows how to pass input objects to a script and how to retrieve error objects as well as the output objects. Here is the VB.NET source code for the console application described in [Creating a Console Application That Runs a Specified Script](http://msdn.microsoft.com/en-us/a93e6006-36db-4bcc-b9da-c5bebf4ffd68). This sample uses the [System.Management.Automation.Runspaceinvoke](/dotnet/api/System.Management.Automation.RunspaceInvoke) class to execute a script that retrieves process information for the list of process names passed into the script. It shows how to pass input objects to a script and how to retrieve error objects as well as the output objects. > [!NOTE] > You can download the VB.NET source file (runspace03.vb) for this sample by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the VB.NET source file (runspace03.vb) for this sample by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace04-code-samples.md b/developer/prog-guide/runspace04-code-samples.md index 6f79cc38e20f..5e38ea913eea 100644 --- a/developer/prog-guide/runspace04-code-samples.md +++ b/developer/prog-guide/runspace04-code-samples.md @@ -15,7 +15,6 @@ Here is a code sample for a runspace that uses the [System.Management.Automation > [!NOTE] > You can download the VB.NET source file (Runspace04.vb) for this runspace using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the VB.NET source file (Runspace04.vb) for this runspace using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace04-vb-net-code-sample.md b/developer/prog-guide/runspace04-vb-net-code-sample.md index ab2ebc257b9a..fd0bfed0eeba 100644 --- a/developer/prog-guide/runspace04-vb-net-code-sample.md +++ b/developer/prog-guide/runspace04-vb-net-code-sample.md @@ -15,7 +15,6 @@ Here is the VB.NET source code for the Runspace04 sample. This sample uses the [ > [!NOTE] > You can download the VB.NET source file (runspace02.vb) for this sample by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the VB.NET source file (runspace02.vb) for this sample by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace05-code-sample.md b/developer/prog-guide/runspace05-code-sample.md index 0016dd8e9ece..bcc5a8bb8ad9 100644 --- a/developer/prog-guide/runspace05-code-sample.md +++ b/developer/prog-guide/runspace05-code-sample.md @@ -15,7 +15,6 @@ Here is the source code for the Runspace05 sample that is described in [Configur > [!NOTE] > You can download the C# source file (runspace05.cs) by using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace05.cs) by using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace06-code-sample.md b/developer/prog-guide/runspace06-code-sample.md index 4c8ae27adbb2..90f6336c1f23 100644 --- a/developer/prog-guide/runspace06-code-sample.md +++ b/developer/prog-guide/runspace06-code-sample.md @@ -15,7 +15,6 @@ Here is the source code for the Runspace06 sample described in [Configuring a Ru > [!NOTE] > You can download the C# source file (runspace06.cs) by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace06.cs) by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace07-code-sample.md b/developer/prog-guide/runspace07-code-sample.md index 5f10001c18b2..f659ff84017e 100644 --- a/developer/prog-guide/runspace07-code-sample.md +++ b/developer/prog-guide/runspace07-code-sample.md @@ -15,7 +15,6 @@ Here is the source code for the Runspace07 sample described in [Creating a Conso > [!NOTE] > You can download the C# source file (runspace07.cs) using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace07.cs) using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/runspace10-code-sample.md b/developer/prog-guide/runspace10-code-sample.md index 236401cf0361..6fcea060953e 100644 --- a/developer/prog-guide/runspace10-code-sample.md +++ b/developer/prog-guide/runspace10-code-sample.md @@ -15,7 +15,6 @@ Here is the source code for the Runspace10 sample. This sample application adds > [!NOTE] > You can download the C# source file (runspace10.cs) by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# source file (runspace10.cs) by using the Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/stopproc01-code-samples.md b/developer/prog-guide/stopproc01-code-samples.md index 9849611d6aed..5f34d4d5e987 100644 --- a/developer/prog-guide/stopproc01-code-samples.md +++ b/developer/prog-guide/stopproc01-code-samples.md @@ -15,7 +15,6 @@ Here is the code sample for the StopProc01 sample cmdlet. This is the `Stop-Proc > [!NOTE] > You can download the C# (stopproc01.cs) source file for the Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# (stopproc01.cs) source file for the Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/stopproc01-csharp-sample-code.md b/developer/prog-guide/stopproc01-csharp-sample-code.md index 99d49bd2a2bf..ea11bd10761d 100644 --- a/developer/prog-guide/stopproc01-csharp-sample-code.md +++ b/developer/prog-guide/stopproc01-csharp-sample-code.md @@ -15,7 +15,6 @@ Here is the complete C# code for the StopProc01 sample cmdlet. > [!NOTE] > You can download the C# (stopproc01.cs) source file for the Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# (stopproc01.cs) source file for the Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/stopprocesssample04-code-samples.md b/developer/prog-guide/stopprocesssample04-code-samples.md index 0882b731f206..815869bd66a7 100644 --- a/developer/prog-guide/stopprocesssample04-code-samples.md +++ b/developer/prog-guide/stopprocesssample04-code-samples.md @@ -15,7 +15,6 @@ Here are the code samples for the StopProc00 sample cmdlet. This is the `Stop-Pr > [!NOTE] > You can download the C# (stopprocesssample04.cs) and VB.NET (stopprocesssample04.vb) for this Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# (stopprocesssample04.cs) and VB.NET (stopprocesssample04.vb) for this Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/stopprocesssample04-csharp-sample-code.md b/developer/prog-guide/stopprocesssample04-csharp-sample-code.md index cbc725b05d1f..36c33e4377f3 100644 --- a/developer/prog-guide/stopprocesssample04-csharp-sample-code.md +++ b/developer/prog-guide/stopprocesssample04-csharp-sample-code.md @@ -15,7 +15,6 @@ Here is the complete C# sample code for the StopProc04 sample cmdlet. This is th > [!NOTE] > You can download the C# (stopprocesssample04.cs) source file for this Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the C# (stopprocesssample04.cs) source file for this Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. diff --git a/developer/prog-guide/stopprocesssample04-vb-net-sample-code.md b/developer/prog-guide/stopprocesssample04-vb-net-sample-code.md index b2bb4ecdae88..d90841cd3dff 100644 --- a/developer/prog-guide/stopprocesssample04-vb-net-sample-code.md +++ b/developer/prog-guide/stopprocesssample04-vb-net-sample-code.md @@ -15,7 +15,6 @@ Here is the complete VB.NET sample code for the StopProc04 sample cmdlet. This i > [!NOTE] > You can download the VB.NET (stopprocesssample04.vb) source file for this Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). -> You can download the VB.NET (stopprocesssample04.vb) source file for this Stop-Proc cmdlet using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. For download instructions, see [How to Install Windows PowerShell and Download the Windows PowerShell SDK](/powershell/developer/installing-the-windows-powershell-sdk). > > The downloaded source files are available in the **\** directory. @@ -253,9 +252,9 @@ ContinueForEach1: "Are you sure you wish to stop the process?", processName) ' It is possible that ProcessRecord is called multiple - ' when objects are recieved as inputs from a pipeline. + ' when objects are received as inputs from a pipeline. ' So, to retain YesToAll and NoToAll input that the - ' user may enter across mutilple calls to this + ' user may enter across multiple calls to this ' function, they are stored as private members of the ' Cmdlet. If Not ShouldContinue(message, "Warning!", yesToAll, noToAll) Then diff --git a/developer/prog-guide/windows-powershell-programmer-s-guide.md b/developer/prog-guide/windows-powershell-programmer-s-guide.md index e6eaae1accf2..b483fca69c92 100644 --- a/developer/prog-guide/windows-powershell-programmer-s-guide.md +++ b/developer/prog-guide/windows-powershell-programmer-s-guide.md @@ -51,7 +51,7 @@ If you expose a data store that the user will need to access, you might need to Windows PowerShell includes the default host application powershell.exe, which is a console application that interacts with the user and hosts the Windows PowerShell runtime using a console window. -Only rarely will you need to write your own host application for Windows PowerShell, although customization is supported. One case in which you might need your own application is when you have a requirement for a GUI interface that is richer than the interface provided by the default host application. You might also want a custom application when you are basing your GUI on the command line. For more information, see[How to Create a Windows PowerShell Host Application](http://msdn.microsoft.com/en-us/d31355c9-a270-4b09-8f0c-35a7392a7d07). +Only rarely will you need to write your own host application for Windows PowerShell, although customization is supported. One case in which you might need your own application is when you have a requirement for a GUI interface that is richer than the interface provided by the default host application. You might also want a custom application when you are basing your GUI on the command line. For more information, see [How to Create a Windows PowerShell Host Application](http://msdn.microsoft.com/en-us/d31355c9-a270-4b09-8f0c-35a7392a7d07). ### Windows PowerShell Runtime @@ -101,4 +101,4 @@ For more information about starting to use the Windows PowerShell shell, see the ## See Also -[Windows PowerShell SDK](../windows-powershell-reference.md) \ No newline at end of file +[Windows PowerShell SDK](../windows-powershell-reference.md) diff --git a/developer/provider/accessdbprovidersample04.md b/developer/provider/accessdbprovidersample04.md index e03589913d0e..c41ea26fa51b 100644 --- a/developer/provider/accessdbprovidersample04.md +++ b/developer/provider/accessdbprovidersample04.md @@ -24,7 +24,7 @@ This sample demonstrates the following: - Defining a provider class that derives from the [System.Management.Automation.Provider.Containercmdletprovider](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider) class. -- Overwriting the [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method to change the behavior of the `Copy-Item` cmdlet which allows the user to copy items from one location to another. (This sample does not show how to add dynamic parameters to the `Copy-Item` cmdlet.) +- Overwriting the [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method to change the behavior of the `Copy-Item` cmdlet which allows the user to copy items from one location to another. (This sample does not show how to add dynamic parameters to the `Copy-Item` cmdlet.) - Overwriting the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) method to change the behavior of the Get-ChildItems cmdlet, which allows the user to retrieve the child items of the parent item. (This sample does not show how to add dynamic parameters to the Get-ChildItems cmdlet.) diff --git a/developer/provider/accessdbprovidersample05.md b/developer/provider/accessdbprovidersample05.md index 340b2fead98f..66b428da1448 100644 --- a/developer/provider/accessdbprovidersample05.md +++ b/developer/provider/accessdbprovidersample05.md @@ -1877,7 +1877,7 @@ namespace Microsoft.Samples.PowerShell.Providers private int rowCount; /// - /// The column difinition of a table. + /// The column definition of a table. /// private DataColumnCollection columns; diff --git a/developer/provider/accessdbprovidersample06.md b/developer/provider/accessdbprovidersample06.md index 43601c210231..3bc99aadde9c 100644 --- a/developer/provider/accessdbprovidersample06.md +++ b/developer/provider/accessdbprovidersample06.md @@ -34,7 +34,7 @@ This sample demonstrates the following: - Overwriting the [System.Management.Automation.Provider.Icontentcmdletprovider.Getcontentreader*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.GetContentReader) method to change the behavior of the `Get-Content` cmdlet, allowing the user to retrieve the content of an item. (This sample does not show how to add dynamic parameters to the `Get-Content` cmdlet.). -- Overwriting the [Microsoft.Powershell.Commands.Filesystemprovider.Getcontentwriter*](/dotnet/api/Microsoft.PowerShell.Commands.FileSystemProvider.GetContentWriter) method to change the behavior of the `Set-Content` cmdlet, allowing the user to update the content of an item. (This sample does not show how to add dynamic parameters to the `Set-Content` cmdlet.) +- Overwriting the [Microsoft.PowerShell.Commands.Filesystemprovider.Getcontentwriter*](/dotnet/api/Microsoft.PowerShell.Commands.FileSystemProvider.GetContentWriter) method to change the behavior of the `Set-Content` cmdlet, allowing the user to update the content of an item. (This sample does not show how to add dynamic parameters to the `Set-Content` cmdlet.) ## Example diff --git a/developer/provider/provider-cmdlet-dynamic-parameters.md b/developer/provider/provider-cmdlet-dynamic-parameters.md index e6198477e35b..b1a7e8aec9a0 100644 --- a/developer/provider/provider-cmdlet-dynamic-parameters.md +++ b/developer/provider/provider-cmdlet-dynamic-parameters.md @@ -72,7 +72,7 @@ You can define dynamic parameters that are triggered by the `Path` parameter of You can define dynamic parameters that are triggered by the `Path`, `Destination`, and `Recurse` parameters of the `Copy-Item` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Copyitemdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters) method. Get-ChildItems cmdlet -You can define dynamic parameters that are triggered by the `Path` and `Recures` parameters of the `Get-ChildItem` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditemsdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters) and [System.Management.Automation.Provider.Containercmdletprovider.Getchildnamesdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters) methods. +You can define dynamic parameters that are triggered by the `Path` and `Recurse` parameters of the `Get-ChildItem` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditemsdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters) and [System.Management.Automation.Provider.Containercmdletprovider.Getchildnamesdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters) methods. `Get-Content` cmdlet You can define dynamic parameters that are triggered by the `Path` parameter of the `Get-Content` cmdlet by implementing the [System.Management.Automation.Provider.Icontentcmdletprovider.Getcontentreaderdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters) method. @@ -96,7 +96,7 @@ You can define dynamic parameters that are triggered by the `Path`, `ItemType`, You can define dynamic parameters that are triggered by the `Path`, `Name`, `PropertyType`, and `Value` parameters of the `New-ItemProperty` cmdlet by implementing the [System.Management.Automation.Provider.Idynamicpropertycmdletprovider.Newpropertydynamicparameters*](/dotnet/api/System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters) method. `New-PSDrive` cmdlet -You can define dynamic parameters that are triggered by the [System.Management.Automation.Psdriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object returned by the `New-PSDrive` cmdlet by implementing the [System.Management.Automation.Provider.Drivecmdletprovider.Newdrivedynamicparameters*](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters) method. +You can define dynamic parameters that are triggered by the [System.Management.Automation.PSDriveinfo](/dotnet/api/System.Management.Automation.PSDriveInfo) object returned by the `New-PSDrive` cmdlet by implementing the [System.Management.Automation.Provider.Drivecmdletprovider.Newdrivedynamicparameters*](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters) method. `Remove-Item` You can define dynamic parameters that are triggered by the `Path` and `Recurse` parameters of the `Remove-Item` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Removeitemdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters) method. diff --git a/developer/provider/provider-cmdlet-parameters.md b/developer/provider/provider-cmdlet-parameters.md index f49307dce99f..6f7f2d8af9f7 100644 --- a/developer/provider/provider-cmdlet-parameters.md +++ b/developer/provider/provider-cmdlet-parameters.md @@ -27,10 +27,10 @@ You can define how your provider will use the values passed to the `Path` parame You can define how your provider will use the values passed to the `Path` and `Name` parameters of the `Clear-ItemProperty` cmdlet by implementing the [System.Management.Automation.Provider.Ipropertycmdletprovider.Clearproperty*](/dotnet/api/System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty) method. `Copy-Item` cmdlet -You can define how your provider will use the values passed to the `Path`, `Destination`, and `Recurse` parameters of the `Copy-Item` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method. +You can define how your provider will use the values passed to the `Path`, `Destination`, and `Recurse` parameters of the `Copy-Item` cmdlet by implementing the [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) method. Get-ChildItems cmdlet -You can define how your provider will use the values passed to the `Path` and `Recures` parameters of the `Get-ChildItem` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) and [System.Management.Automation.Provider.Containercmdletprovider.Getchildnames*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNames) methods. +You can define how your provider will use the values passed to the `Path` and `Recurse` parameters of the `Get-ChildItem` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) and [System.Management.Automation.Provider.Containercmdletprovider.Getchildnames*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNames) methods. `Get-Content` cmdlet You can define how your provider will use the values passed to the `Path` parameter of the `Get-Content` cmdlet by implementing the [System.Management.Automation.Provider.Icontentcmdletprovider.Getcontentreader*](/dotnet/api/System.Management.Automation.Provider.IContentCmdletProvider.GetContentReader) method. @@ -51,7 +51,7 @@ You can define how your provider will use the values passed to the `Path` and `D You can define how your provider will use the values passed to the `Path`, `ItemType`, and `Value` parameters of the `New-Item` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method. `New-ItemProperty` cmdlet -You can define how your provider will use the values passed to the `Path`, `Name`, `PropertyType`, and `Value` parameters of the `New-ItemProperty` cmdlet by implementing the [Microsoft.Powershell.Commands.Registryprovider.Newproperty*](/dotnet/api/Microsoft.PowerShell.Commands.RegistryProvider.NewProperty) method. +You can define how your provider will use the values passed to the `Path`, `Name`, `PropertyType`, and `Value` parameters of the `New-ItemProperty` cmdlet by implementing the [Microsoft.PowerShell.Commands.Registryprovider.Newproperty*](/dotnet/api/Microsoft.PowerShell.Commands.RegistryProvider.NewProperty) method. `Remove-Item` You can define how your provider will use the values passed to the `Path` and `Recurse` parameters of the `Remove-Item` cmdlet by implementing the [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method. diff --git a/developer/provider/provider-types.md b/developer/provider/provider-types.md index a4c6300ae568..6890bb02705a 100644 --- a/developer/provider/provider-types.md +++ b/developer/provider/provider-types.md @@ -59,7 +59,7 @@ Container-enabled providers allow the user to manage items that are containers. The [System.Management.Automation.Provider.Containercmdletprovider](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider) class defines the following methods for implementing specific provider cmdlets. In most cases, to support a provider cmdlet you must overwrite the method that the Windows PowerShell engine calls to invoke the cmdlet, such as the `CopyItem` method for the `Copy-Item` cmdlet, and optionally you can overwrite a second method, such as `CopyItemDynamicParameters`, for adding dynamic parameters to the cmdlet. -- The [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) and [System.Management.Automation.Provider.Containercmdletprovider.Copyitemdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters) methods define how your provider supports the `Copy-Item` provider cmdlet. This cmdlet allows the user to copy an item from one location to another. +- The [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) and [System.Management.Automation.Provider.Containercmdletprovider.Copyitemdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters) methods define how your provider supports the `Copy-Item` provider cmdlet. This cmdlet allows the user to copy an item from one location to another. - The [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) and [System.Management.Automation.Provider.Containercmdletprovider.Getchilditemsdynamicparameters*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters) methods define how your provider supports the `Get-ChildItem` provider cmdlet. This cmdlet allows the user to retrieve the child items of the parent item. diff --git a/developer/provider/windows-powershell-provider-overview.md b/developer/provider/windows-powershell-provider-overview.md index 31a06b3e60e3..6f6957b2aa07 100644 --- a/developer/provider/windows-powershell-provider-overview.md +++ b/developer/provider/windows-powershell-provider-overview.md @@ -11,7 +11,6 @@ caps.latest.revision: 13 --- # Windows PowerShell Provider Overview -A Windows PowerShell provider allows any data store to be exposed like a file system as if it were a mounted drive. For example, the built-in Registry provider allows you to navigate the registry like you would navigate the `c` drive of your computer. A provider can also override the `Item` cmdlets (for example, `Get-Item`, `Set-Item`, etc.) such that the data in your data store can be treated like files and directories are treated when navigating a file system. For more information about providers and drives, and the built-in providers in Windows PowerShell, see [about_Providers](/powershell/module/microsoft.powershell.core/about/about_providers). A Windows PowerShell provider allows any data store to be exposed like a file system as if it were a mounted drive. For example, the built-in Registry provider allows you to navigate the registry like you would navigate the `c` drive of your computer. A provider can also override the `Item` cmdlets (for example, `Get-Item`, `Set-Item`, etc.) such that the data in your data store can be treated like files and directories are treated when navigating a file system. For more information about providers and drives, and the built-in providers in Windows PowerShell, see [about_Providers](/powershell/module/microsoft.powershell.core/about/about_providers). ## Providers and Drives @@ -26,7 +25,7 @@ There are several types of providers, each of which provides a different level o ## Provider cmdlets -Providers can implement methods that correspond to cmdlets, creating custom behaviors for those cmdlets when used in a drive for that provider. Depending on the type of provider, different sets of cmdlets are available. For a complete list of the cmldets available for customization in providers, see [Provider cmdlets](./provider-cmdlets.md). +Providers can implement methods that correspond to cmdlets, creating custom behaviors for those cmdlets when used in a drive for that provider. Depending on the type of provider, different sets of cmdlets are available. For a complete list of the cmdlets available for customization in providers, see [Provider cmdlets](./provider-cmdlets.md). ## Provider paths diff --git a/developer/provider/windows-powershell-provider-quickstart.md b/developer/provider/windows-powershell-provider-quickstart.md index 82a28ba1d299..65d20e5e31d6 100644 --- a/developer/provider/windows-powershell-provider-quickstart.md +++ b/developer/provider/windows-powershell-provider-quickstart.md @@ -61,7 +61,7 @@ namespace Microsoft.Samples.PowerShell.Providers ### Implementing NewDrive -The [System.Management.Automation.Provider.Drivecmdletprovider.Newdrive*](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider.NewDrive) method is called by the Windows PowerShell engine when a user calls the [Microsoft.Powershell.Commands.New-Psdrive](/dotnet/api/Microsoft.PowerShell.Commands.New-PSDrive) cmdlet specifying the name of your provider. The PSDriveInfo parameter is passed by the Windows PowerShell engine, and the method returns the new drive to the Windows PowerShell engine. This method must be declared within the class created above. +The [System.Management.Automation.Provider.Drivecmdletprovider.Newdrive*](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider.NewDrive) method is called by the Windows PowerShell engine when a user calls the [Microsoft.PowerShell.Commands.New-PSDrive](/dotnet/api/Microsoft.PowerShell.Commands.New-PSDrive) cmdlet specifying the name of your provider. The PSDriveInfo parameter is passed by the Windows PowerShell engine, and the method returns the new drive to the Windows PowerShell engine. This method must be declared within the class created above. The method first checks to make sure both the drive object and the drive root that were passed in exist, returning `null` if either of them do not. It then uses a constructor of the internal class AccessDBPSDriveInfo to create a new drive and a connection to the Access database the drive represents. @@ -141,7 +141,7 @@ internal class AccessDBPSDriveInfo : PSDriveInfo ### Implementing RemoveDrive -The [System.Management.Automation.Provider.Drivecmdletprovider.Removedrive*](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider.RemoveDrive) method is called by the Windows PowerShell engine when a user calls the [Microsoft.Powershell.Commands.Remove-Psdrive](/dotnet/api/Microsoft.PowerShell.Commands.Remove-PSDrive) cmdlet. The method in this provider closes the connection to the Access database. +The [System.Management.Automation.Provider.Drivecmdletprovider.Removedrive*](/dotnet/api/System.Management.Automation.Provider.DriveCmdletProvider.RemoveDrive) method is called by the Windows PowerShell engine when a user calls the [Microsoft.PowerShell.Commands.Remove-PSDrive](/dotnet/api/Microsoft.PowerShell.Commands.Remove-PSDrive) cmdlet. The method in this provider closes the connection to the Access database. ```csharp protected override PSDriveInfo RemoveDrive(PSDriveInfo drive) diff --git a/developer/provider/writing-a-container-provider.md b/developer/provider/writing-a-container-provider.md index 67453ec99684..e6cd98b78306 100644 --- a/developer/provider/writing-a-container-provider.md +++ b/developer/provider/writing-a-container-provider.md @@ -38,7 +38,7 @@ Declare the provider to derive from the [System.Management.Automation.Provider.C ### Implementing GetChildItems -The PowerShell engine calls the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) method when a user calls the [Microsoft.Powershell.Commands.Get-Childitem](/dotnet/api/Microsoft.PowerShell.Commands.Get-ChildItem) cmdlet. This method gets the items that are the children of the item at the specified path. +The PowerShell engine calls the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) method when a user calls the [Microsoft.PowerShell.Commands.Get-Childitem](/dotnet/api/Microsoft.PowerShell.Commands.Get-ChildItem) cmdlet. This method gets the items that are the children of the item at the specified path. In the Access database example, the behavior of the [System.Management.Automation.Provider.Containercmdletprovider.Getchilditems*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems) method depends on the type of the specified item. If the item is the drive, then the children are tables, and the method returns the set of tables from the database. If the specified item is a table, then the children are the rows of that table. If the item is a row, then it has no children, and the method returns that row only. All child items are sent back to the PowerShell engine by the [System.Management.Automation.Provider.Cmdletprovider.Writeitemobject*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteItemObject) method. @@ -149,7 +149,7 @@ protected override void GetChildNames(string path, ### Implementing NewItem -The [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method creates a new item of the specified type at the specified path. The PowerShell engine calls this method when a user calls the [Microsoft.Powershell.Commands.New-Item](/dotnet/api/Microsoft.PowerShell.Commands.New-Item) cmdlet. +The [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method creates a new item of the specified type at the specified path. The PowerShell engine calls this method when a user calls the [Microsoft.PowerShell.Commands.New-Item](/dotnet/api/Microsoft.PowerShell.Commands.New-Item) cmdlet. In this example, the method implements logic to determine that the path and type match. That is, only a table can be created directly under the drive (the database), and only a row can be created under a table. If the specified path and item type don't match in this way, the method throws an exception. @@ -327,7 +327,7 @@ protected override void NewItem(string path, string type, ### Implementing CopyItem -The [System.Management.Automation.Provider.Containercmdletprovider.Copyitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) copies the specified item to the specified path. The PowerShell engine calls this method when a user calls the [Microsoft.Powershell.Commands.Copy-Item](/dotnet/api/Microsoft.PowerShell.Commands.Copy-Item) cmdlet. This method can also be recursive, copying all of the items children in addition to the item itself. +The [System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem) copies the specified item to the specified path. The PowerShell engine calls this method when a user calls the [Microsoft.PowerShell.Commands.Copy-Item](/dotnet/api/Microsoft.PowerShell.Commands.Copy-Item) cmdlet. This method can also be recursive, copying all of the items children in addition to the item itself. Similarly to the [System.Management.Automation.Provider.Containercmdletprovider.Newitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.NewItem) method, this method performs logic to make sure that the specified item is of the correct type for the path to which it is being copied. For example, if the destination path is a table, the item to be copied must be a row. @@ -460,7 +460,7 @@ protected override void CopyItem(string path, string copyPath, bool recurse) ### Implementing RemoveItem -The [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method removes the item at the specified path. The PowerShell engine calls this method when a user calls the [Microsoft.Powershell.Commands.Remove-Item](/dotnet/api/Microsoft.PowerShell.Commands.Remove-Item) cmdlet. +The [System.Management.Automation.Provider.Containercmdletprovider.Removeitem*](/dotnet/api/System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem) method removes the item at the specified path. The PowerShell engine calls this method when a user calls the [Microsoft.PowerShell.Commands.Remove-Item](/dotnet/api/Microsoft.PowerShell.Commands.Remove-Item) cmdlet. ```csharp protected override void RemoveItem(string path, bool recurse) diff --git a/developer/provider/writing-a-navigation-provider.md b/developer/provider/writing-a-navigation-provider.md index b9386f95dc28..b681a9a9fa54 100644 --- a/developer/provider/writing-a-navigation-provider.md +++ b/developer/provider/writing-a-navigation-provider.md @@ -126,7 +126,7 @@ protected override string GetParentPath(string path, string root) ### Implementing MakePath -The [System.Management.Automation.Provider.Navigationcmdletprovider.Makepath*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MakePath) method joins a specified parent path and a specified child path to create a provider-internal path (for information about path types that providers can support, see [Windows PowerShell Provider Overview](./windows-powershell-provider-overview.md). The PowerShell engine calls this method when a user calls the [Microsoft.Powershell.Commands.Join-Path](/dotnet/api/Microsoft.PowerShell.Commands.Join-Path) cmdlet. +The [System.Management.Automation.Provider.Navigationcmdletprovider.Makepath*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MakePath) method joins a specified parent path and a specified child path to create a provider-internal path (for information about path types that providers can support, see [Windows PowerShell Provider Overview](./windows-powershell-provider-overview.md). The PowerShell engine calls this method when a user calls the [Microsoft.PowerShell.Commands.Join-Path](/dotnet/api/Microsoft.PowerShell.Commands.Join-Path) cmdlet. ```csharp protected override string MakePath(string parent, string child) @@ -215,7 +215,7 @@ protected override string NormalizeRelativePath(string path, ### Implementing MoveItem -The [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) method moves an item from the specified path to the specified destination path. The PowerShell engine calls this method when a user calls the [Microsoft.Powershell.Commands.Move-Item](/dotnet/api/Microsoft.PowerShell.Commands.Move-Item) cmdlet. +The [System.Management.Automation.Provider.Navigationcmdletprovider.Moveitem*](/dotnet/api/System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem) method moves an item from the specified path to the specified destination path. The PowerShell engine calls this method when a user calls the [Microsoft.PowerShell.Commands.Move-Item](/dotnet/api/Microsoft.PowerShell.Commands.Move-Item) cmdlet. ```csharp protected override void MoveItem(string path, string destination) diff --git a/developer/provider/writing-an-item-provider.md b/developer/provider/writing-an-item-provider.md index 9ab549c0601b..bd0b22b4c3db 100644 --- a/developer/provider/writing-an-item-provider.md +++ b/developer/provider/writing-an-item-provider.md @@ -40,7 +40,7 @@ Declare the provider to derive from the [System.Management.Automation.Provider.I ### Implementing GetItem -The [System.Management.Automation.Provider.Itemcmdletprovider.Getitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.GetItem) is called by the PowerShell engine when a user calls the [Microsoft.Powershell.Commands.Get-Item](/dotnet/api/Microsoft.PowerShell.Commands.Get-Item) cmdlet on your provider. The method returns the item at the specified path. In the Access database example, the method checks whether the item is the drive itself, a table in the database, or a row in the database. The method sends the item to the PowerShell engine by calling the [System.Management.Automation.Provider.Cmdletprovider.Writeitemobject*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteItemObject) method. +The [System.Management.Automation.Provider.Itemcmdletprovider.Getitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.GetItem) is called by the PowerShell engine when a user calls the [Microsoft.PowerShell.Commands.Get-Item](/dotnet/api/Microsoft.PowerShell.Commands.Get-Item) cmdlet on your provider. The method returns the item at the specified path. In the Access database example, the method checks whether the item is the drive itself, a table in the database, or a row in the database. The method sends the item to the PowerShell engine by calling the [System.Management.Automation.Provider.Cmdletprovider.Writeitemobject*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteItemObject) method. ```csharp protected override void GetItem(string path) @@ -79,7 +79,7 @@ protected override void GetItem(string path) ### Implementing SetItem -The [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method is called by the PowerShell engine calls when a user calls the [Microsoft.Powershell.Commands.Set-Item](/dotnet/api/Microsoft.PowerShell.Commands.Set-Item) cmdlet. It sets the value of the item at the specified path. +The [System.Management.Automation.Provider.Itemcmdletprovider.Setitem*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.SetItem) method is called by the PowerShell engine calls when a user calls the [Microsoft.PowerShell.Commands.Set-Item](/dotnet/api/Microsoft.PowerShell.Commands.Set-Item) cmdlet. It sets the value of the item at the specified path. In the Access database example, it makes sense to set the value of an item only if that item is a row, so the method throws [NotSupportedException](http://msdn.microsoft.com/library/system.notsupportedexception\(v=vs.110\).aspx) when the item is not a row. @@ -139,7 +139,7 @@ protected override void SetItem(string path, object values) ### Implementing ItemExists -The [System.Management.Automation.Provider.Itemcmdletprovider.Itemexists*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.ItemExists) method is called by the PowerShell engine when a user calls the [Microsoft.Powershell.Commands.Test-Path](/dotnet/api/Microsoft.PowerShell.Commands.Test-Path) cmdlet. The method determines whether there is an item at the specified path. If the item does exist, the method passes it back to the PowerShell engine by calling [System.Management.Automation.Provider.Cmdletprovider.Writeitemobject*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteItemObject). +The [System.Management.Automation.Provider.Itemcmdletprovider.Itemexists*](/dotnet/api/System.Management.Automation.Provider.ItemCmdletProvider.ItemExists) method is called by the PowerShell engine when a user calls the [Microsoft.PowerShell.Commands.Test-Path](/dotnet/api/Microsoft.PowerShell.Commands.Test-Path) cmdlet. The method determines whether there is an item at the specified path. If the item does exist, the method passes it back to the PowerShell engine by calling [System.Management.Automation.Provider.Cmdletprovider.Writeitemobject*](/dotnet/api/System.Management.Automation.Provider.CmdletProvider.WriteItemObject). ```csharp protected override bool ItemExists(string path) diff --git a/developer/scheduling-jobs-with-the-windows-powershell-api.md b/developer/scheduling-jobs-with-the-windows-powershell-api.md index bf1315d15209..9eaa6b5e3c58 100644 --- a/developer/scheduling-jobs-with-the-windows-powershell-api.md +++ b/developer/scheduling-jobs-with-the-windows-powershell-api.md @@ -11,7 +11,7 @@ scheduled job, define when it runs, and get results about the completed job afte ## Triggering the Job The first step in creating a scheduled job is specifying when the job should run. Do this by -creating and configuring a T:Microsoft.PowerShell.ScheduledJob.ScheduledJobTriggerobject. The +creating and configuring a T:Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger object. The following code creates a trigger that schedules a job to run a single time 20 seconds in the future. @@ -44,7 +44,7 @@ The following code creates a parameter dictionary object and sets the Name and S ```csharp string schedJobDefName = "MySampleSchedJob"; Dictionary jobDefParameters = new Dictionary(); -jobDefParameters.Add("Name", schedJobDefName); // Unique name is requiried. +jobDefParameters.Add("Name", schedJobDefName); // Unique name is required. ScriptBlock scriptBlock = ScriptBlock.Create(@"1..5 | foreach {sleep 1; ""SchedJobOutput $_""}"); jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script FilePath @@ -53,7 +53,7 @@ jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script Fi ## Creating the Invocation and Job Definition Objects -You then create ScheduledJobInvicationInfo and SheduledJobDefinition objects to run the job. The +You then create ScheduledJobInvocationInfo and ScheduledJobDefinition objects to run the job. The following code demonstrates this. ```csharp @@ -93,7 +93,7 @@ using Microsoft.PowerShell.ScheduledJob; // Windows PowerShell ScheduledJ namespace Microsoft.Samples.PowerShell.ScheduledJob { /// - /// This class contains the Main enrty point for the application. + /// This class contains the Main entry point for the application. /// public class ScheduledJobSample { @@ -141,7 +141,7 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // RunAs32 - Switch (boolean type). string schedJobDefName = "MySampleSchedJob"; Dictionary jobDefParameters = new Dictionary(); - jobDefParameters.Add("Name", schedJobDefName); // Unique name is requiried. + jobDefParameters.Add("Name", schedJobDefName); // Unique name is required. ScriptBlock scriptBlock = ScriptBlock.Create(@"1..5 | foreach {sleep 1; ""SchedJobOutput $_""}"); jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script FilePath @@ -174,7 +174,7 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // Wait for Task Scheduler to run the PowerShell job. This should happen in 20 seconds // and then the job will take about 5 seconds to run. If PowerShell job task doesn't // run try increasing the trigger time in the ScheduledJobTrigger object. You can also - // run this task manully from the Task Scheduler UI. + // run this task manually from the Task Scheduler UI. for (int count = 1; count < 31; ++count) { Thread.Sleep(1000); @@ -190,8 +190,8 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // job store and the directory location is the current user local app // data ($env:LOCALAPPDATA). // This job store can be accessed through the ScheduledJobSourceAdapter class. - ScheduledJobSourceAdapter schedJobSourceAdpater = new ScheduledJobSourceAdapter(); - IList jobRuns = schedJobSourceAdpater.GetJobs(); + ScheduledJobSourceAdapter schedJobSourceAdapter = new ScheduledJobSourceAdapter(); + IList jobRuns = schedJobSourceAdapter.GetJobs(); foreach (var jobRun in jobRuns) { // Check for jobs in finished state. diff --git a/developer/webservices/deploying-a-management-odata-web-service.md b/developer/webservices/deploying-a-management-odata-web-service.md index 39faea0ec6f1..f554feeb8927 100644 --- a/developer/webservices/deploying-a-management-odata-web-service.md +++ b/developer/webservices/deploying-a-management-odata-web-service.md @@ -138,7 +138,7 @@ param($site, exit -1 } -if (!(Test-Path $customPluginAssembly)) + if (!(Test-Path $customPluginAssembly)) { Log "Custom plugin assembly file does not exist" exit -1 @@ -182,7 +182,7 @@ function IsIIsInstalled if ($WSRegKey -eq $null) { - Log "ERROR: Cannot retrive W3SVC key. IIS Web Services may not be installed" + Log "ERROR: Cannot retrieve W3SVC key. IIS Web Services may not be installed" exit } else @@ -287,13 +287,13 @@ Function GenerateSiteID Function ValidateAndCopyFiles { - param ($path = $(throw "path is a requred parameter."), - $cfgfile = $(throw "cfgfile is a requred parameter."), - $svc = $(throw "svc is a requred parameter."), - $schema = $(throw "schema is a requred parameter."), -$dispatchXml = $(throw "dispatchXml is a requred parameter."), - $rbac = $(throw "rbac is a requred parameter."), - $customPluginAssembly = $(throw "Custom plugins assembly is a requred parameter.")) + param ($path = $(throw "path is a required parameter."), + $cfgfile = $(throw "cfgfile is a required parameter."), + $svc = $(throw "svc is a required parameter."), + $schema = $(throw "schema is a required parameter."), + $dispatchXml = $(throw "dispatchXml is a required parameter."), + $rbac = $(throw "rbac is a required parameter."), + $customPluginAssembly = $(throw "Custom plugins assembly is a required parameter.")) if (!(Test-Path $cfgfile)) { @@ -310,7 +310,7 @@ $dispatchXml = $(throw "dispatchXml is a requred parameter."), throw "ERROR: $schema does not exist" } -if (!(Test-Path $dispatchXml)) + if (!(Test-Path $dispatchXml)) { throw "ERROR: $dispatchXml does not exist" } @@ -327,8 +327,8 @@ if (!(Test-Path $dispatchXml)) Copy-Item $cfgfile (Join-Path $path "web.config") Copy-Item $svc $path Copy-Item $schema $path -Copy-Item $dispatchXml $path -Copy-Item $rbac (Join-Path $path "RbacConfiguration.xml") + Copy-Item $dispatchXml $path + Copy-Item $rbac (Join-Path $path "RbacConfiguration.xml") Copy-Item $customPluginAssembly $path } @@ -357,8 +357,8 @@ Function SetupWebSite param($site = $(throw "site is a required parameter."), $path = $(throw "path is a required parameter."), $port = $(throw "port is a required parameter."), - $app = $(throw "app is a required paramater."), - $apppool = $(throw "apppool is a required paramater.")) + $app = $(throw "app is a required parameter."), + $apppool = $(throw "apppool is a required parameter.")) $siteID = GenerateSiteID @@ -400,7 +400,7 @@ param($firewallPort) Log "Disable Inbound Firewall Notification" & $script:netsh advfirewall set currentprofile settings inboundusernotification disable -Log "Add Firewall Rule for port $firewallPort" + Log "Add Firewall Rule for port $firewallPort" & $script:netsh advfirewall firewall add rule name=MOData_IIS_Port dir=in action=allow protocol=TCP localport=$firewallPort } diff --git a/developer/webservices/implementing-custom-authorization-for-a-management-odata-web-service.md b/developer/webservices/implementing-custom-authorization-for-a-management-odata-web-service.md index 5b951215a115..0eb10556a043 100644 --- a/developer/webservices/implementing-custom-authorization-for-a-management-odata-web-service.md +++ b/developer/webservices/implementing-custom-authorization-for-a-management-odata-web-service.md @@ -11,11 +11,11 @@ caps.latest.revision: 7 --- # Implementing Custom Authorization for a Management OData web service -Using the Windows PowerShell Web Service requires a third party to implement the [Microsoft.Management.Odata.Customauthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface to expose Windows PowerShell cmdlets. This interface performs user authorization to the web service. After writing the code to implement the interface, you must compile it into a DLL to be used in the web application. +Using the Windows PowerShell Web Service requires a third party to implement the [Microsoft.Management.Odata.CustomAuthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface to expose Windows PowerShell cmdlets. This interface performs user authorization to the web service. After writing the code to implement the interface, you must compile it into a DLL to be used in the web application. ## Pass-through authorization -The simplest way to implement the [Microsoft.Management.Odata.Customauthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface is a pass-through implementation that authorizes all users. This example provides no security, and s provided only as an llustration of how to implement the interface. An implementation of the [Microsoft.Management.Odata.Customauthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface must override two methods: [Microsoft.Management.Odata.Customauthorization.Authorizeuser*](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser) and [Microsoft.Management.Odata.Customauthorization.Getmembershipid*](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.GetMembershipId). In this example, the [Microsoft.Management.Odata.Customauthorization.Authorizeuser*](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser) always returns the **System.Security.Principal.WindowsIdentity** object associated with the current user. +The simplest way to implement the [Microsoft.Management.Odata.CustomAuthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface is a pass-through implementation that authorizes all users. This example provides no security, and s provided only as an illustration of how to implement the interface. An implementation of the [Microsoft.Management.Odata.CustomAuthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface must override two methods: [Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser) and [Microsoft.Management.Odata.CustomAuthorization.GetMembershipId](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.GetMembershipId). In this example, the [Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser) always returns the **System.Security.Principal.WindowsIdentity** object associated with the current user. ```csharp namespace Microsoft.Samples. HYPERLINK "VBScript:u(%227%22,19)" Management. HYPERLINK "VBScript:u(%227%22,30)" OData. HYPERLINK "VBScript:u(%227%22,36)" BasicPlugins @@ -62,7 +62,7 @@ namespace Microsoft.Samples. HYPERLINK "VBScript:u(%227%22,19)" Management. HYPE /// - /// Default managemnet system state key + /// Default management system state key /// @@ -128,7 +128,7 @@ namespace Microsoft.Samples. HYPERLINK "VBScript:u(%227%22,19)" Management. HYPE ### Role-based authorization -The following example implements a role-based authorization policy. The policy is defined in an XML file that resides in the main application directory with the web.config and MOF and XML mapping schema files. For information about how to configure the authorization schema file, see [Configuring Role-based Authorization](./configuring-role-based-authorization.md). The first part of the sample implements the [Microsoft.Management.Odata.Customauthorization.Authorizeuser*](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser) and [Microsoft.Management.Odata.Customauthorization.Getmembershipid*](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.GetMembershipId) methods. In this case, the interface methods call methods in the `RbacSystem` class (defined below) that do the actual work of checking the permissions for the user. +The following example implements a role-based authorization policy. The policy is defined in an XML file that resides in the main application directory with the web.config and MOF and XML mapping schema files. For information about how to configure the authorization schema file, see [Configuring Role-based Authorization](./configuring-role-based-authorization.md). The first part of the sample implements the [Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.AuthorizeUser) and [Microsoft.Management.Odata.CustomAuthorization.GetMembershipId](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization.GetMembershipId) methods. In this case, the interface methods call methods in the `RbacSystem` class (defined below) that do the actual work of checking the permissions for the user. ```csharp namespace Microsoft.Samples.Management.OData.RoleBasedPlugins @@ -203,7 +203,7 @@ namespace Microsoft.Samples.Management.OData.RoleBasedPlugins /// /// Keeps Configuration for the RbacSystem - /// It reads the RacSystem configuration for configuratin file and creates RbacConfiguration + /// It reads the RacSystem configuration for configuration file and creates RbacConfiguration /// [Serializable] [XmlRoot("RbacConfiguration")] @@ -713,7 +713,7 @@ namespace Microsoft.Samples.Management.OData.RoleBasedPlugins /// Indicates whether the current object is equal to another object of the object type. /// /// Other object instance - /// true, if both instace are same else false + /// true, if both instance are same else false public override bool Equals(object other) { return this.Equals(other as RbacUserInfo); @@ -732,4 +732,4 @@ namespace Microsoft.Samples.Management.OData.RoleBasedPlugins } ``` -Finally, the RbacSystem class implements methods that do the work of checking the permissions for the user and return the authorization status to the methods defined in the implementation of the [Microsoft.Management.Odata.Customauthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface. \ No newline at end of file +Finally, the RbacSystem class implements methods that do the work of checking the permissions for the user and return the authorization status to the methods defined in the implementation of the [Microsoft.Management.Odata.CustomAuthorization](/dotnet/api/Microsoft.Management.Odata.CustomAuthorization) interface. \ No newline at end of file diff --git a/developer/webservices/public-resource-schema.md b/developer/webservices/public-resource-schema.md index e8a9af33bb94..528fabcf7d05 100644 --- a/developer/webservices/public-resource-schema.md +++ b/developer/webservices/public-resource-schema.md @@ -15,7 +15,7 @@ Management OData uses MOF to define resources and their properties. The properti ## Defining a resource -Each resource corresponds to an object returned by a Windows PowerShell cmdlet. In the publc resource MOF file, you define a resource by declaring a class. The class consists of properties that correspond to the properties of the object. For example, in the following example, the [System.Diagnostics.Process](/dotnet/api/System.Diagnostics.Process) class is represented by the following MOF. +Each resource corresponds to an object returned by a Windows PowerShell cmdlet. In the public resource MOF file, you define a resource by declaring a class. The class consists of properties that correspond to the properties of the object. For example, in the following example, the [System.Diagnostics.Process](/dotnet/api/System.Diagnostics.Process) class is represented by the following MOF. ```csharp class PswsTest_Process @@ -49,7 +49,7 @@ class PswsTest_ProcessModule }; ``` -To declare an entity property as a complex type, you declare it as a `string` type with the `EmbeddedInstance` qualifier, including the name of the complex type. The following example hshows the declaration of a property of the `PswsTest_ProcessModule` type declared in the previous example. +To declare an entity property as a complex type, you declare it as a `string` type with the `EmbeddedInstance` qualifier, including the name of the complex type. The following example shows the declaration of a property of the `PswsTest_ProcessModule` type declared in the previous example. ```csharp [Required, EmbeddedInstance("PswsTest_ProcessModule")] String Modules[]; @@ -57,7 +57,7 @@ To declare an entity property as a complex type, you declare it as a `string` ty ### Associating entities -You can associate two entities by using the Association and AssocationClass qualifiers. For more information, see [Associating Management OData Entities](./associating-management-odata-entities.md). +You can associate two entities by using the Association and AssociationClass qualifiers. For more information, see [Associating Management OData Entities](./associating-management-odata-entities.md). ### Derived types @@ -66,17 +66,16 @@ You can derive a type from another type. The derived type inherits all of the pr ```csharp Class Product { -[Key] String ProductName; + [Key] String ProductName; }; Class DairyProduct : Product { -Uint16 PercentFat; + Uint16 PercentFat; }; Class POPProduct : Product { -Boolean IsCarbonated; + Boolean IsCarbonated; }; - ``` \ No newline at end of file diff --git a/developer/windows-powershell-reference.md b/developer/windows-powershell-reference.md index 09f129d5a2a1..d02562431aba 100644 --- a/developer/windows-powershell-reference.md +++ b/developer/windows-powershell-reference.md @@ -26,8 +26,6 @@ The Windows PowerShell Software Development Kit (SDK) is written for command dev In addition to the Windows PowerShell SDK, the following resources provide more information. [Getting Started with Windows PowerShell](/powershell/scripting/getting-started/getting-started-with-windows-powershell) - -[Getting Started with Windows PowerShell](https://msdn.microsoft.com/en-us/mt707506?redirectUrl=https://msdn.microsoft.com/powershell/scripting/getting-started/getting-started-with-windows-powershell) Provides an introduction to Windows PowerShell: the language, the cmdlets, the providers, and the use of objects. [Writing a Windows PowerShell Module](./module/writing-a-windows-powershell-module.md) @@ -39,7 +37,7 @@ Provides information and code examples for program managers who are designing cm [Windows PowerShell Team Blog](https://blogs.msdn.microsoft.com/PowerShell/) The best resource for learning from and collaborating with other Windows PowerShell users. Read the Windows PowerShell Team blog, and then join the Windows PowerShell User Forum (microsoft.public.windows.powershell). Use Windows Live Search to find other Windows PowerShell blogs and resources. Then, as you develop your expertise, freely contribute your ideas. -[Windows PowerShell TechNet Library](/powershell/scripting/powershell-scripting) +[PowerShell module browser](/powershell/module/) Provides the latest versions of the command-line Help topics. ## Class Libraries @@ -50,14 +48,14 @@ This namespace is the root namespace for Windows PowerShell. It contains the cla [System.Management.Automation.Provider](/dotnet/api/System.Management.Automation.Provider) This namespace contains the classes, enumerations, and interfaces required to implement a Windows PowerShell provider. In particular, the [System.Management.Automation.Provider.Cmdletprovider](/dotnet/api/System.Management.Automation.Provider.CmdletProvider) class is the base class from which all Windows PowerShell provider classes must be derived. -[Microsoft.Powershell.Commands](/dotnet/api/Microsoft.PowerShell.Commands) +[Microsoft.PowerShell.Commands](/dotnet/api/Microsoft.PowerShell.Commands) This namespace contains the classes for the cmdlets and providers implemented by Windows PowerShell. Similarly, it is recommended that you create a *YourName*.Commands namespace for those cmdlets that you implement. [System.Management.Automation.Host](/dotnet/api/System.Management.Automation.Host) This namespace contains the classes, enumerations, and interfaces that the cmdlet uses to define the interaction between the user and Windows PowerShell. [System.Management.Automation.Internal](/dotnet/api/System.Management.Automation.Internal) -This namespace contains the base classes used by other namespace classes. For example, the [System.Management.Automation.Internal.Cmdletmetadataattribute](/dotnet/api/System.Management.Automation.Internal.CmdletMetadataAttribute) class is the base class for the [System.Management.Automation.Cmdletattribute](/dotnet/api/System.Management.Automation.CmdletAttribute) class. +This namespace contains the base classes used by other namespace classes. For example, the [System.Management.Automation.Internal.Cmdletmetadataattribute](/dotnet/api/System.Management.Automation.Internal.CmdletMetadataAttribute) class is the base class for the [System.Management.Automation.CmdletAttribute](/dotnet/api/System.Management.Automation.CmdletAttribute) class. [System.Management.Automation.Runspaces](/dotnet/api/System.Management.Automation.Runspaces) This namespace contains the classes, enumerations, and interfaces used to create a Windows PowerShell runspace. In this context, the Windows PowerShell runspace is the context in which one or more Windows PowerShell pipelines invoke cmdlets. That is, cmdlets work within the context of a Windows PowerShell runspace. For more information aboutWindows PowerShell runspaces, see [Windows PowerShell Runspaces](http://msdn.microsoft.com/en-us/a1582cfe-f06d-4aff-adc6-71f49a860ce9). diff --git a/developer/windows-powershell.md b/developer/windows-powershell.md index adca85dbc4fb..cd1758e5e066 100644 --- a/developer/windows-powershell.md +++ b/developer/windows-powershell.md @@ -21,7 +21,7 @@ Windows PowerShell . ## Windows PowerShell Documents on MSDN -- [Installing the Windows PowerShell SDK](https://msdn.microsoft.com/en-us/library/ff458115.aspx) +- [Installing the Windows PowerShell SDK](./installing-the-windows-powershell-sdk.md) Provides information about how to install the Windows PowerShell SDK. - [Writing a Windows PowerShell Module](./module/writing-a-windows-powershell-module.md) @@ -42,7 +42,7 @@ by developers who are implementing them. The host application can, define the ru commands are run, open sessions on a local or remote computer, and invoke the commands either synchronously or asynchronously based on the needs of the application. -- [Writing a Windows PowerShell Formatting File](./format/writing-a-windows-powershell-formatting-file.md) +- [Writing a PowerShell Formatting File](./format/writing-a-powershell-formatting-file.md) Provides information for the authoring of formatting files, which control the display format for the objects that are returned by commands (cmdlets, functions, and scripts). diff --git a/developer/workflow/common-workflow-parameters.md b/developer/workflow/common-workflow-parameters.md index 675dbcf68451..c3cea8a567d6 100644 --- a/developer/workflow/common-workflow-parameters.md +++ b/developer/workflow/common-workflow-parameters.md @@ -20,7 +20,7 @@ The common workflow parameters are grouped into several categories as follows. |Name|Type|Description|Can be specified by end user at execution time?|Can be specified by workflow author at authoring time?|Can be specified by workflow author at instantiation?| |----------|----------|-----------------|-----------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------| |PSComputerName|String[]|A list of computer names for which to launch jobs.|Yes|Yes|Yes| -|PSCredential|[System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential)|The authentication credential to use to login to the computers specified by the PSComputerName parameter. This parameter is valid only if PSComputerName is specified.|Yes|Yes|Yes| +|PSCredential|[System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential)|The authentication credential to use to login to the computers specified by the PSComputerName parameter. This parameter is valid only if PSComputerName is specified.|Yes|Yes|Yes| |PSPort|UInt32|The port to be used to run the workflow.|Yes|Yes|Yes| |PSUseSSL|Boolean|Use Secure Sockets Layer (SSL) protocol to establish a secure connection to the remote computer to run the workflow.|Yes|Yes|Yes| |PSConfigurationName|String|The session configuration used to run the workflow.|Yes|Yes|Yes| diff --git a/developer/workflow/creating-a-workflow-with-windows-powershell-activities.md b/developer/workflow/creating-a-workflow-with-windows-powershell-activities.md index 70fdf3676065..1cef2e2bb6de 100644 --- a/developer/workflow/creating-a-workflow-with-windows-powershell-activities.md +++ b/developer/workflow/creating-a-workflow-with-windows-powershell-activities.md @@ -27,9 +27,9 @@ The following procedures describe how to create a workflow that checks the domai 2. Create an argument named `ComputerName` with an argument type of `String[]`. This argument represents the names of the computers to check and join. -3. Create an argument named `DomainCred` of type [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential). This argument represents the domain credentials of a domain account that is authorized to join a computer to the domain. +3. Create an argument named `DomainCred` of type [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential). This argument represents the domain credentials of a domain account that is authorized to join a computer to the domain. -4. Create an argument named `MachineCred` of type [System.Management.Automation.Pscredential](/dotnet/api/System.Management.Automation.PSCredential). This argument represents the credentials of an administrator on the computers to check and join. +4. Create an argument named `MachineCred` of type [System.Management.Automation.PSCredential](/dotnet/api/System.Management.Automation.PSCredential). This argument represents the credentials of an administrator on the computers to check and join. 5. Add a **ParallelForEach** activity inside the **Sequence** activity. Enter `comp` and `ComputerName` in the text boxes so that the loop iterates through the elements of the `ComputerName` array. diff --git a/developer/workflow/extending-the-windows-powershell-workflow-activity-controller.md b/developer/workflow/extending-the-windows-powershell-workflow-activity-controller.md deleted file mode 100644 index 0137ba1bcbe2..000000000000 --- a/developer/workflow/extending-the-windows-powershell-workflow-activity-controller.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Extending the Windows PowerShell Workflow activity controller | Microsoft Docs" -ms.custom: "" -ms.date: "09/12/2016" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" -ms.assetid: 759b1180-924c-4233-919e-75b81c6e8d34 -caps.latest.revision: 4 ---- -# Extending the Windows PowerShell Workflow activity controller - -Insert introduction here. - -## Section Heading - -Insert section body here. - -### Subsection Heading - -Insert subsection body here. \ No newline at end of file diff --git a/developer/workflow/scheduling-jobs-with-the-windows-powershell-api.md b/developer/workflow/scheduling-jobs-with-the-windows-powershell-api.md index 01345eca1455..d203c2c2557b 100644 --- a/developer/workflow/scheduling-jobs-with-the-windows-powershell-api.md +++ b/developer/workflow/scheduling-jobs-with-the-windows-powershell-api.md @@ -9,81 +9,93 @@ ms.topic: "article" ms.assetid: 64718f8e-de60-4fb7-894d-2975b5257ff6 caps.latest.revision: 4 --- -# Scheduling Jobs with the Windows PowerShell API -You can use the objects exposed by the [Microsoft.Powershell.Scheduledjob](/dotnet/api/Microsoft.PowerShell.ScheduledJob) namespace to create a scheduled job, define when it runs, and get results about the completed job after it has run. +# Scheduling jobs with the PowerShell API -## Triggering the Job +You can use the objects exposed by the **Microsoft.PowerShell.ScheduledJob** namespace to do the +following: -The first step in creating a scheduled job is specifying when the job should run. Do this by creating and configuring a [Microsoft.Powershell.Scheduledjob.Scheduledjobtrigger](/dotnet/api/Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger)object. The following code creates a trigger that schedules a job to run a single time 20 seconds in the future. +- Create a scheduled job. +- Define when the job runs. +- Get results about the completed job. -``` +## Triggering the job + +The first step in creating a scheduled job is specifying when the job should run. Do this by +creating and configuring a **Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger** object. The +following code creates a trigger that schedules a job to run a single time 20 seconds in the +future. + +```csharp ScheduledJobTrigger jobTrigger = ScheduledJobTrigger.CreateOnceTrigger( - DateTime.Now.AddSeconds(20), // Create trigger to start job 20 seconds after now. - TimeSpan.Zero, // No random delay - null, // No repetition interval time - null, // No repetition interval duration - 1, // Trigger Id - true); // Create trigger enabled + DateTime.Now.AddSeconds(20), // Create trigger to start job in 20 seconds. + TimeSpan.Zero, // No random delay + null, // No repetition interval time + null, // No repetition interval duration + 1, // Trigger Id + true); // Create trigger enabled ``` -## Defining the Job +## Defining the job -You define a Windows PowerShell job by creating a parameter dictionary. The following parameters are supported. +You define a PowerShell job by creating a parameter dictionary. The following parameters are +supported: |Parameter Name|Description| |--------------------|-----------------| -|`Name`|The name of the job.| -|`ScriptBock`|A Windows PowerShell script block that specifies what the job does.| -|`FilePath`|A path to a file that contains Windows PowerShell script block that specifies what the job does.| -|`InitializationScript`|A Windows PowerShell script block that initializes the job.| -|`ArgumentList`|An array of objects that specify arguments that the job takes.| -|`RunAs32`|A boolean value that specifies whether to run the job in a 32-bit process.| +|**Name**|The name of the job.| +|**ScriptBock**|A PowerShell script block that specifies what the job does.| +|**FilePath**|Path to a file that contains a PowerShell script block to specify what the job does.| +|**InitializationScript**|A PowerShell script block that initializes the job.| +|**ArgumentList**|An array of objects that specify arguments that the job takes.| +|**RunAs32**|A boolean value that specifies whether to run the job in a 32-bit process.| -The following code creates a parameter dictionary object and sets the `Name` and `ScriptBlock` parameters. +The following code creates a parameter dictionary object and sets the **Name** and **ScriptBlock** +parameters. -``` +```csharp string schedJobDefName = "MySampleSchedJob"; - Dictionary jobDefParameters = new Dictionary(); - jobDefParameters.Add("Name", schedJobDefName); // Unique name is requiried. + Dictionary jobDefParameters = new Dictionary(); + jobDefParameters.Add("Name", schedJobDefName); // Unique name is required. - ScriptBlock scriptBlock = ScriptBlock.Create(@"1..5 | foreach {sleep 1; ""SchedJobOutput $_""}"); - jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script FilePath - // is required. + ScriptBlock scriptBlock = ScriptBlock.Create(@"1..5 | foreach {sleep 1; ""SchedJobOutput $_""}"); + jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script FilePath + // is required. ``` -## Creating the Invocation and Job Definition Objects +## Creating the invocation and job definition objects -You then create ScheduledJobInvicationInfo and SheduledJobDefinition objects to run the job. The following code demonstrates this. +You then create `ScheduledJobInvocationInfo` and `ScheduledJobDefinition` objects to run the job as +shown in the following example: ```csharp ScheduledJobInvocationInfo jobInvocationInfo = new ScheduledJobInvocationInfo( - new JobDefinition(typeof(ScheduledJobSourceAdapter), scriptBlock.ToString(), schedJobDefName), - jobDefParameters); + new JobDefinition(typeof(ScheduledJobSourceAdapter), scriptBlock.ToString(), schedJobDefName), + jobDefParameters); - schedJobDefinition = new ScheduledJobDefinition( - jobInvocationInfo, // Defines the PowerShell job to run. - new ScheduledJobTrigger[1] { jobTrigger }, // Defines when to run the PowerShell job. - null, // No custom options. We accept default. - null); // No credentials. PowerShell job is run - // in default Task Scheduler process, account. + schedJobDefinition = new ScheduledJobDefinition( + jobInvocationInfo, // Defines the PowerShell job to run. + new ScheduledJobTrigger[1] { jobTrigger }, // Defines when to run the PowerShell job. + null, // No custom options. We accept default. + null); // No credentials. PowerShell job is run + // in default Task Scheduler process, account. ``` -## Registering the Job with the Task Scheduler +## Registering the job with the task scheduler The following code registers the job with the [Windows Task Scheduler](http://go.microsoft.com/fwlink/?LinkId=251817). ```csharp schedJobDefinition.Register(); - registrationSucceeded = true; - Console.WriteLine("Scheduled job has been registered. Waiting 30 seconds for it to be started and run."); + registrationSucceeded = true; + Console.WriteLine("Scheduled job is registered. Waiting 30 seconds for it to run."); ``` -## Complete Code Example +## Complete code Example The following is the complete code example from which the previous snippets were taken. @@ -91,13 +103,13 @@ The following is the complete code example from which the previous snippets were using System; using System.Threading; using System.Collections.Generic; -using System.Management.Automation; // Windows PowerShell namespace. -using Microsoft.PowerShell.ScheduledJob; // Windows PowerShell ScheduledJob namespace. +using System.Management.Automation; // PowerShell namespace. +using Microsoft.PowerShell.ScheduledJob; // PowerShell ScheduledJob namespace. namespace Microsoft.Samples.PowerShell.ScheduledJob { /// - /// This class contains the Main enrty point for the application. + /// This class contains the Main entry point for the application. /// public class ScheduledJobSample { @@ -126,12 +138,12 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // may want to increase the 20 seconds value so that the trigger time // remains in the future once you register the scheduled job. ScheduledJobTrigger jobTrigger = ScheduledJobTrigger.CreateOnceTrigger( - DateTime.Now.AddSeconds(20), // Create trigger to start job 20 seconds after now. - TimeSpan.Zero, // No random delay - null, // No repetition interval time - null, // No repetition interval duration - 1, // Trigger Id - true); // Create trigger enabled + DateTime.Now.AddSeconds(20), // Create trigger to start job in 20 seconds. + TimeSpan.Zero, // No random delay + null, // No repetition interval time + null, // No repetition interval duration + 1, // Trigger Id + true); // Create trigger enabled // Create a parameter dictionary that defines the PowerShell job. // For this example we will create a simple script that runs for @@ -145,14 +157,12 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // RunAs32 - Switch (boolean type). string schedJobDefName = "MySampleSchedJob"; Dictionary jobDefParameters = new Dictionary(); - jobDefParameters.Add("Name", schedJobDefName); // Unique name is requiried. + jobDefParameters.Add("Name", schedJobDefName); // Unique name is required. ScriptBlock scriptBlock = ScriptBlock.Create(@"1..5 | foreach {sleep 1; ""SchedJobOutput $_""}"); - jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script FilePath - // is required. + jobDefParameters.Add("ScriptBlock", scriptBlock); // A scriptblock or script FilePath is required. - // Now create a JobInvocation object that contains all information about - // the PowerShell job to run. + // Now create a JobInvocation object that contains all information about the PowerShell job to run. ScheduledJobInvocationInfo jobInvocationInfo = new ScheduledJobInvocationInfo( new JobDefinition(typeof(ScheduledJobSourceAdapter), scriptBlock.ToString(), schedJobDefName), jobDefParameters); @@ -160,25 +170,28 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // Finally create the scheduled job definition object that pulls all // of this information together. schedJobDefinition = new ScheduledJobDefinition( - jobInvocationInfo, // Defines the PowerShell job to run. - new ScheduledJobTrigger[1] { jobTrigger }, // Defines when to run the PowerShell job. - null, // No custom options. We accept default. - null); // No credentials. PowerShell job is run - // in default Task Scheduler process, account. + jobInvocationInfo, // Defines the PowerShell job to run. + new ScheduledJobTrigger[1] { jobTrigger }, // Defines when to run the job. + null, // No custom options. Accept default. + null); // No credentials. PowerShell job is + // run in default Task Scheduler + // process, account. // Next we register this scheduled job object with Windows Task Scheduler. - // The Task Scheduler will run the PowerShell script based on the provided job trigger. + // The Task Scheduler runs the PowerShell script based on the provided job trigger. schedJobDefinition.Register(); registrationSucceeded = true; - Console.WriteLine("Scheduled job has been registered. Waiting 30 seconds for it to be started and run."); + Console.WriteLine("Scheduled job is registered. Waiting 30 seconds for it to run."); // You can see this PowerShell job task registered in the Task Scheduler UI. - // Look under path: Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs - - // Wait for Task Scheduler to run the PowerShell job. This should happen in 20 seconds - // and then the job will take about 5 seconds to run. If PowerShell job task doesn't - // run try increasing the trigger time in the ScheduledJobTrigger object. You can also - // run this task manully from the Task Scheduler UI. + // Look under path: + // Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs + + // Wait for Task Scheduler to run the PowerShell job. + // This should happen in 20 seconds and then the job takes about 5 seconds to run. + // If PowerShell job task doesn't run try increasing the trigger time in the + // ScheduledJobTrigger object. + // You can run this task manually from the Task Scheduler UI. for (int count = 1; count < 31; ++count) { Thread.Sleep(1000); @@ -194,8 +207,8 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob // job store and the directory location is the current user local app // data ($env:LOCALAPPDATA). // This job store can be accessed through the ScheduledJobSourceAdapter class. - ScheduledJobSourceAdapter schedJobSourceAdpater = new ScheduledJobSourceAdapter(); - IList jobRuns = schedJobSourceAdpater.GetJobs(); + ScheduledJobSourceAdapter schedJobSourceAdapter = new ScheduledJobSourceAdapter(); + IList jobRuns = schedJobSourceAdapter.GetJobs(); foreach (var jobRun in jobRuns) { // Check for jobs in finished state. @@ -247,4 +260,4 @@ namespace Microsoft.Samples.PowerShell.ScheduledJob } } -``` \ No newline at end of file +``` diff --git a/dsc/TOC.yml b/dsc/TOC.yml index 3eda2a300436..3f16e9234e18 100644 --- a/dsc/TOC.yml +++ b/dsc/TOC.yml @@ -1,225 +1,286 @@ - name: Overview - href: overview.md items: + - name: Desired State Configuration Overview for Developers + href: overview/overview.md - name: Desired State Configuration Overview for Decision Makers - href: decisionMaker.md + href: overview/decisionMaker.md - name: Desired State Configuration Overview for Engineers - href: DscForEngineers.md - - name: DSC quick start - href: quickStart.md + href: overview/DscForEngineers.md + - name: Understanding DSC's role in a CI/CD Pipeline + href: overview/authoringAdvanced.md +- name: Getting started + items: + - name: Get started with DSC for Linux + href: getting-started/lnxGettingStarted.md + - name: Get started with DSC on Nano + href: getting-started/nanoDSC.md + - name: Get started with DSC in Azure Automation + href: getting-started/azureDSC.md + - name: Get started with DSC on Azure Virtual Machines + href: getting-started/azureDSCexthistory.md +- name: Quickstarts + items: + - name: Create a Website with DSC + href: quickstarts/website-quickStart.md - name: Configurations - href: configurations.md items: - - name: Enacting configurations - href: enactingConfigurations.md - - name: Separating configuration and environment data - href: separatingEnvData.md - - name: Using resources with multiple versions - href: sxsResource.md - - name: Running DSC with user credentials - href: runAsUser.md - - name: Specifying cross-node dependencies - href: crossNodeDependencies.md - - name: Configuration data - href: configData.md + - name: Concepts items: - - name: Credential options in configuration data - href: configDataCredentials.md - - name: Nesting configurations - href: compositeConfigs.md - - name: Securing the configuration MOF file - href: secureMOF.md - - name: Partial Configurations - href: partialConfigs.md - - name: Writing help for DSC configurations - href: configHelp.md - - name: Configure a virtual machine at initial boot-up by using DSC - href: bootstrapDsc.md + - name: What is a Configuration? + href: configurations/configurations.md + - name: How-to-guides items: - - name: DSCAutomationHostEnabled registry key - href: DSCAutomationHostEnabled.md + - name: Write, Compile, and Apply a Configuration + href: configurations/write-compile-apply-configuration.md + - name: Working with Resources in Configurations + items: + - name: Using Import-DSCResource + href: configurations/import-dscresource.md + - name: Install additional DSC Resources + href: configurations/install-additional-dsc-resources.md + - name: Import a specific version of an installed resource + href: configurations/sxsResource.md + - name: Use Credentials with DSC Resources + href: configurations/runAsUser.md + - name: Writing Dynamic Configurations + items: + - name: Add Parameters to a Configuration + href: configurations/add-parameters-to-a-configuration.md + - name: Conditional statements and loops in Configurations + href: configurations/flow-control-in-configurations.md + - name: Write help for DSC configurations + href: configurations/configHelp.md + - name: Nesting Configurations + href: configurations/compositeconfigs.md + - name: Configuration Data + items: + - name: Separate Configuration data from Configurations + href: configurations/configData.md + - name: Separate configuration and environment data (psd1) + href: configurations/separatingEnvData.md + - name: Credential options in configuration data + href: configurations/configDataCredentials.md + - name: Dependencies in Configurations + items: + - name: Resource dependencies using DependsOn + href: configurations/resource-depends-on.md + - name: Cross-Node dependencies + href: configurations/crossNodeDependencies.md + - name: Reboot a Node + href: configurations/reboot-a-node.md - name: Resources - href: resources.md items: - - name: Built-in resources - href: builtInResource.md + - name: Concepts + items: + - name: What are Resources? + href: resources/resources.md + - name: Get, Test, and Set + href: resources/get-test-set.md + - name: Custom Resources + href: resources/authoringresource.md + - name: Write a single-instance DSC resource (best practice) + href: resources/singleInstance.md + - name: Resource authoring checklist + href: resources/resourceAuthoringChecklist.md + - name: How-to guides + items: + - name: Write MOF-based resources in PowerShell + href: resources/authoringResourceMOF.md + - name: Write Class-based resources in PowerShell + href: resources/authoringResourceClass.md + - name: Write Composite resources in PowerShell + href: resources/authoringResourceComposite.md + - name: Write MOF-based resources in C# + href: resources/authoringResourceMofCS.md + - name: Using the Resource Designer Tool + href: resources/authoringResourceMofDesigner.md +- name: Managing Nodes + items: + - name: How-to guides + items: + - name: Apply, Get, and Test Configurations on a Node + href: managing-nodes/apply-get-test.md + - name: Configure the Local Configuration Manager (v5) + href: managing-nodes/metaConfig.md + - name: Configure the Local Configuration Manager (v4) + href: managing-nodes/metaConfig4.md + - name: Invoke DSC resource methods directly + href: managing-nodes/directCallResource.md +- name: Pull Server + items: + - name: Concepts + items: + - name: Push/Pull Model + href: pull-server/enactingConfigurations.md + - name: How-to guides + items: + - name: Setup a Pull Server + items: + - name: Set up a DSC SMB Pull Server + href: pull-server/pullServerSMB.md + - name: Set up a DSC HTTP Pull Server + href: pull-server/pullServer.md + - name: Register a Node with a Pull Server + items: + - name: Setting up a DSC pull client + href: pull-server/pullClient.md + - name: Setup a Pull Client using Configuration Names (v5) + href: pull-server/pullClientConfigNames.md + - name: Setup a Pull Client using Configuration IDs (v5) + href: pull-server/pullClientConfigID.md + - name: Setup a Pull Client using Configuration IDs (v4) + href: pull-server/pullClientConfigID4.md + - name: Partial Configurations + href: pull-server/partialconfigs.md + - name: Deploy Configurations with a Pull Server + items: + - name: Publish Configurations to a Pull Server (v4/v5) + href: pull-server/publishConfigs.md + - name: Package and Upload Resources to a Pull Server (v4) + href: pull-server/package-upload-resources.md + - name: Update Nodes from a Pull Server + href: pull-server/update-nodes-manually.md + - name: Use a DSC report server + href: pull-server/reportServer.md + - name: Securing the Pull Server + items: + - name: Pull Server Security + href: pull-server/secureServer.md + - name: Securing MOF files with Certificates + href: pull-server/secureMOF.md +- name: Tutorials + items: + - name: Build a CI/CD pipeline with DSC, Pester, and Visual Studio Team Services + href: tutorials/dscCiCd.md + - name: Configure a virtual machine at initial boot-up by using DSC + href: tutorials/bootstrapDsc.md + - name: Configure the DSCAutomationHostEnabled registry key + href: tutorials/DSCAutomationHostEnabled.md +- name: Troubleshooting + items: + - name: Known Issues + href: troubleshooting/troubleshooting.md + - name: Debug DSC resources + href: troubleshooting/debugResource.md +- name: Reference + items: + - name: Windows built-in resources items: - name: Archive Resource - href: archiveResource.md + href: reference/resources/windows/archiveResource.md - name: Environment Resource - href: environmentResource.md + href: reference/resources/windows/environmentResource.md - name: File Resource - href: fileResource.md + href: reference/resources/windows/fileResource.md - name: Group Resource - href: groupResource.md + href: reference/resources/windows/groupResource.md - name: GroupSet Resource - href: groupSetResource.md + href: reference/resources/windows/groupSetResource.md - name: Log Resource - href: logResource.md + href: reference/resources/windows/logResource.md - name: Package Resource - href: packageResource.md + href: reference/resources/windows/packageResource.md - name: ProcessSet Resource - href: processSetResource.md + href: reference/resources/windows/processSetResource.md - name: Registry Resource - href: registryResource.md + href: reference/resources/windows/registryResource.md - name: Script Resource - href: scriptResource.md + href: reference/resources/windows/scriptResource.md - name: Service Resource - href: serviceResource.md + href: reference/resources/windows/serviceResource.md - name: ServiceSet Resource - href: serviceSetResource.md + href: reference/resources/windows/serviceSetResource.md - name: User Resource - href: userResource.md + href: reference/resources/windows/userResource.md - name: WaitForAllResource - href: waitForAllResource.md + href: reference/resources/windows/waitForAllResource.md - name: WaitForAnyResource - href: waitForAnyResource.md + href: reference/resources/windows/waitForAnyResource.md - name: WaitForSomeResource - href: waitForSomeResource.md + href: reference/resources/windows/waitForSomeResource.md - name: WindowsFeature Resource - href: windowsfeatureResource.md + href: reference/resources/windows/windowsfeatureResource.md - name: WindowsFeatureSet Resource - href: windowsFeatureSetResource.md + href: reference/resources/windows/windowsFeatureSetResource.md - name: WindowsOptionalFeature Resource - href: windowsOptionalFeatureResource.md + href: reference/resources/windows/windowsOptionalFeatureResource.md - name: WindowsOptionalFeatureSet Resource - href: windowsOptionalFeatureSetResource.md + href: reference/resources/windows/windowsOptionalFeatureSetResource.md - name: WindowsPackageCab Resource - href: windowsPackageCabResource.md + href: reference/resources/windows/windowsPackageCabResource.md - name: WindowsProcess Resource - href: windowsProcessResource.md - - name: Authoring custom resources - href: authoringResource.md - items: - - name: MOF-based custom resources - href: authoringResourceMOF.md - items: - - name: MOF-based resource in C# - href: authoringResourceMofCS.md - - name: Class-based custom resouces - href: authoringResourceClass.md - - name: Composite resources - href: authoringResourceComposite.md - - name: Advanced DSC Authoring for Composition and Collaboration - href: authoringAdvanced.md - - name: Writing a single-instance DSC resource (best practice) - href: singleInstance.md - - name: Resource authoring checklist - href: resourceAuthoringChecklist.md - - name: Debugging DSC resources - href: debugResource.md - - name: Calling DSC resource methods directly - href: directCallResource.md -- name: Local Configuration Manager - items: - - name: Configuring the Local Configuration Manager (LCM) - href: metaConfig.md - - name: Configuring the LCM in PowerShell 4.0 - href: metaConfig4.md -- name: The DSC pull model - items: - - name: DSC Pull Service - href: pullServer.md - - name: Setting up a DSC SMB pull server - href: pullServerSMB.md - - name: Setting up a pull client - href: pullClient.md - items: - - name: Setting up a pull client using configuration names - href: pullClientConfigNames.md - - name: Setting up a pull client using configuration ID - href: pullClientConfigID.md - - name: Using a DSC report server - href: reportServer.md - - name: Pull server best practices - href: secureServer.md -- name: DSC examples - href: dscExamples.md - items: - - name: Building a CI/CD pipeline with DSC, Pester, and Visual Studio Team Services - href: dscCiCd.md - - name: Separating configuration and environment data - href: separatingEnvData.md -- name: Troubleshooting DSC - href: troubleshooting.md -- name: Using DSC on Nano Server - href: nanoDsc.md -- name: DSC on Linux - items: - - name: Getting started with DSC for Linux - href: lnxGettingStarted.md - - name: Built-in resources for Linux - href: lnxBuiltInResources.md + href: reference/resources/windows/windowsProcessResource.md + - name: Linux built-in resources items: - name: nxArchive Resource - href: lnxArchiveResource.md + href: reference/resources/linux/lnxArchiveResource.md - name: nxEnvironment Resource - href: lnxEnvironmentResource.md + href: reference/resources/linux/lnxEnvironmentResource.md - name: nxFile Resource - href: lnxFileResource.md + href: reference/resources/linux/lnxFileResource.md - name: nxFileLine Resource - href: lnxFileLineResource.md + href: reference/resources/linux/lnxFileLineResource.md - name: nxGroup Resource - href: lnxGroupResource.md + href: reference/resources/linux/lnxGroupResource.md - name: nxPackage Resource - href: lnxPackageResource.md + href: reference/resources/linux/lnxPackageResource.md - name: nxScript Resource - href: lnxScriptResource.md + href: reference/resources/linux/lnxScriptResource.md - name: nxService Resource - href: lnxServiceResource.md + href: reference/resources/linux/lnxServiceResource.md - name: nxSshAuthorizedKeys Resource - href: lnxSshAuthorizedKeysResource.md + href: reference/resources/linux/lnxSshAuthorizedKeysResource.md - name: nxUser Resource - href: lnxUserResource.md -- name: Using DSC on Microsoft Azure - href: azureDsc.md - items: - - name: DSC Extension History - href: azureDscexthistory.md -- name: DSC MOF Reference - items: + href: reference/resources/linux/lnxUserResource.md + - name: PackageManagement built-in resources + items: + - name: PackageManagementDsc Resource + href: reference/resources/packagemanagement/PackageManagementDscResource.md + - name: PackageManagementSourceDsc Resource + href: reference/resources/packagemanagement/PackageManagementSourceDscResource.md - name: MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager.md items: + - name: Overview + href: reference/mof-classes/msft-dsclocalconfigurationmanager.md - name: ApplyConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-applyconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-applyconfiguration.md - name: DisableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-disabledebugconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md - name: EnableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-enabledebugconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md - name: GetConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-getconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-getconfiguration.md - name: GetConfigurationResultOutput method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md - name: GetConfigurationStatus method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-getconfigurationstatus.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationstatus.md - name: GetMetaConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-getmetaconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration.md - name: PerformRequiredConfigurationChecks method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md - name: RemoveConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-removeconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-removeconfiguration.md - name: ResourceGet method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-resourceget.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-resourceget.md - name: ResourceSet method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-resourceset.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-resourceset.md - name: ResourceTest method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-resourcetest.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-resourcetest.md - name: RollBack method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-rollback.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-rollback.md - name: SendConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-sendconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfiguration.md - name: SendConfigurationApply method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-sendconfigurationapply.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapply.md - name: SendConfigurationApplyAsync method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md - name: SendMetaConfigurationApply method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md - name: StopConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-stopconfiguration.md + href: reference/mof-classes/msft-dsclocalconfigurationmanager-stopconfiguration.md - name: TestConfiguration method of the MSFT_DSCLocalConfigurationManager class - href: msft-dsclocalconfigurationmanager-testconfiguration.md -- name: More Resources + href: reference/mof-classes/msft-dsclocalconfigurationmanager-testconfiguration.md +- name: Further reading items: - name: Whitepapers - href: whitepapers.md + href: further-reading/whitepapers.md diff --git a/dsc/builtInResource.md b/dsc/builtInResource.md deleted file mode 100644 index 734ad9b3d8f0..000000000000 --- a/dsc/builtInResource.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Built-In Windows PowerShell Desired State Configuration Resources ---- - -# Built-In Windows PowerShell Desired State Configuration Resources - -> Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - -Windows PowerShell Desired State Configuration (DSC) comes with a set of built-in configuration resources. The following table provides an alphabetical list of these resources and links to topics that describe them in detail. If you need to create additional resources, see [Build Custom Windows PowerShell Desired State Configuration Resources](authoringResource.md) - -* [Archive Resource](archiveResource.md) -* [Environment Resource](environmentResource.md) -* [File Resource](fileResource.md) -* [Group Resource](groupResource.md) -* [Log Resource](logResource.md) -* [Package Resource](packageResource.md) -* [Registry Resource](registryResource.md) -* [Script Resource](scriptResource.md) -* [Service Resource](serviceResource.md) -* [User Resource](userResource.md) -* [WindowsFeature Resource](windowsfeatureResource.md) -* [WindowsProcess Resource](windowsProcessResource.md) \ No newline at end of file diff --git a/dsc/configHelp.md b/dsc/configHelp.md deleted file mode 100644 index e08d4cf9da47..000000000000 --- a/dsc/configHelp.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Writing help for DSC configurations ---- - -# Writing help for DSC configurations - ->Applies To: Windows Windows PowerShell 5.0 - -You can use comment-based help in DSC configurations. Users can access the help by calling the configuration function with `-?`, or by using the -[Get-Help](https://technet.microsoft.com/library/hh849696.aspx) cmdlet. For more information about PowerShell comment-based help, see -[about_Comment_Based_Help](https://technet.microsoft.com/library/hh847834.aspx). - -The following example shows a script that contains a configuration and comment-based help for it: - -```powershell -<# -.SYNOPSIS -A brief description of the function or script. This keyword can be used only once for each configuration. - - -.DESCRIPTION -A detailed description of the function or script. This keyword can be used only once for each configuration. - - -.PARAMETER ComputerName -The description of a parameter. Add a .PARAMETER keyword for each parameter in the function or script syntax. - -Type the parameter name on the same line as the .PARAMETER keyword. Type the parameter description on the lines following the .PARAMETER keyword. -Windows PowerShell interprets all text between the .PARAMETER line and the next keyword or the end of the comment block as part of the parameter description. -The description can include paragraph breaks. - -The Parameter keywords can appear in any order in the comment block, but the function or script syntax determines the order in which the parameters -(and their descriptions) appear in help topic. To change the order, change the syntax. - -.PARAMETER FilePath -Provide a PARAMETER section for each parameter that your script or function accepts. - -.EXAMPLE -A sample command that uses the function or script, optionally followed by sample output and a description. Repeat this keyword for each example. If you have multiple examples, -there is no need to number them. PowerShell will number the examples in help text. - -.EXAMPLE -This example will be labeled "EXAMPLE 2" when help is displayed to the user. -#> - -configuration HelpSample1 -{ -    param([string]$ComputerName,[string]$FilePath) -    File f -    { - Contents="Hello World" -        DestinationPath = "c:\Destination.txt" -    } -} -``` - -## Viewing configuration help - -To view the help for a configuration, use the **Get-Help** cmdlet with the name of the function, or type the name of the function followed by `-?`. The following is the output -of the previous function when passed to **Get-Help**: - -```powershell -PS C:\> Get-Help HelpSample1 - -NAME - HelpSample1 - -SYNOPSIS - A brief description of the function or script. This keyword can be used only once for each configuration. - - -SYNTAX - HelpSample1 [[-InstanceName] ] [[-DependsOn] ] [[-OutputPath] ] [[-ConfigurationData] ] [[-ComputerName] - ] [[-FilePath] ] [] - - -DESCRIPTION - A detailed description of the function or script. This keyword can be used only once for each configuration. - - -RELATED LINKS - -REMARKS - To see the examples, type: "get-help HelpSample1 -examples". - For more information, type: "get-help HelpSample1 -detailed". - For technical information, type: "get-help HelpSample1 -full". -``` - -## See Also -* [DSC Configurations](configurations.md) \ No newline at end of file diff --git a/dsc/configurations/add-parameters-to-a-configuration.md b/dsc/configurations/add-parameters-to-a-configuration.md new file mode 100644 index 000000000000..9e58f03f1fd5 --- /dev/null +++ b/dsc/configurations/add-parameters-to-a-configuration.md @@ -0,0 +1,228 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,resource,gallery,setup +title: Add Parameters to a Configuration +--- + +# Add Parameters to a Configuration + +Like Functions, [Configurations](configurations.md) can be parameterized to allow more dynamic configurations based on user input. The steps are similar to those described in [Functions with Parameters](/powershell/module/microsoft.powershell.core/about/about_functions). + +This example starts with a basic Configuration that configures the "Spooler" service to be "Running". + +```powershell +Configuration TestConfig +{ + # It is best practice to implicitly import any required resources or modules. + Import-DSCResource -Module PSDesiredStateConfiguration + + Node localhost + { + Service 'Spooler' + { + Name = 'Spooler' + State = 'Running' + } + } +} +``` + +## Built-in Configuration parameters + +Unlike a Function though, the [CmdletBinding](/powershell/module/microsoft.powershell.core/about/about_functions_cmdletbindingattribute) attribute adds no functionality. In addition to [Common Parameters](/powershell/module/microsoft.powershell.core/about/about_commonparameters), Configurations can also use the following built in parameters, without requiring you to define them. + +|Parameter |Description | +|---------|---------| +|`-InstanceName`|Used in defining [Composite Configurations](compositeconfigs.md)| +|`-DependsOn`|Used in defining [Composite Configurations](compositeconfigs.md)| +|`-PSDSCRunAsCredential`|Used in defining [Composite Configurations](compositeconfigs.md)| +|`-ConfigurationData`|Used to pass in structured [Configuration Data](configData.md) for use in the Configuration.| +|`-OutputPath`|Used to specify where your "\.mof" file will be compiled| + +## Adding your own parameters to Configurations + +In addition to the built-in parameters, you can also add your own parameters to your Configurations. The parameter block goes directly inside the Configuration declaration, just like a Function. A Configuration parameter block should be outside any **Node** declarations, and above any *import* statements. By adding parameters, you can make your Configurations more robust and dynamic. + +```powershell +Configuration TestConfig +{ + param + ( + + ) +``` + +### Add a ComputerName parameter + +The first parameter you might add is a `-Computername` parameter so you can dynamically compile a ".mof" file for any `-Computername` you pass to your configuration. Like Functions, you can also define a default value, in case the user does not pass in a value for `-ComputerName` + +```powershell +param +( + [String] + $ComputerName="localhost" +) +``` + +Within your configuration, you can then specify your `-ComputerName` parameter when defining your Node block. + +```powershell +Node $ComputerName +{ + +} +``` + +### Calling your Configuration with parameters + +After you have added parameters to your Configuration, you can use them just like you would with a cmdlet. + +```powershell +TestConfig -ComputerName "server01" +``` + +### Compiling multiple .mof files + +The Node block can also accept a comma-separated list of computer names and will generate ".mof" files for each. You can run the following example to generate ".mof" files for all of the computers passed to the `-ComputerName` parameter. + +```powershell +Configuration TestConfig +{ + param + ( + [String] + $ComputerName="localhost" + ) + + # It is best practice to implicitly import any required resources or modules. + Import-DSCResource -Module PSDesiredStateConfiguration + + Node $ComputerName + { + Service 'Spooler' + { + Name = 'Spooler' + State = 'Running' + } + } +} + +TestConfig -ComputerName "server01", "server02", "server03" +``` + +## Advanced parameters in Configurations + +In addition to a `-ComputerName` parameter, we can add parameters for the service name and state. The following example adds a parameter block with a `-ServiceName` parameter and uses it to dynamically define the **Service** resource block. It also adds a `-State` parameter to dynamically define the **State** in the **Service** resource block. + +```powershell +Configuration TestConfig +{ + param + ( + [String] + $ServiceName, + + [String] + $State, + + [String] + $ComputerName="localhost" + ) + + # It is best practice to implicitly import any required resources or modules. + Import-DSCResource -Module PSDesiredStateConfiguration + + Node $ComputerName + { + Service $ServiceName + { + Name = $ServiceName + State = $State + } + } +} +``` + +> [!NOTE] +> In more advacned scenarios, it might make more sense to move your dynamic data into a structured [Configuration Data](configData.md). + +The example Configuration now takes a dynamic `$ServiceName`, but if one is not specified, compiling results in an error. You could add a default value like this example. + +```powershell +[String] +$ServiceName="Spooler" +``` + +In this instance though, it makes more sense to simply force the user to specify a value for the `$ServiceName` parameter. The `parameter` attribute allows you to add further validation and pipeline support to your Configuration's parameters. + +Above any parameter declaration, add the `parameter` attribute block as in the example below. + +```powershell +[parameter()] +[String] +$ServiceName +``` + +You can specify arguments to each `parameter` attribute, to control aspects of the defined parameter. The following example makes the `$ServiceName` a **Mandatory** parameter. + +```powershell +[parameter(Mandatory)] +[String] +$ServiceName +``` + +For the `$State` parameter, we would like to prevent the user from specifying values outside of a predefined set (like Running, Stopped) +the `ValidationSet*`attribute would prevent the user from specifying values outside of a predefined set (like Running, Stopped). The following example adds the `ValidationSet` attribute to the `$State` parameter. Since we do not want to make the `$State` parameter **Mandatory**, we will need to add a default value for it. + +```powershell +[ValidateSet("Running", "Stopped")] +[String] +$State="Running" +``` + +> [!NOTE] +> You do not need to specify a `parameter` attribute when using a `validation` attribute. + +You can read more about the `parameter` and validation attributes in [about_Functions_Advanced_Parameters](/powershell/module/microsoft.powershell.core/about/about_Functions_Advanced_Parameters.md). + +## Fully parameterized Configuration + +We now have a parameterized Configuration that forces the user to specify an `-InstanceName`, `-ServiceName`, and validates the `-State` parameter. + +```powershell +Configuration TestConfig +{ + param + ( + [parameter(Mandatory)] + [String] + $ServiceName, + + [ValidateSet("Running","Stopped")] + [String] + $State="Running", + + [String] + $ComputerName="localhost", + ) + + # It is best practice to implicitly import any required resources or modules. + Import-DSCResource -Module PSDesiredStateConfiguration + + Node localhost + { + Service $ServiceName + { + Name = $ServiceName + State = $State + } + } +} +``` + +## See also + +- [Write help for DSC configurations](configHelp.md) +- [Dynamic Configurations](flow-control-in-configurations.md) +- [Use Configuration Data in your Configurations](configData.md) +- [Separate configuration and environment data](separatingEnvData.md) diff --git a/dsc/compositeConfigs.md b/dsc/configurations/compositeConfigs.md similarity index 97% rename from dsc/compositeConfigs.md rename to dsc/configurations/compositeConfigs.md index 0ea6824d5348..d170817c81cb 100644 --- a/dsc/compositeConfigs.md +++ b/dsc/configurations/compositeConfigs.md @@ -53,4 +53,4 @@ The properties in the `NestedConfig` resource block (**CopyFrom** and **CopyTo** ## See Also -- [Composite resources--Using a DSC configuration as a resource](authoringResourceComposite.md) \ No newline at end of file +- [Composite resources--Using a DSC configuration as a resource](../resources/authoringResourceComposite.md) \ No newline at end of file diff --git a/dsc/configData.md b/dsc/configurations/configData.md similarity index 95% rename from dsc/configData.md rename to dsc/configurations/configData.md index ecee4f07ce44..c27c6788d7cb 100644 --- a/dsc/configData.md +++ b/dsc/configurations/configData.md @@ -186,12 +186,13 @@ MyDscConfiguration -ConfigurationData .\MyData.psd1 ## Using ConfigurationData variables in a configuration -DSC provides three special variables that can be used in a configuration script: **$AllNodes**, **$Node**, and **$ConfigurationData**. +DSC provides the following special variables that can be used in a configuration script: - **$AllNodes** refers to the entire collection of nodes defined in **ConfigurationData**. You can filter the **AllNodes** collection by using **.Where()** and **.ForEach()**. +- **ConfigurationData** refers to the entire hash table that is passed as the parameter when compiling a configuration. +- **MyTypeName** contains the [configuration](configurations.md) name the variable is used in. For example, in the configuration `MyDscConfiguration`, the `$MyTypeName` will have a value of `MyDscConfiguration`. - **Node** refers to a particular entry in the **AllNodes** collection after it is filtered by using **.Where()** or **.ForEach()**. - You can read more about these methods in [about_arrays](/powershell/reference/3.0/Microsoft.PowerShell.Core/About/about_Arrays.md) -- **ConfigurationData** refers to the entire hash table that is passed as the parameter when compiling a configuration. ## Using non-node data diff --git a/dsc/configDataCredentials.md b/dsc/configurations/configDataCredentials.md similarity index 57% rename from dsc/configDataCredentials.md rename to dsc/configurations/configDataCredentials.md index b874c7ab7e53..041b96c4149c 100644 --- a/dsc/configDataCredentials.md +++ b/dsc/configurations/configDataCredentials.md @@ -3,8 +3,8 @@ ms.date: 06/12/2017 keywords: dsc,powershell,configuration,setup title: Credentials Options in Configuration Data --- - # Credentials Options in Configuration Data + >Applies To: Windows PowerShell 5.0 ## Plain Text Passwords and Domain Users @@ -13,114 +13,17 @@ DSC configurations containing a credential without encryption will generate an error message about plain text passwords. Also, DSC will generate a warning when using domain credentials. To suppress these error and warning messages use the DSC configuration data keywords: -* **PsDscAllowPlainTextPassword** -* **PsDscAllowDomainUser** + +- **PsDscAllowPlainTextPassword** +- **PsDscAllowDomainUser** > [!NOTE] -> Storing/transmitting plaintext passwords unencrypted is generally not secure. Securing credentials by using the techniques covered later in this topic is recommended. -> The Azure Automation DSC service allows you to centrally manage credentials to be compiled in configurations and stored securely. +> Storing/transmitting plaintext passwords unencrypted is generally not secure. Securing credentials +> by using the techniques covered later in this topic is recommended. +> The Azure Automation DSC service allows you to centrally manage credentials +> to be compiled in configurations and stored securely. > For information, see: [Compiling DSC Configurations / Credential Assets](/azure/automation/automation-dsc-compile#credential-assets) -The following is an example of passing plain text credentials: - -```powershell -#Prompt user for their credentials -#credentials will be unencrypted in the MOF -$promptedCreds = get-credential -Message "Please enter your credentials to generate a DSC MOF:" - -# Store passwords in plaintext, in the document itself -# will also be stored in plaintext in the mof -$password = "ThisIsAPlaintextPassword" | ConvertTo-SecureString -asPlainText -Force -$username = "User1" -[PSCredential] $credential = New-Object System.Management.Automation.PSCredential($username,$password) - -# DSC requires explicit confirmation before storing passwords insecurely -$ConfigurationData = @{ - AllNodes = @( - @{ - # The "*" means "all nodes named in ConfigData" so we don't have to repeat ourselves - NodeName="*" - PSDscAllowPlainTextPassword = $true - }, - #however, each node still needs to be explicitly defined for "*" to have meaning - @{ - NodeName = "TestMachine1" - }, - #we can also use a property to define node-specific passwords, although this is no more secure - @{ - NodeName = "TestMachine2"; - UserName = "User2" - LocalPassword = "ThisIsYetAnotherPlaintextPassword" - } - ) -} -configuration unencryptedPasswordDemo -{ - Node "TestMachine1" - { - # We use the plaintext password to generate a new account - User User1 - { - UserName = $username - Password = $credential - Description = "local account" - Ensure = "Present" - Disabled = $false - PasswordNeverExpires = $true - PasswordChangeRequired = $false - } - # We use the prompted password to add this account to the local admins group - Group addToAdmin - { - # Ensure the user exists before we add the user to a group - DependsOn = "[User]User1" - Credential = $promptedCreds - GroupName = "Administrators" - Ensure = "Present" - MembersToInclude = "User1" - } - } - - Node "TestMachine2" - { - # Now we'll use a node-specific password to this machine - $password = $Node.LocalPassword | ConvertTo-SecureString -asPlainText -Force - $username = $node.UserName - [PSCredential] $nodeCred = New-Object System.Management.Automation.PSCredential($username,$password) - - User User2 - { - UserName = $username - Password = $nodeCred - Description = "local account" - Ensure = "Present" - Disabled = $false - PasswordNeverExpires = $true - PasswordChangeRequired = $false - } - - Group addToAdmin - { - Credential = $promptedCreds - GroupName = "Administrators" - DependsOn = "[User]User2" - Ensure = "Present" - MembersToInclude = "User2" - } - } - -} -# We declared the ConfigurationData in a local variable, but we need to pass it in to our configuration function -# We need to invoke the configuration function we created to generate a MOF -unencryptedPasswordDemo -ConfigurationData $ConfigurationData -# We need to pass the MOF to the machines we named. -#-wait: doesn't use jobs so we get blocked at the prompt until the configuration is done -#-verbose: so we can see what's going on and catch any errors -#-force: for testing purposes, I run start-dscconfiguration frequently + want to make sure i'm -# not blocked by previous configurations that are still running -Start-DscConfiguration ./unencryptedPasswordDemo -verbose -wait -force -``` - ## Handling Credentials in DSC DSC configuration resources run as `Local System` by default. @@ -135,7 +38,8 @@ Newer resources and custom resources can use this automatic property instead of creating their own property for credentials. > [!NOTE] -> The design of some resources are to use multiple credentials for a specific reason, and they will have their own credential properties. +> The design of some resources are to use multiple credentials for a specific reason, and they will +> have their own credential properties. To find the available credential properties on a resource use either `Get-DscResource -Name ResourceName -Syntax` @@ -157,7 +61,7 @@ Group [String] #ResourceName } ``` -This example uses a [Group](https://msdn.microsoft.com/powershell/dsc/groupresource) resource +This example uses a [Group](../resources/resources.md) resource from the `PSDesiredStateConfiguration` built-in DSC resource module. It can create local groups and add or remove members. It accepts both the `Credential` property and the automatic `PsDscRunAsCredential` property. @@ -209,35 +113,45 @@ DomainCredentialExample -DomainCredential $cred This code generates both an error and warning message: ``` -ConvertTo-MOFInstance : System.InvalidOperationException error processing -property 'Credential' OF TYPE 'Group': Converting and storing encrypted -passwords as plain text is not recommended. For more information on securing -credentials in MOF file, please refer to MSDN blog: -http://go.microsoft.com/fwlink/?LinkId=393729 +ConvertTo-MOFInstance : System.InvalidOperationException error processing property 'Credential' OF +TYPE 'Group': Converting and storing encrypted passwords as plain text is not recommended. +For more information on securing credentials in MOF file, please refer to MSDN blog: +https://go.microsoft.com/fwlink/?LinkId=393729 At line:11 char:9 + Group -At line:297 char:16 +At line:341 char:16 + $aliasId = ConvertTo-MOFInstance $keywordName $canonicalizedValue + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Write-Error], InvalidOperationException + FullyQualifiedErrorId : FailToProcessProperty,ConvertTo-MOFInstance - -WARNING: It is not recommended to use domain credential for node 'localhost'. -In order to suppress the warning, you can add a property named -'PSDscAllowDomainUser' with a value of $true to your DSC configuration data -for node 'localhost'. +WARNING: It is not recommended to use domain credential for node 'localhost'. In order to suppress +the warning, you can add a property named 'PSDscAllowDomainUser' with a value of $true to your DSC +configuration data for node 'localhost'. + +Compilation errors occurred while processing configuration +'DomainCredentialExample'. Please review the errors reported in error stream and modify your +configuration code appropriately. +At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSDesiredStateConfiguration.psm1:3917 char:5 ++ throw $ErrorRecord ++ ~~~~~~~~~~~~~~~~~~ + + CategoryInfo : InvalidOperation: (DomainCredentialExample:String) [], InvalidOperationException + + FullyQualifiedErrorId : FailToProcessConfiguration ``` This example has two issues: + 1. An error explains that plain text passwords are not recommended 2. A warning advises against using a domain credential -## PsDscAllowPlainTextPassword +The flags **PSDSCAllowPlainTextPassword** and **PSDSCAllowDomainUser** suppress the error and warning +informing the user of the risk involved. + +## PSDSCAllowPlainTextPassword The first error message has a URL with documentation. This link explains how to encrypt passwords -using a [ConfigurationData](https://msdn.microsoft.com/powershell/dsc/configdata) +using a [ConfigurationData](./configData.md) structure and a certificate. For more information on certificates and DSC [read this post](http://aka.ms/certs4dsc). @@ -246,12 +160,12 @@ the resource requires the `PsDscAllowPlainTextPassword` keyword in the configura as follows: ```powershell +$password = "ThisIsAPlaintextPassword" | ConvertTo-SecureString -asPlainText -Force +$username = "contoso\Administrator" +[PSCredential] $credential = New-Object System.Management.Automation.PSCredential($username,$password) + Configuration DomainCredentialExample { - param - ( - [PSCredential] $DomainCredential - ) Import-DscResource -ModuleName PSDesiredStateConfiguration node localhost @@ -260,7 +174,7 @@ Configuration DomainCredentialExample { GroupName = 'ApplicationAdmins' MembersToInclude = 'contoso\alice' - Credential = $DomainCredential + Credential = $credential } } } @@ -274,12 +188,65 @@ $cd = @{ ) } -$cred = Get-Credential -UserName contoso\genericuser -Message "Password please" -DomainCredentialExample -DomainCredential $cred -ConfigurationData $cd +DomainCredentialExample -ConfigurationData $cd ``` -> [!NOTE] -> `NodeName` cannot equal asterisk, a specific node name is mandatory. +### localhost.mof + +The **PSDSCAllowPlainTextPassword** flag requires that the user acknowledge the risk of storing +plain text passwords in a MOF file. In the generated MOF file, even though a **PSCredential** object +containing a **SecureString** was used, the passwords still appear as plain text. This is the only +time the credentials are exposed. Gaining access to this MOF file gives anyone access to the +Administrator account. + +``` +/* +@TargetNode='localhost' +@GeneratedBy=Administrator +@GenerationDate=01/31/2019 06:43:13 +@GenerationHost=Server01 +*/ + +instance of MSFT_Credential as $MSFT_Credential1ref +{ +Password = "ThisIsAPlaintextPassword"; + UserName = "Administrator"; + +}; + +instance of MSFT_GroupResource as $MSFT_GroupResource1ref +{ +ResourceID = "[Group]DomainUserToLocalGroup"; + MembersToInclude = { + "contoso\\alice" +}; + Credential = $MSFT_Credential1ref; + SourceInfo = "::11::9::Group"; + GroupName = "ApplicationAdmins"; + ModuleName = "PSDesiredStateConfiguration"; + +ModuleVersion = "1.0"; + + ConfigurationName = "DomainCredentialExample"; + +}; +``` + +### Credentials in transit and at rest + +- The **PSDscAllowPlainTextPassword** flag allows the compilation of MOF files that contain passwords in clear text. + Take precautions when storing MOF files containing clear text passwords. +- When the MOF file is delivered to a Node in **Push** mode, WinRM encrypts the communication to + protect the clear text password unless you override the default with the **AllowUnencrypted** parameter. + - Encrypting the MOF with a certificate protects the MOF file at rest before it has been applied to a node. +- In **Pull** mode, you can configure Windows pull server to use HTTPS to encrypt traffic using the protocol + specified in Internet Information Server. For more information, see the articles [Setting up a DSC pull client](../pull-server/pullclient.md) + and [Securing MOF files with Certificates](../pull-server/secureMOF.md). + - In the [Azure Automation State Configuration](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-overview) service, + Pull traffic is always encrypted. +- On the Node, MOF files are encrypted at rest Beginning in PowerShell 5.0. + - In PowerShell 4.0 MOF files are unencrypted at rest unless they are encrypted with a certificate when + they pushed or pulled to the Node. **Microsoft advises to avoid plain text passwords due to the significant security risk.** @@ -292,7 +259,7 @@ that could be used on other servers. **When using credentials with DSC resources, prefer a local account over a domain account when possible.** -If there is a '\' or '@' in the `Username` property of the credential, +If there is a '\\' or '\@' in the `Username` property of the credential, then DSC will treat it as a domain account. There is an exception for "localhost", "127.0.0.1", and "::1" in the domain portion of the user name. @@ -304,16 +271,36 @@ querying an Active Directory domain *requires* a domain account. In this case add the `PSDscAllowDomainUser` property to the `ConfigurationData` block as follows: ```powershell +$password = "ThisIsAPlaintextPassword" | ConvertTo-SecureString -asPlainText -Force +$username = "contoso\Administrator" +[PSCredential] $credential = New-Object System.Management.Automation.PSCredential($username,$password) + +Configuration DomainCredentialExample +{ + Import-DscResource -ModuleName PSDesiredStateConfiguration + + node localhost + { + Group DomainUserToLocalGroup + { + GroupName = 'ApplicationAdmins' + MembersToInclude = 'contoso\alice' + Credential = $credential + } + } +} + $cd = @{ AllNodes = @( @{ NodeName = 'localhost' PSDscAllowDomainUser = $true - # PSDscAllowPlainTextPassword = $true - CertificateFile = "C:\PublicKeys\server1.cer" + PSDscAllowPlainTextPassword = $true } ) } + +DomainCredentialExample -ConfigurationData $cd ``` Now the configuration script will generate the MOF file with no errors or warnings. diff --git a/dsc/configurations/configHelp.md b/dsc/configurations/configHelp.md new file mode 100644 index 000000000000..72ab9ac0ccba --- /dev/null +++ b/dsc/configurations/configHelp.md @@ -0,0 +1,163 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Writing help for DSC configurations +--- + +# Writing help for DSC configurations + +>Applies To: Windows PowerShell 5.0 + +You can use comment-based help in DSC configurations. Users can access the help by calling the **Configuration** with `-?`, or by using the +[Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet. Place your Comment-based help directly above the `Configuration` keyword. +You can place parameter help in-line with your comment block, directly above the parameter declaration, or both as in the example below. + +For more information about PowerShell comment-based help, see [about_Comment_Based_Help](/powershell/module/microsoft.powershell.core/about/about_comment_based_help). + +> [!NOTE] +> PowerShell development environments, like VSCode and the ISE, also have snippets to allow you to automatically insert comment block templates. + +The following example shows a script that contains a configuration and comment-based help for it. This example shows a Configuration with parameters. To learn more about using parameters in your Configurations, see [Add Parameters to your Configurations](add-parameters-to-a-configuration.md). + +```powershell +<# +.SYNOPSIS +A brief description of the function or script. This keyword can be used only once for each configuration. + + +.DESCRIPTION +A detailed description of the function or script. This keyword can be used only once for each configuration. + + +.PARAMETER ComputerName +The description of a parameter. Add a .PARAMETER keyword for each parameter in the function or script syntax. + +Type the parameter name on the same line as the .PARAMETER keyword. Type the parameter description on the lines following the .PARAMETER keyword. +Windows PowerShell interprets all text between the .PARAMETER line and the next keyword or the end of the comment block as part of the parameter description. +The description can include paragraph breaks. + +The Parameter keywords can appear in any order in the comment block, but the function or script syntax determines the order in which the parameters +(and their descriptions) appear in help topic. To change the order, change the syntax. + +.EXAMPLE +HelpSample -ComputerName localhost + +A sample command that uses the function or script, optionally followed by sample output and a description. Repeat this keyword for each example. +PowerShell automatically prefaces the first line with a PowerShell prompt. Additional lines are treated as output and description. The example can contain spaces, newlines and PowerShell code. + +If you have multiple examples, there is no need to number them. PowerShell will number the examples in help text. +.EXAMPLE +HelpSample -FilePath "C:\output.txt" + +This example will be labeled "EXAMPLE 2" when help is displayed to the user. +#> +configuration HelpSample1 +{ + param + ( + [string]$ComputerName = 'localhost', + # Provide a PARAMETER section for each parameter that your script or function accepts. + [string]$FilePath = 'C:\Destination.txt' + ) + + Node $ComputerName + { + File HelloWorld + { + Contents="Hello World" + DestinationPath = $FilePath + } + } +} +``` + +## Viewing configuration help + +To view the help for a configuration, use the `Get-Help` cmdlet with the name of the function, or type the name of the function followed by `-?`. The following is the output +of the previous Configuration passed to `Get-Help`. + +```powershell +Get-Help HelpSample1 -Detailed +``` + +```output +NAME + HelpSample1 + +SYNOPSIS + A brief description of the function or script. This keyword can be used only once for each configuration. + + +SYNTAX + HelpSample1 [[-InstanceName] ] [[-DependsOn] ] [[-PsDscRunAsCredential] ] [[-OutputPath] ] [[-ConfigurationData] ] [[-ComputerName] ] [[-FilePath] ] [] + + +DESCRIPTION + A detailed description of the function or script. This keyword can be used only once for each configuration. + + +PARAMETERS + -InstanceName + + -DependsOn + + -PsDscRunAsCredential + + -OutputPath + + -ConfigurationData + + -ComputerName + The description of a parameter. Add a .PARAMETER keyword for each parameter in the function or script syntax. + + Type the parameter name on the same line as the .PARAMETER keyword. Type the parameter description on the lines following the .PARAMETER keyword. + Windows PowerShell interprets all text between the .PARAMETER line and the next keyword or the end of the comment block as part of the parameter description. + The description can include paragraph breaks. + + The Parameter keywords can appear in any order in the comment block, but the function or script syntax determines the order in which the parameters + (and their descriptions) appear in help topic. To change the order, change the syntax. + + -FilePath + Provide a PARAMETER section for each parameter that your script or function accepts. + + + This cmdlet supports the common parameters: Verbose, Debug, + ErrorAction, ErrorVariable, WarningAction, WarningVariable, + OutBuffer, PipelineVariable, and OutVariable. For more information, see + about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216). + + -------------------------- EXAMPLE 1 -------------------------- + + PS C:\>HelpSample -ComputerName localhost + + A sample command that uses the function or script, optionally followed by sample output and a description. Repeat this keyword for each example. + PowerShell automatically prefaces the first line with a PowerShell prompt. Additional lines are treated as output and description. The example can contain spaces, newlines and PowerShell code. + + If you have multiple examples, there is no need to number them. PowerShell will number the examples in help text. + + + + + -------------------------- EXAMPLE 2 -------------------------- + + PS C:\>HelpSample -FilePath "C:\output.txt" + + This example will be labeled "EXAMPLE 2" when help is displayed to the user. + + + + +REMARKS + To see the examples, type: "get-help HelpSample1 -examples". + For more information, type: "get-help HelpSample1 -detailed". + For technical information, type: "get-help HelpSample1 -full". +``` + +> [!NOTE] +> Syntax fields and parameter attributes are automatically generated for you by PowerShell. + +## See Also + +- [DSC Configurations](configurations.md) +- [Write, Compile, and Apply a Configuration](write-compile-apply-configuration.md) +- [Add Parameters to a Configuration](add-parameters-to-a-configuration.md) diff --git a/dsc/configurations.md b/dsc/configurations/configurations.md similarity index 67% rename from dsc/configurations.md rename to dsc/configurations/configurations.md index b7c11e8ada15..6d28208995d4 100644 --- a/dsc/configurations.md +++ b/dsc/configurations/configurations.md @@ -1,5 +1,5 @@ --- -ms.date: 06/12/2017 +ms.date: 12/12/2018 keywords: dsc,powershell,configuration,setup title: DSC Configurations --- @@ -26,39 +26,77 @@ Configuration MyDscConfiguration { MyDscConfiguration ``` -Save the script as a .ps1 file. +Save the script as a `.ps1` file. ## Configuration syntax A configuration script consists of the following parts: - The **Configuration** block. This is the outermost script block. You define it by using the **Configuration** keyword and providing a name. In this case, the name of the configuration is "MyDscConfiguration". -- One or more **Node** blocks. These define the nodes (computers or VMs) that you are configuring. In the above configuration, there is one **Node** block that targets a computer named "TEST-PC1". +- One or more **Node** blocks. These define the nodes (computers or VMs) that you are configuring. In the above configuration, there is one **Node** block that targets a computer named "TEST-PC1". The Node block can accept multiple computer names. - One or more resource blocks. This is where the configuration sets the properties for the resources that it is configuring. In this case, there are two resource blocks, each of which call the "WindowsFeature" resource. Within a **Configuration** block, you can do anything that you normally could in a PowerShell function. For example, in the previous example, if you didn't want to hard code the name of the target computer in the configuration, you could add a parameter for the node name: +In this example, you specify the name of the node by passing it as the **ComputerName** parameter when you compile the configuration. The name defaults to "localhost". + ```powershell -Configuration MyDscConfiguration { - param( +Configuration MyDscConfiguration +{ + param + ( [string[]]$ComputerName='localhost' ) - Node $ComputerName { - WindowsFeature MyFeatureInstance { + + Node $ComputerName + { + WindowsFeature MyFeatureInstance + { Ensure = 'Present' Name = 'RSAT' } - WindowsFeature My2ndFeatureInstance { + + WindowsFeature My2ndFeatureInstance + { Ensure = 'Present' Name = 'Bitlocker' } } } -MyDscConfiguration -ComputerName $ComputerName + +MyDscConfiguration ``` -In this example, you specify the name of the node by passing it as the **ComputerName** parameter when you compile the configuration. The name defaults to "localhost". +The **Node** block can also accept multiple computer names. In the above example, you can either use the `-ComputerName` parameter, or pass a comma-separated list of computers directly to the **Node** block. + +```powershell +MyDscConfiguration -ComputerName "localhost", "Server01" +``` + +When specifying a list of computers to the **Node** block, from within a Configuration, you need to use array-notation. + +```powershell +Configuration MyDscConfiguration +{ + Node @('localhost', 'Server01') + { + WindowsFeature MyFeatureInstance + { + Ensure = 'Present' + Name = 'RSAT' + } + + WindowsFeature My2ndFeatureInstance + { + Ensure = 'Present' + Name = 'Bitlocker' + } + } +} + +MyDscConfiguration +``` ## Compiling the configuration @@ -77,11 +115,11 @@ When you call the configuration, it: - Resolves all variables - Creates a folder in the current directory with the same name as the configuration. - Creates a file named _NodeName_.mof in the new directory, where _NodeName_ is the name of the target node of the configuration. - If there are more than one nodes, a MOF file will be created for each node. + If there is more than one node, a MOF file will be created for each node. > [!NOTE] > The MOF file contains all of the configuration information for the target node. Because of this, it’s important to keep it secure. -> For more information, see [Securing the MOF file](secureMOF.md). +> For more information, see [Securing the MOF file](../pull-server/secureMOF.md). Compiling the first configuration above results in the following folder structure: @@ -111,48 +149,28 @@ Mode LastWriteTime Length Name -a---- 10/23/2015 4:32 PM 2842 MyTestNode.mof ``` -## Using DependsOn - -A useful DSC keyword is **DependsOn**. Typically (though not necessarily always), DSC applies the resources in the order that they appear within the configuration. -However, **DependsOn** specifies which resources depend on other resources, and the LCM ensures that they are applied in the correct order, -regardless of the order in which resource instances are defined. -For example, a configuration might specify that an instance of the **User** resource depends on the existence of a **Group** instance: - -```powershell -Configuration DependsOnExample { - Node Test-PC1 { - Group GroupExample { - Ensure = 'Present' - GroupName = 'TestGroup' - } - - User UserExample { - Ensure = 'Present' - UserName = 'TestUser' - FullName = 'TestUser' - DependsOn = '[Group]GroupExample' - } - } -} -``` - ## Using new resources in Your configuration If you ran the previous examples, you might have noticed that you were warned that you were using a resource without explicitly importing it. Today, DSC ships with 12 resources as part of the PSDesiredStateConfiguration module. -Other resources in external modules must be placed in `$env:PSModulePath` in order to be recognized by the LCM. -A new cmdlet, [Get-DscResource](https://technet.microsoft.com/library/dn521625.aspx), -can be used to determine what resources are installed on the system and available for use by the LCM. -Once these modules have been placed in `$env:PSModulePath` and are properly recognized by [Get-DscResource](https://technet.microsoft.com/library/dn521625.aspx), -they still need to be loaded within your configuration. -**Import-DscResource** is a dynamic keyword that can only be recognized within a **Configuration** block (i.e. it is not a cmdlet). + +The cmdlet, [Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource), can be used to determine what resources are installed on the system and available for use by the LCM. +Once these modules have been placed in `$env:PSModulePath` and are properly recognized by [Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource), they still need to be loaded within your configuration. + +**Import-DscResource** is a dynamic keyword that can only be recognized within a **Configuration** block, it is not a cmdlet. **Import-DscResource** supports two parameters: - **ModuleName** is the recommended way of using **Import-DscResource**. It accepts the name of the module that contains the resources to be imported (as well as a string array of module names). -- **Name** is the name of the resource to import. This is not the friendly name returned as "Name" by [Get-DscResource](https://technet.microsoft.com/library/dn521625.aspx), but the class name used when defining the resource schema (returned as **ResourceType** by [Get-DscResource](https://technet.microsoft.com/library/dn521625.aspx)). +- **Name** is the name of the resource to import. This is not the friendly name returned as "Name" by [Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource), but the class name used when defining the resource schema (returned as **ResourceType** by [Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource)). + +For more information on using `Import-DSCResource`, see [Using Import-DSCResource](import-dscresource.md) + +## PowerShell v4 and v5 differences + +There are differences in where DSC resources need to be stored in PowerShell 4.0. For more information, see [Resource location](import-dscresource.md#resource-location). ## See Also -- [Windows PowerShell Desired State Configuration Overview](overview.md) -- [DSC Resources](resources.md) -- [Configuring The Local Configuration Manager](metaConfig.md) \ No newline at end of file +- [Windows PowerShell Desired State Configuration Overview](../overview/overview.md) +- [DSC Resources](../resources/resources.md) +- [Configuring The Local Configuration Manager](../managing-nodes/metaConfig.md) diff --git a/dsc/configurations/crossNodeDependencies.md b/dsc/configurations/crossNodeDependencies.md new file mode 100644 index 000000000000..775b4c581d79 --- /dev/null +++ b/dsc/configurations/crossNodeDependencies.md @@ -0,0 +1,123 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Specifying cross-node dependencies +--- + +# Specifying cross-node dependencies + +> Applies To: Windows PowerShell 5.0 + +DSC provides special resources, **WaitForAll**, **WaitForAny**, and **WaitForSome** that can be used in configurations to specify dependencies on configurations on other nodes. The +behavior of these resources is as follows: + +- **WaitForAll**: Succeeds if the specified resource is in the desired state on all target nodes defined in the **NodeName** property. +- **WaitForAny**: Succeeds if the specified resource is in the desired state on at least one of the target nodes defined in the **NodeName** property. +- **WaitForSome**: Specifies a **NodeCount** property in addition to a **NodeName** property. The resource succeeds if the resource is in the desired state on a minimum number of nodes (specified by **NodeCount**) defined by the **NodeName** property. + +## Syntax + +The **WaitForAll** and **WaitForAny** resources share the same syntax. Replace \ in the example below with either **WaitForAny** or **WaitForAll**. +Like the **DependsOn** keyword, you will need to format the name as "[ResourceType]ResourceName". If the resource belongs to a separate [Configuration](configurations.md), include the **ConfigurationName** in the formatted string "[ResourceType]ResourceName::[ConfigurationName]::[ConfigurationName]". The **NodeName** is the computer, or Node, on which the current resource should wait. + +``` + [string] #ResourceName +{ + ResourceName = [string] + NodeName = [string] + [ DependsOn = [string[]] ] + [ PsDscRunAsCredential = [PSCredential]] + [ RetryCount = [Uint32] ] + [ RetryIntervalSec = [Uint64] ] + [ ThrottleLimit = [Uint32]] +} +``` + +The **WaitForSome** resource has a similar syntax to the example above, but adds the **NodeCount** key. The **NodeCount** indicates how many Nodes the current resource should wait on. + +``` +WaitForSome [String] #ResourceName +{ + NodeCount = [UInt32] + NodeName = [string[]] + ResourceName = [string] + [DependsOn = [string[]]] + [PsDscRunAsCredential = [PSCredential]] + [RetryCount = [UInt32]] + [RetryIntervalSec = [UInt64]] + [ThrottleLimit = [UInt32]] +} +``` + +All **WaitForXXXX** share the following syntax keys. + +| Property | Description | +| RetryIntervalSec| The number of seconds before retrying. Minimum is 1.| +| RetryCount| The maximum number of times to retry.| +| ThrottleLimit| Number of machines to connect simultaneously. Default is `New-CimSession` default.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For more information, see [DependsOn](resource-depends-on.md)| +| PsDscRunAsCredential | See [Using DSC with User Credentials](./runAsUser.md) | + + +## Using WaitForXXXX resources + +Each **WaitForXXXX** resource waits for the specified resources to complete on the specified Node. Other resources in the same Configuration can then *depend on* the **WaitForXXXX** resource using the **DependsOn** key. + +For example, in the following configuration, the target node is waiting for the **xADDomain** resource to finish on the **MyDC** node with maximum number of 30 retries, at 15-second intervals, before the target node +can join the domain. + +```powershell +Configuration JoinDomain +{ + Import-DscResource -Module xComputerManagement, xActiveDirectory + + Node myDC + { + WindowsFeature InstallAD + { + Ensure = 'Present' + Name = 'AD-Domain-Services' + } + + xADDomain NewDomain + { + DomainName = 'Contoso.com' + DomainAdministratorCredential = (Get-Credential) + SafemodeAdministratorPassword = (Get-Credential) + DatabasePath = "C:\Windows\NTDS" + LogPath = "C:\Windows\NTDS" + SysvolPath = "C:\Windows\Sysvol" + } + } + + Node myDomainJoinedServer + { + WaitForAll DC + { + ResourceName = '[xADDomain]NewDomain' + NodeName = 'MyDC' + RetryIntervalSec = 15 + RetryCount = 30 + } + + xComputer JoinDomain + { + Name = 'myPC' + DomainName = 'Contoso.com' + Credential = (Get-Credential) + DependsOn ='[WaitForAll]DC' + } + } +} +``` + +When you compile the Configuration, two ".mof" files are generated. Apply both ".mof" files to the target Nodes using the [Start-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet + +>**Note:** By default the WaitForXXX resources try one time and then fail. Although it is not required, you will typically want to specify a **RetryCount** and **RetryIntervalSec**. + +## See Also + +- [DSC Configurations](configurations.md) +- [Use Resource Dependencies](resource-depends-on.md) +- [DSC Resources](../resources/resources.md) +- [Configuring The Local Configuration Manager](../managing-nodes/metaConfig.md) diff --git a/dsc/configurations/flow-control-in-configurations.md b/dsc/configurations/flow-control-in-configurations.md new file mode 100644 index 000000000000..fd24f79b0ba5 --- /dev/null +++ b/dsc/configurations/flow-control-in-configurations.md @@ -0,0 +1,108 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Conditional statements and loops in Configurations +--- + +# Conditional statements and loops in Configurations + +You can make your [Configurations](configurations.md) more dynamic using PowerShell flow-control keywords. This article will show you how you can use conditional statements, and loops to make your Configurations more dynamic. Combining conditional and loops with [parameters](add-parameters-to-a-configuration.md) and [Configuration Data](configData.md) allows you more flexibility and control when compiling your Configurations. + +Just like a Function or a Script Block, you can use any PowerShell language within a Configuration. The statements you use will only be evaluated when you call your Configuration to compile a ".mof" file. The examples below show simple scenarios to demonstrate concepts. Conditionals are loops are more often used with parameters and Configuration Data. + +In this simple example, the **Service** resource block retrieves the current state of a service at compile time to generate a ".mof" file that maintains its current state. + +> [!NOTE] +> Using dynamic Resource blocks will preempt the effectiveness of Intellisense. The PowerShell parser cannot determine if the values specified are acceptable until the Configuration is compiled. + +```powershell +Configuration ServiceState +{ + # It is best practice to explicitly import any resources used in your Configurations. + Import-DSCResource -Name Service -Module PSDesiredStateConfiguration + Node localhost + { + Service Spooler + { + Name = "Spooler" + State = $(Get-Service -Name 'spooler').Status + StartType = $(Get-Service -Name 'spooler').StartType + } + } +} +``` + +Additionally, you could create a **Service** block resource for every service on the current machine, using a `foreach` loop. + +```powershell +Configuration ServiceState +{ + # It is best practice to explicitly import any resources used in your Configurations. + Import-DSCResource -Name Service -Module PSDesiredStateConfiguration + Node localhost + { + Foreach ($service in $(Get-Service)) + { + Service $service.Name + { + Name = $service.Name + State = $service.Status + StartType = $service.StartType + } + } + } +} +``` + +You could also only create configurations for machines that are online, by using a simple `if` statement. + +```powershell +Configuration ServiceState +{ + # It is best practice to explicitly import any resources used in your Configurations. + Import-DSCResource -Name Service -Module PSDesiredStateConfiguration + + Foreach ($computer in @('Server01', 'Server02', 'Server03')) + { + if (Test-Connection -ComputerName $computer) + { + Node $computer + { + Service "Spooler" + { + Name = "Spooler" + State = "Started" + } + } + } + } +} +``` + +> [!NOTE] +> The dynamic resource blocks in the above examples reference the current machine. In this instance, that would be the machine you are authoring the Configuration on, not the target Node. + + + +## Summary + +In summary, you can use any PowerShell language within a Configuration. + +This includes things like: + +- Custom Objects +- Hashtables +- String manipulation +- Remoting +- WMI and CIM +- ActiveDirectory objects +- and more... + +Any PowerShell code defined in a Configuration will be evaluated a compile time, but you can also place code in the script containing your Configuration. Any code outside of the Configuration block will be executed when you import your Configuration. + +## See also + +- [Add parameters to a Configuration](add-parameters-to-a-configuration.md) +- [Separate Configuration data from Configurations](configData.md) diff --git a/dsc/configurations/import-dscresource.md b/dsc/configurations/import-dscresource.md new file mode 100644 index 000000000000..f056e28e4455 --- /dev/null +++ b/dsc/configurations/import-dscresource.md @@ -0,0 +1,147 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Using Import-DSCResource +--- + +# Using Import-DSCResource + +`Import-DScResource` is a dynamic keyword, which can only be used inside a Configuration script block. The `Import-DSCResource` keyword to import any resources needed in your Configuration. Resources under `$pshome` are imported automatically, but it is still considered best practice to explicitly import all resources used in your [Configuration](Configurations.md). + +The syntax for `Import-DSCResource` is shown below. When specifying modules by name, it is a requirement to list each on a new line. + +```syntax +Import-DscResource [-Name ] [-ModuleName ] +``` + +|Parameter |Description | +|---------|---------| +|`-Name`|The DSC resource name(s) that you must import. If the module name is specified, the command searches for these DSC resources within this module; otherwise the command searches the DSC resources in all DSC resource paths. Wildcards are supported.| +|`-ModuleName`|The module name, or module specification. If you specify resources to import from a module, the command will try to import only those resources. If you specify the module only, the command imports all the DSC resources in the module.| + +```powershell +Import-DscResource -ModuleName xActiveDirectory; +``` + +## Example: Use Import-DSCResource within a configuration + +```powershell +Configuration MSDSCConfiguration +{ + # Search for and imports Service, File, and Registry from the module PSDesiredStateConfiguration. + Import-DSCResource -ModuleName PSDesiredStateConfiguration -Name Service, File, Registry + + # Search for and import Resource1 from the module that defines it. + # If only –Name parameter is used then resources can belong to different PowerShell modules as well. + # TimeZone resource is from the ComputerManagementDSC module which is not installed by default. + # As a best practice, list each requirement on a different line if possible. This makes reviewing + # multiple changes in source control a bit easier. + Import-DSCResource -Name File + Import-DSCResource -Name TimeZone + + # Search for and import all DSC resources inside the module PSDesiredStateConfiguration. + # When specifying the modulename parameter, it is a requirement to list each on a new line. + Import-DSCResource -ModuleName PSDesiredStateConfiguration + Import-DSCResource -ModuleName ComputerManagementDsc +... +``` + +> [!NOTE] +> Specifying multiple values for Resource names and modules names in same command are not supported. It can have non-deterministic behavior about which resource to load from which module in case same resource exists in multiple modules. Below command will result in error during compilation. +> +> ```powershell +> Import-DscResource -Name UserConfigProvider*,TestLogger1 -ModuleName UserConfigProv,PsModuleForTestLogger +> ``` + +Things to consider when using only the Name parameter: + +- It is a resource-intensive operation depending on the number of modules installed on machine. +- It will load the first resource found with the given name. In the case where there is more than one resource with same name installed, it could load the wrong resource. + +The recommended usage is to specify `–ModuleName` with the `-Name` parameter, as described below. + +This usage has the following benefits: + +- It reduces the performance impact by limiting the search scope for the specified resource. +- It explicitly defines the module defining the resource, ensuring the correct resource is loaded. + +> [!NOTE] +> In PowerShell 5.0, DSC resources can have multiple versions, and versions can be installed on a computer side-by-side. This is implemented by having multiple versions of a resource module that are contained in the same module folder. +> For more information, see [Using resources with multiple versions](sxsresource.md). + +## Intellisense with Import-DSCResource + +When authoring the DSC configuration in ISE, PowerShell provides IntelliSence for resources and resource properties. Resource definitions under the `$pshome` module path are loaded automatically. When you import resources using the `Import-DSCResource` keyword, the specified resource definitions are added and Intellisense is expanded to include the imported resource's schema. + +![Resource Intellisense](/media/resource-intellisense.png) + +> [!NOTE] +> Beginning in PowerShell 5.0, tab completion was added to the ISE for DSC resources and their properties. For more information, see [Resources](../resources/resources.md). + +When compiling the Configuration, PowerShell uses the imported resource definitions to validate all resource blocks in the configuration. +Each resource block is validated, using the resource's schema definition, for the following rules. + +- Only properties defined in schema are used. +- The data types for each property are correct. +- Keys properties are specified. +- No read-only property is used. +- Validation on value maps types. + +Consider the following configuration: + +```powershell +Configuration SchemaValidationInCorrectEnumValue +{ + # It is best practice to explicitly import all resources used in your Configuration. + # This includes resources that are imported automatically, like WindowsFeature. + Import-DSCResource -Name WindowsFeature + Node localhost + { + WindowsFeature ROLE1 + { + Name = “Telnet-Client†+ Ensure = “Invalid†+ } + } +} +``` + +Compiling this Configuration results in an error. + +```output +PSDesiredStateConfiguration\WindowsFeature: At least one of the values ‘Invalid’ is not supported or valid for property ‘Ensure’ on class ‘WindowsFeature’. Please specify only supported values: Present, Absent. +``` + +Intellisense and schema validation allow you to catch more errors during parse and compilation time, avoiding complications at run time. + +> [!NOTE] +> Each DSC resource can have a name, and a **FriendlyName** defined by the resource's schema. Below are the first two lines of "MSFT_ServiceResource.shema.mof". +> ```syntax +> [ClassVersion("1.0.0"),FriendlyName("Service")] +> class MSFT_ServiceResource : OMI_BaseResource +> ``` +> When using this resource in a Configuration, you can specify **MSFT_ServiceResource** or **Service**. + +## PowerShell v4 and v5 differences + +There are multiple differences you see when authoring Configurations in PowerShell 4.0 vs. PowerShell 5.0 and later. This section will highlight the differences that you see relevant to this article. + +### Multiple Resource Versions + +Installing and using multiple versions of resources side by side was not supported in PowerShell 4.0. If you notice issues importing resources into your Configuration, ensure that you only have one version of the resource installed. + +In the image below, two versions of the **xPSDesiredStateConfiguration** module are installed. + +![Multiple Resource Versions Fixed](/media/multiple-resource-versions-broken.md) + +Copy the contents of your desired module version to the top level of the module directory. + +![Multiple Resource Versions Fixed](/media/multiple-resource-versions-fixed.md) + +### Resource location + +When authoring and compiling Configurations, your resources can be stored in any directory specified by your [PSModulePath](/powershell/developer/module/modifying-the-psmodulepath-installation-path). In PowerShell 4.0, the LCM requires all DSC resource modules to be stored under "Program Files\WindowsPowerShell\Modules" or `$pshome\Modules`. Beginning in PowerShell 5.0, this requirement was removed, and resource modules can be stored in any directory specified by `PSModulePath`. + +## See also + +- [Resources](../resources/resources.md) diff --git a/dsc/configurations/install-additional-dsc-resources.md b/dsc/configurations/install-additional-dsc-resources.md new file mode 100644 index 000000000000..0f898a4e7ea7 --- /dev/null +++ b/dsc/configurations/install-additional-dsc-resources.md @@ -0,0 +1,151 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,resource,gallery,setup +title: Install Additional DSC Resources +--- + +# Install Additional DSC Resources + +PowerShell includes several Out-of-the-box resources for Desired State Configuration (DSC). The **PSDesiredStateConfiguration** module contains all of the OOB DSC resources available on your specific instance of PowerShell. + +This is a list of the OOB resources included in PowerShell 4.0 and a description of the resource's capabilities. + +> [!NOTE] +> This is an incomplete list, as the number of OOB resources has grown with each version of PowerShell. + +|Resource |Description | +|---------|---------| +|**File**|Controls the state of files and directories. Copies files from a **Source** to a **Destination** and updates them when the **Source** changes by comparing dates, checksums, and hashes.| +|**Archive**|Unpacks archives and a specified location. Validates the archives with a specified **Checksum**.| +|**Environment**|Manages environment variables.| +|**Group**|Manages local groups and controls group membership.| +|**Log**|Writes messages to the `Microsoft-Windows-Desired State Configuration/Analytic` event log.| +|**Package**|Installs or uninstalls packages using **Arguments**, **LogPath**, **ReturnCode**, other settings.| +|**Registry**|Manages registry keys and values.| +|**Script**|Allows you to design your own [get-test-set](../resources/get-test-set.md) script blocks.| +|**Service**|Configures Windows services.| +|**User** |Manages local users and attributes.| +|**WindowsFeature**|Manages roles and features.| +|**WindowsProcess**|Configures Windows processes.| + +The OOB resources allow a good starting point for common operations. If the OOB resources do not meet your needs, you can write your own [Custom Resource](../resources/authoringResource.md). Before you write a custom resource to solve your problem, you should look through the vast number of DSC resources that have already been created by both Microsoft and the PowerShell community. + +You can find DSC resources in both the [PowerShell Gallery](https://www.powershellgallery.com/) and [GitHub](https://github.com/). You can also install DSC resources directly from the PowerShell console using [PowerShellGet](/powershell/module/powershellget/). + +## Installing PowerShellGet + +To determine if you already have **PowerShell** get, or to get help installing it, see the following guide: [Installing PowerShellGet](/powershell/gallery/installing-psget). + +## Finding DSC resources using PowerShellGet + +Once **PowerShellGet** is installed on your system, you can find and install DSC resources hosted in the [PowerShell Gallery](https://www.powershellgallery.com/). + +First, use the [Find-DSCResource](/powershell/module/powershellget/find-dscresource) cmdlet to find DSC resources. When you run `Find-DSCResource` for the first time, you see the following prompt to install the "NuGet provider". + +``` +PS> Find-DSCResource + +NuGet provider is required to continue +PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The +NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or +'C:\Users\xAdministrator\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider + by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to +install and import the NuGet provider now? +[Y] Yes [N] No [?] Help (default is "Y"): +``` + +After pressing 'y', the "NuGet" provider is installed, you see a list of DSC resources that you can install from the PowerShell Gallery. + +> [!NOTE] +> List is not shown because it is very large. + +You can also specify the `-Name` parameter using wildcards, or `-Filter` parameter without wildcards to narrow down your search. This example attempts to find a "TimeZone" DSC resource using the wildcards. + +> [!IMPORTANT] +> Currently there is a bug in the `Find-DSCResource` cmdlet that prevents using wildcards in both the `-Name` and `-Filter` parameters. The second example below shows a workaround using `Where-Object`. + +``` +PS> Find-DSCResource -Name *Time* + +Name Version ModuleName Repository +---- ------- ---------- ---------- +Carbon_EnvironmentVariable 2.6.0 Carbon PSGallery +Carbon_FirewallRule 2.6.0 Carbon PSGallery +Carbon_Group 2.6.0 Carbon PSGallery +Carbon_IniFile 2.6.0 Carbon PSGallery +Carbon_Permission 2.6.0 Carbon PSGallery +Carbon_Privilege 2.6.0 Carbon PSGallery +Carbon_ScheduledTask 2.6.0 Carbon PSGallery +Carbon_Service 2.6.0 Carbon PSGallery +TimeZone 6.0.0.0 ComputerManagementDsc PSGallery +xTimeZone 1.8.0.0 xTimeZone PSGallery +xSqlServerDefaultDir 1.0.0 mlSqlServerDSC PSGallery +xSqlServerMoveDatabaseFiles 1.0.0 mlSqlServerDSC PSGallery +xSqlServerSQLDataRoot 1.0.0 mlSqlServerDSC PSGallery +xSqlServerStartupParam 1.0.0 mlSqlServerDSC PSGallery +``` + +You can also use `Where-Object` to find DSC resources with more granular filtering. This approach will be slower than using built in filtering parameters. + +``` +PS> Find-DSCResource | Where-Object {$_.Name -like "Time*"} + +Name Version ModuleName Repository +---- ------- ---------- ---------- +TimeZone 6.0.0.0 ComputerManagementDsc PSGallery +``` + +For more information on filtering, see [Where-Object](/powershell/module/microsoft.powershell.core/where-object). + +## Installing DSC Resources using PowerShellGet + +To install a DSC resource, use the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet, specifying the name of the module shown under **Module** name in your search results. + +The "TimeZone" resource exists in the "ComputerManagementDSC" module, so that is the module this example installs. + +> [!NOTE] +> If you have not trusted the PowerShell gallery, you see the warning below asking for confirmation, and instructing you how to avoid subsequent prompts on installs. + +``` +PS> Install-Module -Name ComputerManagementDSC + +Untrusted repository +You are installing the modules from an untrusted repository. If you trust this repository, change its +InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from +'PSGallery'? +[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): +``` + +Press 'y' to continue installing the module. After install, you can verify that your new resource is installed using [Get-DSCResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource). + +``` +PS> Get-DSCResource -Name TimeZone -Syntax + +TimeZone [String] #ResourceName +{ + IsSingleInstance = [string]{ Yes } + TimeZone = [string] + [DependsOn = [string[]]] + [PsDscRunAsCredential = [PSCredential]] +} +``` + +You can also view other resources in your newly installed module, by specifying the `-ModuleName` parameter. + +``` +PS> Get-DSCResource -Module ComputerManagementDSC + +ImplementedAs Name ModuleName Version Properties +------------- ---- ---------- ------- ---------- +PowerShell Computer ComputerManagementDsc 6.0.0.0 {Name, Credential, DependsOn, ... +PowerShell OfflineDomainJoin ComputerManagementDsc 6.0.0.0 {IsSingleInstance, RequestFile... +PowerShell PowerPlan ComputerManagementDsc 6.0.0.0 {IsSingleInstance, Name, Depen... +PowerShell PowerShellExecutionPolicy ComputerManagementDsc 6.0.0.0 {ExecutionPolicy, ExecutionPol... +PowerShell ScheduledTask ComputerManagementDsc 6.0.0.0 {TaskName, ActionArguments, Ac... +PowerShell TimeZone ComputerManagementDsc 6.0.0.0 {IsSingleInstance, TimeZone, D... +PowerShell VirtualMemory ComputerManagementDsc 6.0.0.0 {Drive, Type, DependsOn, Initi... +``` + +## See also + +- [What are Resources?](../resources/resources.md) diff --git a/dsc/configurations/reboot-a-node.md b/dsc/configurations/reboot-a-node.md new file mode 100644 index 000000000000..9a3cff99e744 --- /dev/null +++ b/dsc/configurations/reboot-a-node.md @@ -0,0 +1,145 @@ +--- +ms.date: 1/17/2019 +keywords: dsc,powershell,configuration,setup +title: Reboot a Node +--- +# Reboot a Node + +> [!NOTE] +> This topic talks about how to reboot a Node. In order for the reboot to be successful the +> **ActionAfterReboot** and **RebootNodeIfNeeded** LCM settings need to be configured properly. +> To read about Local Configuration Manager settings, see [Configure the Local Configuration Manager](../managing-nodes/metaConfig.md), +> or [Configure the Local Configuration Manager (v4)](../managing-nodes/metaConfig4.md). + +Nodes can be rebooted from within a resource, by using the `$global:DSCMachineStatus` flag. Setting +this flag to `1` in the `Set-TargetResource` function forces the LCM to reboot the Node directly +after the **Set** method of the current resource. Using this flag, the **xPendingReboot** resource +detects if a reboot is pending outside of DSC. + +Your [configurations](configurations.md) may perform steps that require the Node to reboot. This +could include things such as: + +- Windows updates +- Software install +- File renames +- Computer rename + +The **xPendingReboot** resource checks specific computer locations to determine if a reboot is +pending. If the Node requires a reboot outside of DSC, the **xPendingReboot** resource sets the +`$global:DSCMachineStatus` flag to `1` forcing a reboot and resolving the pending condition. + +> [!NOTE] +> Any DSC resource can instruct the LCM to reboot the node by setting this flag in the `Set-TargetResource` +> function. For more information, see [Writing a custom DSC resource with MOF](../resources/authoringResourceMOF.md). + +## Syntax + +``` +xPendingReboot [String] #ResourceName +{ + Name = [string] + [DependsOn = [string[]]] + [PsDscRunAsCredential = [PSCredential]] + [SkipCcmClientSDK = [bool]] + [SkipComponentBasedServicing = [bool]] + [SkipPendingComputerRename = [bool]] + [SkipPendingFileRename = [bool]] + [SkipWindowsUpdate = [bool]] +} +``` + +## Properties + +| Property | Description | +| --- | --- | +| Name| Required parameter that must be unique per instance of the resource within a configuration.| +| SkipComponentBasedServicing | Skip reboots triggered by the Component-Based Servicing component. | +| SkipWindowsUpdate | Skip reboots triggered by Windows Update.| +| SkipPendingFileRename | Skip pending file rename reboots. | +| SkipCcmClientSDK | Skip reboots triggered by the ConfigMgr client. | +| SkipComputerRename | Skip reboots triggered by Computer renames. | +| PSDSCRunAsCredential | Supported in v5. Executes the resource as the specified user. | +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`. For more information, see [Using DependsOn](resource-depends-on.md)| + +## Example + +The following example installs Microsoft Exchange using the [xExchange](https://github.com/PowerShell/xExchange) resource. +Throughout the install, the **xPendingReboot** resource is used to reboot the Node. + +> [!NOTE] +> This example requires the credential of an account that has rights to add an Exchange server to +> the forest. For more information on using credentials in DSC, see [Handling Credentials in DSC](../configurations/configDataCredentials.md) + +```powershell +$ConfigurationData = @{ + AllNodes = @( + @{ + NodeName = '*' + PSDSCAllowPlainTextPassword = $true + }, + @{ + NodeName = 'DSCPULL-1' + } + ) +} + +Configuration Example +{ + param + ( + [Parameter(Mandatory = $true)] + [System.Management.Automation.PSCredential] + $ExchangeAdminCredential + ) + + Import-DscResource -Module xExchange + Import-DscResource -Module xPendingReboot + + Node $AllNodes.NodeName + { + # Copy the Exchange setup files locally + File ExchangeBinaries + { + Ensure = 'Present' + Type = 'Directory' + Recurse = $true + SourcePath = '\\rras-1\Binaries\E15CU6' + DestinationPath = 'C:\Binaries\E15CU6' + } + + # Check if a reboot is needed before installing Exchange + xPendingReboot BeforeExchangeInstall + { + Name = 'BeforeExchangeInstall' + DependsOn = '[File]ExchangeBinaries' + } + + # Do the Exchange install + xExchInstall InstallExchange + { + Path = 'C:\Binaries\E15CU6\Setup.exe' + Arguments = '/mode:Install /role:Mailbox /Iacceptexchangeserverlicenseterms' + Credential = $ExchangeAdminCredential + DependsOn = '[xPendingReboot]BeforeExchangeInstall' + } + + # See if a reboot is required after installing Exchange + xPendingReboot AfterExchangeInstall + { + Name = 'AfterExchangeInstall' + DependsOn = '[xExchInstall]InstallExchange' + } + } +} +``` + +> [!NOTE] +> This example assumes that you have configured your Local Configuration Manager to allow reboots +> and continue the configuration after a reboot. + +## Where to Download + +You can download the resources used in this topic at the following locations, or by using the PowerShell gallery. + +- [xPendingReboot](https://github.com/PowerShell/xPendingReboot) +- [xExchange](https://github.com/PowerShell/xExchange) diff --git a/dsc/configurations/resource-depends-on.md b/dsc/configurations/resource-depends-on.md new file mode 100644 index 000000000000..2c0b877fa73e --- /dev/null +++ b/dsc/configurations/resource-depends-on.md @@ -0,0 +1,141 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Resource dependencies using DependsOn +--- + +# Resource dependencies using DependsOn + +When you write [Configurations](configurations.md), you add [Resource blocks](../resources/resources.md) to configure aspects of a target Node. As you continue to add Resource blocks, your Configurations can grow quite large and cumbersome to manage. One such challenge is the applied order of your resource blocks. Typically resources are applied in the order they are defined within the Configuration. As your Configuration grows larger and more complex, you can use the `DependsOn` key to change the applied order of your resources by specifying that a resource depends on another resource. + +The `DependsOn` key can be used in any Resource block. It is defined with the same key/value mechanism as other Resource keys. The `DependsOn` key expects an array of strings with the following syntax. + +``` +DependsOn = '[]', '[] Start-DSCConfiguration -Verbose -Wait -Path C:\Temp\ -ComputerName localhost + +VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'. +VERBOSE: An LCM method call arrived from computer SERVER01 with user sid S-1-5-21-181338-0189125723-1543119021-1282804. +VERBOSE: [SERVER01]: LCM: [ Start Set ] +VERBOSE: [SERVER01]: [DSCEngine] Importing the module C:\Program Files\WindowsPowerShell\Modules\NetworkingDsc\6.1.0.0\DscResources\MSFT_Firewall\MSFT_Firewall.psm1 in force mode. +VERBOSE: [SERVER01]: [DSCEngine] Importing the module C:\Program Files\WindowsPowerShell\Modules\NetworkingDsc\6.1.0.0\DscResources\MSFT_FirewallProfile\MSFT_FirewallProfile.psm1 in force mode. +VERBOSE: [SERVER01]: LCM: [ Start Resource ] [[FirewallProfile]FirewallProfilePublic] +VERBOSE: [SERVER01]: LCM: [ Start Test ] [[FirewallProfile]FirewallProfilePublic] +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Importing the module MSFT_FirewallProfile in force mode. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Testing Firewall Public Profile. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Firewall Public Profile "AllowInboundRules" is "NotConfigured" but should be "True". Change required. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Firewall Public Profile "AllowLocalFirewallRules" is "NotConfigured" but should be "False". Change required. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Firewall Public Profile "AllowLocalIPsecRules" is "NotConfigured" but should be "False". Change required. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Firewall Public Profile "DefaultOutboundAction" is "NotConfigured" but should be "Allow". Change required. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Firewall Public Profile "LogBlocked" is "False" but should be "True". Change required. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Test-TargetResource: Firewall Public Profile "LogMaxSizeKilobytes" is "4096" but should be "16384". Change required. +VERBOSE: [SERVER01]: LCM: [ End Test ] [[FirewallProfile]FirewallProfilePublic] in 1.6890 seconds. +VERBOSE: [SERVER01]: LCM: [ Start Set ] [[FirewallProfile]FirewallProfilePublic] +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Importing the module MSFT_FirewallProfile in force mode. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile. +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile parameter AllowInboundRules to "AllowInboundRules". +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile parameter AllowLocalFirewallRules to "AllowLocalFirewallRules". +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile parameter AllowLocalIPsecRules to "AllowLocalIPsecRules". +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile parameter DefaultOutboundAction to "DefaultOutboundAction". +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile parameter LogBlocked to "LogBlocked". +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile parameter LogMaxSizeKilobytes to "LogMaxSizeKilobytes". +VERBOSE: [SERVER01]: [[FirewallProfile]FirewallProfilePublic] Set-TargetResource: Setting Firewall Public Profile updated. +VERBOSE: [SERVER01]: LCM: [ End Set ] [[FirewallProfile]FirewallProfilePublic] in 10.0360 seconds. +VERBOSE: [SERVER01]: LCM: [ End Resource ] [[FirewallProfile]FirewallProfilePublic] +VERBOSE: [SERVER01]: LCM: [ Start Resource ] [[Firewall]Firewall] +VERBOSE: [SERVER01]: LCM: [ Start Test ] [[Firewall]Firewall] +VERBOSE: [SERVER01]: [[Firewall]Firewall] Importing the module MSFT_Firewall in force mode. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Test-TargetResource: Checking settings for firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP'. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Test-TargetResource: Find firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP'. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Get-FirewallRule: No Firewall Rule found with Name 'IIS-WebServerRole-HTTP-In-TCP'. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Test-TargetResource: Firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP' does not exist. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Test-TargetResource: Check Firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP' returning False. +VERBOSE: [SERVER01]: LCM: [ End Test ] [[Firewall]Firewall] in 1.1780 seconds. +VERBOSE: [SERVER01]: LCM: [ Start Set ] [[Firewall]Firewall] +VERBOSE: [SERVER01]: [[Firewall]Firewall] Importing the module MSFT_Firewall in force mode. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Set-TargetResource: Applying settings for firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP'. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Set-TargetResource: Find firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP'. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Get-FirewallRule: No Firewall Rule found with Name 'IIS-WebServerRole-HTTP-In-TCP'. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Set-TargetResource: We want the firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP' to exist since Ensure is set to Present. +VERBOSE: [SERVER01]: [[Firewall]Firewall] Set-TargetResource: We want the firewall rule with Name 'IIS-WebServerRole-HTTP-In-TCP' to exist, but it does not. +VERBOSE: [SERVER01]: [[Firewall]Firewall] New-NetFirewallRule DisplayName: IIS-WebServerRole-HTTP-In-TCP +VERBOSE: [SERVER01]: LCM: [ End Set ] [[Firewall]Firewall] in 1.0850 seconds. +VERBOSE: [SERVER01]: LCM: [ End Resource ] [[Firewall]Firewall] +VERBOSE: [SERVER01]: LCM: [ End Set ] +VERBOSE: [SERVER01]: LCM: [ End Set ] in 15.2880 seconds. +VERBOSE: Operation 'Invoke CimMethod' complete. +VERBOSE: Time taken for configuration job to complete is 15.385 seconds +``` + +This also ensures that if the **FirewallProfile** resource fails for any reason, the **Firewall** block will not execute even though it was defined first. The `DependsOn` key allows more flexibility in grouping resource blocks and ensuring that dependencies are resolved before a Resource executes. + +In more advanced Configurations, you can also use [Cross Node Dependency](crossNodeDependencies.md) to allow even more granular control (For example, ensuring a domain controller is configured before joining a client to the domain). + +## Cleaning Up + +If you applied the Configuration above, you can reverse keys to undo any changes. In the above example, setting the **Enabled** key to false will disable the firewall rule and profile. You should modify the example as needed to match your target Node's previous configured state. + +```powershell + Firewall Firewall + { + Name = 'IIS-WebServerRole-HTTP-In-TCP' + Enabled = 'False' + DependsOn = '[FirewallProfile]FirewallProfilePublic' + } + + FirewallProfile FirewallProfilePublic + { + Name = 'Public' + Enabled = 'False' + } +``` + +## See also + +- [Use Cross Node Dependencies](./crossNodeDependencies.md) diff --git a/dsc/configurations/runAsUser.md b/dsc/configurations/runAsUser.md new file mode 100644 index 000000000000..19cda6410afb --- /dev/null +++ b/dsc/configurations/runAsUser.md @@ -0,0 +1,72 @@ +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Use Credentials with DSC Resources +--- +# Use Credentials with DSC Resources + +> Applies To: Windows PowerShell 5.0, Windows PowerShell 5.1 + +You can run a DSC resource under a specified set of credentials by using the automatic +**PsDscRunAsCredential** property in the configuration. By default, DSC runs each resource as the +system account. There are times when running as a user is necessary, such as installing MSI packages +in a specific user context, setting a user's registry keys, accessing a user's specific local +directory, or accessing a network share. The **SeInteractiveLogonRight** is required, by the target +machine, for any account you specify to **PSDSCRunAsCredential**. For more information, see +[Account Rights Constants](/windows/desktop/secauthz/account-rights-constants). + +Every DSC resource has a **PsDscRunAsCredential** property that can be set to any user credentials +(a [PSCredential](/dotnet/api/system.management.automation.pscredential) object). The credential can +be hard-coded as the value of the property in the configuration, or you can set the value to [Get-Credential](/powershell/module/Microsoft.PowerShell.Security/Get-Credential), +which will prompt the user for a credential when the configuration is compiled (for information +about compiling configurations, see [Configurations](configurations.md). + +> [!NOTE] +> In PowerShell 5.0, using the **PsDscRunAsCredential** property in configurations calling +> composite resources was not supported. In PowerShell 5.1, the **PsDscRunAsCredential** property is +> supported in configurations calling composite resources. The **PsDscRunAsCredential** property is +> not available in PowerShell 4.0. + +In the following example, `Get-Credential` is used to prompt the user for credentials. The +**Registry** resource is used to change the registry key that specifies the background color for the +Windows command prompt window. + +```powershell +Configuration ChangeCmdBackGroundColor +{ + Import-DscResource -ModuleName PSDesiredStateConfiguration + + Node $AllNodes.NodeName + { + Registry CmdPath + { + Key = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor' + ValueName = 'DefaultColor' + ValueData = '1F' + ValueType = 'DWORD' + Ensure = 'Present' + Force = $true + Hex = $true + PsDscRunAsCredential = Get-Credential + } + } +} + +$configData = @{ + AllNodes = @( + @{ + NodeName = 'localhost'; + PSDscAllowDomainUser = $true + CertificateFile = 'C:\publicKeys\targetNode.cer' + Thumbprint = '7ee7f09d-4be0-41aa-a47f-96b9e3bdec25' + } + ) +} + +ChangeCmdBackGroundColor -ConfigurationData $configData +``` + +> [!NOTE] +> This example assumes that you have a valid certificate at `C:\publicKeys\targetNode.cer`, +> and that the thumbprint of that certificate is the value shown. For information about encrypting +> credentials in DSC configuration MOF files, see [Securing the MOF file](../pull-server/secureMOF.md). diff --git a/dsc/separatingEnvData.md b/dsc/configurations/separatingEnvData.md similarity index 99% rename from dsc/separatingEnvData.md rename to dsc/configurations/separatingEnvData.md index 9b02d0d3ea76..99da827fa303 100644 --- a/dsc/separatingEnvData.md +++ b/dsc/configurations/separatingEnvData.md @@ -88,7 +88,7 @@ Let's look at a complete example that uses a single configuration to set up both both IIS and SQL Server are installed on a single nodes. In the production environment, IIS and SQL Server are installed on separate nodes. We'll use a configuration data .psd1 file to specify the data for the two different environments. - ### Configuration data file +### Configuration data file We'll define the development and production environment data in a file named `DevProdEnvData.psd1` as follows: diff --git a/dsc/sxsResource.md b/dsc/configurations/sxsResource.md similarity index 66% rename from dsc/sxsResource.md rename to dsc/configurations/sxsResource.md index 575d60bf96ac..ae7d0b29be25 100644 --- a/dsc/sxsResource.md +++ b/dsc/configurations/sxsResource.md @@ -1,39 +1,47 @@ --- ms.date: 06/12/2017 keywords: dsc,powershell,configuration,setup -title: Using resources with multiple versions +title: Import a specific version of an installed resource --- -# Using resources with multiple versions +# Import a specific version of an installed resource > Applies To: Windows PowerShell 5.0 -In PowerShell 5.0, DSC resources can have multiple versions, and versions can be installed on a computer side-by-side. This is implemented by having multiple versions of a resource module -that are contained in the same module folder. +In PowerShell 5.0, separate versions of DSC resources can be installed on a computer side by side. A resource module can store separate versions of a resource in version named folders. -## Installing multiple resource versions side-by-side +## Installing separate resource versions side by side -You can use the **MinimumVersion**, **MaximumVersion**, and **RequiredVersion** parameters of the [Install-Module](https://technet.microsoft.com/library/dn807162.aspx) cmdlet to specify +You can use the **MinimumVersion**, **MaximumVersion**, and **RequiredVersion** parameters of the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to specify which version of a module to install. Calling **Install-Module** without specifying a version installs the most recent version. -For example, there are multiple versions of the **xFailOverCluster** module, each of which contains an **xCluster** resouce. The result of calling **Install-Module** without specifying the -version number is as follows: +For example, there are multiple versions of the **xFailOverCluster** module, each of which contains an **xCluster** resource. Calling **Install-Module** without specifying the +version number installs the most recent version of the module. ```powershell -C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Install-Module xFailOverCluster -C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Get-DscResource xCluster +PS> Install-Module xFailOverCluster +PS> Get-DscResource xCluster +``` +```output ImplementedAs Name ModuleName Version Properties ------------- ---- ---------- ------- ---------- PowerShell xCluster xFailOverCluster 1.2.0.0 {DomainAdministratorCredential, ... ``` -Now, if you call **Install-Module** again, but specify a **RequiredVersion** of 1.1.0.0, it results in the following: +To install a specific version of a module, specify a **RequiredVersion** of 1.1.0.0. This installs the specified version side by side with the installed version. ```powershell -C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Install-Module xFailOverCluster -RequiredVersion 1.1 -C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Get-DscResource xCluster +PS> Install-Module xFailOverCluster -RequiredVersion 1.1 +``` +Now, you see both version of the module listed when you use `Get-DSCResource`. + +```powershell +PS> Get-DscResource xCluster +``` + +```output ImplementedAs Name ModuleName Version Properties ------------- ---- ---------- ------- ---------- PowerShell xCluster xFailOverCluster 1.1 {DomainAdministratorCredential, Name, ... @@ -42,7 +50,7 @@ PowerShell xCluster xFailOverCluster 1.2.0.0 ## Specifying a resource version in a configuration -If you have multiple resources installed on a computer, you must specify the version of that resource when you use it in a configuration. You do this by specifying the **ModuleVersion** +If you have separate resource versions installed on a computer, you must specify the version of that resource when you use it in a configuration. You do this by specifying the **ModuleVersion** parameter of the **Import-DscResource** keyword. If you fail to specify the version of a resource module of a resource of which you have more than one version installed, the configuration generates an error. @@ -88,5 +96,6 @@ configuration VersionTest This will also work in PowerShell 5.0, but it is recommended that you use the **ModuleVersion** parameter. ## See also -* [DSC Configurations](configurations.md) -* [DSC Resources](resources.md) \ No newline at end of file + +- [DSC Configurations](configurations.md) +- [DSC Resources](../resources/resources.md) diff --git a/dsc/configurations/write-compile-apply-configuration.md b/dsc/configurations/write-compile-apply-configuration.md new file mode 100644 index 000000000000..96a67ce71083 --- /dev/null +++ b/dsc/configurations/write-compile-apply-configuration.md @@ -0,0 +1,132 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,service,setup +title: Write, Compile, and Apply a Configuration +--- + +> Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +# Write, Compile, and Apply a Configuration + +This exercise walks through creating and applying a Desired State Configuration (DSC) configuration from start to finish. +In the following example, you will learn how to write and apply a very simple Configuration. The Configuration will ensure a "HelloWorld.txt" file exists on your local machine. If you delete the file, DSC will recreate it the next time it updates. + +For an overview of what DSC is and how it works, see [Desired State Configuration Overview for Developers](../overview/overview.md). + +## Requirements + +To run this example, you will need a computer running PowerShell 4.0 or later. + +## Write the configuration + +A DSC [Configuration](configurations.md) is a special PowerShell function that defines how you want to configure one or more target computers (Nodes). + +In the PowerShell ISE, or other PowerShell editor, type the following: + +```powershell +Configuration HelloWorld { + + # Import the module that contains the File resource. + Import-DscResource -ModuleName PsDesiredStateConfiguration + + # The Node statement specifies which targets to compile MOF files for, when this configuration is executed. + Node 'localhost' { + + # The File resource can ensure the state of files, or copy them from a source to a destination with persistent updates. + File HelloWorld { + DestinationPath = "C:\Temp\HelloWorld.txt" + Ensure = "Present" + Contents = "Hello World from DSC!" + } + } +} +``` + +Save the file as "HelloWorld.ps1". + +Defining a Configuration is like defining a Function. The **Node** block specifies the target node to be configured, in this case `localhost`. + +The configuration calls one [resources](../resources/resources.md), the `File` resource. Resources do the work of ensuring that the target node is in the state defined by the configuration. + +## Compile the configuration + +For a DSC configuration to be applied to a node, it must first be compiled into a MOF file. +Running the configuration, like a function, will compile one ".mof" file for every Node defined by the `Node` block. +In order to run the configuration, you need to *dot source* your "HelloWorld.ps1" script into the current scope. +For more information, see [about_Scripts](/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-6#script-scope-and-dot-sourcing). + + +*Dot source* your "HelloWorld.ps1" script by typing in the path where you stored it, after the `. ` (dot, space). You may then, run your configuration by calling it like a Function. + + +```powershell +. C:\Scripts\HelloWorld.ps1 +HelloWorld +``` + +This generates the following output: + +```output +Directory: C:\Scripts\HelloWorld + + +Mode LastWriteTime Length Name +---- ------------- ------ ---- +-a---- 3/13/2017 5:20 PM 2746 localhost.mof +``` + +## Apply the configuration + +Now that you have the compiled MOF, you can apply the configuration to the target node (in this case, the local computer) by calling the +[Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. + +The `Start-DscConfiguration` cmdlet tells the [Local Configuration Manager (LCM)](../managing-nodes/metaConfig.md), +the engine of DSC, to apply the configuration. +The LCM does the work of calling the DSC resources to apply the configuration. + +Use the code below to execute the `Start-DSCConfiguration` cmdlet. Specify the directory path where your "localhost.mof" is stored to the `-Path` parameter. The `Start-DSCConfiguration` cmdlet looks through the directory specified for any "\.mof" files. The `Start-DSCConfiguration` cmdlet attempts to apply each ".mof" file it finds to the computername specified by the filename ("localhost", "server01", "dc-02", etc.). + +> [!NOTE] +> If the `-Wait` parameter is not specified, `Start-DSCConfiguration` creates a background job to perform the operation. Specifying the `-Verbose` parameter allows you to watch the **Verbose** output of the operation. `-Wait`, and `-Verbose` are both optional parameters. + +```powershell +Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait +``` + +## Test the configuration + +Once the `Start-DSCConfiguration` cmdlet is complete, you should see a "HelloWorld.txt" file in the location you specified. You can verify the contents with the [Get-Content](/powershell/module/microsoft.powershell.management/get-content) cmdlet. + +You can also *test* the current status using [Test-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/Test-DSCConfiguration). + +The output should be "True" if the Node is currently compliant with the applied Configuration. + +```powershell +Test-DSCConfiguration +``` + +```output +True +``` + +```powershell +Get-Content -Path C:\Temp\HelloWorld.txt +``` + +```output +Hello World from DSC! +``` + +## Re-applying the configuration + +To see your configuration get applied again, you can remove the text file created by your Configuration. The use the `Start-DSCConfiguration` cmdlet with the `-UseExisting` parameter. The `-UseExisting` parameter instructs `Start-DSCConfiguration` to re-apply the "current.mof" file, which represents the most recently successfully applied configuration. + +```powershell +Remove-Item -Path C:\Temp\HelloWorld.txt +``` + +## Next steps + +- Find out more about DSC configurations at [DSC configurations](configurations.md). +- See what DSC resources are available, and how to create custom DSC resources at [DSC resources](../resources/resources.md). +- Find DSC configurations and resources in the [PowerShell Gallery](https://www.powershellgallery.com/). diff --git a/dsc/crossNodeDependencies.md b/dsc/crossNodeDependencies.md deleted file mode 100644 index 874fffeb7296..000000000000 --- a/dsc/crossNodeDependencies.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Specifying cross-node dependencies ---- - -# Specifying cross-node dependencies - -> Applies To: Windows PowerShell 5.0 - -DSC provides special resources, **WaitForAll**, **WaitForAny**, and **WaitForSome** that can be used in configurations to specify dependencies on configurations on other nodes. The -behavior of these resources is as follows: - -* **WaitForAll**: Succeeds if the specified resource is in the desired state on all target nodes defined in the **NodeName** property. -* **WaitForAny**: Succeeds if the specified resource is in the desired state on at least one of the target nodes defined in the **NodeName** property. -* **WaitForSome**: Specifies a **NodeCount** property in addition to a **NodeName** property. The resource succeeds if the resource is in the desired state on a minimum number of nodes -(specified by **NodeCount**) defined by the **NodeName** property. - -## Using WaitForXXXX resources - -To use the **WaitForXXXX** resources, you create a resource block of that resource type that specifies the DSC resource and node(s) to wait for. You then use the **DependsOn** property -in any other resource blocks in your configuration to wait for the conditions specified in the **WaitForXXXX** node to succeed. - -For example, in the following configuration, the target node is waiting for the **xADDomain** resource to finish on the **MyDC** node with maximum number of 30 retries, at 15-second intervals, before the target node -can join the domain. - -```powershell -Configuration JoinDomain - -{ - Import-DscResource -Module xComputerManagement, xActiveDirectory - - Node myDC - { - WindowsFeature InstallAD - { - Ensure = 'Present' - Name = 'AD-Domain-Services' - } - - xADDomain NewDomain - { - DomainName = 'Contoso.com' - DomainAdministratorCredential = (Get-Credential) - SafemodeAdministratorPassword = (Get-Credential) - DatabasePath = "C:\Windows\NTDS" - LogPath = "C:\Windows\NTDS" - SysvolPath = "C:\Windows\Sysvol" - } - - } - - Node myDomainJoinedServer - { - - WaitForAll DC - { - ResourceName = '[xADDomain]NewDomain' - NodeName = 'MyDC' - RetryIntervalSec = 15 - RetryCount = 30 - } - - xComputer JoinDomain - { - Name = 'myPC' - DomainName = 'Contoso.com' - Credential = (Get-Credential) - DependsOn ='[WaitForAll]DC' - } - } -} -``` - ->**Note:** By default the WaitForXXX resources try one time and then fail. Although it is not required, you will typically want to specify a retry interval and count. - -## See Also -* [DSC Configurations](configurations.md) -* [DSC Resources](resources.md) -* [Configuring The Local Configuration Manager](metaConfig.md) \ No newline at end of file diff --git a/dsc/docfx.json b/dsc/docfx.json index 6ef054c6282c..59245490c2bf 100644 --- a/dsc/docfx.json +++ b/dsc/docfx.json @@ -1,19 +1,19 @@ { "build": { - "content": [{ - "files": [ - "**/**.md", - "**/**.yml" - ], - "exclude": ["**/obj/**"] - }], + "content": [ + { "files": ["**/**.md", "**/**.yml"], "exclude": ["**/obj/**"] } + ], "globalMetadata": { + "toc_preview": true, "breadcrumb_path": "~/bread/toc.yml", "uhfHeaderId": "MSDocsHeader-Powershell", "layout": "conceptual", "ROBOTS": "INDEX, FOLLOW", "ms.devlang": "powershell", - "ms.tgt_pltfr": "windows" + "ms.tgt_pltfr": "windows", + "feedback_system": "GitHub", + "feedback_github_repo": "MicrosoftDocs/PowerShell-Docs", + "feedback_product_url": "https://windowsserver.uservoice.com/forums/301869-powershell" }, "fileMetadata": { "ms.prod": { "**/**.md": "powershell" }, @@ -23,14 +23,11 @@ "ms.author": { "**/**.md": "robreed" }, "author": { "**/**.md": "bobbytreed" } }, - "resource": [{ - "files": [ - "**/images/**" - ], - "exclude": ["**/obj/**"] - }], + "resource": [ + { "files": ["**/images/**", "**/*.png", "**/*.gif", "**/*.jpeg", "**/*.jpg", "**/*.svg"], "exclude": ["**/obj/**", "**/includes/**"] } + ], "template": "op.html", "dest": "dsc", "markdownEngineName": "markdig" } -} +} \ No newline at end of file diff --git a/dsc/dscExamples.md b/dsc/dscExamples.md deleted file mode 100644 index 534b0ad4ea9f..000000000000 --- a/dsc/dscExamples.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC Examples ---- - -# DSC examples - -This section contains DSC examples: - -- [Building a CI-CD pipeline with DSC, Pester, and Visual Studio Team Services](dscCiCd.md) -- [Separating configuration and environment data](separatingEnvData.md) \ No newline at end of file diff --git a/dsc/dsc_roadmap.md b/dsc/dsc_roadmap.md deleted file mode 100644 index 630ac5a825f2..000000000000 --- a/dsc/dsc_roadmap.md +++ /dev/null @@ -1,8 +0,0 @@ -# Desired State Configuration Roadmap - -| Release Name | Planned Features | Alpha | Beta | RTM | -| ---- | -------- | :-------: | :-------:| :-----: | -| Downloadable package | TBD | TBD | TBD | TBD | -| TBD | TBD | TBD | TBD | TBD | - -*Note: This table is currently just a placeholder. We will be updating it in the coming months and will keep it up to date as we progress with our plans.* \ No newline at end of file diff --git a/dsc/fileResource.md b/dsc/fileResource.md deleted file mode 100644 index 22292b346f4f..000000000000 --- a/dsc/fileResource.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC File Resource ---- - -# DSC File Resource - -> Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - -The File resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to manage files and folders on the target node. - ->**Note:** If the **MatchSource** property is set to **$false** (which is the default value), the contents to be copied are cached the first time the configuration is applied. ->Subsequent applications of the configuration will not check for updated files and/or folders in the path specified by **SourcePath**. If you want to check for updates to the files and/or ->folders in **SourcePath** every time the configuration is applied, set **MatchSource** to **$true**. - -## Syntax -``` -File [string] #ResourceName -{ - DestinationPath = [string] - [ Attributes = [string[]] { Archive | Hidden | ReadOnly | System }] - [ Checksum = [string] { CreatedDate | ModifiedDate | SHA-1 | SHA-256 | SHA-512 } ] - [ Contents = [string] ] - [ Credential = [PSCredential] ] - [ Ensure = [string] { Absent | Present } ] - [ Force = [bool] ] - [ Recurse = [bool] ] - [ DependsOn = [string[]] ] - [ SourcePath = [string] ] - [ Type = [string] { Directory | File } ] - [ MatchSource = [bool] ] -} -``` - -## Properties - -| Property | Description | -|---|---| -| DestinationPath| Indicates the location where you want to ensure the state for a file or directory.| -| Attributes| Specifies the desired state of the attributes for the targeted file or directory.| -| Checksum| Indicates the checksum type to use when determining whether two files are the same. If __Checksum__ is not specified, only the file or directory name is used for comparison. Valid values include: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate.| -| Contents| Specifies the contents of a file, such as a particular string.| -| Credential| Indicates the credentials that are required to access resources, such as source files, if such access is required.| -| Ensure| Indicates if the file or directory exists. Set this property to "Absent" to ensure that the file or directory does not exist. Set it to "Present" to ensure that the file or directory does exist. The default is "Present".| -| Force| Certain file operations (such as overwriting a file or deleting a directory that is not empty) will result in an error. Using the Force property overrides such errors. The default value is __$false__.| -| Recurse| Indicates if subdirectories are included. Set this property to __$true__ to indicate that you want subdirectories to be included. The default is __$false__. **Note**: This property is only valid when the Type property is set to Directory.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is __ResourceName__ and its type is __ResourceType__, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| -| SourcePath| Indicates the path from which to copy the file or folder resource.| -| Type| Indicates if the resource being configured is a directory or a file. Set this property to "Directory" to indicate that the resource is a directory. Set it to "File" to indicate that the resource is a file. The default value is “Fileâ€.| -| MatchSource| If set to the default value of __$false__, then any files on the source (say, files A, B, and C) will be added to the destination the first time the configuration is applied. If a new file (D) is added to the source, it will not be added to the destination, even when the configuration is re-applied later. If the value is __$true__, then each time the configuration is applied, new files subsequently found on the source (such as file D in this example) are added to the destination. The default value is **$false**.| - -## Example - -The following example shows how to use the File resource to ensure that a directory with the path `C:\Users\Public\Documents\DSCDemo\DemoSource` on a source computer (such as the “pull†server) is also present (along with all subdirectories) on the target node. It also writes a confirmatory message to the log when complete and includes a statement to ensure that the file-checking operation runs prior to the logging operation. - -```powershell -Configuration FileResourceDemo -{ - Node "localhost" - { - File DirectoryCopy - { - Ensure = "Present" # You can also set Ensure to "Absent" - Type = "Directory" # Default is "File". - Recurse = $true # Ensure presence of subdirectories, too - SourcePath = "C:\Users\Public\Documents\DSCDemo\DemoSource" - DestinationPath = "C:\Users\Public\Documents\DSCDemo\DemoDestination" - } - - Log AfterDirectoryCopy - { - # The message below gets written to the Microsoft-Windows-Desired State Configuration/Analytic log - Message = "Finished running the file resource with ID DirectoryCopy" - DependsOn = "[File]DirectoryCopy" # This means run "DirectoryCopy" first. - } - } -} -``` \ No newline at end of file diff --git a/dsc/whitepapers.md b/dsc/further-reading/whitepapers.md similarity index 100% rename from dsc/whitepapers.md rename to dsc/further-reading/whitepapers.md diff --git a/dsc/azureDsc.md b/dsc/getting-started/azureDsc.md similarity index 76% rename from dsc/azureDsc.md rename to dsc/getting-started/azureDsc.md index 8b1cd0fb5875..e8495cdc150a 100644 --- a/dsc/azureDsc.md +++ b/dsc/getting-started/azureDsc.md @@ -6,7 +6,7 @@ title: Using DSC on Microsoft Azure # Using DSC on Microsoft Azure Desired State Configuration (DSC) is supported in Microsoft Azure through the -[Azure Desired State Configuration extension handler](/azure/virtual-machines/virtual-machines-windows-extensions-dsc-overview) +[Azure Desired State Configuration extension handler](/azure/virtual-machines/extensions/dsc-overview) and through [Azure Automation DSC](/azure/automation/automation-dsc-overview). ## Azure Desired State Configuration extension handler @@ -14,14 +14,14 @@ and through [Azure Automation DSC](/azure/automation/automation-dsc-overview). The Azure DSC extension allows VMs hosted in Microsoft Azure to be managed with DSC. For more information, see the following topics: -- [Azure Desired State Configuration extension handler](/azure/virtual-machines/virtual-machines-windows-extensions-dsc-overview) -- [Windows VMSS and Desired State Configuration with Azure Resource Manager templates](/azure/virtual-machines/virtual-machines-windows-extensions-dsc-template) -- [Passing credentials to the Azure DSC extension handler](/azure/virtual-machines/virtual-machines-windows-extensions-dsc-credentials) +- [Azure Desired State Configuration extension handler](/azure/virtual-machines/extensions/dsc-overview) +- [Windows VMSS and Desired State Configuration with Azure Resource Manager templates](/azure/virtual-machines/extensions/dsc-template) +- [Passing credentials to the Azure DSC extension handler](/azure/virtual-machines/extensions/dsc-credentials) - [Azure Desired State Configuration extension history](azureDscexthistory.md) ## Azure Automation DSC -The [Azure Automation service](https://azure.microsoft.com/services/automation/) allows you to +The [Azure Automation service](https://azure.microsoft.com/en-us/services/automation/) allows you to manage DSC configurations, resources, and managed nodes from within Azure. For more information, see the following topics: diff --git a/dsc/azureDscexthistory.md b/dsc/getting-started/azureDscexthistory.md similarity index 97% rename from dsc/azureDscexthistory.md rename to dsc/getting-started/azureDscexthistory.md index 5c47c5e0f1c9..2dd0d29ec76c 100644 --- a/dsc/azureDscexthistory.md +++ b/dsc/getting-started/azureDscexthistory.md @@ -86,7 +86,7 @@ This article will provide information about each version of the Azure DSC VM Ext - **Environment:** Azure - **Remarks:** This version uses DSC as included in Windows Server 2016; for other Windows OSes, it installs the [Windows Management Framework 5.1](https://blogs.msdn.microsoft.com/powershell/2016/12/06/wmf-5-1-releasing-january-2017/) (installing WMF requires a reboot). For Nano Server, DSC role is installed on the VM. - **New features:** - - Bug fixes & improvements that simplifies using DSC Azure Automation through the portal UI as well as Resource Manager template. For more information, see [Default Configuration Script](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/extensions-dsc-overview#default-configuration-script) in the DSC Extension documentation. + - Bug fixes & improvements that simplifies using DSC Azure Automation through the portal UI as well as Resource Manager template. For more information, see [Default Configuration Script](/azure/virtual-machines/extensions/dsc-overview) in the DSC Extension documentation. ### Version 2.26 @@ -233,7 +233,7 @@ This article will provide information about each version of the Azure DSC VM Ext ## Next steps -- For more information about PowerShell DSC, go to the [PowerShell documentation center](overview.md). -- Examine the [Resource Manager template for the DSC extension](/azure/virtual-machines/windows/extensions-dsc-template). +- For more information about PowerShell DSC, go to the [PowerShell documentation center](../overview/overview.md). +- Examine the [Resource Manager template for the DSC extension](/azure/virtual-machines/extensions/dsc-template). - For more functionality that you can manage by using PowerShell DSC, and for more DSC resources, browse the [PowerShell gallery](https://www.powershellgallery.com/packages?q=DscResource&x=0&y=0). -- For details about passing sensitive parameters into configurations, see [Manage credentials securely with the DSC extension handler](/azure/virtual-machines/windows/extensions-dsc-credentials). \ No newline at end of file +- For details about passing sensitive parameters into configurations, see [Manage credentials securely with the DSC extension handler](/azure/virtual-machines/extensions/dsc-credentials). \ No newline at end of file diff --git a/dsc/lnxGettingStarted.md b/dsc/getting-started/lnxGettingStarted.md similarity index 84% rename from dsc/lnxGettingStarted.md rename to dsc/getting-started/lnxGettingStarted.md index 369e0e1883fa..d779b98506d7 100644 --- a/dsc/lnxGettingStarted.md +++ b/dsc/getting-started/lnxGettingStarted.md @@ -5,7 +5,7 @@ title: Get started with Desired State Configuration (DSC) for Linux --- # Get started with Desired State Configuration (DSC) for Linux -This topic explains how to get started using PowerShell Desired State Configuration (DSC) for Linux. For general information about DSC, see [Get Started with Windows PowerShell Desired State Configuration](overview.md). +This topic explains how to get started using PowerShell Desired State Configuration (DSC) for Linux. For general information about DSC, see [Get Started with Windows PowerShell Desired State Configuration](../overview/overview.md). ## Supported Linux operation system versions @@ -103,35 +103,35 @@ The Windows PowerShell Configuration keyword is used to create a configuration f ### Push the configuration to the Linux computer -Configuration documents (MOF files) can be pushed to the Linux computer using the [Start-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration) cmdlet. In order to use this cmdlet, along with the [Get-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration), or [Test-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Test-DscConfiguration) cmdlets, remotely to a Linux computer, you must use a CIMSession. The [New-CimSession](http://go.microsoft.com/fwlink/?LinkId=227967) cmdlet is used to create a CIMSession to the Linux computer. +Configuration documents (MOF files) can be pushed to the Linux computer using the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. In order to use this cmdlet, along with the [Get-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration), or [Test-DscConfiguration](/powershell/module/psdesiredstateconfiguration/Test-DSCConfiguration) cmdlets, remotely to a Linux computer, you must use a CIMSession. The [New-CimSession](/powershell/module/CimCmdlets/New-CimSession) cmdlet is used to create a CIMSession to the Linux computer. The following code shows how to create a CIMSession for DSC for Linux. ```powershell $Node = "ostc-dsc-01" -$Credential = Get-Credential -UserName:"root" -Message:"Enter Password:" +$Credential = Get-Credential -UserName "root" -Message "Enter Password:" #Ignore SSL certificate validation -#$opt = New-CimSessionOption -UseSsl:$true -SkipCACheck:$true -SkipCNCheck:$true -SkipRevocationCheck:$true +#$opt = New-CimSessionOption -UseSsl $true -SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $true #Options for a trusted SSL certificate -$opt = New-CimSessionOption -UseSsl:$true -$Sess=New-CimSession -Credential:$credential -ComputerName:$Node -Port:5986 -Authentication:basic -SessionOption:$opt -OperationTimeoutSec:90 +$opt = New-CimSessionOption -UseSsl $true +$Sess=New-CimSession -Credential $credential -ComputerName $Node -Port 5986 -Authentication basic -SessionOption $opt -OperationTimeoutSec 90 ``` > [!NOTE] > For “Push†mode, the user credential must be the root user on the Linux computer. > Only SSL/TLS connections are supported for DSC for Linux, the `New-CimSession` must be used with the –UseSSL parameter set to $true. > The SSL certificate used by OMI (for DSC) is specified in the file: `/opt/omi/etc/omiserver.conf` with the properties: pemfile and keyfile. -> If this certificate is not trusted by the Windows computer that you are running the [New-CimSession](http://go.microsoft.com/fwlink/?LinkId=227967) cmdlet on, you can choose to ignore certificate validation with the CIMSession Options: `-SkipCACheck:$true -SkipCNCheck:$true -SkipRevocationCheck:$true` +> If this certificate is not trusted by the Windows computer that you are running the [New-CimSession](/powershell/module/CimCmdlets/New-CimSession) cmdlet on, you can choose to ignore certificate validation with the CIMSession Options: `-SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $true` Run the following command to push the DSC configuration to the Linux node. -`Start-DscConfiguration -Path:"C:\temp" -CimSession:$Sess -Wait -Verbose` +`Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose` ### Distribute the configuration with a pull server -Configurations can be distributed to a Linux computer with a pull server, just like for Windows computers. For guidance on using a pull server, see [Windows PowerShell Desired State Configuration Pull Servers](pullServer.md). For additional information and limitations related to using Linux computers with a pull server, see the Release Notes for Desired State Configuration for Linux. +Configurations can be distributed to a Linux computer with a pull server, just like for Windows computers. For guidance on using a pull server, see [Windows PowerShell Desired State Configuration Pull Servers](../pull-server/pullServer.md). For additional information and limitations related to using Linux computers with a pull server, see the Release Notes for Desired State Configuration for Linux. ### Working with configurations locally @@ -163,7 +163,7 @@ Removes a custom DSC resource module. Requires the name of the module to remove. - StartDscLocalConfigurationManager.py -Applies a configuration MOF file to the computer. Similar to the [Start-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration) cmdlet. Requires the path to the configuration MOF to apply. +Applies a configuration MOF file to the computer. Similar to the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. Requires the path to the configuration MOF to apply. `# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof` diff --git a/dsc/getting-started/nanoDsc.md b/dsc/getting-started/nanoDsc.md new file mode 100644 index 000000000000..071066eb4362 --- /dev/null +++ b/dsc/getting-started/nanoDsc.md @@ -0,0 +1,126 @@ +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Using DSC on Nano Server +--- + +# Using DSC on Nano Server + +> Applies To: Windows PowerShell 5.0 + +**DSC on Nano Server** is an optional package in the `NanoServer\Packages` folder of the Windows Server 2016 media. The package can be installed when you create a VHD for a Nano Server by +specifying **Microsoft-NanoServer-DSC-Package** as the value of the **Packages** parameter of the **New-NanoServerImage** function. For example, if you are creating a VHD for a virtual +machine, the command would look like the following: + +```powershell +New-NanoServerImage -Edition Standard -DeploymentType Guest -MediaPath f:\ -BasePath .\Base -TargetPath .\Nano1\Nano.vhd -ComputerName Nano1 -Packages Microsoft-NanoServer-DSC-Package +``` + +For information about installing and using Nano Server, as well as how to manage Nano Server with PowerShell Remoting, see +[Getting Started with Nano Server](/windows-server/get-started/getting-started-with-nano-server). + +## DSC features available on Nano Server + +Because Nano Server supports only a limited set of APIs compared to a full version of Windows Server, DSC on Nano Server does not have full functional parity with DSC running on +full SKUs for the time being. DSC on Nano Server is in active development and is not yet feature complete. + +The following DSC features are currently available on Nano Server: + +Both push and pull modes + +- All DSC cmdlets that exist on a full version of Windows Server, including the following: +- [Get-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager) +- [Set-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager) +- [Enable-DscDebug](/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug) +- [Disable-DscDebug](/powershell/module/PSDesiredStateConfiguration/Disable-DscDebug) +- [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) +- [Stop-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration) +- [Get-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration) +- [Test-DscConfiguration](/powershell/module/psdesiredstateconfiguration/Test-DSCConfiguration) +- [Publish-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration) +- [Update-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Update-DscConfiguration) +- [Restore-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Restore-DscConfiguration) +- [Remove-DscConfigurationDocument](/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument) +- [Get-DscConfigurationStatus](/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus) +- [Invoke-DscResource](/powershell/module/PSDesiredStateConfiguration/Invoke-DscResource) +- [Find-DscResource](https://technet.microsoft.com/en-us/library/mt517874.aspx) +- [Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) +- [New-DscChecksum](/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum) + +- Compiling configurations (see [DSC configurations](../configurations/configurations.md)) + + **Issue:** Password encryption (see [Securing the MOF File](../pull-server/secureMOF.md)) during configuration compilation doesn't work. + +- Compiling metaconfigurations (see [Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md)) + +- Running a resource under user context (see [Running DSC with user credentials (RunAs)](../configurations/runAsUser.md)) + +- Class-based resources (see [Writing a custom DSC resource with PowerShell classes](../resources/authoringResourceClass.md)) + +- Debugging of DSC resources (see [Debugging DSC resources](../troubleshooting/debugResource.md)) + + **Issue:** Doesn't work if a resource is using PsDscRunAsCredential (see [Running DSC with user credentials](../configurations/runAsUser.md)) + +- [Specifying cross-node dependencies](../configurations/crossNodeDependencies.md) + +- [Resource versioning](../configurations/sxsResource.md) + +- Pull client (configurations & resources) (see [Setting up a pull client using configuration names](../pull-server/pullClientConfigNames.md)) + +- [Partial configurations (pull & push)](../pull-server/partialConfigs.md) + +- [Reporting to pull server](../pull-server/reportServer.md) + +- MOF encryption + +- Event logging + +- Azure Automation DSC reporting + +- Resources that are fully functional + +- **Archive** +- **Environment** +- **File** +- **Log** +- **ProcessSet** +- **Registry** +- **Script** +- **WindowsPackageCab** +- **WindowsProcess** +- **WaitForAll** (see [Specifying cross-node dependencies](../configurations/crossNodeDependencies.md)) +- **WaitForAny** (see [Specifying cross-node dependencies](../configurations/crossNodeDependencies.md)) +- **WaitForSome** (see [Specifying cross-node dependencies](../configurations/crossNodeDependencies.md)) + +- Resources that are partially functional +- **Group** +- **GroupSet** + + **Issue:** Above resources fail if specific instance is called twice (running the same configuration twice) + +- **Service** +- **ServiceSet** + + **Issue:** Only works for starting/stopping (status) service. Fails, if one tries to change other service attributes like startuptype, credentials, description etc.. The error thrown is similar to: + + *Cannot find type [management.managementobject]: verify that the assembly containing this type is loaded.* + +- Resources that are not functional +- **User** + +## DSC features not available on Nano Server + +The following DSC features are not currently available on Nano Server: + +- Decrypting MOF document with encrypted password(s) +- Pull Server--you cannot currently set up a pull server on Nano Server +- Anything that is not in the list of feature works + +## Using custom DSC resources on Nano Server + +Due to a limited sets of Windows APIs and CLR libraries available on Nano Server, DSC resources that work on the full CLR version of Windows do not necessarily work on Nano Server. +Complete end-to-end testing before deploying any DSC custom resources to a production environment. + +## See Also + +- [Getting Started with Nano Server](/windows-server/get-started/getting-started-with-nano-server) diff --git a/dsc/gettingStarted.md b/dsc/gettingStarted.md deleted file mode 100644 index 40cedef21f01..000000000000 --- a/dsc/gettingStarted.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Getting Started with PowerShell Desired State Configuration ---- - -# Getting Started with PowerShell Desired State Configuration # - -This guide describes how to begin creating PowerShell Desired State Configuration documents and apply them to machines. It assumes basic familiarity with PowerShell cmdlets, modules, and functions. - - -## Create a Configuration ## - -[**Configurations**](https://msdn.microsoft.com/powershell/dsc/configurations) are documents that describe an environment. Environments consist of "**nodes**", which are commonly virtual or physical machines. - -Configurations can come in a variety of forms. The easiest way to create a new configuration is to create a .ps1 (PowerShell script) file. To do this, open your editor of choice. The PowerShell ISE is a good choice, since it understands DSC natively. Save the following as a PS1: - -```powershell -configuration MyFirstConfiguration -{ - Import-DscResource -Name WindowsFeature - - Node localhost - { - WindowsFeature IIS - { - Name = "IIS" - - } - - } - -} -``` -## Parts of a Configuration ## -**Configuration** is a keyword that has been added to PowerShell 4.0. It signifies a special kind of PowerShell function used by Desired State Configuration. In this example, the function is named myFirstConfiguration. - -The next line is an import statement, similar to importing a module. It will be discussed later on. - -"Node" defines the machine name this configuration will act on. Although this configuration is edited locally, configurations can reach out to remote nodes and configure them. - -Nodes can be machine names or IP addresses. You can have multiple nodes in a single configuration document. Using [configuration data](https://msdn.microsoft.com/powershell/dsc/configdata), you can also have the same configuration apply to multiple nodes. In this case, the node is "localhost" - which means the local computer. - -The next item is a [**resource**](https://msdn.microsoft.com/powershell/dsc/resources). Resources are building blocks of configurations. Each resource is a module that defines the implementation logic of a single aspect of a machine. You can view every resource on your machine by running **Get-DscResource** in PowerShell. Resources must be present on the local machine and imported before they can be used in a configuration with **Import-DscResource** which is on the second line of this configuration. - -**Enacting a Configuration** - -If the script above is saved and run, no output will be produced. This is because a configuration is just a function, and the script above has defined the function but not yet run it. After the function is defined, it must be invoked: -```powershell -myFirstConfiguration -``` - -When executed, configuration functions validate the configuration is valid. It should have no syntax errors, resources should have all mandatory parameters defined, and all resources should be imported before execution. - -Once the configuration is executed, it creates a folder with the name of the configuration containing a **.MOF file** for every node in the configuration. The .MOF file is a standards-based management format which is used by PowerShell DSC to communicate over the network. - -To enact the configuration: -```powershell -Start-DscConfiguration -Path ./myFirstConfiguration -``` -This creates a PowerShell job that reaches out to the nodes in the configuration and configures them. To see the output of the job, use -Wait. -```powershell -Start-DscConfiguration -Path ./myFirstConfiguration -Wait -``` \ No newline at end of file diff --git a/dsc/lnxBuiltInResources.md b/dsc/lnxBuiltInResources.md deleted file mode 100644 index 31416f356d00..000000000000 --- a/dsc/lnxBuiltInResources.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Built-In Desired State Configuration Resources for Linux ---- - -# Built-In Desired State Configuration Resources for Linux - -Resources are building blocks that you can use to write a PowerShell Desired State Configuration (DSC) script. DSC for Linux comes with a set of built-in functionality for configuring resources such as files and folders, packages, environment variables, and services and processes. - -## Built-in resources - -The following table provides a list of these resources and links to topics that describe them in detail. - -* [nxArchive Resource](lnxArchiveResource.md)--Provides a mechanism to unpack archive (.tar, .zip) files at a specific path. -* [nxEnvironment Resource](lnxEnvironmentResource.md)--Manages environment variables on target nodes. -* [nxFile Resource](lnxFileResource.md)--Manages Linux files and directories. -* [nxFileLine Resource](lnxFileLineResource.md)--Manages individual lines in a Linux file. -* [nxGroup Resource](lnxGroupResource.md)--Manages local Linux groups. -* [nxPackage Resource](lnxPackageResource.md)--Manages packages on Linux nodes. -* [nxScript Resource](lnxScriptResource.md)--Runs scripts on target nodes. -* [nxService Resource](lnxServiceResource.md)--Manages Linux services (daemons). -* [nxSshAuthorizedKeys Resource](lnxSshAuthorizedKeysResource.md)--Manages public ssh keys for a Linux user. -* [nxUser Resource](lnxUserResource.md)--Manages local Linux users. \ No newline at end of file diff --git a/dsc/managing-nodes/apply-get-test.md b/dsc/managing-nodes/apply-get-test.md new file mode 100644 index 000000000000..43b98fea6419 --- /dev/null +++ b/dsc/managing-nodes/apply-get-test.md @@ -0,0 +1,219 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Apply, Get, and Test Configurations on a Node +--- + +# Apply, Get, and Test Configurations on a Node + +This guide will show you how to work with Configurations on a target Node. This guide is broken up into the following steps: + +## Apply a Configuration + +In order to apply and manage a Configuration, we need to generate a ".mof" file. The following code will represent a simple Configuration that will be used throughout this guide. + +```powershell +Configuration Sample +{ + # This will generate two .mof files, a localhost.mof, and a server02.mof + Node localhost, server02 + { + File SampleFile + { + DestinationPath = 'C:\Temp\temp.txt' + Contents = 'This is a simple resource to show Configuration functionality on a Node.' + } + } +} + +# The -OutputPath parameter is built into every Configuration automatically. +# The value of -OutputPath determines where the .mof file should be stored, once compiled. +Sample -OutputPath "C:\Temp\" +``` + +Compiling this configuration will yield two ".mof" files. + +```output +Mode LastWriteTime Length Name +---- ------------- ------ ---- +-a---- 11/27/2018 7:29 AM 2.13KB localhost.mof +-a---- 11/27/2018 7:29 AM 2.13KB server02.mof +``` + +To apply a Configuration, use the [Start-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. The `-Path` parameter specifies a directory where ".mof" files reside. If no `-Computername` is specified, `Start-DSCConfiguration` will attempt to apply each Configuration to the computer name specified by the name of the '.mof' file (\.mof). Specify `-Verbose` to `Start-DSCConfiguration` to see more verbose output. + +```powershell +Start-DSCConfiguration -Path C:\Temp\ -Verbose +``` + +If `-Wait` is not specified, you see one job created. The job created will have one **ChildJob** for each ".mof" file processed by `Start-DSCConfiguration`. + +```output +Id Name PSJobTypeName State HasMoreData Location Command +-- ---- ------------- ----- ----------- -------- ------- +45 Job45 Configuratio... Running True localhost,server02 Start-DSCConfiguration... +``` + +If a Configuration is taking a long time and you want to stop it, you can use [Stop-DSCConfiguration](/powershell/module/PSDesiredStateConfiguration/Stop-DscConfiguration) to stop application on the local Node. + +```powershell +Stop-DSCConfiguration -Force +``` + +Once complete, you can view the status of the jobs through the job object returned by [Get-Job](/powershell/module/microsoft.powershell.core/get-job). + +```powershell +$job = Get-Job +$job.ChildJobs +``` + +```output +Id Name PSJobTypeName State HasMoreData Location Command +-- ---- ------------- ----- ----------- -------- ------- +49 Job49 Configuratio... Completed True localhost Start-DSCConfiguration... +50 Job50 Configuratio... Completed True server02 Start-DSCConfiguration... +``` + +To see the **Verbose** output, use the following commands to view the **Verbose** stream for each **ChildJob**. For more about PowerShell jobs, see [about_Jobs](/powershell/module/microsoft.powershell.core/about/about_jobs). + +```powershell +# View the verbose output of the localhost job using array indexing. +$job.ChildJobs[0].Verbose +``` + +```output +Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'. +An LCM method call arrived from computer SERVER01 with user sid S-1-5-21-124525095-708259637-1543119021-1282804. +[SERVER01]: LCM: [ Start Set ] +[SERVER01]: LCM: [ Start Resource ] [[File]SampleFile] +[SERVER01]: LCM: [ Start Test ] [[File]SampleFile] +[SERVER01]: [[File]SampleFile] The destination object was found and no action is required. +[SERVER01]: LCM: [ End Test ] [[File]SampleFile] in 0.0370 seconds. +[SERVER01]: LCM: [ Skip Set ] [[File]SampleFile] +[SERVER01]: LCM: [ End Resource ] [[File]SampleFile] +[SERVER01]: LCM: [ End Set ] +[SERVER01]: LCM: [ End Set ] in 0.2400 seconds. +Operation 'Invoke CimMethod' complete. +``` + +Beginning in PowerShell 5.0, the `-UseExisting` parameter was added to `Start-DSCConfiguration`. By specifying `-UseExisting`, you instruct the cmdlet to use the existing applied Configuration instead of one specified by the `-Path` parameter. + +```powershell +Start-DSCConfiguration -UseExisting -Verbose -Wait +``` + +## Test a Configuration + +You can test a currently applied Configuration using [Test-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/Test-DSCConfiguration). `Test-DSCConfiguration` will return `True` if the Node is compliant, and `False` if it is not. + +```powershell +Test-DSCConfiguration +``` + +Beginning in PowerShell 5.0, the `-Detailed` parameter was added which returns an object with collections for **ResourcesInDesiredState** and **ResourcesNotInDesiredState** + +```powershell +Test-DSCConfiguration -Detailed +``` + +Beginning in PowerShell 5.0 you can test a Configuration without applying it. The `-ReferenceConfiguration` parameter accepts the path of a ".mof" file to test the Node against. No **Set** actions are taken against the Node. In PowerShell 4.0, there are workarounds to test a Configuration without applying it, but they are not discussed here. + +## Get Configuration Values + +The [Get-DSCConfiguration](/powershell/module/PSDesiredStateConfiguration/Get-DscConfiguration) cmdlet returns the current values for any configured resources in the currently applied Configuration. + +```powershell +Get-DSCConfiguration +``` + +Output from our sample Configuration would look like this if applied successfully. + +```output +ConfigurationName : Sample +DependsOn : +ModuleName : PSDesiredStateConfiguration +ModuleVersion : +PsDscRunAsCredential : +ResourceId : [File]SampleFile +SourceInfo : +Attributes : {archive} +Checksum : +Contents : +CreatedDate : 11/27/2018 7:16:06 AM +Credential : +DestinationPath : C:\Temp\temp.txt +Ensure : present +Force : +MatchSource : +ModifiedDate : 11/27/2018 7:16:06 AM +Recurse : +Size : 75 +SourcePath : +SubItems : +Type : file +PSComputerName : +CimClassName : MSFT_FileDirectoryConfiguration +``` + +## Get Configuration Status + +Beginning in PowerShell 5.0 the [Get-DSCConfigurationStatus](/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus) cmdlet allows you to see the history of applied Configurations to the node. PowerShell DSC keeps track of the last {{N}} Configurations applied in **Push** or **Pull** mode. This includes any *consistency* checks executed by the LCM. By default, `Get-DSCConfigurationStatus` shows you the last history entry only. + +```powershell +Get-DSCConfigurationStatus +``` + +```output +Status StartDate Type Mode RebootRequested NumberOfResources +------ --------- ---- ---- --------------- ----------------- +Success 11/27/2018 7:18:40 AM Consistency PUSH False 1 +``` + +Use the `-All` parameter to see all Configuration Status history. + +> [!NOTE] +> Output is truncated for brevity. + +```powershell +Get-DSCConfigurationStatus -All +``` + +```output +Status StartDate Type Mode RebootRequested NumberOfResources +------ --------- ---- ---- --------------- ----------------- +Success 11/27/2018 7:18:40 AM Consistency PUSH False 1 +Success 11/27/2018 7:16:06 AM Initial PUSH False 1 +Success 11/27/2018 7:04:53 AM Initial PUSH False 1 +Success 11/27/2018 7:03:45 AM Consistency PUSH False 2 +Success 11/27/2018 7:03:40 AM Consistency PUSH False 2 +Success 11/27/2018 6:48:40 AM Consistency PUSH False 2 +Success 11/27/2018 6:33:44 AM Consistency PUSH False 2 +Success 11/27/2018 6:33:40 AM Consistency PUSH False 2 +Success 11/27/2018 6:18:40 AM Consistency PUSH False 2 +Success 11/27/2018 6:03:44 AM Consistency PUSH False 2 +``` + +## Manage Configuration Documents + +The LCM manages the Configuration of the Node by working with **Configuration Documents**. These ".mof" files reside in the "C:\Windows\System32\Configuration" directory. + +Beginning in PowerShell 5.0 the [Remove-DSCConfigurationDocument](/powershell/module/PSDesiredStateConfiguration/Remove-DscConfigurationDocument) allows you to remove the ".mof" files to stop future consistency checks or remove a Configuration that has errors when applied. The `-Stage` parameter allows you to specify which ".mof" file you want to remove. + +```powershell +Remove-DSCConfigurationDocument -Stage Current +``` + +> [!NOTE] +> In PowerShell 4.0, you can still remove these ".mof" files directly using [Remove-Item](/powershell/module/microsoft.powershell.management/remove-item). + +## Publish Configurations + +Beginning in PowerShell 5.0, the [Publish-DSCConfiguration](/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration) cmdlet was added. This cmdlet allows you to publish a ".mof" file to remote computers, without applying it. + +```powershell +Publish-DscConfiguration -Path '$home\WebServer' -ComputerName "ContosoWebServer" -Credential (get-credential Contoso\webadministrator) +``` + +## See also + +- [Get, Test, and Set](../resources/get-test-set.md) diff --git a/dsc/directCallResource.md b/dsc/managing-nodes/directCallResource.md similarity index 81% rename from dsc/directCallResource.md rename to dsc/managing-nodes/directCallResource.md index 7e5a742ddacd..487e371cde01 100644 --- a/dsc/directCallResource.md +++ b/dsc/managing-nodes/directCallResource.md @@ -8,7 +8,7 @@ title: Calling DSC resource methods directly >Applies To: Windows PowerShell 5.0 -You can use the [Invoke-DscResource](https://technet.microsoft.com/library/mt517869.aspx) cmdlet to directly call the functions or methods of a DSC resource (The **Get-TargetResource**, +You can use the [Invoke-DscResource](/powershell/module/PSDesiredStateConfiguration/Invoke-DscResource) cmdlet to directly call the functions or methods of a DSC resource (The **Get-TargetResource**, **Set-TargetResource**, and **Test-TargetResource** functions of a MOF-based resource, or the **Get**, **Set**, and **Test** methods of a class-based resource). This can be used by third-parties that want to use DSC resources, or as a helpful tool while developing resources. @@ -49,6 +49,6 @@ $result.ItemValue | fl >**Note:** Directly calling composite resource methods is not supported. Instead, call the methods of the underlying resources that make up the composite resource. ## See Also -- [Writing a custom DSC resource with MOF](authoringResourceMOF.md) -- [Writing a custom DSC resource with PowerShell classes](authoringResourceClass.md) -- [Debugging DSC resources](debugResource.md) \ No newline at end of file +- [Writing a custom DSC resource with MOF](../resources/authoringResourceMOF.md) +- [Writing a custom DSC resource with PowerShell classes](../resources/authoringResourceClass.md) +- [Debugging DSC resources](../troubleshooting/debugResource.md) \ No newline at end of file diff --git a/dsc/metaConfig.md b/dsc/managing-nodes/metaConfig.md similarity index 74% rename from dsc/metaConfig.md rename to dsc/managing-nodes/metaConfig.md index 4475c4f7c1f1..ab872cc49a92 100644 --- a/dsc/metaConfig.md +++ b/dsc/managing-nodes/metaConfig.md @@ -1,5 +1,5 @@ --- -ms.date: 10/11/2017 +ms.date: 12/12/2018 keywords: dsc,powershell,configuration,setup title: Configuring the Local Configuration Manager --- @@ -50,11 +50,11 @@ configuration LCMConfig The process of applying settings to LCM is similar to applying a DSC configuration. You will create an LCM configuration, compile it to a MOF file, and apply it to the node. Unlike DSC configurations, you do not enact an LCM configuration -by calling the [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) cmdlet. -Instead, you call [Set-DscLocalConfigurationManager](https://technet.microsoft.com/en-us/library/dn521621.aspx), +by calling the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. +Instead, you call [Set-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager), supplying the path to the LCM configuration MOF as a parameter. After you enact the LCM configuration, you can see the properties of the LCM -by calling the [Get-DscLocalConfigurationManager](https://technet.microsoft.com/en-us/library/dn407378.aspx) cmdlet. +by calling the [Get-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager) cmdlet. An LCM configuration can contain blocks only for a limited set of resources. In the previous example, the only resource called is **Settings**. @@ -79,18 +79,29 @@ The following properties are available in a **Settings** block. | AllowModuleOverwrite| bool| __$TRUE__ if new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, $FALSE.| | CertificateID| string| The thumbprint of a certificate used to secure credentials passed in a configuration. For more information see [Want to secure credentials in Windows PowerShell Desired State Configuration](http://blogs.msdn.com/b/powershell/archive/2014/01/31/want-to-secure-credentials-in-windows-powershell-desired-state-configuration.aspx)?.
__Note:__ this is managed automatically if using Azure Automation DSC pull service.| | ConfigurationDownloadManagers| CimInstance[]| Obsolete. Use __ConfigurationRepositoryWeb__ and __ConfigurationRepositoryShare__ blocks to define configuration pull service endpoints.| -| ConfigurationID| string| For backwards compatibility with older pull service versions. A GUID that identifies the configuration file to get from a pull service. The node will pull configurations on the pull service if the name of the configuration MOF is named ConfigurationID.mof.
__Note:__ If you set this property, registering the node with a pull service by using __RegistrationKey__ does not work. For more information, see [Setting up a pull client with configuration names](pullClientConfigNames.md).| +| ConfigurationID| string| For backwards compatibility with older pull service versions. A GUID that identifies the configuration file to get from a pull service. The node will pull configurations on the pull service if the name of the configuration MOF is named ConfigurationID.mof.
__Note:__ If you set this property, registering the node with a pull service by using __RegistrationKey__ does not work. For more information, see [Setting up a pull client with configuration names](../pull-server/pullClientConfigNames.md).| | ConfigurationMode| string | Specifies how the LCM actually applies the configuration to the target nodes. Possible values are __"ApplyOnly"__,__"ApplyAndMonitor"__, and __"ApplyAndAutoCorrect"__.
  • __ApplyOnly__: DSC applies the configuration and does nothing further unless a new configuration is pushed to the target node or when a new configuration is pulled from a service. After initial application of a new configuration, DSC does not check for drift from a previously configured state. Note that DSC will attempt to apply the configuration until it is successful before __ApplyOnly__ takes effect.
  • __ApplyAndMonitor__: This is the default value. The LCM applies any new configurations. After initial application of a new configuration, if the target node drifts from the desired state, DSC reports the discrepancy in logs. Note that DSC will attempt to apply the configuration until it is successful before __ApplyAndMonitor__ takes effect.
  • __ApplyAndAutoCorrect__: DSC applies any new configurations. After initial application of a new configuration, if the target node drifts from the desired state, DSC reports the discrepancy in logs, and then re-applies the current configuration.
| | ConfigurationModeFrequencyMins| UInt32| How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15.| | DebugMode| string| Possible values are __None__, __ForceModuleImport__, and __All__.
  • Set to __None__ to use cached resources. This is the default and should be used in production scenarios.
  • Setting to __ForceModuleImport__, causes the LCM to reload any DSC resource modules, even if they have been previously loaded and cached. This impacts the performance of DSC operations as each module is reloaded on use. Typically you would use this value while debugging a resource
  • In this release, __All__ is same as __ForceModuleImport__
| -| RebootNodeIfNeeded| bool| Set this to __$true__ to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is __$false__. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the [xPendingReboot](https://github.com/powershell/xpendingreboot) module.| -| RefreshMode| string| Specifies how the LCM gets configurations. The possible values are __"Disabled"__, __"Push"__, and __"Pull"__.
  • __Disabled__: DSC configurations are disabled for this node.
  • __Push__: Configurations are initiated by calling the [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) cmdlet. The configuration is applied immediately to the node. This is the default value.
  • __Pull:__ The node is configured to regularly check for configurations from a pull service or SMB path. If this property is set to __Pull__, you must specify an HTTP (service) or SMB (share) path in a __ConfigurationRepositoryWeb__ or __ConfigurationRepositoryShare__ block.
| +| RebootNodeIfNeeded| bool| Set this to `$true` to allow resources to reboot the Node using the `$global:DSCMachineStatus` flag. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is `$false`. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the [xPendingReboot](https://github.com/powershell/xpendingreboot) module.| +| RefreshMode| string| Specifies how the LCM gets configurations. The possible values are __"Disabled"__, __"Push"__, and __"Pull"__.
  • __Disabled__: DSC configurations are disabled for this node.
  • __Push__: Configurations are initiated by calling the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. The configuration is applied immediately to the node. This is the default value.
  • __Pull:__ The node is configured to regularly check for configurations from a pull service or SMB path. If this property is set to __Pull__, you must specify an HTTP (service) or SMB (share) path in a __ConfigurationRepositoryWeb__ or __ConfigurationRepositoryShare__ block.
| | RefreshFrequencyMins| Uint32| The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30.| | ReportManagers| CimInstance[]| Obsolete. Use __ReportServerWeb__ blocks to define an endpoint to send reporting data to a pull service.| | ResourceModuleManagers| CimInstance[]| Obsolete. Use __ResourceRepositoryWeb__ and __ResourceRepositoryShare__ blocks to define pull service HTTP endpoints or SMB paths, respectively.| | PartialConfigurations| CimInstance| Not implemented. Do not use.| | StatusRetentionTimeInDays | UInt32| The number of days the LCM keeps the status of the current configuration.| +> [!NOTE] +> The LCM starts the **ConfigurationModeFrequencyMins** cycle based on: +> +> - A new metaconfig is applied using `Set-DscLocalConfigurationManager` +> - A machine restart +> +> For any condition where the timer process experiences a crash, that will be detected within 30 seconds and the cycle will be restarted. +> A concurrent operation could delay the cycle from being started, if the duration of this operation exceeds the configured cycle frequency, the next timer will not start. +> +> Example, the metaconfig is configured at a 15 minute pull frequency and a pull occurs at T1. The Node does not finish work for 16 minutes. The first 15 minute cycle is ignored, and next pull will happen at T1+15+15. + ## Pull service LCM configuration supports defining the following types of pull service endpoints: @@ -100,7 +111,7 @@ LCM configuration supports defining the following types of pull service endpoint - **Report server**: A service that DSC sends report data to. Define report servers by using **ReportServerWeb** blocks. A report server must be a web service. For more details on pull service see, -[Desired State Configuration Pull Service](pullServer.md). +[Desired State Configuration Pull Service](../pull-server/pullServer.md). ## Configuration server blocks @@ -112,12 +123,17 @@ A **ConfigurationRepositoryWeb** defines the following properties. |---|---|---| |AllowUnsecureConnection|bool|Set to **$TRUE** to allow connections from the node to the server without authentication. Set to **$FALSE** to require authentication.| |CertificateID|string|The thumbprint of a certificate used to authenticate to the server.| -|ConfigurationNames|String[]|An array of names of configurations to be pulled by the target node. These are used only if the node is registered with the pull service by using a **RegistrationKey**. For more information, see [Setting up a pull client with configuration names](pullClientConfigNames.md).| -|RegistrationKey|string|A GUID that registers the node with the pull service. For more information, see [Setting up a pull client with configuration names](pullClientConfigNames.md).| +|ConfigurationNames|String[]|An array of names of configurations to be pulled by the target node. These are used only if the node is registered with the pull service by using a **RegistrationKey**. For more information, see [Setting up a pull client with configuration names](../pull-server/pullClientConfigNames.md).| +|RegistrationKey|string|A GUID that registers the node with the pull service. For more information, see [Setting up a pull client with configuration names](../pull-server/pullClientConfigNames.md).| |ServerURL|string|The URL of the configuration service.| +|ProxyURL*|string|The URL of the http proxy to use when communicating with the configuration service.| +|ProxyCredential*|pscredential|Credential to use for the http proxy.| + +>!NOTE +>\* Supported in Windows versions 1809 and later. An example script to simplify configuring the ConfigurationRepositoryWeb value for on-premises nodes -is available - see [Generating DSC metaconfigurations](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-onboarding#generating-dsc-metaconfigurations) +is available - see [Generating DSC metaconfigurations](https://docs.microsoft.com/azure/automation/automation-dsc-onboarding#generating-dsc-metaconfigurations) To define an SMB-based configuration server, you create a **ConfigurationRepositoryShare** block. @@ -139,9 +155,14 @@ A **ResourceRepositoryWeb** defines the following properties. |CertificateID|string|The thumbprint of a certificate used to authenticate to the server.| |RegistrationKey|string|A GUID that identifies the node to the pull service.| |ServerURL|string|The URL of the configuration server.| +|ProxyURL*|string|The URL of the http proxy to use when communicating with the configuration service.| +|ProxyCredential*|pscredential|Credential to use for the http proxy.| + +>!NOTE +>\* Supported in Windows versions 1809 and later. An example script to simplify configuring the ResourceRepositoryWeb value for on-premises nodes -is available - see [Generating DSC metaconfigurations](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-onboarding#generating-dsc-metaconfigurations) +is available - see [Generating DSC metaconfigurations](https://docs.microsoft.com/azure/automation/automation-dsc-onboarding#generating-dsc-metaconfigurations) To define an SMB-based resource server, you create a **ResourceRepositoryShare** block. @@ -149,7 +170,7 @@ you create a **ResourceRepositoryShare** block. |Property|Type|Description| |---|---|---| -|Credential|MSFT_Credential|The credential used to authenticate to the SMB share. For an example of passing credentials, see [Setting up a DSC SMB pull server](pullServerSMB.md)| +|Credential|MSFT_Credential|The credential used to authenticate to the SMB share. For an example of passing credentials, see [Setting up a DSC SMB pull server](../pull-server/pullServerSMB.md)| |SourcePath|string|The path of the SMB share.| ## Report server blocks @@ -164,15 +185,20 @@ The report server role is not compatible with SMB based pull service. |CertificateID|string|The thumbprint of a certificate used to authenticate to the server.| |RegistrationKey|string|A GUID that identifies the node to the pull service.| |ServerURL|string|The URL of the configuration server.| +|ProxyURL*|string|The URL of the http proxy to use when communicating with the configuration service.| +|ProxyCredential*|pscredential|Credential to use for the http proxy.| + +>!NOTE +>\* Supported in Windows versions 1809 and later. An example script to simplify configuring the ReportServerWeb value for on-premises nodes -is available - see [Generating DSC metaconfigurations](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-onboarding#generating-dsc-metaconfigurations) +is available - see [Generating DSC metaconfigurations](https://docs.microsoft.com/azure/automation/automation-dsc-onboarding#generating-dsc-metaconfigurations) ## Partial configurations To define a partial configuration, you create a **PartialConfiguration** block. For more information about partial configurations, -see [DSC Partial configurations](partialConfigs.md). +see [DSC Partial configurations](../pull-server/partialConfigs.md). **PartialConfiguration** defines the following properties. |Property|Type|Description| @@ -181,7 +207,7 @@ see [DSC Partial configurations](partialConfigs.md). |DependsOn|string{}|A list of names of other configurations that must be completed before this partial configuration is applied.| |Description|string|Text used to describe the partial configuration.| |ExclusiveResources|string[]|An array of resources exclusive to this partial configuration.| -|RefreshMode|string|Specifies how the LCM gets this partial configuration. The possible values are __"Disabled"__, __"Push"__, and __"Pull"__.
  • __Disabled__: This partial configuration is disabled.
  • __Push__: The partial configuration is pushed to the node by calling the [Publish-DscConfiguration](https://technet.microsoft.com/en-us/library/mt517875.aspx) cmdlet. After all partial configurations for the node are either pushed or pulled from a service, the configuration can be started by calling `Start-DscConfiguration –UseExisting`. This is the default value.
  • __Pull:__ The node is configured to regularly check for partial configuration from a pull service. If this property is set to __Pull__, you must specify a pull service in a __ConfigurationSource__ property. For more information about Azure Automation pull service, see [Azure Automation DSC Overview](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-overview).
| +|RefreshMode|string|Specifies how the LCM gets this partial configuration. The possible values are __"Disabled"__, __"Push"__, and __"Pull"__.
  • __Disabled__: This partial configuration is disabled.
  • __Push__: The partial configuration is pushed to the node by calling the [Publish-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Publish-DscConfiguration) cmdlet. After all partial configurations for the node are either pushed or pulled from a service, the configuration can be started by calling `Start-DscConfiguration –UseExisting`. This is the default value.
  • __Pull:__ The node is configured to regularly check for partial configuration from a pull service. If this property is set to __Pull__, you must specify a pull service in a __ConfigurationSource__ property. For more information about Azure Automation pull service, see [Azure Automation DSC Overview](https://docs.microsoft.com/azure/automation/automation-dsc-overview).
| |ResourceModuleSource|string[]|An array of the names of resource servers from which to download required resources for this partial configuration. These names must refer to service endpoints previously defined in **ResourceRepositoryWeb** and **ResourceRepositoryShare** blocks.| __Note:__ partial configurations are supported with Azure Automation DSC, but only one configuration can be pulled from each automation account per node. @@ -189,12 +215,12 @@ __Note:__ partial configurations are supported with Azure Automation DSC, but on ## See Also ### Concepts -[Desired State Configuration Overview](overview.md) +[Desired State Configuration Overview](../overview/overview.md) -[Getting started with Azure Automation DSC](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-getting-started) +[Getting started with Azure Automation DSC](https://docs.microsoft.com/azure/automation/automation-dsc-getting-started) ### Other Resources -[Set-DscLocalConfigurationManager](https://technet.microsoft.com/en-us/library/dn521621.aspx) +[Set-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Set-DscLocalConfigurationManager) -[Setting up a pull client with configuration names](pullClientConfigNames.md) \ No newline at end of file +[Setting up a pull client with configuration names](../pull-server/pullClientConfigNames.md) diff --git a/dsc/metaConfig4.md b/dsc/managing-nodes/metaConfig4.md similarity index 81% rename from dsc/metaConfig4.md rename to dsc/managing-nodes/metaConfig4.md index 363462e18343..b57efdc16879 100644 --- a/dsc/metaConfig4.md +++ b/dsc/managing-nodes/metaConfig4.md @@ -1,5 +1,5 @@ --- -ms.date: 10/12/2017 +ms.date: 12/12/2018 keywords: dsc,powershell,configuration,setup title: Configuring the Local Configuration Manager in Previous Versions of Windows PowerShell --- @@ -21,7 +21,7 @@ and describes how you can modify the Local Configuration Manager settings on a t The following lists the Local Configuration Manager properties that you can set or retrieve. - **AllowModuleOverwrite**: Controls whether new configurations downloaded from the configuration service are allowed to overwrite the old ones on the target node. Possible values are True and False. -- **CertificateID**: The thumbprint of a certificate used to secure credentials passed in a configuration. For more information see [Want to secure credentials in Windows PowerShell Desired State Configuration?](http://blogs.msdn.com/b/powershell/archive/2014/01/31/want-to-secure-credentials-in-windows-powershell-desired-state-configuration.aspx). +- **CertificateID**: The thumbprint of a certificate used to secure credentials passed in a configuration. For more information see [Want to secure credentials in Windows PowerShell Desired State Configuration?](https://blogs.msdn.microsoft.com/powershell/2014/01/31/want-to-secure-credentials-in-windows-powershell-desired-state-configuration/). - **ConfigurationID**: Indicates a GUID which is used to get a particular configuration file from a pull service. The GUID ensures that the correct configuration file is accessed. - **ConfigurationMode**: Specifies how the Local Configuration Manager actually applies the configuration to the target nodes. It can take the following values: - **ApplyOnly**: With this option, DSC applies the configuration and does nothing further unless a new configuration is detected, either by you sending a new configuration directly to the target node or if you are connecting to a pull service and DSC discovers a new configuration when it checks with the pull service. If the target node’s configuration drifts, no action is taken. @@ -31,10 +31,21 @@ The following lists the Local Configuration Manager properties that you can set - **Credential**: Indicates credentials (as with Get-Credential) required to access remote resources, such as to contact the configuration service. - **DownloadManagerCustomData**: Represents an array that contains custom data specific to the download manager. - **DownloadManagerName**: Indicates the name of the configuration and module download manager. -- **RebootNodeIfNeeded**: Certain configuration changes on a target node might require it to be restarted for the changes to be applied. With the value **True**, this property will restart the node as soon as the configuration has been completely applies, without further warning. If **False** (the default value), the configuration will be completed, but the node must be restarted manually for the changes to take effect. +- **RebootNodeIfNeeded**: Set this to `$true` to allow resources to reboot the Node using the `$global:DSCMachineStatus` flag. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is `$false`. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the [xPendingReboot](https://github.com/powershell/xpendingreboot) module. - **RefreshFrequencyMins**: Used when you have set up a pull service. Represents the frequency (in minutes) at which the Local Configuration Manager contacts a pull service to download the current configuration. This value can be set in conjunction with ConfigurationModeFrequencyMins. When RefreshMode is set to PULL, the target node contacts the pull service at an interval set by RefreshFrequencyMins and downloads the current configuration. At the interval set by ConfigurationModeFrequencyMins, the consistency engine then applies the latest configuration that was downloaded to the target node. If RefreshFrequencyMins is not set to an integer multiple of ConfigurationModeFrequencyMins, the system will round it up. The default value is 30. - **RefreshMode**: Possible values are **Push** (the default) and **Pull**. In the “push†configuration, you must place a configuration file on each target node, using any client computer. In the “pull†mode, you must set up a pull service for Local Configuration Manager to contact and access the configuration files. +> [!NOTE] +> The LCM starts the **ConfigurationModeFrequencyMins** cycle based on: +> +> - A new metaconfig is applied using `Set-DscLocalConfigurationManager` +> - A machine restart +> +> For any condition where the timer process experiences a crash, that will be detected within 30 seconds and the cycle will be restarted. +> A concurrent operation could delay the cycle from being started, if the duration of this operation exceeds the configured cycle frequency, the next timer will not start. +> +> Example, the metaconfig is configured at a 15 minute pull frequency and a pull occurs at T1. The Node does not finish work for 16 minutes. The first 15 minute cycle is ignored, and next pull will happen at T1+15+15. + ### Example of updating Local Configuration Manager settings You can update the Local Configuration Manager settings of a target node @@ -77,11 +88,12 @@ as shown in the following example. Set-DscLocalConfigurationManager -Path "c:\users\public\dsc" ``` -> **Note**: For the **Path** parameter, you must specify the same path that you specified for the **OutputPath** parameter when you invoked the configuration in the previous example. +> [!NOTE] +> For the **Path** parameter, you must specify the same path that you specified for the **OutputPath** parameter when you invoked the configuration in the previous example. To see the current Local Configuration Manager settings, you can use the **Get-DscLocalConfigurationManager** cmdlet. If you invoke this cmdlet with no parameters, by default it will get the Local Configuration Manager settings for the node on which you run it. -To specify another node, use the **CimSession** parameter with this cmdlet. \ No newline at end of file +To specify another node, use the **CimSession** parameter with this cmdlet. diff --git a/dsc/media/get-test-set.png b/dsc/media/get-test-set.png new file mode 100644 index 000000000000..396b8cfc5ad8 Binary files /dev/null and b/dsc/media/get-test-set.png differ diff --git a/dsc/media/multiple-resource-versions-broken.png b/dsc/media/multiple-resource-versions-broken.png new file mode 100644 index 000000000000..bc536f1a4dff Binary files /dev/null and b/dsc/media/multiple-resource-versions-broken.png differ diff --git a/dsc/media/multiple-resource-versions-fixed.png b/dsc/media/multiple-resource-versions-fixed.png new file mode 100644 index 000000000000..7a63db7d334d Binary files /dev/null and b/dsc/media/multiple-resource-versions-fixed.png differ diff --git a/dsc/media/resource-intellisense.png b/dsc/media/resource-intellisense.png new file mode 100644 index 000000000000..c9c0f6b462d1 Binary files /dev/null and b/dsc/media/resource-intellisense.png differ diff --git a/dsc/media/resource-tabcompletion.png b/dsc/media/resource-tabcompletion.png new file mode 100644 index 000000000000..ce16c87619c8 Binary files /dev/null and b/dsc/media/resource-tabcompletion.png differ diff --git a/dsc/media/right-click.gif b/dsc/media/right-click.gif new file mode 100644 index 000000000000..07998657caa3 Binary files /dev/null and b/dsc/media/right-click.gif differ diff --git a/dsc/nanoDsc.md b/dsc/nanoDsc.md deleted file mode 100644 index c39670e12387..000000000000 --- a/dsc/nanoDsc.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Using DSC on Nano Server ---- - -# Using DSC on Nano Server - -> Applies To: Windows PowerShell 5.0 - -**DSC on Nano Server** is an optional package in the `NanoServer\Packages` folder of the Windows Server 2016 media. The package can be installed when you create a VHD for a Nano Server by -specifying **Microsoft-NanoServer-DSC-Package** as the value of the **Packages** parameter of the **New-NanoServerImage** function. For example, if you are creating a VHD for a virtual -machine, the command would look like the following: - -```powershell -New-NanoServerImage -Edition Standard -DeploymentType Guest -MediaPath f:\ -BasePath .\Base -TargetPath .\Nano1\Nano.vhd -ComputerName Nano1 -Packages Microsoft-NanoServer-DSC-Package -``` - -For information about installing and using Nano Server, as well as how to manage Nano Server with PowerShell Remoting, see -[Getting Started with Nano Server](https://technet.microsoft.com/library/mt126167.aspx). - - -## DSC features available on Nano Server - - Because Nano Server supports only a limited set of APIs compared to a full version of Windows Server, DSC on Nano Server does not have full functional parity with DSC running on - full SKUs for the time being. DSC on Nano Server is in active development and is not yet feature complete. - - The following DSC features are currently available on Nano Server: - - -* Both push and pull modes - -* All DSC cmdlets that exist on a full version of Windows Server, including the following: - * [Get-DscLocalConfigurationManager](https://technet.microsoft.com/library/dn407378.aspx) - * [Set-DscLocalConfigurationManager](https://technet.microsoft.com/library/dn521621.aspx) - * [Enable-DscDebug](https://technet.microsoft.com/en-us/library/mt517870.aspx) - * [Disable-DscDebug](https://technet.microsoft.com/en-us/library/mt517872.aspx) - * [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) - * [Stop-DscConfiguration](https://technet.microsoft.com/en-us/library/mt143542.aspx) - * [Get-DscConfiguration](https://technet.microsoft.com/en-us/library/dn407379.aspx) - * [Test-DscConfiguration](https://technet.microsoft.com/en-us/library/dn407382.aspx) - * [Publish-DscConfiguraiton](https://technet.microsoft.com/en-us/library/mt517875.aspx) - * [Update-DscConfiguration](https://technet.microsoft.com/en-us/library/mt143541.aspx) - * [Restore-DscConfiguration](https://technet.microsoft.com/en-us/library/dn407383.aspx) - * [Remove-DscConfigurationDocument](https://technet.microsoft.com/en-us/library/mt143544.aspx) - * [Get-DscConfigurationStatus](https://technet.microsoft.com/en-us/library/mt517868.aspx) - * [Invoke-DscResource](https://technet.microsoft.com/en-us/library/mt517869.aspx) - * [Find-DscResource](https://technet.microsoft.com/en-us/library/mt517874.aspx) - * [Get-DscResource](https://technet.microsoft.com/en-us/library/dn521625.aspx) - * [New-DscChecksum](https://technet.microsoft.com/en-us/library/dn521622.aspx) - -* Compiling configurations (see [DSC configurations](configurations.md)) - - **Issue:** Password encryption (see [Securing the MOF File](securemof.md)) during configuration compilation doesn't work. - -* Compiling metaconfigurations (see [Configuring the Local Configuration Manager](metaConfig.md)) - -* Running a resource under user context (see [Running DSC with user credentials (RunAs)](runAsUser.md)) - -* Class-based resources (see [Writing a custom DSC resource with PowerShell classes](authoringResourceClass.md)) - -* Debugging of DSC resources (see [Debugging DSC resources](debugresource.md)) - - **Issue:** Doesn't work if a resource is using PsDscRunAsCredential (see [Running DSC with user credentials](runAsUser.md)) - -* [Specifying cross-node dependencies](crossNodeDependencies.md) - -* [Resource versioning](sxsResource.md) - -* Pull client (configurations & resources) (see [Setting up a pull client using configuration names](pullClientConfigNames.md)) - -* [Partial configurations (pull & push)](partialConfigs.md) - -* [Reporting to pull server](reportServer.md) - -* MOF encryption - -* Event logging - -* Azure Automation DSC reporting - -* Resources that are fully functional - * [Archive](archiveResource.md) - * [Environment](environmentResource.md) - * [File](fileResource.md) - * [Log](logResource.md) - * ProcessSet - * [Registry](registryResource.md) - * [Script](scriptResource.md) - * WindowsPackageCab - * [WindowsProcess](windowsProcessResource.md) - * WaitForAll (see [Specifying cross-node dependencies](crossNodeDependencies.md)) - * WaitForAny (see [Specifying cross-node dependencies](crossNodeDependencies.md)) - * WaitForSome (see [Specifying cross-node dependencies](crossNodeDependencies.md)) - -* Resources that are partially functional - * [Group](groupResource.md) - * GroupSet - - **Issue:** Above resources fail if specific instance is called twice (running the same configuration twice) - - * [Service](serviceResource.md) - * ServiceSet - - **Issue:** Only works for starting/stopping (status) service. Fails, if one tries to change other service attributes like startuptype, credentials, description etc.. The error thrown is similar to: - - *Cannot find type [management.managementobject]: verify that the assembly containing this type is loaded.* - -* Resources that are not functional - * [User](userResource.md) - - -## DSC features not available on Nano Server - -The following DSC features are not currently available on Nano Server: - -* Decrypting MOF document with encrypted password(s) -* Pull Server--you cannot currently set up a pull server on Nano Server -* Anything that is not in the list of feature works - -## Using custom DSC resources on Nano Server - -Due to a limited sets of Windows APIs and CLR libraries available on Nano Server, DSC resources that work on the full CLR version of Windows do not necessarily work on Nano Server. -Complete end-to-end testing before deploying any DSC custom resources to a production environment. - -## See Also -- [Getting Started with Nano Server](https://technet.microsoft.com/library/mt126167.aspx) \ No newline at end of file diff --git a/dsc/DscForEngineers.md b/dsc/overview/DscForEngineers.md similarity index 95% rename from dsc/DscForEngineers.md rename to dsc/overview/DscForEngineers.md index 17d7121c47fc..ce8c95b9aa10 100644 --- a/dsc/DscForEngineers.md +++ b/dsc/overview/DscForEngineers.md @@ -126,7 +126,7 @@ Start-DscConfiguration Sample_Share ``` This script is cleanly formatted and straightforward to read. -The logic paths and error handling are still present in the [resource](resources.md) implementation, +The logic paths and error handling are still present in the [resource](../resources/resources.md) implementation, but invisible to the script author. ## Separating Environment from Structure @@ -138,7 +138,7 @@ where other people verify the new functionality. Finally, the code goes into "prod", or the live site production environment. DSC configurations accommodate this dev-test-prod pipeline -through the use of [configuration data](configData.md). +through the use of [configuration data](../configurations/configData.md). This further abstracts the difference between the structure of the configuration from the nodes that are managed. For example, you can define a configuration @@ -154,8 +154,8 @@ with the correct configuration data for the environment you want to target. ## See Also -[Configurations](configurations.md) +[Configurations](../configurations/configurations.md) -[Configuration Data](configData.md) +[Configuration Data](../configurations/configData.md) -[Resources](resources.md) +[Resources](../resources/resources.md) diff --git a/dsc/authoringAdvanced.md b/dsc/overview/authoringAdvanced.md similarity index 90% rename from dsc/authoringAdvanced.md rename to dsc/overview/authoringAdvanced.md index 6c25790c68d3..a0ce4e2a32eb 100644 --- a/dsc/authoringAdvanced.md +++ b/dsc/overview/authoringAdvanced.md @@ -1,4 +1,10 @@ -# Advanced DSC Authoring for Composition and Collaboration +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Understanding DSC's role in a CI/CD pipeline +--- + +# Understanding DSC's role in a CI/CD pipeline This article describes the types of approaches available for combining configurations and resources. @@ -12,7 +18,7 @@ and a central team releasing changes to security baselines. The nuances of each approach including the benefits and risks are detailed here. -![Pipeline](images/Pipeline.jpg) +![Pipeline](../images/Pipeline.jpg) ## Types of Collaborative Authoring Techniques @@ -21,8 +27,8 @@ to enable this concept: | Concept | Detailed Information |-|- -| Partial Configurations | [Documentation](partialconfigs.md) -| Composite Resources | [Documentation](authoringresourcecomposite.md) +| Partial Configurations | [Documentation](../pull-server/partialConfigs.md) +| Composite Resources | [Documentation](../resources/authoringResourceComposite.md) ## Understanding The Impact of Each Approach @@ -41,7 +47,7 @@ and then assigned to the node. This requires LCM to be configured in advance with the name of each configuration. -![PartialConfiguration](images/PartialConfiguration.jpg) +![PartialConfiguration](../images/PartialConfiguration.jpg) Partial Configurations provide two, or more, teams complete control over configuration of a server, @@ -67,7 +73,7 @@ with both configurations applied. In this model, only one authority has permission to make changes in production. -![PartialSinglePipeline](images/PartialSinglePipeline.jpg) +![PartialSinglePipeline](../images/PartialSinglePipeline.jpg) When changes are required from Team B, they should submit a Pull Request against Team A's source control environment. @@ -84,7 +90,7 @@ to accept composite resources. The resources are used within a new configuration and a single compilation results in one MOF file. -![CompositeResource](images/CompositeResource.jpg) +![CompositeResource](../images/CompositeResource.jpg) There are two common scenarios for composite resources. The first is to reduce complexity and abstract unique concepts. @@ -168,4 +174,4 @@ creates a safe environment for releasing change in small but frequent batches. For more information about using release pipelines to manage core infrastructure, see the whitepaper: -[The Release Pipeline Model](http://aka.ms/thereleasepipelinemodel). +[The Release Pipeline Model](../further-reading/whitepapers.md). diff --git a/dsc/decisionMaker.md b/dsc/overview/decisionMaker.md similarity index 90% rename from dsc/decisionMaker.md rename to dsc/overview/decisionMaker.md index 0e88fa493489..f746e2cdc4c9 100644 --- a/dsc/decisionMaker.md +++ b/dsc/overview/decisionMaker.md @@ -12,7 +12,7 @@ This document describes the business benefits of using Windows PowerShell Desire PowerShell Desired State Configuration is a configuration management platform built into Windows that is based on open standards. DSC is flexible enough to function reliably and consistently in each stage of the deployment lifecycle (development, test, pre-production, production), as well as during scale-out. -DSC centers around [configurations](configurations.md). +DSC centers around [configurations](../configurations/configurations.md). A configuration is an easy-to-read document that describes an environment made up of computers ("nodes") with specific characteristics. These characteristics can be as simple as ensuring a specific Windows feature is enabled or as complex as deploying SharePoint. @@ -38,13 +38,12 @@ DSC was designed with [DevOps](http://blogs.technet.com/b/ashleymcglone/archive/ Having a single configuration define an environment means that developers can encode their requirements into a configuration, check that configuration into source control, and operation teams can easily deploy code without having to go through error-prone manual processes. -Configurations are also [data-driven](configData.md), +Configurations are also [data-driven](../configurations/configData.md), which makes it easier for ops to identify and change environments without developer intervention. -## Desired State Configuration On- and Off-Premises - +## Desired State Configuration On-Premises and Off-Premises DSC can be used to manage both on-premise and off-premise deployments. -For on-premise solutions, DSC has a [pull server](pullServer.md) +For on-premise solutions, DSC has a [pull server](../pull-server/pullServer.md) that can be used to centralize management of machines and report on their status. For cloud solutions, DSC is usable wherever Windows is usable. There are also specific offerings from Azure built on Desired State Configuration, @@ -55,4 +54,4 @@ such as [Azure Automation](https://azure.microsoft.com/en-us/documentation/servi Although DSC was introduced in Windows Server 2012 R2, it is available for down-level operating systems via the Windows Management Framework (WMF) package. More information about the WMF can be found on the [PowerShell homepage](/powershell/). -DSC can also be used to manage Linux. For more information, see [Getting Started with DSC for Linux](lnxGettingStarted.md). +DSC can also be used to manage Linux. For more information, see [Getting Started with DSC for Linux](../getting-started/lnxGettingStarted.md). diff --git a/dsc/overview.md b/dsc/overview/overview.md similarity index 69% rename from dsc/overview.md rename to dsc/overview/overview.md index 412cca6c4655..9678f688a042 100644 --- a/dsc/overview.md +++ b/dsc/overview/overview.md @@ -12,25 +12,25 @@ DSC is a management platform in PowerShell that enables you to manage your IT an - For an overview of the business benefits of using DSC, see [Desired State Configuration Overview for Decision Makers](decisionMaker.md). - For an overview of the engineering benefits of using DSC, see [Desired State Configuration Overview for Engineers](DscForEngineers.md). -- To start using DSC quickly, see [DSC quick start](quickStart.md). +- To start using DSC quickly, see [DSC quick start](../quickstarts/website-quickstart.md). ## Key Concepts DSC is a declarative platform used for configuration, deployment, and management of systems. It consists of three primary components: -- [Configurations](configurations.md) are declarative PowerShell scripts which define and configure instances of resources. +- [Configurations](../configurations/configurations.md) are declarative PowerShell scripts which define and configure instances of resources. Upon running the configuration, DSC (and the resources being called by the configuration) will simply “make it soâ€, ensuring that the system exists in the state laid out by the configuration. DSC configurations are also idempotent: the Local Configuration Manager (LCM) will continue to ensure that machines are configured in whatever state the configuration declares. -- [Resources](resources.md) are the "make it so" part of DSC. They contain the code that put and keep the target of a configuration in the specified state. +- [Resources](../resources/resources.md) are the "make it so" part of DSC. They contain the code that put and keep the target of a configuration in the specified state. Resources reside in PowerShell modules and can be written to model something as generic as a file or a Windows process, or as specific as an IIS server or a VM running in Azure. -- The [Local Configuration Manager (LCM)](metaConfig.md) is the engine by which DSC facilitates the interaction between resources and configurations. +- The [Local Configuration Manager (LCM)](../managing-nodes/metaConfig.md) is the engine by which DSC facilitates the interaction between resources and configurations. The LCM regularly polls the system using the control flow implemented by resources to ensure that the state defined by a configuration is maintained. If the system is out of state, the LCM makes calls to the code in resources to “make it so†according to the configuration. ## See Also -- [DSC Configurations](configurations.md) -- [DSC Resources](resources.md) -- [Configuring The Local Configuration Manager](metaConfig.md) \ No newline at end of file +- [DSC Configurations](../configurations/configurations.md) +- [DSC Resources](../resources/resources.md) +- [Configuring The Local Configuration Manager](../managing-nodes/metaConfig.md) diff --git a/dsc/enactingConfigurations.md b/dsc/pull-server/enactingConfigurations.md similarity index 78% rename from dsc/enactingConfigurations.md rename to dsc/pull-server/enactingConfigurations.md index 3876f6d85ba1..c90c6bfcdd98 100644 --- a/dsc/enactingConfigurations.md +++ b/dsc/pull-server/enactingConfigurations.md @@ -13,24 +13,24 @@ push mode and pull mode. ## Push mode -![Push mode](images/pushModel.png "How push mode works") +![Push mode](../images/pushModel.png "How push mode works") Push mode refers to a user actively applying a configuration to a target node -by calling the [Start-DscConfiguration](https://technet.microsoft.com/library/dn521623.aspx) cmdlet. +by calling the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. After creating and compiling a configuration, you can enact it in push mode -by calling the [Start-DscConfiguration](https://technet.microsoft.com/library/dn521623.aspx) cmdlet, +by calling the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet, setting the -Path parameter of the cmdlet to the path where the configuration MOF is located. For example, if the configuration MOF is located at `C:\DSC\Configurations\localhost.mof`, you would apply it to the local machine with the following command: `Start-DscConfiguration -Path 'C:\DSC\Configurations'` > __Note__: By default, DSC runs a configuration as a background job. To run the configuration interactively, call the ->[Start-DscConfiguration](https://technet.microsoft.com/library/dn521623.aspx) with the __-Wait__ parameter. +>[Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) with the __-Wait__ parameter. ## Pull mode -![Pull Mode](images/pullModel.png "How pull mode works") +![Pull Mode](../images/pullModel.png "How pull mode works") In pull mode, pull clients are configured to get their desired state configurations from a remote pull service. @@ -49,7 +49,7 @@ specified by the **ConfigurationModeFrequencyMins** property of the LCM. The LCM checks for updated configurations on the pull service at regular intervals specified by the **RefreshModeFrequency** property of the LCM. For information about configuring the LCM, see -[Configuring the Local Configuration Manager](metaConfig.md). +[Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md). The recommended solution for hosting a Pull Service, is the DSC cloud service, [Azure Automation](https://azure.microsoft.com/services/automation/). @@ -63,6 +63,6 @@ and does require some "do it yourself" integration. The following topics explain pull service and clients: -- [Azure Automation DSC Overview](https://docs.microsoft.com/en-us/azure/automation/automation-dsc-overview) +- [Azure Automation DSC Overview](https://docs.microsoft.com/azure/automation/automation-dsc-overview) - [Setting up an SMB pull server](pullServerSMB.md) -- [Configuring a pull client](pullClientConfigID.md) \ No newline at end of file +- [Configuring a pull client](pullClientConfigID.md) diff --git a/dsc/pull-server/package-upload-resources.md b/dsc/pull-server/package-upload-resources.md new file mode 100644 index 000000000000..96768e0b6a9b --- /dev/null +++ b/dsc/pull-server/package-upload-resources.md @@ -0,0 +1,96 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Package and Upload Resources to a Pull Server +--- + +# Package and Upload Resources to a Pull Server + +The sections below assume that you have already set up a Pull Server. If you have not set up your Pull Server, you can use the following guides: + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) + +Each target node can be configured to download configurations, resources, and even report its status. This article will show you how to upload resources so they are available to be downloaded, and configure clients to download resources automatically. When the Node's receives an assigned Configuration, through **Pull** or **Push** (v5), it automatically downloads any resources required by the Configuration from the location specified in the LCM. + +## Package Resource Modules + +Each resource available for a client to download must be stored in a ".zip" file. The example below will show the required steps using the [xPSDesiredStateConfiguration](https://www.powershellgallery.com/packages/xPSDesiredStateConfiguration/8.4.0.0) resource. + +> [!NOTE] +> If you have any clients using PowerShell 4.0, you will need to flaten the resource folder structure and remove any version folders. For more information, see [Multiple Resource Versions](../configurations/import-dscresource.md#multiple-resource-versions). + +You can compress the resource directory using any utility, script, or method that you prefer. In Windows, you can *right-click* on the "xPSDesiredStateConfiguration" directory, and select "Send To", then "Compressed Folder". + +![Right Click](../media/right-click.gif) + +### Naming the Resource Archive + +The Resource archive needs to be named with the following format: + +``` +{ModuleName}_{Version}.zip +``` + +In the example above, "xPSDesiredStateConfiguration.zip" should be renamed "xPSDesiredStateConfiguration_8.4.4.0.zip". + +### Create CheckSums + +Once the Resource module has been compressed and renamed, you need to create a **CheckSum**. The **CheckSum** is used, by the LCM on the client, to determine if the resource has been changed, and needs to be downloaded again. You can create a **CheckSum** with the [New-DSCCheckSum](/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum) cmdlet, as shown in the example below. + +```powershell +New-DscChecksum -Path .\xPSDesiredStateConfiguration_8.4.4.0.zip +``` + +No output will be shown, but you should now see a "xPSDesiredStateConfiguration_8.4.4.0.zip.checksum". You can also run `New-DSCCheckSum` against a directory of files using the `-Path` parameter. If a checksum already exists, you can force it to be re-created with the `-Force` parameter. + +### Where to store Resource Archives + +#### On a DSC HTTP Pull Server + +When you set up your HTTP Pull Server, as explained in [Set up a DSC HTTP Pull Server](pullServer.md), you specify directories for the **ModulePath** and **ConfigurationPath** keys. The **ConfigurationPath** key indicates where any ".mof" files should be stored. The **ModulePath** indicates where any DSC Resource Modules should be stored. + +```powershell + xDscWebService PSDSCPullServer + { + ... + ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" + ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" + ... + } + +``` + +#### On an SMB Share + +If you specified a **ResourceRepositoryShare**, when setting up your Pull Client, store archives and checksums in the **SourcePath** directory from the **ResourceRepositoryShare** block. + +```powershell +ConfigurationRepositoryShare SMBPullServer +{ + SourcePath = '\\SMBPullServer\Configurations' +} + +ResourceRepositoryShare SMBResourceServer +{ + SourcePath = '\\SMBPullServer\Resources' +} +``` + +If you specified only a **ConfigurationRepositoryShare**, when setting up your Pull Client, store archives and checksums in the **SourcePath** directory from the **ConfigurationRepositoryShare** block. + +```powershell +ConfigurationRepositoryShare SMBPullServer +{ + SourcePath = '\\SMBPullServer\Pull' +} +``` + +#### Updating resources + +You can force a Node to update its resources by changing the version number in the archive's name, or by creating a new checksum. The Pull Client will check for newer versions of required resources, as well as updated checksums, when its LCM refreshes. + +## See also + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) diff --git a/dsc/partialConfigs.md b/dsc/pull-server/partialConfigs.md similarity index 99% rename from dsc/partialConfigs.md rename to dsc/pull-server/partialConfigs.md index 17d1c5b79e54..258d0bb318da 100644 --- a/dsc/partialConfigs.md +++ b/dsc/pull-server/partialConfigs.md @@ -28,7 +28,7 @@ To use partial configurations in push mode, you configure the LCM on the target partial configurations. Each partial configuration must be pushed to the target by using the `Publish-DSCConfiguration` cmdlet. The target node then combines the partial configuration into a single configuration, and you can apply the configuration by calling the -[Start-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Start-DscConfiguration) +[Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. ### Configuring the LCM for push-mode partial configurations @@ -447,4 +447,4 @@ SharePointConfig [Windows PowerShell Desired State Configuration Pull Servers](pullServer.md) -[Windows Configuring the Local Configuration Manager](metaConfig.md) \ No newline at end of file +[Windows Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md) \ No newline at end of file diff --git a/dsc/pull-server/publishConfigs.md b/dsc/pull-server/publishConfigs.md new file mode 100644 index 000000000000..c1cbae5dda07 --- /dev/null +++ b/dsc/pull-server/publishConfigs.md @@ -0,0 +1,121 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Publish to a Pull Server using Configuration IDs (v4/v5) +--- + +# Publish to a Pull Server using Configuration IDs (v4/v5) + +The sections below assume that you have already set up a Pull Server. If you have not set up your Pull Server, you can use the following guides: + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) + +Each target node can be configured to download configurations, resources, and even report its status. This article will show you how to upload resources so they are available to be downloaded, and configure clients to download resources automatically. When the Node's receives an assigned Configuration, through **Pull** or **Push** (v5), it automatically downloads any resources required by the Configuration from the location specified in the LCM. + +## Compile Configurations + +The first step to storing [Configurations](../configurations/configurations.md) on a Pull Server, is to compile them into ".mof" files. To make a configuration generic, and applicable to more clients, use `localhost` in your Node block. The example below shows a Configuration shell that uses `localhost` instead of a specific client name. + +```powershell +Configuration GenericConfig +{ + Node localhost + { + + } +} +GenericConfig +``` + +Once you have compiled your generic configuration, you should have a "localhost.mof" file. + +## Renaming the MOF file + +You can store Configuration ".mof" files on a Pull Server by **ConfigurationName** or **ConfigurationID**. Depending on how you plan to set up your pull clients, you can choose a section below to properly rename your compiled ".mof" files. + +### Configuration IDs (GUID) + +You will need to rename your "localhost.mof" file to ".mof" file. You can create a random **Guid** using the example below, or by using the [New-Guid](/powershell/module/microsoft.powershell.utility/new-guid) cmdlet. + +```powershell +[System.Guid]::NewGuid() +``` + +Sample Output + +```output +Guid +---- +64856475-939e-41fb-aba5-4469f4006059 +``` + +You can then rename your ".mof" file using any acceptable method. The example below, uses the [Rename-Item](/powershell/module/microsoft.powershell.management/rename-item) cmdlet. + +```powershell +Rename-Item -Path .\localhost.mof -NewName '64856475-939e-41fb-aba5-4469f4006059.mof' +``` + +For more information about using **Guids** in your environment, see [Plan for Guids](/powershell/dsc/secureserver#guids). + +### Configuration Names + +You will need to rename your "localhost.mof" file to ".mof" file. In the following example, the configuration name from the previous section is used. You can then rename your ".mof" file using any acceptable method. The example below, uses the [Rename-Item](/powershell/module/microsoft.powershell.management/rename-item) cmdlet. + +```powershell +Rename-Item -Path .\localhost.mof -NewName 'GenericConfig.mof' +``` + +## Create the CheckSum + +Each ".mof" file stored on a Pull Server, or SMB share needs to have an associated ".checksum" file. This file lets clients know when the associated ".mof" file has changed and should be downloaded again. + +You can create a **CheckSum** with the [New-DSCCheckSum](/powershell/module/psdesiredstateconfiguration/new-dscchecksum) cmdlet. You can also run `New-DSCCheckSum` against a directory of files using the `-Path` parameter. If a checksum already exists, you can force it to be re-created with the `-Force` parameter. The following example specified a directory containing the ".mof" file from the previous section, and uses the `-Force` parameter. + +```powershell +New-DscChecksum -Path '.\' -Force +``` + +No output will be shown, but you should now see a ".mof.checksum" file. + +## Where to store MOF files and CheckSums + +### On a DSC HTTP Pull Server + +When you set up your HTTP Pull Server, as explained in [Set up a DSC HTTP Pull Server](pullServer.md), you specify directories for the **ModulePath** and **ConfigurationPath** keys. The **ConfigurationPath** key indicates where any ".mof" files should be stored. The **ConfigurationPath** indicates where any ".mof" files and ".checksum" files should be stored. + +```powershell + xDscWebService PSDSCPullServer + { + ... + ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" + ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" + ... + } + +``` + +### On an SMB Share + +When you set up a Pull Client to use an SMB share, you specify a **ConfigurationRepositoryShare**. All ".mof" files and ".checksum" files should then be stored in the **SourcePath** directory from the **ConfigurationRepositoryShare** block. + +```powershell +ConfigurationRepositoryShare SMBPullServer +{ + SourcePath = '\\SMBPullServer\Pull' +} +``` + +## Next Steps + +Next, you will want to configure Pull Clients to pull the specified configuration. For more information, see one of the following guides: + +- [Set up a Pull Client using Configuration IDs (v4)](pullClientConfigId4.md) +- [Set up a Pull Client using Configuration IDs (v5)](pullClientConfigId.md) +- [Set up a Pull Client using Configuration Names (v5)](pullClientConfigNames.md) + +## See also + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) +- [Package and Upload Resources to a Pull Server](package-upload-resources.md) diff --git a/dsc/pullClient.md b/dsc/pull-server/pullClient.md similarity index 85% rename from dsc/pullClient.md rename to dsc/pull-server/pullClient.md index 6c336838f1ec..953b8f090bb8 100644 --- a/dsc/pullClient.md +++ b/dsc/pull-server/pullClient.md @@ -21,4 +21,5 @@ The following topics explain how to set up pull clients: * [Setting up a pull client using configuration names](pullClientConfigNames.md) * [Setting up a pull client using configuration ID](pullClientConfigID.md) -> **Note**: These topics apply to PowerShell 5.0. To set up a pull client in PowerShell 4.0, see [Setting up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md). \ No newline at end of file +> [!NOTE] +> These topics apply to PowerShell 5.0. To set up a pull client in PowerShell 4.0, see [Setting up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md). \ No newline at end of file diff --git a/dsc/pull-server/pullClientConfigID.md b/dsc/pull-server/pullClientConfigID.md new file mode 100644 index 000000000000..8dc2fc21e17f --- /dev/null +++ b/dsc/pull-server/pullClientConfigID.md @@ -0,0 +1,297 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Set up a Pull Client using Configuration IDs in PowerShell 5.0 and later +--- + +# Set up a Pull Client using Configuration IDs in PowerShell 5.0 and later + +> Applies To: Windows PowerShell 5.0 + +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server +> however there are no plans to offer new features or capabilities. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + +Before setting up a pull client, you should set up a pull server. Though this order is not required, it helps with troubleshooting, and helps you ensure that the registration was successful. To set up a pull server, you can use the following guides: + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) + +Each target node can be configured to download configurations, resources, and even report its status. The sections below show you how to configure a pull client with an SMB share or HTTP DSC Pull Server. When the Node's LCM refreshes, it will reach out to the configured location to download any assigned configurations. If any required resources do not exist on the Node, it will automatically download them from the configured location. If the Node is configured with a [Report Server](reportServer.md), it will then report the status of the operation. + +> [!NOTE] +> This topic applies to PowerShell 5.0. For information on setting up a pull client in PowerShell 4.0, see [Setting up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md) + +## Configure the pull client LCM + +Executing any of the examples below creates a new output folder named **PullClientConfigID** and puts a metaconfiguration MOF file there. In this case, the metaconfiguration MOF file will be named `localhost.meta.mof`. + +To apply the configuration, call the **Set-DscLocalConfigurationManager** cmdlet, with the **Path** set to the location of the metaconfiguration MOF file. For example: + +```powershell +Set-DSCLocalConfigurationManager –ComputerName localhost –Path .\PullClientConfigId –Verbose. +``` + +## Configuration ID + +The examples below sets the **ConfigurationID** property of the LCM to a **Guid** that had been previously created for this purpose. The **ConfigurationID** is what the LCM uses to find the appropriate configuration on the pull server. The configuration MOF file on the pull server must be named `ConfigurationID.mof`, where *ConfigurationID* is the value of the **ConfigurationID** property of the target node's LCM. For more information see [Publish Configurations to a Pull Server (v4/v5)](publishConfigs.md). + +You can create a random **Guid** using the example below, or by using the [New-Guid](/powershell/module/microsoft.powershell.utility/new-guid) cmdlet. + +```powershell +[System.Guid]::NewGuid() +``` + +For more information about using **Guids** in your environment, see [Plan for Guids](/powershell/dsc/secureserver#guids). + +## Set up a Pull Client to download Configurations + +Each client must be configured in **Pull** mode and given the pull server url where its configuration is stored. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration, decorated with the **DSCLocalConfigurationManager** attribute. For more information about configuring the LCM, see [Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md). + +### HTTP DSC Pull Server + +The following script configures the LCM to pull configurations from a server named "CONTOSO-PullSrv". + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + + } + } +} +PullClientConfigID +``` + +In the script, the **ConfigurationRepositoryWeb** block defines the pull server. The **ServerUrl** specifies the url of the DSC Pull + +### SMB Share + +The following script configures the LCM to pull configurations from the SMB Share `\\SMBPullServer\Pull`. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryShare SMBPullServer + { + SourcePath = '\\SMBPullServer\Pull' + } + } +} +PullClientConfigID +``` + +In the script, the **ConfigurationRepositoryShare** block defines the pull server, which in this case, is just an SMB share. + +## Set up a Pull Client to download Resources + +If you specify only the **ConfigurationRepositoryWeb** or **ConfigurationRepositoryShare** block in your LCM configuration (as in the previous examples), the pull client will pull resources from the same location it retrieves its configurations. You can also specify separate locations for resources. To specify a resource location as a separate server, use the **ResourceRepositoryWeb** block. To specify a resource location as an SMB share, use the **ResourceRepositoryShare** block. + +> [!NOTE] +> You can combine **ConfigurationRepositoryWeb** with **ResourceRepositoryShare** or **ConfigurationRepositoryShare** with **ResourceRepositoryWeb**. Examples of this are not shown below. + +### HTTP DSC Pull Server + +The following metaconfiguration configures a pull client to get its configurations from **CONTOSO-PullSrv** and its resources from **CONTOSO-ResourceSrv**. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + + } + + ResourceRepositoryWeb CONTOSO-ResourceSrv + { + ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc' + } + } +} +PullClientConfigID +``` + +### SMB Share + +The following example shows a metaconfiguration that sets up a client to pull configurations from the SMB share `\\SMBPullServer\Configurations`, and resources from the SMB share `\\SMBPullServer\Resources`. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryShare SMBPullServer + { + SourcePath = '\\SMBPullServer\Configurations' + } + + ResourceRepositoryShare SMBResourceServer + { + SourcePath = '\\SMBPullServer\Resources' + } + } +} +PullClientConfigID +``` + +#### Automatically download Resources in Push Mode + +Beginning in PowerShell 5.0, your pull clients can download modules from an SMB share, even when they are configured for **Push** mode. This is especially useful in scenarios where you do not want to set up a Pull Server. The **ResourceRepositoryShare** block can be used without specifying a **ConfigurationRepositoryShare**. The following example shows a metaconfiguration that sets up a client to pull resources from an SMB Share `\\SMBPullServer\Resources`. When the Node is **PUSHED** a configuration, it will automatically download any required resources, from the share specified. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Push' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + } + + ResourceRepositoryShare SMBResourceServer + { + SourcePath = '\\SMBPullServer\Resources' + } + } +} +PullClientConfigID +``` + +## Set up a Pull Client to report status + +By default, Nodes will not send reports to a configured Pull Server. You can use a single pull server for configurations, resources, and reporting, but you have to create a +**ReportRepositoryWeb** block to set up reporting. + +### HTTP DSC Pull Server + +The following example shows a metaconfiguration that sets up a client to pull configurations and resources, and send reporting data, to a single pull server. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + } + + ReportServerWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + } + } +} +PullClientConfigID +``` + +To specify a report server, you use a **ReportRepositoryWeb** block. A report server cannot be an SMB server. +The following metaconfiguration configures a pull client to get its configurations from **CONTOSO-PullSrv** and its resources from **CONTOSO-ResourceSrv**, and to send status reports to **CONTOSO-ReportSrv**: + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigID +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + + } + + ResourceRepositoryWeb CONTOSO-ResourceSrv + { + ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc' + } + + ReportServerWeb CONTOSO-ReportSrv + { + ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc' + } + } +} +PullClientConfigID +``` + +### SMB Share + +A report server cannot be an SMB share. + +## Next Steps + +Once the pull client has been configured, you can use the following guides to perform the next steps: + +- [Publish Configurations to a Pull Server (v4/v5)](publishConfigs.md) +- [Package and Upload Resources to a Pull Server (v4)](package-upload-resources.md) + +## See Also + +* [Setting up a pull client with configuration names](pullClientConfigNames.md) diff --git a/dsc/pull-server/pullClientConfigID4.md b/dsc/pull-server/pullClientConfigID4.md new file mode 100644 index 000000000000..eea6c5a2d57c --- /dev/null +++ b/dsc/pull-server/pullClientConfigID4.md @@ -0,0 +1,103 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Set up a Pull Client using Configuration IDs in PowerShell 4.0 +--- + +# Set up a Pull Client using Configuration IDs in PowerShell 4.0 + +>Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server +> however there are no plans to offer new features or capabilities. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + +Before setting up a pull client, you should set up a pull server. Though this order is not required, it helps with troubleshooting, and helps you ensure that the registration was successful. To set up a pull server, you can use the following guides: + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) + +Each target node can be configured to download configurations, resources, and even report its status. The sections below show you how to configure a pull client with an SMB share or HTTP DSC Pull Server. When the Node's LCM refreshes, it will reach out to the configured location to download any assigned configurations. If any required resources do not exist on the Node, it will automatically download them from the configured location. If the Node is configured with a [Report Server](reportServer.md), it will then report the status of the operation. + +## Configure the pull client LCM + +Executing any of the examples below creates a new output folder named **PullClientConfigID** and puts a metaconfiguration MOF file there. In this case, the metaconfiguration MOF file will be named `localhost.meta.mof`. + +To apply the configuration, call the **Set-DscLocalConfigurationManager** cmdlet, with the **Path** set to the location of the metaconfiguration MOF file. For example: + +```powershell +Set-DSCLocalConfigurationManager –ComputerName localhost –Path .\PullClientConfigId –Verbose. +``` + +## Configuration ID + +The examples below set the **ConfigurationID** property of the LCM to a **Guid** that had been previously created for this purpose. The **ConfigurationID** is what the LCM uses to find the appropriate configuration on the pull server. The configuration MOF file on the pull server must be named `ConfigurationID.mof`, where *ConfigurationID* is the value of the **ConfigurationID** property of the target node's LCM. For more information, see [Publish Configurations to a Pull Server (v4/v5)](publishConfigs.md). + +You can create a random **Guid** using the example below. + +```powershell +[System.Guid]::NewGuid() +``` + +## Set up a Pull Client to download Configurations + +Each client must be configured in **Pull** mode and given the pull server url where its configuration is stored. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration, with a **LocalConfigurationManager** block. For more information about configuring the LCM, see [Configuring the Local Configuration Manager](../managing-nodes/metaConfig4.md). + +## HTTP DSC Pull Server + +If the pull server is set up as a web service, you set the **DownloadManagerName** to **WebDownloadManager**. The **WebDownloadManager** requires that you specify a **ServerUrl** to the **DownloadManagerCustomData** key. You can also specify a value for **AllowUnsecureConnection**, as in the example below. The following script configures the LCM to pull configurations from a server named "PullServer". + +```powershell +Configuration PullClientConfigId +{ + LocalConfigurationManager + { + ConfigurationID = "1C707B86-EF8E-4C29-B7C1-34DA2190AE24"; + RefreshMode = "PULL"; + DownloadManagerName = "WebDownloadManager"; + RebootNodeIfNeeded = $true; + RefreshFrequencyMins = 30; + ConfigurationModeFrequencyMins = 30; + ConfigurationMode = "ApplyAndAutoCorrect"; + DownloadManagerCustomData = @{ServerUrl = "http://PullServer:8080/PSDSCPullServer/PSDSCPullServer.svc"; AllowUnsecureConnection = “TRUEâ€} + } +} +PullClientConfigId -Output "." +``` + +## SMB Share + +If the pull server is set up as an SMB file share, rather than a web service, you set the **DownloadManagerName** to **DscFileDownloadManager** rather than the **WebDownLoadManager**. The **DscFileDownloadManager** requires that you specify a **SourcePath** property in the **DownloadManagerCustomData**. The following script configures the LCM to pull configurations from an SMB share named "SmbDscShare" on a server named "CONTOSO-SERVER". + +```powershell +Configuration PullClientConfigId +{ + LocalConfigurationManager + { + ConfigurationID = "1C707B86-EF8E-4C29-B7C1-34DA2190AE24"; + RefreshMode = "PULL"; + DownloadManagerName = "DscFileDownloadManager"; + RebootNodeIfNeeded = $true; + RefreshFrequencyMins = 30; + ConfigurationModeFrequencyMins = 30; + ConfigurationMode = "ApplyAndAutoCorrect"; + DownloadManagerCustomData = @{ServerUrl = "\\CONTOSO-SERVER\SmbDscShare"} + } +} +PullClientConfigId -Output "." +``` + +## Next Steps + +Once the pull client has been configured, you can use the following guides to perform the next steps: + +- [Publish Configurations to a Pull Server (v4/v5)](publishConfigs.md) +- [Package and Upload Resources to a Pull Server (v4)](package-upload-resources.md) + +## See Also + +- [Set up a DSC web pull server](pullServer.md) +- [Set up a DSC SMB pull server](pullServerSMB.md) diff --git a/dsc/pull-server/pullClientConfigNames.md b/dsc/pull-server/pullClientConfigNames.md new file mode 100644 index 000000000000..1cdb086ed0ce --- /dev/null +++ b/dsc/pull-server/pullClientConfigNames.md @@ -0,0 +1,155 @@ +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Set up a Pull Client using Configuration Names in PowerShell 5.0 and later +--- +# Set up a Pull Client using Configuration Names in PowerShell 5.0 and later + +> Applies To: Windows PowerShell 5.0 + +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server +> however there are no plans to offer new features or capabilities. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + +Before setting up a pull client, you should set up a pull server. Though this order is not required, it helps with troubleshooting, and helps you ensure that the registration was successful. To set up a pull server, you can use the following guides: + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) + +Each target node can be configured to download configurations, resources, and even report its status. The sections below show you how to configure a pull client with an SMB share or HTTP DSC Pull Server. When the Node's LCM refreshes, it will reach out to the configured location to download any assigned configurations. If any required resources do not exist on the Node, it will automatically download them from the configured location. If the Node is configured with a [Report Server](reportServer.md), it will then report the status of the operation. + +> [!NOTE] +> This topic applies to PowerShell 5.0. +> For information on setting up a pull client in PowerShell 4.0, see [Set up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md) + +## Configure the pull client LCM + +Executing any of the examples below creates a new output folder named **PullClientConfigName** and puts a metaconfiguration MOF file there. In this case, the metaconfiguration MOF file will be named `localhost.meta.mof`. + +To apply the configuration, call the **Set-DscLocalConfigurationManager** cmdlet, with the **Path** set to the location of the metaconfiguration MOF file. For example: + +```powershell +Set-DSCLocalConfigurationManager –ComputerName localhost –Path .\PullClientConfigName –Verbose. +``` + +## Configuration Name + +The examples below sets the **ConfigurationName** property of the LCM to the name of a previously compiled Configuration, created for this purpose. The **ConfigurationName** is what the LCM uses to find the appropriate configuration on the pull server. The configuration MOF file on the pull server must be named `.mof`, in this case, "ClientConfig.mof". For more information, see [Publish Configurations to a Pull Server (v4/v5)](publishConfigs.md). + +## Set up a Pull Client to download Configurations + +Each client must be configured in **Pull** mode and given the pull server url where its configuration is stored. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration, decorated with the **DSCLocalConfigurationManager** attribute. For more information about configuring the LCM, see [Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md). + +The following script configures the LCM to pull configurations from a server named "CONTOSO-PullSrv". + +- In the script, the **ConfigurationRepositoryWeb** block defines the pull server. The **ServerURL** property specifies the endpoint for the pull server. + +- The **RegistrationKey** property is a shared key between all client nodes for a pull server and that pull server. The same value is stored in a file on the pull server. + > [!NOTE] + > Registration keys work only with **web** pull servers. You must still use **ConfigurationID** with an **SMB** pull server. + > For information about configuring a pull server by using **ConfigurationID**, see [Setting up a pull client using configuration ID](pullClientConfigId.md) + +- The **ConfigurationNames** property is an array that specifies the names of the configurations intended for the client node. + >**Note:** If you specify more than one value in the **ConfigurationNames**, you must also specify **PartialConfiguration** blocks in your configuration. + >For information about partial configurations, see [PowerShell Desired State Configuration partial configurations](partialConfigs.md). + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigNames +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4' + ConfigurationNames = @('ClientConfig') + } + } +} +PullClientConfigNames +``` + +## Set up a Pull Client to download Resources + +If you specify only a **ConfigurationRepositoryWeb** or **ConfigurationRepositoryShare** block in your LCM configuration (as in the previous example), the pull client will pull resources from same location where your ".mof" files are stored. You can also specify different locations where clients can download resources. To specify a resource server, you use either a **ResourceRepositoryWeb** (for a web pull server) or a **ResourceRepositoryShare** block (for an SMB pull server). + +The following example shows a metaconfiguration that sets up a client to download configurations from a Pull Server, and resources from an SMB share. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigNames +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' + } + + ResourceRepositoryShare SMBResources + { + SourcePath = '\\SMBPullServer\Resources' + } + } +} +PullClientConfigNames +``` + +## Set up a Pull Client to report status + +You can use a single pull server for configurations, resources, and reporting. Reporting is not configured for clients by default. To configure a client to report status, you have to create a **ReportRepositoryWeb** block. The following example shows a metaconfiguration that sets up a client to pull configurations and resources, and send reporting data, to a single pull server. + +> [!NOTE] +> A report server cannot be an SMB share. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfigNames +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' + } + + ReportServerWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' + } + } +} +PullClientConfigNames +``` + +## See Also + +* [Setting up a pull client with configuration ID](PullClientConfigNames.md) +* [Setting up a DSC web pull server](pullServer.md) diff --git a/dsc/pullServer.md b/dsc/pull-server/pullServer.md similarity index 53% rename from dsc/pullServer.md rename to dsc/pull-server/pullServer.md index 4b12a527b1ae..4157ca2e3641 100644 --- a/dsc/pullServer.md +++ b/dsc/pull-server/pullServer.md @@ -1,12 +1,10 @@ --- -ms.date: 04/11/2018 +ms.date: 03/04/2019 keywords: dsc,powershell,configuration,setup title: DSC Pull Service --- # Desired State Configuration Pull Service -> Applies To: Windows PowerShell 5.0 - > [!IMPORTANT] > The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server > however there are no plans to offer new features or capabilities. It is recommended to @@ -40,21 +38,25 @@ For private environments where servers cannot directly connect to the Internet, consider limiting outbound traffic to only the published Azure IP range (see [Azure Datacenter IP Ranges](https://www.microsoft.com/en-us/download/details.aspx?id=41653)). -Features of the online service that are not currently available in the pull service on Windows Server include: +Features of the online service that are not currently available in the pull service on Windows +Server include: + - All data is encrypted in transit and at rest - Client certificates are created and managed automatically -- Secrets store for centrally managing [passwords/credentials](/azure/automation/automation-credentials), or [variables](/azure/automation/automation-variables) such as server names or connection strings -- Centrally manage node [LCM configuration](metaConfig.md#basic-settings) +- Secrets store for centrally managing [passwords/credentials](/azure/automation/automation-credentials), + or [variables](/azure/automation/automation-variables) such as server names or connection strings +- Centrally manage node [LCM configuration](../managing-nodes/metaConfig.md#basic-settings) - Centrally assign configurations to client nodes - Release configuration changes to "canary groups" for testing before reaching production - Graphical reporting - Status detail at the DSC resource level of granularity - Verbose error messages from client machines for troubleshooting -- [Integration with Azure Log Analytics](/azure/automation/automation-dsc-diagnostics) for alerting, automated tasks, Android/iOS app for reporting and alerting +- [Integration with Azure Log Analytics](/azure/automation/automation-dsc-diagnostics) for alerting, + automated tasks, Android/iOS app for reporting and alerting ## DSC pull service in Windows Server -It is possible to configuring a pull service +It is possible to configure a pull service to run on Windows Server. Be advised that the pull service solution included in Windows Server includes only capabilities of storing configurations/modules for download @@ -70,10 +72,11 @@ to target nodes when those nodes ask for them. Requirements for using a pull server: - A server running: - - WMF/PowerShell 5.0 or greater + - WMF/PowerShell 4.0 or greater - IIS server role - DSC Service -- Ideally, some means of generating a certificate, to secure credentials passed to the Local Configuration Manager (LCM) on target nodes +- Ideally, some means of generating a certificate, to secure credentials passed to the Local + Configuration Manager (LCM) on target nodes The best way to configure Windows Server to host pull service is to use a DSC configuration. @@ -85,16 +88,21 @@ An example script is provided below. |---------|---------|---------|---------| |MDB |ESENT (Default), MDB |ESENT (Default), MDB|ESENT (Default), SQL Server, MDB -Starting in release 17090 of [Windows Server Insider Preview](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewserver), SQL Server -is a supported option for the Pull Service (Windows Feature *DSC-Service*). This provides a new -option for scaling large DSC environments that have not migrated to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started). +Starting in release 17090 of +[Windows Server Insider Preview](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewserver), +SQL Server is a supported option for the Pull Service (Windows Feature *DSC-Service*). This provides +a new option for scaling large DSC environments that have not migrated to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started). -> **Note**: SQL Server support will not be added to previous versions of WMF 5.1 (or earlier) +> [!NOTE] +> SQL Server support will not be added to previous versions of WMF 5.1 (or earlier) > and will only be available on Windows Server versions greater than or equal to 17090. -To configure the pull server to use SQL Server, set **SqlProvider** to `$true` and **SqlConnectionString** -to a valid SQL Server Connection String. For more information, see [SqlClient Connection Strings](/dotnet/framework/data/adonet/connection-string-syntax#sqlclient-connection-strings). -For an example of SQL Server configuration with **xDscWebService**, first read [Using the xDscWebService resource](#using-the-xdscwebservice-resource) and then review [Sample_xDscWebServiceRegistration_UseSQLProvider.ps1 on GitHub](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/Examples/Sample_xDscWebServiceRegistration_UseSQLProvider.ps1). +To configure the pull server to use SQL Server, set **SqlProvider** to `$true` and +**SqlConnectionString** to a valid SQL Server Connection String. For more information, see +[SqlClient Connection Strings](/dotnet/framework/data/adonet/connection-string-syntax#sqlclient-connection-strings). +For an example of SQL Server configuration with **xDscWebService**, first read +[Using the xDscWebService resource](#using-the-xdscwebservice-resource) and then review +[Sample_xDscWebServiceRegistration_UseSQLProvider.ps1 on GitHub](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/Examples/Sample_xDscWebServiceRegistration_UseSQLProvider.ps1). ### Using the xDscWebService resource @@ -103,83 +111,117 @@ included in the **xPSDesiredStateConfiguration** module. The following steps explain how to use the resource in a configuration that sets up the web service. -1. Call the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to install the **xPSDesiredStateConfiguration** module. **Note**: **Install-Module** is included in the **PowerShellGet** module, which is included in PowerShell 5.0. You can download the **PowerShellGet** module for PowerShell 3.0 and 4.0 at [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). -1. Get an SSL certificate for the DSC Pull server from a trusted Certificate Authority, either within your organization or a public authority. The certificate received from the authority is usually in the PFX format. Install the certificate on the node that will become the DSC Pull server in the default location, which should be CERT:\LocalMachine\My. Make a note of the certificate thumbprint. -1. Select a GUID to be used as the Registration Key. To generate one using PowerShell enter the following at the PS prompt and press enter: '``` [guid]::newGuid()```' or '```New-Guid```'. This key will be used by client nodes as a shared key to authenticate during registration. For more information, see the Registration Key section below. -1. In the PowerShell ISE, start (F5) the following configuration script (included in the Examples folder of the **xPSDesiredStateConfiguration** module as Sample_xDscWebServiceRegistration.ps1). This script sets up the pull server. - -```powershell -configuration Sample_xDscWebServiceRegistration -{ - param - ( - [string[]]$NodeName = 'localhost', - - [ValidateNotNullOrEmpty()] - [string] $certificateThumbPrint, +1. Call the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to install the + **xPSDesiredStateConfiguration** module. + > [!NOTE] + > **Install-Module** is included in the + > **PowerShellGet** module, which is included in PowerShell 5.0. You can download the + > **PowerShellGet** module for PowerShell 3.0 and 4.0 at + > [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). +2. Get an SSL certificate for the DSC Pull server from a trusted Certificate Authority, either + within your organization or a public authority. The certificate received from the authority is + usually in the PFX format. +3. Install the certificate on the node that will become the DSC Pull server in the default location, + which should be `CERT:\LocalMachine\My`. + - Make a note of the certificate thumbprint. +4. Select a GUID to be used as the Registration Key. To generate one using PowerShell enter the + following at the PS prompt and press enter: `[guid]::newGuid()` or `New-Guid`. This key will be + used by client nodes as a shared key to authenticate during registration. For more information, + see the Registration Key section below. +5. In the PowerShell ISE, start (F5) the following configuration script (included in the Examples + folder of the **xPSDesiredStateConfiguration** module as + `Sample_xDscWebServiceRegistration.ps1`). This script sets up the pull server. - [Parameter(HelpMessage='This should be a string with enough entropy (randomness) to protect the registration of clients to the pull server. We will use new GUID by default.')] - [ValidateNotNullOrEmpty()] - [string] $RegistrationKey # A guid that clients use to initiate conversation with pull server - ) + ```powershell + configuration Sample_xDscWebServiceRegistration + { + param + ( + [string[]]$NodeName = 'localhost', - Import-DSCResource -ModuleName xPSDesiredStateConfiguration + [ValidateNotNullOrEmpty()] + [string] $certificateThumbPrint, - Node $NodeName - { - WindowsFeature DSCServiceFeature - { - Ensure = "Present" - Name = "DSC-Service" - } + [Parameter(HelpMessage='This should be a string with enough entropy (randomness) to protect the registration of clients to the pull server. We will use new GUID by default.')] + [ValidateNotNullOrEmpty()] + [string] $RegistrationKey # A guid that clients use to initiate conversation with pull server + ) - xDscWebService PSDSCPullServer - { - Ensure = "Present" - EndpointName = "PSDSCPullServer" - Port = 8080 - PhysicalPath = "$env:SystemDrive\inetpub\PSDSCPullServer" - CertificateThumbPrint = $certificateThumbPrint - ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" - ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" - State = "Started" - DependsOn = "[WindowsFeature]DSCServiceFeature" - RegistrationKeyPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService" - AcceptSelfSignedCertificates = $true - Enable32BitAppOnWin64 = $false - } + Import-DSCResource -ModuleName PSDesiredStateConfiguration + Import-DSCResource -ModuleName xPSDesiredStateConfiguration - File RegistrationKeyFile + Node $NodeName { - Ensure = 'Present' - Type = 'File' - DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt" - Contents = $RegistrationKey + WindowsFeature DSCServiceFeature + { + Ensure = "Present" + Name = "DSC-Service" + } + + xDscWebService PSDSCPullServer + { + Ensure = "Present" + EndpointName = "PSDSCPullServer" + Port = 8080 + PhysicalPath = "$env:SystemDrive\inetpub\PSDSCPullServer" + CertificateThumbPrint = $certificateThumbPrint + ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" + ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" + State = "Started" + DependsOn = "[WindowsFeature]DSCServiceFeature" + RegistrationKeyPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService" + AcceptSelfSignedCertificates = $true + UseSecurityBestPractices = $true + Enable32BitAppOnWin64 = $false + } + + File RegistrationKeyFile + { + Ensure = 'Present' + Type = 'File' + DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt" + Contents = $RegistrationKey + } } } -} -``` + ``` -1. Run the configuration, passing the thumbprint of the SSL certificate as the **certificateThumbPrint** parameter and a GUID registration key as the **RegistrationKey** parameter: +6. Run the configuration, passing the thumbprint of the SSL certificate as the + **certificateThumbPrint** parameter and a GUID registration key as the **RegistrationKey** + parameter: -```powershell -# To find the Thumbprint for an installed SSL certificate for use with the pull server list all certificates in your local store -# and then copy the thumbprint for the appropriate certificate by reviewing the certificate subjects -dir Cert:\LocalMachine\my + ```powershell + # To find the Thumbprint for an installed SSL certificate for use with the pull server list all certificates in your local store + # and then copy the thumbprint for the appropriate certificate by reviewing the certificate subjects + dir Cert:\LocalMachine\my -# Then include this thumbprint when running the configuration -Sample_xDSCPullServer -certificateThumbprint 'A7000024B753FA6FFF88E966FD6E19301FAE9CCC' -RegistrationKey '140a952b-b9d6-406b-b416-e0f759c9c0e4' -OutputPath c:\Configs\PullServer + # Then include this thumbprint when running the configuration + Sample_xDscWebServiceRegistration -certificateThumbprint 'A7000024B753FA6FFF88E966FD6E19301FAE9CCC' -RegistrationKey '140a952b-b9d6-406b-b416-e0f759c9c0e4' -OutputPath c:\Configs\PullServer -# Run the compiled configuration to make the target node a DSC Pull Server -Start-DscConfiguration -Path c:\Configs\PullServer -Wait -Verbose -``` + # Run the compiled configuration to make the target node a DSC Pull Server + Start-DscConfiguration -Path c:\Configs\PullServer -Wait -Verbose + ``` #### Registration Key -To allow client nodes to register with the server so that they can use configuration names instead of a configuration ID, a registration key that was created by the above configuration is saved in a file named `RegistrationKeys.txt` in `C:\Program Files\WindowsPowerShell\DscService`. The registration key functions as a shared secret used during the initial registration by the client with the pull server. The client will generate a self-signed certificate that is used to uniquely authenticate to the pull server once registration is successfully completed. The thumbprint of this certificate is stored locally and associated with the URL of the pull server. -> **Note**: Registration keys are not supported in PowerShell 4.0. - -In order to configure a node to authenticate with the pull server, the registration key needs to be in the metaconfiguration for any target node that will be registering with this pull server. Note that the **RegistrationKey** in the metaconfiguration below is removed after the target machine has successfully registered, and that the value '140a952b-b9d6-406b-b416-e0f759c9c0e4' must match the value stored in the RegistrationKeys.txt file on the pull server. Always treat the registration key value securely, because knowing it allows any target machine to register with the pull server. +To allow client nodes to register with the server so that they can use configuration names instead +of a configuration ID, a registration key that was created by the above configuration is saved in a +file named `RegistrationKeys.txt` in `C:\Program Files\WindowsPowerShell\DscService`. The +registration key functions as a shared secret used during the initial registration by the client +with the pull server. The client will generate a self-signed certificate that is used to uniquely +authenticate to the pull server once registration is successfully completed. The thumbprint of this +certificate is stored locally and associated with the URL of the pull server. + +> [!NOTE] +> Registration keys are not supported in PowerShell 4.0. + +In order to configure a node to authenticate with the pull server, the registration key needs to be +in the metaconfiguration for any target node that will be registering with this pull server. Note +that the **RegistrationKey** in the metaconfiguration below is removed after the target machine has +successfully registered, and that the value must match the value stored in the +`RegistrationKeys.txt` file on the pull server ('140a952b-b9d6-406b-b416-e0f759c9c0e4' for this +example). Always treat the registration key value securely, because knowing it allows any target +machine to register with the pull server. ```powershell [DSCLocalConfigurationManager()] @@ -191,7 +233,7 @@ configuration Sample_MetaConfigurationToRegisterWithLessSecurePullServer [string] $NodeName = 'localhost', [ValidateNotNullOrEmpty()] - [string] $RegistrationKey, #same as the one used to setup pull server in previous configuration + [string] $RegistrationKey, #same as the one used to set up pull server in previous configuration [ValidateNotNullOrEmpty()] [string] $ServerName = 'localhost' #node name of the pull server, same as $NodeName used in previous configuration @@ -222,7 +264,8 @@ configuration Sample_MetaConfigurationToRegisterWithLessSecurePullServer Sample_MetaConfigurationToRegisterWithLessSecurePullServer -RegistrationKey $RegistrationKey -OutputPath c:\Configs\TargetNodes ``` -> **Note**: The **ReportServerWeb** section allows reporting data to be sent to the pull server. +> [!NOTE] +> The **ReportServerWeb** section allows reporting data to be sent to the pull server. The lack of the **ConfigurationID** property in the metaconfiguration file implicitly means that pull server is supporting the V2 version @@ -230,7 +273,11 @@ of the pull server protocol so an initial registration is required. Conversely, the presence of a **ConfigurationID** means that the V1 version of the pull server protocol is used and there is no registration processing. ->**Note**: In a PUSH scenario, a bug exists in the current release that makes it necessary to define a ConfigurationID property in the metaconfiguration file for nodes that have never registered with a pull server. This will force the V1 Pull Server protocol and avoid registration failure messages. +> [!NOTE] +> In a PUSH scenario, a bug exists in the current release that makes it necessary to define +> a ConfigurationID property in the metaconfiguration file for nodes that have never registered with +> a pull server. This will force the V1 Pull Server protocol and avoid registration failure +> messages. ## Placing configurations and resources @@ -245,8 +292,9 @@ to correctly process them. Each resource module needs to be zipped and named according to the following pattern `{Module Name}_{Module Version}.zip`. + For example, a module named xWebAdminstration with a module version -of 3.1.2.0 would be named 'xWebAdministration_3.2.1.0.zip'. +of 3.1.2.0 would be named `xWebAdministration_3.2.1.0.zip`. Each version of a module must be contained in a single zip file. Since there is only a single version of a resource in each zip file, the module format added in WMF 5.0 with support for multiple module versions @@ -254,10 +302,10 @@ in a single directory is not supported. This means that before packaging up DSC resource modules for use with pull server you will need to make a small change to the directory structure. The default format of modules containing DSC resource in WMF 5.0 is -'{Module Folder}\{Module Version}\DscResources\{DSC Resource Folder}\'. +`{Module Folder}\{Module Version}\DscResources\{DSC Resource Folder}\`. Before packaging up for the pull server, remove the **{Module version}** folder so the path becomes -'{Module Folder}\DscResources\{DSC Resource Folder}\'. +`{Module Folder}\DscResources\{DSC Resource Folder}\`. With this change, zip the folder as described above and place these zip files in the **ModulePath** folder. @@ -279,7 +327,8 @@ a checksum is created for each configuration in the folder. Place the MOF files and their associated checksum files in the **ConfigurationPath** folder. ->**Note**: If you change the configuration MOF file in any way, you must also recreate the checksum file. +> [!NOTE] +> If you change the configuration MOF file in any way, you must also recreate the checksum file. ### Tooling @@ -287,7 +336,10 @@ In order to make setting up, validating and managing the pull server easier, the following tools are included as examples in the latest version of the xPSDesiredStateConfiguration module: -1. A module that will help with packaging DSC resource modules and configuration files for use on the pull server. [PublishModulesAndMofsToPullServer.psm1](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/DSCPullServerSetup/PublishModulesAndMofsToPullServer.psm1). Examples below: +1. A module that will help with packaging DSC resource modules and configuration files for use on + the pull server. + [PublishModulesAndMofsToPullServer.psm1](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/DSCPullServerSetup/PublishModulesAndMofsToPullServer.psm1). + Examples below: ```powershell # Example 1 - Package all versions of given modules installed locally and MOF files are in c:\LocalDepot @@ -315,14 +367,14 @@ with incremental enhancements. The following topics describe setting up pull clients in detail: -- [Setting up a DSC pull client using a configuration ID](pullClientConfigID.md) -- [Setting up a DSC pull client using configuration names](pullClientConfigNames.md) +- [Set up a DSC pull client using a configuration ID](pullClientConfigID.md) +- [Set up a DSC pull client using configuration names](pullClientConfigNames.md) - [Partial configurations](partialConfigs.md) ## See also -- [Windows PowerShell Desired State Configuration Overview](overview.md) +- [Windows PowerShell Desired State Configuration Overview](../overview/overview.md) - [Enacting configurations](enactingConfigurations.md) - [Using a DSC report server](reportServer.md) - [[MS-DSCPM]: Desired State Configuration Pull Model Protocol](https://msdn.microsoft.com/library/dn393548.aspx) -- [[MS-DSCPM]: Desired State Configuration Pull Model Protocol Errata](https://msdn.microsoft.com/library/mt612824.aspx) \ No newline at end of file +- [[MS-DSCPM]: Desired State Configuration Pull Model Protocol Errata](https://msdn.microsoft.com/library/mt612824.aspx) diff --git a/dsc/pullServerSMB.md b/dsc/pull-server/pullServerSMB.md similarity index 77% rename from dsc/pullServerSMB.md rename to dsc/pull-server/pullServerSMB.md index 3f2f14f3e6f6..95976f56f9c9 100644 --- a/dsc/pullServerSMB.md +++ b/dsc/pull-server/pullServerSMB.md @@ -1,226 +1,228 @@ ---- -ms.date: 04/11/2018 -keywords: dsc,powershell,configuration,setup -title: Setting up a DSC SMB pull server ---- -# Setting up a DSC SMB pull server - -Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - -> [!IMPORTANT] -> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server -> however there are no plans to offer new features or capabilities. It is recommended to -> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) -> (includes features beyond Pull Server on Windows Server) or one of the community solutions -> listed [here](pullserver.md#community-solutions-for-pull-service). - -A DSC [SMB](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831795(v=ws.11)) pull server is a computer hosting SMB file shares that make DSC configuration files and DSC resources -available to target nodes when those nodes ask for them. - -To use an SMB pull server for DSC, you have to: - -- Set up an SMB file share on a server running PowerShell 4.0 or higher -- Configure a client running PowerShell 4.0 or higher to pull from that SMB share - -## Using the xSmbShare resource to create an SMB file share - -There are a number of ways to set up an SMB file share, but let's look at how you can do this by using DSC. - -### Install the xSmbShare resource - -Call the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to install the **xSmbShare** module. - -> [!NOTE] -> `Install-Module` is included in the **PowerShellGet** module, which is included in PowerShell 5.0. You can download the **PowerShellGet** module for PowerShell 3.0 and 4.0 at [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). -> The **xSmbShare** contains the DSC resource **xSmbShare**, which can be used to create an SMB file share. - -### Create the directory and file share - -The following configuration uses the [File](fileResource.md) resource to create the directory for the share and the **xSmbShare** resource to set up the SMB share: - -```powershell -Configuration SmbShare -{ - Import-DscResource -ModuleName PSDesiredStateConfiguration - Import-DscResource -ModuleName xSmbShare - - Node localhost - { - - File CreateFolder - { - DestinationPath = 'C:\DscSmbShare' - Type = 'Directory' - Ensure = 'Present' - } - - xSMBShare CreateShare - { - Name = 'DscSmbShare' - Path = 'C:\DscSmbShare' - FullAccess = 'admininstrator' - ReadAccess = 'myDomain\Contoso-Server$' - FolderEnumerationMode = 'AccessBased' - Ensure = 'Present' - DependsOn = '[File]CreateFolder' - } - } -} -``` - -The configuration creates the directory `C:\DscSmbShare` if it doesn't already exists, and then uses that directory as an SMB file share. **FullAccess** should be given to any -account that needs to write to or delete from the file share, and **ReadAccess** must be given to any client nodes that get configurations and/or DSC resources from the share ( -this is because DSC runs as the system account by default, so the computer itself has to have access to the share). - -### Give file system access to the pull client - -Giving **ReadAccess** to a client node allows that node to access the SMB share, but not to files or folders within that share. You have to explicitly grant client nodes access to the SMB share -folder and sub-folders. We can do this with DSC by adding using the **cNtfsPermissionEntry** resource, which is contained in the [CNtfsAccessControl](https://www.powershellgallery.com/packages/cNtfsAccessControl/1.2.0) -module. The following configuration adds a **cNtfsPermissionEntry** block that grants ReadAndExecute access to the pull client: - -```powershell -Configuration DSCSMB -{ - Import-DscResource -ModuleName PSDesiredStateConfiguration - Import-DscResource -ModuleName xSmbShare - Import-DscResource -ModuleName cNtfsAccessControl - - Node localhost - { - - File CreateFolder - { - DestinationPath = 'DscSmbShare' - Type = 'Directory' - Ensure = 'Present' - } - - xSMBShare CreateShare - { - Name = 'DscSmbShare' - Path = 'DscSmbShare' - FullAccess = 'administrator' - ReadAccess = 'myDomain\Contoso-Server$' - FolderEnumerationMode = 'AccessBased' - Ensure = 'Present' - DependsOn = '[File]CreateFolder' - } - - cNtfsPermissionEntry PermissionSet1 - { - Ensure = 'Present' - Path = 'C:\DSCSMB' - Principal = 'myDomain\Contoso-Server$' - AccessControlInformation = @( - cNtfsAccessControlInformation - { - AccessControlType = 'Allow' - FileSystemRights = 'ReadAndExecute' - Inheritance = 'ThisFolderSubfoldersAndFiles' - NoPropagateInherit = $false - } - ) - DependsOn = '[File]CreateFolder' - } - } -} -``` - -## Placing configurations and resources - -Save any configuration MOF files and/or DSC resources that you want client nodes to pull in the SMB share folder. - -Any configuration MOF file must be named *ConfigurationID*.mof, where *ConfigurationID* is the value of the **ConfigurationID** property of the target node's LCM. For more information about -setting up pull clients, see [Setting up a pull client using configuration ID](pullClientConfigID.md). - -> [!NOTE] -> You must use configuration IDs if you are using an SMB pull server. Configuration names are not supported for SMB. - -Each resource module needs to be zipped and named according the the following pattern `{Module Name}_{Module Version}.zip`. For example, a module named xWebAdminstration with a module version -of 3.1.2.0 would be named 'xWebAdministration_3.2.1.0.zip'. Each version of a module must be contained in a single zip file. Since there is only a single version of a resource in each zip -file the module format added in WMF 5.0 with support for multiple module versions in a single directory is not supported. This means that before packaging up DSC resource modules for use with -pull server you need to make a small change to the directory structure. The default format of modules containing DSC resource in WMF 5.0 is -`{Module Folder}\{Module Version}\DscResources\{DSC Resource Folder}\`. Before packaging up for the pull server simply remove the `{Module version}` folder so the path becomes -`{Module Folder}\DscResources\{DSC Resource Folder}\`. With this change, zip the folder as described above and place these zip files in the SMB share folder. - -## Creating the MOF checksum - -A configuration MOF file needs to be paired with a checksum file so that an LCM on a target node can validate the configuration. -To create a checksum, call the [New-DSCCheckSum](/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum) cmdlet. The cmdlet takes a `Path` parameter that specifies the folder -where the configuration MOF is located. The cmdlet creates a checksum file named `ConfigurationMOFName.mof.checksum`, where `ConfigurationMOFName` is the name of the configuration mof file. -If there are more than one configuration MOF files in the specified folder, a checksum is created for each configuration in the folder. - -The checksum file must be present in the same directory as the configuration MOF file (`$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration` by default), and have the same name with the `.checksum` extension appended. - -> [!NOTE] -> If you change the configuration MOF file in any way, you must also recreate the checksum file. - -## Setting up a pull client for SMB - -To set up a client that pulls configurations and/or resources from an SMB share, you configure the client's Local Configuration Manager (LCM) with **ConfigurationRepositoryShare** and -**ResourceRepositoryShare** blocks that specify the share from which to pull configurations and DSC resources. - -For more information about configuring the LCM, see [Setting up a pull client using configuration ID](pullClientConfigID.md). - -> [!NOTE] -> For simplicity, this example uses the **PSDscAllowPlainTextPassword** to allow passing a plaintext password to the **Credential** parameter. For information -> about passing credentials more securely, see [Credentials Options in Configuration Data](configDataCredentials.md). -> -> You **MUST** specify a **ConfigurationID** in the **Settings** block of a metaconfiguration for an SMB pull server, even if you are only pulling resources. - -```powershell -$secpasswd = ConvertTo-SecureString “Pass1Word†-AsPlainText -Force -$mycreds = New-Object System.Management.Automation.PSCredential (“TestUserâ€, $secpasswd) - -[DSCLocalConfigurationManager()] -configuration SmbCredTest -{ - Node $AllNodes.NodeName - { - Settings - { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - ConfigurationID = '16db7357-9083-4806-a80c-ebbaf4acd6c1' - } - - ConfigurationRepositoryShare SmbConfigShare - { - SourcePath = '\\WIN-E0TRU6U11B1\DscSmbShare' - Credential = $mycreds - } - - ResourceRepositoryShare SmbResourceShare - { - SourcePath = '\\WIN-E0TRU6U11B1\DscSmbShare' - Credential = $mycreds - - } - } -} - -$ConfigurationData = @{ - AllNodes = @( - @{ - #the "*" means "all nodes named in ConfigData" so we don't have to repeat ourselves - NodeName="localhost" - PSDscAllowPlainTextPassword = $true - }) -} -``` - -## Acknowledgements - -Special thanks to the following: - -- Mike F. Robbins, whose posts on using SMB for DSC helped inform the content in this topic. His blog is at [Mike F Robbins](http://mikefrobbins.com/). -- Serge Nikalaichyk, who authored the **cNtfsAccessControl** module. The source for this module is at [cNtfsAccessControl](https://github.com/SNikalaichyk/cNtfsAccessControl). - -## See also - -[Windows PowerShell Desired State Configuration Overview](overview.md) - -[Enacting configurations](enactingConfigurations.md) - -[Setting up a pull client using configuration ID](pullClientConfigID.md) \ No newline at end of file +--- +ms.date: 04/11/2018 +keywords: dsc,powershell,configuration,setup +title: Setting up a DSC SMB pull server +--- +# Setting up a DSC SMB pull server + +Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server +> however there are no plans to offer new features or capabilities. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + +A DSC [SMB](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831795(v=ws.11)) pull server is a computer hosting SMB file shares that make DSC configuration files and DSC resources +available to target nodes when those nodes ask for them. + +To use an SMB pull server for DSC, you have to: + +- Set up an SMB file share on a server running PowerShell 4.0 or higher +- Configure a client running PowerShell 4.0 or higher to pull from that SMB share + +## Using the xSmbShare resource to create an SMB file share + +There are a number of ways to set up an SMB file share, but let's look at how you can do this by using DSC. + +### Install the xSmbShare resource + +Call the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to install the **xSmbShare** module. + +> [!NOTE] +> `Install-Module` is included in the **PowerShellGet** module, which is included in PowerShell 5.0. You can download the **PowerShellGet** module for PowerShell 3.0 and 4.0 at [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). +> The **xSmbShare** contains the DSC resource **xSmbShare**, which can be used to create an SMB file share. + +### Create the directory and file share + +The following configuration uses the **File** resource to create the directory for the share and the **xSmbShare** resource to set up the SMB share: + +```powershell +Configuration SmbShare +{ + Import-DscResource -ModuleName PSDesiredStateConfiguration + Import-DscResource -ModuleName xSmbShare + + Node localhost + { + + File CreateFolder + { + DestinationPath = 'C:\DscSmbShare' + Type = 'Directory' + Ensure = 'Present' + } + + xSMBShare CreateShare + { + Name = 'DscSmbShare' + Path = 'C:\DscSmbShare' + FullAccess = 'administrator' + ReadAccess = 'myDomain\Contoso-Server$' + FolderEnumerationMode = 'AccessBased' + Ensure = 'Present' + DependsOn = '[File]CreateFolder' + } + } +} +``` + +The configuration creates the directory `C:\DscSmbShare`, if it doesn't already exist, and then uses that directory as an SMB file share. **FullAccess** should be given to any +account that needs to write to or delete from the file share. **ReadAccess** must be given to any client nodes that get configurations and/or DSC resources from the share. + +> [!NOTE] +> DSC runs as the system account by default, so the computer itself must have access to the share. + +### Give file system access to the pull client + +Giving **ReadAccess** to a client node allows that node to access the SMB share, but not to files or folders within that share. You have to explicitly grant client nodes access to the SMB share +folder and subfolders. We can do this with DSC by adding using the **cNtfsPermissionEntry** resource, which is contained in the [CNtfsAccessControl](https://www.powershellgallery.com/packages/cNtfsAccessControl/1.2.0) +module. The following configuration adds a **cNtfsPermissionEntry** block that grants ReadAndExecute access to the pull client: + +```powershell +Configuration DSCSMB +{ + Import-DscResource -ModuleName PSDesiredStateConfiguration + Import-DscResource -ModuleName xSmbShare + Import-DscResource -ModuleName cNtfsAccessControl + + Node localhost + { + + File CreateFolder + { + DestinationPath = 'C:\DscSmbShare' + Type = 'Directory' + Ensure = 'Present' + } + + xSMBShare CreateShare + { + Name = 'DscSmbShare' + Path = 'C:\DscSmbShare' + FullAccess = 'administrator' + ReadAccess = 'myDomain\Contoso-Server$' + FolderEnumerationMode = 'AccessBased' + Ensure = 'Present' + DependsOn = '[File]CreateFolder' + } + + cNtfsPermissionEntry PermissionSet1 + { + Ensure = 'Present' + Path = 'C:\DscSmbShare' + Principal = 'myDomain\Contoso-Server$' + AccessControlInformation = @( + cNtfsAccessControlInformation + { + AccessControlType = 'Allow' + FileSystemRights = 'ReadAndExecute' + Inheritance = 'ThisFolderSubfoldersAndFiles' + NoPropagateInherit = $false + } + ) + DependsOn = '[File]CreateFolder' + } + } +} +``` + +## Placing configurations and resources + +Save any configuration MOF files and/or DSC resources that you want client nodes to pull in the SMB share folder. + +Any configuration MOF file must be named *ConfigurationID*.mof, where *ConfigurationID* is the value of the **ConfigurationID** property of the target node's LCM. For more information about +setting up pull clients, see [Setting up a pull client using configuration ID](pullClientConfigID.md). + +> [!NOTE] +> You must use configuration IDs if you are using an SMB pull server. Configuration names are not supported for SMB. + +Each resource module needs to be zipped and named according to the following pattern `{Module Name}_{Module Version}.zip`. For example, a module named xWebAdminstration with a module version +of 3.1.2.0 would be named 'xWebAdministration_3.2.1.0.zip'. Each version of a module must be contained in a single zip file. Separate versions of a module in a zip file are not supported. Before packaging up DSC resource modules for use with pull server, you need to make a small change to the directory structure. + +The default format of modules containing DSC resource in WMF 5.0 is `{Module Folder}\{Module Version}\DscResources\{DSC Resource Folder}\`. + +Before packaging up for the pull server simply remove the `{Module version}` folder so the path becomes `{Module Folder}\DscResources\{DSC Resource Folder}\`. With this change, zip the folder as described above and place these zip files in the SMB share folder. + +## Creating the MOF checksum + +A configuration MOF file needs to be paired with a checksum file so that an LCM on a target node can validate the configuration. +To create a checksum, call the [New-DSCCheckSum](/powershell/module/PSDesiredStateConfiguration/New-DSCCheckSum) cmdlet. The cmdlet takes a `Path` parameter that specifies the folder +where the configuration MOF is located. The cmdlet creates a checksum file named `ConfigurationMOFName.mof.checksum`, where `ConfigurationMOFName` is the name of the configuration mof file. +If there are more than one configuration MOF files in the specified folder, a checksum is created for each configuration in the folder. + +The checksum file must be present in the same directory as the configuration MOF file (`$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration` by default), and have the same name with the `.checksum` extension appended. + +> [!NOTE] +> If you change the configuration MOF file in any way, you must also recreate the checksum file. + +## Setting up a pull client for SMB + +To set up a client that pulls configurations and/or resources from an SMB share, you configure the client's Local Configuration Manager (LCM) with **ConfigurationRepositoryShare** and +**ResourceRepositoryShare** blocks that specify the share from which to pull configurations and DSC resources. + +For more information about configuring the LCM, see [Setting up a pull client using configuration ID](pullClientConfigID.md). + +> [!NOTE] +> For simplicity, this example uses the **PSDscAllowPlainTextPassword** to allow passing a plaintext password to the **Credential** parameter. For information +> about passing credentials more securely, see [Credentials Options in Configuration Data](../configurations/configDataCredentials.md). +> +> You **MUST** specify a **ConfigurationID** in the **Settings** block of a metaconfiguration for an SMB pull server, even if you are only pulling resources. + +```powershell +$secpasswd = ConvertTo-SecureString “Pass1Word†-AsPlainText -Force +$mycreds = New-Object System.Management.Automation.PSCredential (“TestUserâ€, $secpasswd) + +[DSCLocalConfigurationManager()] +configuration SmbCredTest +{ + Node $AllNodes.NodeName + { + Settings + { + RefreshMode = 'Pull' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + ConfigurationID = '16db7357-9083-4806-a80c-ebbaf4acd6c1' + } + + ConfigurationRepositoryShare SmbConfigShare + { + SourcePath = '\\WIN-E0TRU6U11B1\DscSmbShare' + Credential = $mycreds + } + + ResourceRepositoryShare SmbResourceShare + { + SourcePath = '\\WIN-E0TRU6U11B1\DscSmbShare' + Credential = $mycreds + + } + } +} + +$ConfigurationData = @{ + AllNodes = @( + @{ + #the "*" means "all nodes named in ConfigData" so we don't have to repeat ourselves + NodeName="localhost" + PSDscAllowPlainTextPassword = $true + }) +} +``` + +## Acknowledgements + +Special thanks to the following individuals: + +- Mike F. Robbins, whose posts on using SMB for DSC helped inform the content in this topic. His blog is at [Mike F Robbins](http://mikefrobbins.com/). +- Serge Nikalaichyk, who authored the **cNtfsAccessControl** module. The source for this module is at [cNtfsAccessControl](https://github.com/SNikalaichyk/cNtfsAccessControl). + +## See also + +[Windows PowerShell Desired State Configuration Overview](../overview/overview.md) + +[Enacting configurations](enactingConfigurations.md) + +[Setting up a pull client using configuration ID](pullClientConfigID.md) diff --git a/dsc/reportServer.md b/dsc/pull-server/reportServer.md similarity index 95% rename from dsc/reportServer.md rename to dsc/pull-server/reportServer.md index 25bffe2fa989..8005f21167b1 100644 --- a/dsc/reportServer.md +++ b/dsc/pull-server/reportServer.md @@ -1,254 +1,255 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Using a DSC report server ---- -# Using a DSC report server - -Applies To: Windows PowerShell 5.0 - -> [!IMPORTANT] -> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server -> however there are no plans to offer new features or capabilities. It is recommended to -> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) -> (includes features beyond Pull Server on Windows Server) or one of the community solutions -> listed [here](pullserver.md#community-solutions-for-pull-service). -> -> **Note** The report server described in this topic is not available in PowerShell 4.0. - -The Local Configuration Manager (LCM) of a node can be configured to send reports about its configuration status to a pull server, which can then be queried to retrieve that data. Each time the node checks and applies -a configuration, it sends a report to the report server. These reports are stored in a database on the server, and can be retrieved by calling the reporting web service. Each report contains -information such as what configurations were applied and whether they succeeded, the resources used, any errors that were thrown, and start and finish times. - -## Configuring a node to send reports - -You tell a node to send reports to a server by using a **ReportServerWeb** block in the node's LCM configuration (for information about configuring the LCM, -see [Configuring the Local Configuration Manager](metaConfig.md)). The server to which the node sends reports must be set up as a web pull server (you cannot send reports -to an SMB share). For information about setting up a pull server, see [Setting up a DSC web pull server](pullServer.md). The report server can be the same service from which -the node pulls configurations and gets resources, or it can be a different service. - -In the **ReportServerWeb** block, you specify the URL of the pull service -and a registration key that is known to the server. - -The following configuration configures a node to pull configurations from one service, and send reports -to a service on a different server. - -```powershell -[DSCLocalConfigurationManager()] -configuration ReportClientConfig -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PULL:8080/PSDSCPullServer.svc' - RegistrationKey = 'bbb9778f-43f2-47de-b61e-a0daff474c6d' - ConfigurationNames = @('ClientConfig') - } - - ReportServerWeb CONTOSO-ReportSrv - { - ServerURL = 'http://CONTOSO-REPORT:8080/PSDSCReportServer.svc' - RegistrationKey = 'ba39daaa-96c5-4f2f-9149-f95c46460faa' - AllowUnsecureConnection = $true - } - } -} - -ReportClientConfig -``` - -The following configuration configures a node to use a single server for configurations, resources, and reporting. - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfig -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' - } - - - - ReportServerWeb CONTOSO-ReportSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - } - } -} -PullClientConfig -``` - -> [!NOTE] -> You can name the web service whatever you want when you set up a pull server, but the **ServerURL** property must match the service name. - -## Getting report data - -Reports sent to the pull server are entered into a database on the server. The reports are available through calls to the web service. To retrieve reports for a specific node, -send an HTTP request to the report web service in the following form: -`http://CONTOSO-REPORT:8080/PSDSCReportServer.svc/Nodes(AgentId='MyNodeAgentId')/Reports` -where `MyNodeAgentId` is the AgentId of the node for which you want to get reports. You can get the AgentID for a node by calling [Get-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager) -on that node. - -The reports are returned as an array of JSON objects. - -The following script returns the reports for the node on which it is run: - -```powershell -function GetReport -{ - param - ( - $AgentId = "$((glcm).AgentId)", - $serviceURL = "http://CONTOSO-REPORT:8080/PSDSCPullServer.svc" - ) - - $requestUri = "$serviceURL/Nodes(AgentId= '$AgentId')/Reports" - $request = Invoke-WebRequest -Uri $requestUri -ContentType "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" ` - -UseBasicParsing -Headers @{Accept = "application/json";ProtocolVersion = "2.0"} ` - -ErrorAction SilentlyContinue -ErrorVariable ev - $object = ConvertFrom-Json $request.content - return $object.value -} -``` - -## Viewing report data - -If you set a variable to the result of the **GetReport** function, you can view the individual fields in an element of the array that is returned: - -```powershell -$reports = GetReport -$reports[1] -``` - -```output -JobId : 019dfbe5-f99f-11e5-80c6-001dd8b8065c -OperationType : Consistency -RefreshMode : Pull -Status : Success -ReportFormatVersion : 2.0 -ConfigurationVersion : 2.0.0 -StartTime : 04/03/2016 06:21:43 -EndTime : 04/03/2016 06:22:04 -RebootRequested : False -Errors : {} -StatusData : {{"StartDate":"2016-04-03T06:21:43.7220000-07:00","IPV6Addresses":["2001:4898:d8:f2f2:852b:b255:b071:283b","fe80::852b:b255:b071 - :283b%12","::2000:0:0:0","::1","::2000:0:0:0"],"DurationInSeconds":"21","JobID":"{019DFBE5-F99F-11E5-80C6-001DD8B8065C}","Curren - tChecksum":"A7797571CB9C3AF4D74C39A0FDA11DAF33273349E1182385528FFC1E47151F7F","MetaData":"Author: configAuthor; Name: - Sample_ArchiveFirewall; Version: 2.0.0; GenerationDate: 04/01/2016 15:23:30; GenerationHost: CONTOSO-PullSrv;","RebootRequested":"False - ","Status":"Success","IPV4Addresses":["10.240.179.151","127.0.0.1"],"LCMVersion":"2.0","ResourcesNotInDesiredState":[{"SourceInf - o":"C:\\ReportTest\\Sample_xFirewall_AddFirewallRule.ps1::23::9::xFirewall","ModuleName":"xNetworking","DurationInSeconds":"8.785", - "InstanceName":"Firewall","StartDate":"2016-04-03T06:21:56.4650000-07:00","ResourceName":"xFirewall","ModuleVersion":"2.7.0.0"," - RebootRequested":"False","ResourceId":"[xFirewall]Firewall","ConfigurationName":"Sample_ArchiveFirewall","InDesiredState":"False - "}],"NumberOfResources":"2","Type":"Consistency","HostName":"CONTOSO-PULLCLI","ResourcesInDesiredState":[{"SourceInfo":"C:\\ReportTest\\Sample_xFirewall_AddFirewallRule.ps1::16::9::Archive","ModuleName":"PSDesiredStateConfiguration","DurationInSeconds":"1.848", - "InstanceName":"ArchiveExample","StartDate":"2016-04-03T06:21:56.4650000-07:00","ResourceName":"Archive","ModuleVersion":"1.1"," - RebootRequested":"False","ResourceId":"[Archive]ArchiveExample","ConfigurationName":"Sample_ArchiveFirewall","InDesiredState":"T - rue"}],"MACAddresses":["00-1D-D8-B8-06-5C","00-00-00-00-00-00-00-E0"],"MetaConfiguration":{"AgentId":"52DA826D-00DE-4166-8ACB-73F2B46A7E00", - "ConfigurationDownloadManagers":[{"SourceInfo":"C:\\ReportTest\\LCMConfig.ps1::14::9::ConfigurationRepositoryWeb","A - llowUnsecureConnection":"True","ServerURL":"http://CONTOSO-PullSrv:8080/PSDSCPullServer.svc","RegistrationKey":"","ResourceId":"[Config - urationRepositoryWeb]CONTOSO-PullSrv","ConfigurationNames":["ClientConfig"]}],"ActionAfterReboot":"ContinueConfiguration","LCMCo - mpatibleVersions":["1.0","2.0"],"LCMState":"Idle","ResourceModuleManagers":[],"ReportManagers":[{"AllowUnsecureConnection":"True - ","RegistrationKey":"","ServerURL":"http://CONTOSO-PullSrv:8080/PSDSCPullServer.svc","ResourceId":"[ReportServerWeb]CONTOSO-PullSrv","S - ourceInfo":"C:\\ReportTest\\LCMConfig.ps1::24::9::ReportServerWeb"}],"StatusRetentionTimeInDays":"10","LCMVersion":"2.0","Config - urationMode":"ApplyAndMonitor","RefreshFrequencyMins":"30","RebootNodeIfNeeded":"True","RefreshMode":"Pull","DebugMode":["NONE"] - ,"LCMStateDetail":"","AllowModuleOverwrite":"False","ConfigurationModeFrequencyMins":"15"},"Locale":"en-US","Mode":"Pull"}} -AdditionalData : {} -``` - -By default, the reports are sorted by **JobID**. To get the most recent report, you can sort the reports by descending **StartTime** property, and then get the first element of the array: - -```powershell -$reportsByStartTime = $reports | Sort-Object {$_."StartTime" -as [DateTime] } -Descending -$reportMostRecent = $reportsByStartTime[0] -``` - -Notice that the **StatusData** property is an object with a number of properties. This is where much of the reporting data is. Let's look at the individual fields of the -**StatusData** property for the most recent report: - -```powershell -$statusData = $reportMostRecent.StatusData | ConvertFrom-Json -$statusData -``` - -```output -StartDate : 2016-04-04T11:21:41.2990000-07:00 -IPV6Addresses : {2001:4898:d8:f2f2:852b:b255:b071:283b, fe80::852b:b255:b071:283b%12, ::2000:0:0:0, ::1...} -DurationInSeconds : 25 -JobID : {135D230E-FA92-11E5-80C6-001DD8B8065C} -CurrentChecksum : A7797571CB9C3AF4D74C39A0FDA11DAF33273349E1182385528FFC1E47151F7F -MetaData : Author: configAuthor; Name: Sample_ArchiveFirewall; Version: 2.0.0; GenerationDate: 04/01/2016 15:23:30; GenerationHost: - CONTOSO-PullSrv; -RebootRequested : False -Status : Success -IPV4Addresses : {10.240.179.151, 127.0.0.1} -LCMVersion : 2.0 -ResourcesNotInDesiredState : {@{SourceInfo=C:\ReportTest\Sample_xFirewall_AddFirewallRule.ps1::23::9::xFirewall; ModuleName=xNetworking; - DurationInSeconds=10.725; InstanceName=Firewall; StartDate=2016-04-04T11:21:55.7200000-07:00; ResourceName=xFirewall; - ModuleVersion=2.7.0.0; RebootRequested=False; ResourceId=[xFirewall]Firewall; ConfigurationName=Sample_ArchiveFirewall; - InDesiredState=False}} -NumberOfResources : 2 -Type : Consistency -HostName : CONTOSO-PULLCLI -ResourcesInDesiredState : {@{SourceInfo=C:\ReportTest\Sample_xFirewall_AddFirewallRule.ps1::16::9::Archive; ModuleName=PSDesiredStateConfiguration; - DurationInSeconds=2.672; InstanceName=ArchiveExample; StartDate=2016-04-04T11:21:55.7200000-07:00; ResourceName=Archive; - ModuleVersion=1.1; RebootRequested=False; ResourceId=[Archive]ArchiveExample; ConfigurationName=Sample_ArchiveFirewall; - InDesiredState=True}} -MACAddresses : {00-1D-D8-B8-06-5C, 00-00-00-00-00-00-00-E0} -MetaConfiguration : @{AgentId=52DA826D-00DE-4166-8ACB-73F2B46A7E00; ConfigurationDownloadManagers=System.Object[]; - ActionAfterReboot=ContinueConfiguration; LCMCompatibleVersions=System.Object[]; LCMState=Idle; - ResourceModuleManagers=System.Object[]; ReportManagers=System.Object[]; StatusRetentionTimeInDays=10; LCMVersion=2.0; - ConfigurationMode=ApplyAndMonitor; RefreshFrequencyMins=30; RebootNodeIfNeeded=True; RefreshMode=Pull; - DebugMode=System.Object[]; LCMStateDetail=; AllowModuleOverwrite=False; ConfigurationModeFrequencyMins=15} -Locale : en-US -Mode : Pull -``` - -Among other things, this shows that the most recent configuration called two resources, and that one of them was in the desired state, and one of them was not. You can get -a more readable output of just the **ResourcesNotInDesiredState** property: - -```powershell -$statusData.ResourcesInDesiredState -``` - -```output -SourceInfo : C:\ReportTest\Sample_xFirewall_AddFirewallRule.ps1::16::9::Archive -ModuleName : PSDesiredStateConfiguration -DurationInSeconds : 2.672 -InstanceName : ArchiveExample -StartDate : 2016-04-04T11:21:55.7200000-07:00 -ResourceName : Archive -ModuleVersion : 1.1 -RebootRequested : False -ResourceId : [Archive]ArchiveExample -ConfigurationName : Sample_ArchiveFirewall -InDesiredState : True -``` - -Note that these examples are meant to give you an idea of what you can do with report data. For an introduction on working with JSON in PowerShell, see -[Playing with JSON and PowerShell](https://blogs.technet.microsoft.com/heyscriptingguy/2015/10/08/playing-with-json-and-powershell/). - -## See Also - -[Configuring the Local Configuration Manager](metaConfig.md) - -[Setting up a DSC web pull server](pullServer.md) - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Using a DSC report server +--- +# Using a DSC report server + +Applies To: Windows PowerShell 5.0 + +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server +> however there are no plans to offer new features or capabilities. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). +> +> [!NOTE] +> The report server described in this topic is not available in PowerShell 4.0. + +The Local Configuration Manager (LCM) of a node can be configured to send reports about its configuration status to a pull server, which can then be queried to retrieve that data. Each time the node checks and applies +a configuration, it sends a report to the report server. These reports are stored in a database on the server, and can be retrieved by calling the reporting web service. Each report contains +information such as what configurations were applied and whether they succeeded, the resources used, any errors that were thrown, and start and finish times. + +## Configuring a node to send reports + +You tell a node to send reports to a server by using a **ReportServerWeb** block in the node's LCM configuration (for information about configuring the LCM, +see [Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md)). The server to which the node sends reports must be set up as a web pull server (you cannot send reports +to an SMB share). For information about setting up a pull server, see [Setting up a DSC web pull server](pullServer.md). The report server can be the same service from which +the node pulls configurations and gets resources, or it can be a different service. + +In the **ReportServerWeb** block, you specify the URL of the pull service +and a registration key that is known to the server. + +The following configuration configures a node to pull configurations from one service, and send reports +to a service on a different server. + +```powershell +[DSCLocalConfigurationManager()] +configuration ReportClientConfig +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PULL:8080/PSDSCPullServer.svc' + RegistrationKey = 'bbb9778f-43f2-47de-b61e-a0daff474c6d' + ConfigurationNames = @('ClientConfig') + } + + ReportServerWeb CONTOSO-ReportSrv + { + ServerURL = 'http://CONTOSO-REPORT:8080/PSDSCReportServer.svc' + RegistrationKey = 'ba39daaa-96c5-4f2f-9149-f95c46460faa' + AllowUnsecureConnection = $true + } + } +} + +ReportClientConfig +``` + +The following configuration configures a node to use a single server for configurations, resources, and reporting. + +```powershell +[DSCLocalConfigurationManager()] +configuration PullClientConfig +{ + Node localhost + { + Settings + { + RefreshMode = 'Pull' + RefreshFrequencyMins = 30 + RebootNodeIfNeeded = $true + } + + ConfigurationRepositoryWeb CONTOSO-PullSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' + } + + + + ReportServerWeb CONTOSO-ReportSrv + { + ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' + } + } +} +PullClientConfig +``` + +> [!NOTE] +> You can name the web service whatever you want when you set up a pull server, but the **ServerURL** property must match the service name. + +## Getting report data + +Reports sent to the pull server are entered into a database on the server. The reports are available through calls to the web service. To retrieve reports for a specific node, +send an HTTP request to the report web service in the following form: +`http://CONTOSO-REPORT:8080/PSDSCReportServer.svc/Nodes(AgentId='MyNodeAgentId')/Reports` +where `MyNodeAgentId` is the AgentId of the node for which you want to get reports. You can get the AgentID for a node by calling [Get-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager) +on that node. + +The reports are returned as an array of JSON objects. + +The following script returns the reports for the node on which it is run: + +```powershell +function GetReport +{ + param + ( + $AgentId = "$((glcm).AgentId)", + $serviceURL = "http://CONTOSO-REPORT:8080/PSDSCPullServer.svc" + ) + + $requestUri = "$serviceURL/Nodes(AgentId= '$AgentId')/Reports" + $request = Invoke-WebRequest -Uri $requestUri -ContentType "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" ` + -UseBasicParsing -Headers @{Accept = "application/json";ProtocolVersion = "2.0"} ` + -ErrorAction SilentlyContinue -ErrorVariable ev + $object = ConvertFrom-Json $request.content + return $object.value +} +``` + +## Viewing report data + +If you set a variable to the result of the **GetReport** function, you can view the individual fields in an element of the array that is returned: + +```powershell +$reports = GetReport +$reports[1] +``` + +```output +JobId : 019dfbe5-f99f-11e5-80c6-001dd8b8065c +OperationType : Consistency +RefreshMode : Pull +Status : Success +ReportFormatVersion : 2.0 +ConfigurationVersion : 2.0.0 +StartTime : 04/03/2016 06:21:43 +EndTime : 04/03/2016 06:22:04 +RebootRequested : False +Errors : {} +StatusData : {{"StartDate":"2016-04-03T06:21:43.7220000-07:00","IPV6Addresses":["2001:4898:d8:f2f2:852b:b255:b071:283b","fe80::852b:b255:b071 + :283b%12","::2000:0:0:0","::1","::2000:0:0:0"],"DurationInSeconds":"21","JobID":"{019DFBE5-F99F-11E5-80C6-001DD8B8065C}","Curren + tChecksum":"A7797571CB9C3AF4D74C39A0FDA11DAF33273349E1182385528FFC1E47151F7F","MetaData":"Author: configAuthor; Name: + Sample_ArchiveFirewall; Version: 2.0.0; GenerationDate: 04/01/2016 15:23:30; GenerationHost: CONTOSO-PullSrv;","RebootRequested":"False + ","Status":"Success","IPV4Addresses":["10.240.179.151","127.0.0.1"],"LCMVersion":"2.0","ResourcesNotInDesiredState":[{"SourceInf + o":"C:\\ReportTest\\Sample_xFirewall_AddFirewallRule.ps1::23::9::xFirewall","ModuleName":"xNetworking","DurationInSeconds":"8.785", + "InstanceName":"Firewall","StartDate":"2016-04-03T06:21:56.4650000-07:00","ResourceName":"xFirewall","ModuleVersion":"2.7.0.0"," + RebootRequested":"False","ResourceId":"[xFirewall]Firewall","ConfigurationName":"Sample_ArchiveFirewall","InDesiredState":"False + "}],"NumberOfResources":"2","Type":"Consistency","HostName":"CONTOSO-PULLCLI","ResourcesInDesiredState":[{"SourceInfo":"C:\\ReportTest\\Sample_xFirewall_AddFirewallRule.ps1::16::9::Archive","ModuleName":"PSDesiredStateConfiguration","DurationInSeconds":"1.848", + "InstanceName":"ArchiveExample","StartDate":"2016-04-03T06:21:56.4650000-07:00","ResourceName":"Archive","ModuleVersion":"1.1"," + RebootRequested":"False","ResourceId":"[Archive]ArchiveExample","ConfigurationName":"Sample_ArchiveFirewall","InDesiredState":"T + rue"}],"MACAddresses":["00-1D-D8-B8-06-5C","00-00-00-00-00-00-00-E0"],"MetaConfiguration":{"AgentId":"52DA826D-00DE-4166-8ACB-73F2B46A7E00", + "ConfigurationDownloadManagers":[{"SourceInfo":"C:\\ReportTest\\LCMConfig.ps1::14::9::ConfigurationRepositoryWeb","A + llowUnsecureConnection":"True","ServerURL":"http://CONTOSO-PullSrv:8080/PSDSCPullServer.svc","RegistrationKey":"","ResourceId":"[Config + urationRepositoryWeb]CONTOSO-PullSrv","ConfigurationNames":["ClientConfig"]}],"ActionAfterReboot":"ContinueConfiguration","LCMCo + mpatibleVersions":["1.0","2.0"],"LCMState":"Idle","ResourceModuleManagers":[],"ReportManagers":[{"AllowUnsecureConnection":"True + ","RegistrationKey":"","ServerURL":"http://CONTOSO-PullSrv:8080/PSDSCPullServer.svc","ResourceId":"[ReportServerWeb]CONTOSO-PullSrv","S + ourceInfo":"C:\\ReportTest\\LCMConfig.ps1::24::9::ReportServerWeb"}],"StatusRetentionTimeInDays":"10","LCMVersion":"2.0","Config + urationMode":"ApplyAndMonitor","RefreshFrequencyMins":"30","RebootNodeIfNeeded":"True","RefreshMode":"Pull","DebugMode":["NONE"] + ,"LCMStateDetail":"","AllowModuleOverwrite":"False","ConfigurationModeFrequencyMins":"15"},"Locale":"en-US","Mode":"Pull"}} +AdditionalData : {} +``` + +By default, the reports are sorted by **JobID**. To get the most recent report, you can sort the reports by descending **StartTime** property, and then get the first element of the array: + +```powershell +$reportsByStartTime = $reports | Sort-Object {$_."StartTime" -as [DateTime] } -Descending +$reportMostRecent = $reportsByStartTime[0] +``` + +Notice that the **StatusData** property is an object with a number of properties. This is where much of the reporting data is. Let's look at the individual fields of the +**StatusData** property for the most recent report: + +```powershell +$statusData = $reportMostRecent.StatusData | ConvertFrom-Json +$statusData +``` + +```output +StartDate : 2016-04-04T11:21:41.2990000-07:00 +IPV6Addresses : {2001:4898:d8:f2f2:852b:b255:b071:283b, fe80::852b:b255:b071:283b%12, ::2000:0:0:0, ::1...} +DurationInSeconds : 25 +JobID : {135D230E-FA92-11E5-80C6-001DD8B8065C} +CurrentChecksum : A7797571CB9C3AF4D74C39A0FDA11DAF33273349E1182385528FFC1E47151F7F +MetaData : Author: configAuthor; Name: Sample_ArchiveFirewall; Version: 2.0.0; GenerationDate: 04/01/2016 15:23:30; GenerationHost: + CONTOSO-PullSrv; +RebootRequested : False +Status : Success +IPV4Addresses : {10.240.179.151, 127.0.0.1} +LCMVersion : 2.0 +ResourcesNotInDesiredState : {@{SourceInfo=C:\ReportTest\Sample_xFirewall_AddFirewallRule.ps1::23::9::xFirewall; ModuleName=xNetworking; + DurationInSeconds=10.725; InstanceName=Firewall; StartDate=2016-04-04T11:21:55.7200000-07:00; ResourceName=xFirewall; + ModuleVersion=2.7.0.0; RebootRequested=False; ResourceId=[xFirewall]Firewall; ConfigurationName=Sample_ArchiveFirewall; + InDesiredState=False}} +NumberOfResources : 2 +Type : Consistency +HostName : CONTOSO-PULLCLI +ResourcesInDesiredState : {@{SourceInfo=C:\ReportTest\Sample_xFirewall_AddFirewallRule.ps1::16::9::Archive; ModuleName=PSDesiredStateConfiguration; + DurationInSeconds=2.672; InstanceName=ArchiveExample; StartDate=2016-04-04T11:21:55.7200000-07:00; ResourceName=Archive; + ModuleVersion=1.1; RebootRequested=False; ResourceId=[Archive]ArchiveExample; ConfigurationName=Sample_ArchiveFirewall; + InDesiredState=True}} +MACAddresses : {00-1D-D8-B8-06-5C, 00-00-00-00-00-00-00-E0} +MetaConfiguration : @{AgentId=52DA826D-00DE-4166-8ACB-73F2B46A7E00; ConfigurationDownloadManagers=System.Object[]; + ActionAfterReboot=ContinueConfiguration; LCMCompatibleVersions=System.Object[]; LCMState=Idle; + ResourceModuleManagers=System.Object[]; ReportManagers=System.Object[]; StatusRetentionTimeInDays=10; LCMVersion=2.0; + ConfigurationMode=ApplyAndMonitor; RefreshFrequencyMins=30; RebootNodeIfNeeded=True; RefreshMode=Pull; + DebugMode=System.Object[]; LCMStateDetail=; AllowModuleOverwrite=False; ConfigurationModeFrequencyMins=15} +Locale : en-US +Mode : Pull +``` + +Among other things, this shows that the most recent configuration called two resources, and that one of them was in the desired state, and one of them was not. You can get +a more readable output of just the **ResourcesNotInDesiredState** property: + +```powershell +$statusData.ResourcesInDesiredState +``` + +```output +SourceInfo : C:\ReportTest\Sample_xFirewall_AddFirewallRule.ps1::16::9::Archive +ModuleName : PSDesiredStateConfiguration +DurationInSeconds : 2.672 +InstanceName : ArchiveExample +StartDate : 2016-04-04T11:21:55.7200000-07:00 +ResourceName : Archive +ModuleVersion : 1.1 +RebootRequested : False +ResourceId : [Archive]ArchiveExample +ConfigurationName : Sample_ArchiveFirewall +InDesiredState : True +``` + +Note that these examples are meant to give you an idea of what you can do with report data. For an introduction on working with JSON in PowerShell, see +[Playing with JSON and PowerShell](https://blogs.technet.microsoft.com/heyscriptingguy/2015/10/08/playing-with-json-and-powershell/). + +## See Also + +[Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md) + +[Setting up a DSC web pull server](pullServer.md) + [Setting up a pull client using configuration names](pullClientConfigNames.md) \ No newline at end of file diff --git a/dsc/secureMOF.md b/dsc/pull-server/secureMOF.md similarity index 99% rename from dsc/secureMOF.md rename to dsc/pull-server/secureMOF.md index ca278ca14f73..c9df63c9302e 100644 --- a/dsc/secureMOF.md +++ b/dsc/pull-server/secureMOF.md @@ -51,7 +51,7 @@ To successfully encrypt the credentials used to secure a DSC configuration, make 3. Create a configuration script that defines your desired configuration for the target node and sets up decryption on the target nodes by commanding the Local Configuration manager to decrypt the configuration data using the certificate and its thumbprint. 4. Run the configuration, which will set the Local Configuration Manager settings and start the DSC configuration. -![Diagram1](images/CredentialEncryptionDiagram1.png) +![Diagram1](../images/CredentialEncryptionDiagram1.png) ## Certificate Requirements @@ -225,7 +225,7 @@ Import-PfxCertificate -FilePath "$env:temp\DscPrivateKey.pfx" -CertStoreLocation ## Configuration data -The configuration data block defines which target nodes to operate on, whether or not to encrypt the credentials, the means of encryption, and other information. For more information on the configuration data block, see [Separating Configuration and Environment Data](configData.md). +The configuration data block defines which target nodes to operate on, whether or not to encrypt the credentials, the means of encryption, and other information. For more information on the configuration data block, see [Separating Configuration and Environment Data](../configurations/configData.md). The elements that can be configured for each node that are related to credential encryption are: @@ -471,4 +471,4 @@ function Get-EncryptionCertificate } Start-CredentialEncryptionExample -``` \ No newline at end of file +``` diff --git a/dsc/secureServer.md b/dsc/pull-server/secureServer.md similarity index 94% rename from dsc/secureServer.md rename to dsc/pull-server/secureServer.md index 4551cc42330d..abb9acf0f20a 100644 --- a/dsc/secureServer.md +++ b/dsc/pull-server/secureServer.md @@ -1,599 +1,599 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Pull server best practices ---- -# Pull server best practices - -Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - -> [!IMPORTANT] -> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server -> however there are no plans to offer new features or capabilities. It is recommended to -> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) -> (includes features beyond Pull Server on Windows Server) or one of the community solutions -> listed [here](pullserver.md#community-solutions-for-pull-service). - -Summary: This document is intended to include process and extensibility to assist engineers who are preparing for the solution. Details should provide best practices as identified by -customers and then validated by the product team to ensure recommendations are future facing and considered stable. - -| |Doc Info| -|:---|:---| -Author | Michael Greene -Reviewers | Ben Gelens, Ravikanth Chaganti, Aleksandar Nikolic -Published | April, 2015 - -## Abstract - -This document is designed to provide official guidance for anyone planning for a Windows PowerShell Desired State Configuration pull server implementation. A pull server is a simple -service that should take only minutes to deploy. Although this document will offer technical how-to guidance that can be used in a deployment, the value of this document is as a reference -for best practices and what to think about before deploying. -Readers should have basic familiarity with DSC, and the terms used to describe the components that are included in a DSC deployment. For more information, -see the [Windows PowerShell Desired State Configuration Overview](/powershell/dsc/overview) topic. -As DSC is expected to evolve at cloud cadence, the underlying technology including pull server is also expected to evolve and to introduce new capabilities. This document includes -a version table in the appendix that provides references to previous releases and references to future looking solutions to encourage forward-looking designs. - -The two major sections of this document: - -- Configuration Planning -- Installation Guide - -### Versions of the Windows Management Framework - -The information in this document is intended to apply to Windows Management Framework 5.0. While WMF 5.0 is not required for deploying and operating a pull server, version 5.0 is the focus -of this document. - -### Windows PowerShell Desired State Configuration - -Desired State Configuration (DSC) is a management platform that enables deploying and managing configuration data by using an industry syntax named the Managed Object Format (MOF) to describe -the Common Information Model (CIM). An open source project, Open Management Infrastructure (OMI), exists to further development of these standards across platforms including Linux and -network hardware operating systems. For more information, see the [DMTF page linking to MOF specifications](https://www.dmtf.org/standards/cim), and -[OMI Documents and Source](https://collaboration.opengroup.org/omi/documents.php). - -Windows PowerShell provides a set of language extensions for Desired State Configuration that you can use to create and manage declarative configurations. - -### Pull server role - -A pull server provides a centralized service to store configurations that will be accessible to target nodes. - -The pull server role can be deployed as either a Web Server instance or an SMB file share. The web server capability includes an OData interface and can optionally include capabilities -for target nodes to report back confirmation of success or failure as configurations are applied. This functionality is useful in environments where there are a large number of target nodes. -After configuring a target node (also referred to as a client) to point to the pull server the latest configuration data and any required scripts are downloaded and applied. This can happen as -a one-time deployment or as a re-occurring job which also makes the pull server an important asset for managing change at scale. For more information, see -[Windows PowerShell Desired State Configuration Pull Servers](/powershell/dsc/pullServer) and - -[Push and Pull Configuration Modes](/powershell/dsc/pullServer). - -## Configuration planning - -For any enterprise software deployment there is information that can be collected in advance to help plan for the correct architecture and to be prepared for the steps required to complete -the deployment. The following sections provide information regarding how to prepare and the organizational connections that will likely need to happen in advance. - -### Software requirements - -Deployment of a pull server requires the DSC Service feature of Windows Server. This feature was introduced in Windows Server 2012, and has been updated through ongoing releases of -Windows Management Framework (WMF). - -### Software downloads - -In addition to installing the latest content from Windows Update, there are two downloads considered best practice to deploy a DSC pull server: The latest version of -Windows Management Framework, and a DSC module to automate pull server provisioning. - -### WMF - -Windows Server 2012 R2 includes a feature named the DSC Service. The DSC Service feature provides the pull server functionality, including the binaries that support the OData endpoint. -WMF is included in Windows Server and is updated on an agile cadence between Windows Server releases. [New versions of WMF 5.0](https://www.microsoft.com/en-us/download/details.aspx?id=54616) can include updates to the -DSC Service feature. For this reason, it is a best practice to download the latest release of WMF and to review the release notes to determine if the release includes an update to the -DSC service feature. You should also review the section of the release notes that indicates whether the design status for an update or scenario is listed as stable or experimental. -To allow for an agile release cycle, individual features can be declared stable, which indicates the feature is ready to be used in a production environment even while WMF is released in -preview. -Other features that have historically been updated by WMF releases (see the WMF Release Notes for further detail): - -- Windows PowerShell Windows PowerShell Integrated Scripting -- Environment (ISE) Windows PowerShell Web Services (Management OData -- IIS Extension) Windows PowerShell Desired State Configuration (DSC) -- Windows Remote Management (WinRM) Windows Management Instrumentation (WMI) - -### DSC resource - -A pull server deployment can be simplified by provisioning the service using a DSC configuration script. This document includes configuration scripts that can be used to deploy a -production ready server node. To use the configuration scripts, a DSC module is required that is not included in Windows Server. The required module name is **xPSDesiredStateConfiguration**, -which includes the DSC resource **xDscWebService**. The xPSDesiredStateConfiguration module can be downloaded [here](https://gallery.technet.microsoft.com/xPSDesiredStateConfiguratio-417dc71d). - -Use the `Install-Module` cmdlet from the **PowerShellGet** module. - -```powershell -Install-Module xPSDesiredStateConfiguration -``` - -The **PowerShellGet** module will download the module to: - -`C:\Program Files\Windows PowerShell\Modules` - -Planning task| ----| -Do you have access to the installation files for Windows Server 2012 R2?| -Will the deployment environment have Internet access to download WMF and the module from the online gallery?| -How will you install the latest security updates after installing the operating system?| -Will the environment have Internet access to obtain updates, or will it have a local Windows Server Update Services (WSUS) server?| -Do you have access to Windows Server installation files that already include updates through offline injection?| - -### Hardware requirements - -Pull server deployments are supported on both physical and virtual servers. The sizing requirements for pull server align with the requirements for Windows Server 2012 R2. - -CPU: 1.4 GHz 64-bit processor -Memory: 512 MB -Disk Space: 32 GB -Network: Gigabit Ethernet Adapter - -Planning task| ----| -Will you deploy on physical hardware or on a virtualization platform?| -What is the process to request a new server for your target environment?| -What is the average turnaround time for a server to become available?| -What size server will you request?| - -### Accounts - -There are no service account requirements to deploy a pull server instance. -However, there are scenarios where the website could run in the context of a local user account. -For example, if there is a need to access a storage share for website content and either the Windows Server or the device hosting the storage share are not domain joined. - -### DNS records - -You will need a server name to use when configuring clients to work with a pull server environment. -In test environments, typically the server hostname is used, or the IP address for the server can be used if DNS name resolution is not available. -In production environments or in a lab environment that is intended to represent a production deployment, the best practice is to create a DNS CNAME record. - -A DNS CNAME allows you to create an alias to refer to your host (A) record. -The intent of the additional name record is to increase flexibility should a change be required in the future. -A CNAME can help to isolate the client configuration so that changes to the server environment, such as replacing a pull server or adding additional pull servers, -will not require a corresponding change to the client configuration. - -When choosing a name for the DNS record, keep the solution architecture in mind. -If using load balancing, the certificate used to secure traffic over HTTPS will need to share the same name as the DNS record. - -Scenario |Best Practice -:---|:--- -Test Environment |Reproduce the planned production environment, if possible. A server hostname is suitable for simple configurations. If DNS is not available, an IP address may be used in lieu of a hostname.| -Single Node Deployment |Create a DNS CNAME record that points to the server hostname.| - -For more information, see [Configuring DNS Round Robin in Windows Server](/previous-versions/windows/it-pro/windows-server-2003/cc787484(v=ws.10)). - -Planning task| ----| -Do you know who to contact to have DNS records created and changed?| -What is the average turnaround for a request for a DNS record?| -Do you need to request static Hostname (A) records for servers?| -What will you request as a CNAME?| -If needed, what type of Load Balancing solution will you utilize? (see section titled Load Balancing for details)| - -### Public Key Infrastructure - -Most organizations today require that network traffic, especially traffic that includes such sensitive data as how servers are configured, must be validated and/or encrypted during transit. -While it is possible to deploy a pull server using HTTP which facilitates client requests in clear text, it is a best practice to secure traffic using HTTPS. The service can be configured to -use HTTPS using a set of parameters in the DSC resource **xPSDesiredStateConfiguration**. - -The certificate requirements to secure HTTPS traffic for pull server are not different than securing any other HTTPS web site. The **Web Server** template in a -Windows Server Certificate Services satisfies the required capabilities. - -Planning task| ----| -If certificate requests are not automated, who will you need to contact to requests a certificate?| -What is the average turnaround for the request?| -How will the certificate file be transferred to you?| -How will the certificate private key be transferred to you?| -How long is the default expiration time?| -Have you settled on a DNS name for the pull server environment, that you can use for the certificate name?| - -### Choosing an architecture - -A pull server can be deployed using either a web service hosted on IIS, or an SMB file share. In most situations, the web service option will provide greater flexibility. It is not uncommon -for HTTPS traffic to traverse network boundaries, whereas SMB traffic is often filtered or blocked between networks. The web service also offers the option to include a Conformance Server or -Web Reporting Manager (both topics to be addressed in a future version of this document) that provide a mechanism for clients to report status back to a server for centralized visibility. -SMB provides an option for environments where policy dictates that a web server should not be utilized, and for other environmental requirements that make a web server role undesirable. -In either case, remember to evaluate the requirements for signing and encrypting traffic. HTTPS, SMB signing, and IPSEC policies are all options worth considering. - -#### Load balancing - -Clients interacting with the web service make a request for information that is returned in a single response. No sequential requests are required, so it is not necessary for the load -balancing platform to ensure sessions are maintained on a single server at any point in time. - -Planning task| ----| -What solution will be used for load balancing traffic across servers?| -If using a hardware load balancer, who will take a request to add a new configuration to the device?| -What is the average turnaround for a request to configure a new load balanced web service?| -What information will be required for the request?| -Will you need to request an additional IP or will the team responsible for load balancing handle that?| -Do you have the DNS records needed, and will this be required by the team responsible for configuring the load balancing solution?| -Does the load balancing solution require that PKI be handled by the device or can it load balance HTTPS traffic as long as there are no session requirements?| - -### Staging configurations and modules on the pull server - -As part of configuration planning, you will need to think about which DSC modules and configurations will be hosted by the pull server. For the purpose of configuration planning it is -important to have a basic understanding of how to prepare and deploy content to a pull server. - -In the future, this section will be expanded and included in an Operations Guide for DSC Pull Server. The guide will discuss the day to day process for managing modules and configurations -over time with automation. - -#### DSC modules - -Clients that request a configuration will need the required DSC modules. A functionality of the pull server is to automate distribution on demand of DSC modules to clients. If you are -deploying a pull server for the first time, perhaps as a lab or proof of concept, you are likely going to depend on DSC modules that are available from public repositories such as the -PowerShell Gallery or the PowerShell.org GitHub repositories for DSC modules. - -It is critical to remember that even for trusted online sources such as the PowerShell Gallery, any module that is downloaded from a public repository should be reviewed by someone with -PowerShell experience and knowledge of the environment where the modules will be used prior to being used in production. While completing this task it is a good time to check for any -additional payload in the module that can be removed such as documentation and example scripts. This will reduce the network bandwidth per client in their first request, when modules will -be downloaded over the network from server to client. - -Each module must be packaged in a specific format, a ZIP file named ModuleName_Version.zip that contains the module payload. After the file is copied to the server a checksum file must be -created. When clients connect to the server, the checksum is used to verify the content of the DSC module has not changed since it was published. - -```powershell -New-DscChecksum -ConfigurationPath .\ -OutPath .\ -``` - -Planning task| ----| -If you are planning a test or lab environment which scenarios are key to validate?| -Are there publicly available modules that contain resources to cover everything you need or will you need to author your own resources?| -Will your environment have Internet access to retrieve public modules?| -Who will be responsible for reviewing DSC modules?| -If you are planning a production environment what will you use as a local repository for storing DSC modules?| -Will a central team accept DSC modules from application teams? What will the process be?| -Will you automate packaging, copying, and creating a checksum for production-ready DSC modules to the server, from your source repo?| -Will your team be responsible for managing the automation platform as well?| - -#### DSC configurations - -The purpose of a pull server is to provide a centralized mechanism for distributing DSC configurations to client nodes. The configurations are stored on the server as MOF documents. -Each document will be named with a unique GUID. When clients are configured to connect with a pull server, they are also given the GUID for the configuration they should request. This -system of referencing configurations by GUID guarantees global uniqueness and is flexible such that a configuration can be applied with granularity per node, or as a role configuration that -spans many servers that should have identical configurations. - -#### GUIDs - -Planning for configuration GUIDs is worth additional attention when thinking through a pull server deployment. There is no specific requirement for how to handle GUIDs and the process is -likely to be unique for each environment. The process can range from simple to complex: a centrally stored CSV file, a simple SQL table, a CMDB, or a complex solution requiring integration -with another tool or software solution. There are two general approaches: - -- **Assigning GUIDs per server** — Provides a measure of assurance that every server configuration is controlled individually. This provides a level of precision around updates and can work - well in environments with few servers. -- **Assigning GUIDs per server role** — All servers that perform the same function, such as web servers, use the same GUID to reference the required configuration data. Be aware that - if many servers share the same GUID, all of them would be updated simultaneously when the configuration changes. - - The GUID is something that should be considered sensitive data because it could be leveraged by someone with malicious intent to gain intelligence about how servers are deployed and - configured in your environment. For more information, see - [Securely allocating GUIDs in PowerShell Desired State Configuration Pull Mode](https://blogs.msdn.microsoft.com/powershell/2014/12/31/securely-allocating-guids-in-powershell-desired-state-configuration-pull-mode/). - -Planning task| ----| -Who will be responsible for copying configurations in to the pull server folder when they are ready?| -If Configurations are authored by an application team, what will the process be to hand them off?| -Will you leverage a repository to store configurations as they are being authored, across teams?| -Will you automate the process of copying configurations to the server and creating a checksum when they are ready?| -How will you map GUIDs to servers or roles, and where will this be stored?| -What will you use as a process to configure client machines, and how will it integrate with your process for creating and storing Configuration GUIDs?| - -## Installation Guide - -*Scripts given in this document are stable examples. Always review scripts carefully before executing them in a production environment.* - -### Prerequisites - -To verify the version of PowerShell on your server use the following command. - -```powershell -$PSVersionTable.PSVersion -``` - -If possible, upgrade to the latest version of Windows Management Framework. -Next, download the `xPsDesiredStateConfiguration` module using the following command. - -```powershell -Install-Module xPSDesiredStateConfiguration -``` - -The command will ask for your approval before downloading the module. - -### Installation and configuration scripts - -The best method to deploy a DSC pull server is to use a DSC configuration script. This document will present scripts including both basic settings that would configure only the DSC web -service and advanced settings that would configure a Windows Server end-to-end including DSC web service. - -Note: Currently the `xPSDesiredStateConfiguation` DSC module requires the server to be EN-US locale. - -### Basic configuration for Windows Server 2012 - -```powershell -# This is a very basic Configuration to deploy a pull server instance in a lab environment on Windows Server 2012. - -Configuration PullServer { -Import-DscResource -ModuleName xPSDesiredStateConfiguration - - # Load the Windows Server DSC Service feature - WindowsFeature DSCServiceFeature - { - Ensure = 'Present' - Name = 'DSC-Service' - } - - # Use the DSC Resource to simplify deployment of the web service - xDSCWebService PSDSCPullServer - { - Ensure = 'Present' - EndpointName = 'PSDSCPullServer' - Port = 8080 - PhysicalPath = "$env:SYSTEMDRIVE\inetpub\wwwroot\PSDSCPullServer" - CertificateThumbPrint = 'AllowUnencryptedTraffic' - ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" - ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" - State = 'Started' - DependsOn = '[WindowsFeature]DSCServiceFeature' - } -} -PullServer -OutputPath 'C:\PullServerConfig\' -Start-DscConfiguration -Wait -Force -Verbose -Path 'C:\PullServerConfig\' -``` - -### Advanced configuration for Windows Server 2012 R2 - -```powershell -# This is an advanced Configuration example for Pull Server production deployments on Windows Server 2012 R2. -# Many of the features demonstrated are optional and provided to demonstrate how to adapt the Configuration for multiple scenarios -# Select the needed resources based on the requirements for each environment. -# Optional scenarios include: -# * Reduce footprint to Server Core -# * Rename server and join domain -# * Switch from SSL to TLS for HTTPS -# * Automatically load certificate from Certificate Authority -# * Locate Modules and Configuration data on remote SMB share -# * Manage state of default websites in IIS - -param ( - [Parameter(Mandatory=$true)] - [ValidateNotNullorEmpty()] - [System.String] $ServerName, - [System.String] $DomainName, - [System.String] $CARootName, - [System.String] $CAServerFQDN, - [System.String] $CertSubject, - [System.String] $SMBShare, - [Parameter(Mandatory=$true)] - [ValidateNotNullorEmpty()] - [PsCredential] $Credential - ) - -Configuration PullServer { - Import-DscResource -ModuleName xPSDesiredStateConfiguration, xWebAdministration, xCertificate, xComputerManagement - Node localhost - { - - # Configure the server to automatically corret configuration drift including reboots if needed. - LocalConfigurationManager - { - ConfigurationMode = 'ApplyAndAutoCorrect' - RebootNodeifNeeded = $node.RebootNodeifNeeded - CertificateId = $node.Thumbprint - } - - # Remove all GUI interfaces so the server has minimum running footprint. - WindowsFeature ServerCore - { - Ensure = 'Absent' - Name = 'User-Interfaces-Infra' - } - - # Set the server name and if needed, join a domain. If not joining a domain, remove the DomainName parameter. - xComputer DomainJoin - { - Name = $Node.ServerName - DomainName = $Node.DomainName - Credential = $Node.Credential - } - - # The next series of settings disable SSL and enable TLS, for environments where that is required by policy. - Registry TLS1_2ServerEnabled - { - Ensure = 'Present' - Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' - ValueName = 'Enabled' - ValueData = 1 - ValueType = 'Dword' - } - - Registry TLS1_2ServerDisabledByDefault - { - Ensure = 'Present' - Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' - ValueName = 'DisabledByDefault' - ValueData = 0 - ValueType = 'Dword' - } - - Registry TLS1_2ClientEnabled - { - Ensure = 'Present' - Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' - ValueName = 'Enabled' - ValueData = 1 - ValueType = 'Dword' - } - - Registry TLS1_2ClientDisabledByDefault - { - Ensure = 'Present' - Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' - ValueName = 'DisabledByDefault' - ValueData = 0 - ValueType = 'Dword' - } - - Registry SSL2ServerDisabled - { - Ensure = 'Present' - Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server' - ValueName = 'Enabled' - ValueData = 0 - ValueType = 'Dword' - } - - # Install the Windows Server DSC Service feature - WindowsFeature DSCServiceFeature - { - Ensure = 'Present' - Name = 'DSC-Service' - } - - # If using a certificate from a local Active Directory Enterprise Root Certificate Authority, complete a request and install the certificate - xCertReq SSLCert - { - CARootName = $Node.CARootName - CAServerFQDN = $Node.CAServerFQDN - Subject = $Node.CertSubject - AutoRenew = $Node.AutoRenew - Credential = $Node.Credential - } - - # Use the DSC resource to simplify deployment of the web service. You might also consider modifying the default port, possibly leveraging port 443 in environments where that is enforced as a standard. - xDSCWebService PSDSCPullServer - { - Ensure = 'Present' - EndpointName = 'PSDSCPullServer' - Port = 8080 - PhysicalPath = "$env:SYSTEMDRIVE\inetpub\wwwroot\PSDSCPullServer" - CertificateThumbPrint = 'CertificateSubject' - CertificateSubject = $Node.CertSubject - ModulePath = "$($Node.SMBShare)\DscService\Modules" - ConfigurationPath = "$($Node.SMBShare)\DscService\Configuration" - State = 'Started' - DependsOn = '[WindowsFeature]DSCServiceFeature' - } - - # Validate web config file contains current DB settings - xWebConfigKeyValue CorrectDBProvider - { - ConfigSection = 'AppSettings' - Key = 'dbprovider' - Value = 'System.Data.OleDb' - WebsitePath = 'IIS:\sites\PSDSCPullServer' - DependsOn = '[xDSCWebService]PSDSCPullServer' - } - xWebConfigKeyValue CorrectDBConnectionStr - { - ConfigSection = 'AppSettings' - Key = 'dbconnectionstr' - Value = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\WindowsPowerShell\DscService\Devices.mdb;' - WebsitePath = 'IIS:\sites\PSDSCPullServer' - DependsOn = '[xDSCWebService]PSDSCPullServer' - } - - # Stop the default website - xWebsite StopDefaultSite - { - Ensure = 'Present' - Name = 'Default Web Site' - State = 'Stopped' - PhysicalPath = 'C:\inetpub\wwwroot' - DependsOn = '[WindowsFeature]DSCServiceFeature' - } - } -} - -$configData = @{ - AllNodes = @( - @{ - NodeName = 'localhost' - ServerName = $ServerName - DomainName = $DomainName - CARootName = $CARootName - CAServerFQDN = $CAServerFQDN - CertSubject = $CertSubject - AutoRenew = $true - SMBShare = $SMBShare - Credential = $Credential - RebootNodeifNeeded = $true - CertificateFile = 'c:\PullServerConfig\Cert.cer' - Thumbprint = 'B9A39921918B466EB1ADF2509E00F5DECB2EFDA9' - } - ) - } - -PullServer -ConfigurationData $configData -OutputPath 'C:\PullServerConfig\' -Set-DscLocalConfigurationManager -ComputerName localhost -Path 'C:\PullServerConfig\' -Start-DscConfiguration -Wait -Force -Verbose -Path 'C:\PullServerConfig\' - -# .\Script.ps1 -ServerName web1 -domainname 'test.pha' -carootname 'test-dc01-ca' -caserverfqdn 'dc01.test.pha' -certsubject 'CN=service.test.pha' -smbshare '\\sofs1.test.pha\share' -``` - -### Verify pull server functionality - -```powershell -# This function is meant to simplify a check against a DSC pull server. If you do not use the default service URL, you will need to adjust accordingly. -function Verify-DSCPullServer ($fqdn) { - ([xml](Invoke-WebRequest "https://$($fqdn):8080/psdscpullserver.svc" | % Content)).service.workspace.collection.href -} - -Verify-DSCPullServer 'INSERT SERVER FQDN' -``` - -```output -Expected Result: -Action -Module -StatusReport -Node -``` - -### Configure clients - -```powershell -Configuration PullClient { - param( - $ID, - $Server - ) - LocalConfigurationManager - { - ConfigurationID = $ID; - RefreshMode = 'PULL'; - DownloadManagerName = 'WebDownloadManager'; - RebootNodeIfNeeded = $true; - RefreshFrequencyMins = 30; - ConfigurationModeFrequencyMins = 15; - ConfigurationMode = 'ApplyAndAutoCorrect'; - DownloadManagerCustomData = @{ServerUrl = "http://"+$Server+":8080/PSDSCPullServer.svc"; AllowUnsecureConnection = $true} - } -} - -PullClient -ID 'INSERTGUID' -Server 'INSERTSERVER' -Output 'C:\DSCConfig\' -Set-DscLocalConfigurationManager -ComputerName 'Localhost' -Path 'C:\DSCConfig\' -Verbose -``` - -## Additional references, snippets, and examples - -This example shows how to manually initiate a client connection (requires WMF5) for testing. - -```powershell -Update-DscConfiguration –Wait -Verbose -``` - -The [Add-DnsServerResourceRecordName](http://bit.ly/1G1H31L) cmdlet is used to add a type CNAME record to a DNS zone. - -The PowerShell Function to [Create a Checksum and Publish DSC MOF to SMB Pull Server](https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-3bc4b7f0) automatically generates the required checksum, and then copies both the MOF -configuration and checksum files to the SMB pull server. - -## Appendix - Understanding ODATA service data file types - -A data file is stored to create information during deployment of a pull server that includes the OData web service. The type of file depends on the operating system, as described below. - -- **Windows Server 2012** - The file type will always be .mdb -- **Windows Server 2012 R2** - The file type will default to .edb unless a .mdb is specified in the configuration - -In the [Advanced example script](https://github.com/mgreenegit/Whitepapers/blob/Dev/PullServerCPIG.md#installation-and-configuration-scripts) for installing a Pull Server, you will also find -an example of how to automatically control the web.config file settings to prevent any chance of error caused by file type. \ No newline at end of file +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Pull server best practices +--- +# Pull server best practices + +Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +> [!IMPORTANT] +> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server +> however there are no plans to offer new features or capabilities. It is recommended to +> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) +> (includes features beyond Pull Server on Windows Server) or one of the community solutions +> listed [here](pullserver.md#community-solutions-for-pull-service). + +Summary: This document is intended to include process and extensibility to assist engineers who are preparing for the solution. Details should provide best practices as identified by +customers and then validated by the product team to ensure recommendations are future facing and considered stable. + +| |Doc Info| +|:---|:---| +Author | Michael Greene +Reviewers | Ben Gelens, Ravikanth Chaganti, Aleksandar Nikolic +Published | April, 2015 + +## Abstract + +This document is designed to provide official guidance for anyone planning for a Windows PowerShell Desired State Configuration pull server implementation. A pull server is a simple +service that should take only minutes to deploy. Although this document will offer technical how-to guidance that can be used in a deployment, the value of this document is as a reference +for best practices and what to think about before deploying. +Readers should have basic familiarity with DSC, and the terms used to describe the components that are included in a DSC deployment. For more information, +see the [Windows PowerShell Desired State Configuration Overview](/powershell/dsc/overview) topic. +As DSC is expected to evolve at cloud cadence, the underlying technology including pull server is also expected to evolve and to introduce new capabilities. This document includes +a version table in the appendix that provides references to previous releases and references to future looking solutions to encourage forward-looking designs. + +The two major sections of this document: + +- Configuration Planning +- Installation Guide + +### Versions of the Windows Management Framework + +The information in this document is intended to apply to Windows Management Framework 5.0. While WMF 5.0 is not required for deploying and operating a pull server, version 5.0 is the focus +of this document. + +### Windows PowerShell Desired State Configuration + +Desired State Configuration (DSC) is a management platform that enables deploying and managing configuration data by using an industry syntax named the Managed Object Format (MOF) to describe +the Common Information Model (CIM). An open source project, Open Management Infrastructure (OMI), exists to further development of these standards across platforms including Linux and +network hardware operating systems. For more information, see the [DMTF page linking to MOF specifications](https://www.dmtf.org/standards/cim), and +[OMI Documents and Source](https://collaboration.opengroup.org/omi/documents.php). + +Windows PowerShell provides a set of language extensions for Desired State Configuration that you can use to create and manage declarative configurations. + +### Pull server role + +A pull server provides a centralized service to store configurations that will be accessible to target nodes. + +The pull server role can be deployed as either a Web Server instance or an SMB file share. The web server capability includes an OData interface and can optionally include capabilities +for target nodes to report back confirmation of success or failure as configurations are applied. This functionality is useful in environments where there are a large number of target nodes. +After configuring a target node (also referred to as a client) to point to the pull server the latest configuration data and any required scripts are downloaded and applied. This can happen as +a one-time deployment or as a re-occurring job which also makes the pull server an important asset for managing change at scale. For more information, see +[Windows PowerShell Desired State Configuration Pull Servers](/powershell/dsc/pullServer) and + +[Push and Pull Configuration Modes](/powershell/dsc/pullServer). + +## Configuration planning + +For any enterprise software deployment there is information that can be collected in advance to help plan for the correct architecture and to be prepared for the steps required to complete +the deployment. The following sections provide information regarding how to prepare and the organizational connections that will likely need to happen in advance. + +### Software requirements + +Deployment of a pull server requires the DSC Service feature of Windows Server. This feature was introduced in Windows Server 2012, and has been updated through ongoing releases of +Windows Management Framework (WMF). + +### Software downloads + +In addition to installing the latest content from Windows Update, there are two downloads considered best practice to deploy a DSC pull server: The latest version of +Windows Management Framework, and a DSC module to automate pull server provisioning. + +### WMF + +Windows Server 2012 R2 includes a feature named the DSC Service. The DSC Service feature provides the pull server functionality, including the binaries that support the OData endpoint. +WMF is included in Windows Server and is updated on an agile cadence between Windows Server releases. [New versions of WMF 5.0](https://www.microsoft.com/en-us/download/details.aspx?id=54616) can include updates to the +DSC Service feature. For this reason, it is a best practice to download the latest release of WMF and to review the release notes to determine if the release includes an update to the +DSC service feature. You should also review the section of the release notes that indicates whether the design status for an update or scenario is listed as stable or experimental. +To allow for an agile release cycle, individual features can be declared stable, which indicates the feature is ready to be used in a production environment even while WMF is released in +preview. +Other features that have historically been updated by WMF releases (see the WMF Release Notes for further detail): + +- Windows PowerShell Windows PowerShell Integrated Scripting +- Environment (ISE) Windows PowerShell Web Services (Management OData +- IIS Extension) Windows PowerShell Desired State Configuration (DSC) +- Windows Remote Management (WinRM) Windows Management Instrumentation (WMI) + +### DSC resource + +A pull server deployment can be simplified by provisioning the service using a DSC configuration script. This document includes configuration scripts that can be used to deploy a +production ready server node. To use the configuration scripts, a DSC module is required that is not included in Windows Server. The required module name is **xPSDesiredStateConfiguration**, +which includes the DSC resource **xDscWebService**. The xPSDesiredStateConfiguration module can be downloaded [here](https://gallery.technet.microsoft.com/xPSDesiredStateConfiguratio-417dc71d). + +Use the `Install-Module` cmdlet from the **PowerShellGet** module. + +```powershell +Install-Module xPSDesiredStateConfiguration +``` + +The **PowerShellGet** module will download the module to: + +`C:\Program Files\Windows PowerShell\Modules` + +Planning task| +---| +Do you have access to the installation files for Windows Server 2012 R2?| +Will the deployment environment have Internet access to download WMF and the module from the online gallery?| +How will you install the latest security updates after installing the operating system?| +Will the environment have Internet access to obtain updates, or will it have a local Windows Server Update Services (WSUS) server?| +Do you have access to Windows Server installation files that already include updates through offline injection?| + +### Hardware requirements + +Pull server deployments are supported on both physical and virtual servers. The sizing requirements for pull server align with the requirements for Windows Server 2012 R2. + +CPU: 1.4 GHz 64-bit processor +Memory: 512 MB +Disk Space: 32 GB +Network: Gigabit Ethernet Adapter + +Planning task| +---| +Will you deploy on physical hardware or on a virtualization platform?| +What is the process to request a new server for your target environment?| +What is the average turnaround time for a server to become available?| +What size server will you request?| + +### Accounts + +There are no service account requirements to deploy a pull server instance. +However, there are scenarios where the website could run in the context of a local user account. +For example, if there is a need to access a storage share for website content and either the Windows Server or the device hosting the storage share are not domain joined. + +### DNS records + +You will need a server name to use when configuring clients to work with a pull server environment. +In test environments, typically the server hostname is used, or the IP address for the server can be used if DNS name resolution is not available. +In production environments or in a lab environment that is intended to represent a production deployment, the best practice is to create a DNS CNAME record. + +A DNS CNAME allows you to create an alias to refer to your host (A) record. +The intent of the additional name record is to increase flexibility should a change be required in the future. +A CNAME can help to isolate the client configuration so that changes to the server environment, such as replacing a pull server or adding additional pull servers, +will not require a corresponding change to the client configuration. + +When choosing a name for the DNS record, keep the solution architecture in mind. +If using load balancing, the certificate used to secure traffic over HTTPS will need to share the same name as the DNS record. + +Scenario |Best Practice +:---|:--- +Test Environment |Reproduce the planned production environment, if possible. A server hostname is suitable for simple configurations. If DNS is not available, an IP address may be used in lieu of a hostname.| +Single Node Deployment |Create a DNS CNAME record that points to the server hostname.| + +For more information, see [Configuring DNS Round Robin in Windows Server](/previous-versions/windows/it-pro/windows-server-2003/cc787484(v=ws.10)). + +Planning task| +---| +Do you know who to contact to have DNS records created and changed?| +What is the average turnaround for a request for a DNS record?| +Do you need to request static Hostname (A) records for servers?| +What will you request as a CNAME?| +If needed, what type of Load Balancing solution will you utilize? (see section titled Load Balancing for details)| + +### Public Key Infrastructure + +Most organizations today require that network traffic, especially traffic that includes such sensitive data as how servers are configured, must be validated and/or encrypted during transit. +While it is possible to deploy a pull server using HTTP which facilitates client requests in clear text, it is a best practice to secure traffic using HTTPS. The service can be configured to +use HTTPS using a set of parameters in the DSC resource **xPSDesiredStateConfiguration**. + +The certificate requirements to secure HTTPS traffic for pull server are not different than securing any other HTTPS web site. The **Web Server** template in a +Windows Server Certificate Services satisfies the required capabilities. + +Planning task| +---| +If certificate requests are not automated, who will you need to contact to requests a certificate?| +What is the average turnaround for the request?| +How will the certificate file be transferred to you?| +How will the certificate private key be transferred to you?| +How long is the default expiration time?| +Have you settled on a DNS name for the pull server environment, that you can use for the certificate name?| + +### Choosing an architecture + +A pull server can be deployed using either a web service hosted on IIS, or an SMB file share. In most situations, the web service option will provide greater flexibility. It is not uncommon +for HTTPS traffic to traverse network boundaries, whereas SMB traffic is often filtered or blocked between networks. The web service also offers the option to include a Conformance Server or +Web Reporting Manager (both topics to be addressed in a future version of this document) that provide a mechanism for clients to report status back to a server for centralized visibility. +SMB provides an option for environments where policy dictates that a web server should not be utilized, and for other environmental requirements that make a web server role undesirable. +In either case, remember to evaluate the requirements for signing and encrypting traffic. HTTPS, SMB signing, and IPSEC policies are all options worth considering. + +#### Load balancing + +Clients interacting with the web service make a request for information that is returned in a single response. No sequential requests are required, so it is not necessary for the load +balancing platform to ensure sessions are maintained on a single server at any point in time. + +Planning task| +---| +What solution will be used for load balancing traffic across servers?| +If using a hardware load balancer, who will take a request to add a new configuration to the device?| +What is the average turnaround for a request to configure a new load balanced web service?| +What information will be required for the request?| +Will you need to request an additional IP or will the team responsible for load balancing handle that?| +Do you have the DNS records needed, and will this be required by the team responsible for configuring the load balancing solution?| +Does the load balancing solution require that PKI be handled by the device or can it load balance HTTPS traffic as long as there are no session requirements?| + +### Staging configurations and modules on the pull server + +As part of configuration planning, you will need to think about which DSC modules and configurations will be hosted by the pull server. For the purpose of configuration planning it is +important to have a basic understanding of how to prepare and deploy content to a pull server. + +In the future, this section will be expanded and included in an Operations Guide for DSC Pull Server. The guide will discuss the day to day process for managing modules and configurations +over time with automation. + +#### DSC modules + +Clients that request a configuration will need the required DSC modules. A functionality of the pull server is to automate distribution on demand of DSC modules to clients. If you are +deploying a pull server for the first time, perhaps as a lab or proof of concept, you are likely going to depend on DSC modules that are available from public repositories such as the +PowerShell Gallery or the PowerShell.org GitHub repositories for DSC modules. + +It is critical to remember that even for trusted online sources such as the PowerShell Gallery, any module that is downloaded from a public repository should be reviewed by someone with +PowerShell experience and knowledge of the environment where the modules will be used prior to being used in production. While completing this task it is a good time to check for any +additional payload in the module that can be removed such as documentation and example scripts. This will reduce the network bandwidth per client in their first request, when modules will +be downloaded over the network from server to client. + +Each module must be packaged in a specific format, a ZIP file named ModuleName_Version.zip that contains the module payload. After the file is copied to the server a checksum file must be +created. When clients connect to the server, the checksum is used to verify the content of the DSC module has not changed since it was published. + +```powershell +New-DscChecksum -ConfigurationPath .\ -OutPath .\ +``` + +Planning task| +---| +If you are planning a test or lab environment which scenarios are key to validate?| +Are there publicly available modules that contain resources to cover everything you need or will you need to author your own resources?| +Will your environment have Internet access to retrieve public modules?| +Who will be responsible for reviewing DSC modules?| +If you are planning a production environment what will you use as a local repository for storing DSC modules?| +Will a central team accept DSC modules from application teams? What will the process be?| +Will you automate packaging, copying, and creating a checksum for production-ready DSC modules to the server, from your source repo?| +Will your team be responsible for managing the automation platform as well?| + +#### DSC configurations + +The purpose of a pull server is to provide a centralized mechanism for distributing DSC configurations to client nodes. The configurations are stored on the server as MOF documents. +Each document will be named with a unique **Guid**. When clients are configured to connect with a pull server, they are also given the **Guid** for the configuration they should request. This +system of referencing configurations by **Guid** guarantees global uniqueness and is flexible such that a configuration can be applied with granularity per node, or as a role configuration that +spans many servers that should have identical configurations. + +#### Guids + +Planning for configuration **Guids** is worth additional attention when thinking through a pull server deployment. There is no specific requirement for how to handle **Guids** and the process is +likely to be unique for each environment. The process can range from simple to complex: a centrally stored CSV file, a simple SQL table, a CMDB, or a complex solution requiring integration +with another tool or software solution. There are two general approaches: + +- **Assigning Guids per server** — Provides a measure of assurance that every server configuration is controlled individually. This provides a level of precision around updates and can work + well in environments with few servers. +- **Assigning Guids per server role** — All servers that perform the same function, such as web servers, use the same GUID to reference the required configuration data. Be aware that + if many servers share the same GUID, all of them would be updated simultaneously when the configuration changes. + + The GUID is something that should be considered sensitive data because it could be leveraged by someone with malicious intent to gain intelligence about how servers are deployed and + configured in your environment. For more information, see + [Securely allocating Guids in PowerShell Desired State Configuration Pull Mode](https://blogs.msdn.microsoft.com/powershell/2014/12/31/securely-allocating-guids-in-powershell-desired-state-configuration-pull-mode/). + +Planning task| +---| +Who will be responsible for copying configurations in to the pull server folder when they are ready?| +If Configurations are authored by an application team, what will the process be to hand them off?| +Will you leverage a repository to store configurations as they are being authored, across teams?| +Will you automate the process of copying configurations to the server and creating a checksum when they are ready?| +How will you map Guids to servers or roles, and where will this be stored?| +What will you use as a process to configure client machines, and how will it integrate with your process for creating and storing Configuration Guids?| + +## Installation Guide + +*Scripts given in this document are stable examples. Always review scripts carefully before executing them in a production environment.* + +### Prerequisites + +To verify the version of PowerShell on your server use the following command. + +```powershell +$PSVersionTable.PSVersion +``` + +If possible, upgrade to the latest version of Windows Management Framework. +Next, download the `xPsDesiredStateConfiguration` module using the following command. + +```powershell +Install-Module xPSDesiredStateConfiguration +``` + +The command will ask for your approval before downloading the module. + +### Installation and configuration scripts + +The best method to deploy a DSC pull server is to use a DSC configuration script. This document will present scripts including both basic settings that would configure only the DSC web +service and advanced settings that would configure a Windows Server end-to-end including DSC web service. + +Note: Currently the `xPSDesiredStateConfiguration` DSC module requires the server to be EN-US locale. + +### Basic configuration for Windows Server 2012 + +```powershell +# This is a very basic Configuration to deploy a pull server instance in a lab environment on Windows Server 2012. + +Configuration PullServer { +Import-DscResource -ModuleName xPSDesiredStateConfiguration + + # Load the Windows Server DSC Service feature + WindowsFeature DSCServiceFeature + { + Ensure = 'Present' + Name = 'DSC-Service' + } + + # Use the DSC Resource to simplify deployment of the web service + xDSCWebService PSDSCPullServer + { + Ensure = 'Present' + EndpointName = 'PSDSCPullServer' + Port = 8080 + PhysicalPath = "$env:SYSTEMDRIVE\inetpub\wwwroot\PSDSCPullServer" + CertificateThumbPrint = 'AllowUnencryptedTraffic' + ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" + ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" + State = 'Started' + DependsOn = '[WindowsFeature]DSCServiceFeature' + } +} +PullServer -OutputPath 'C:\PullServerConfig\' +Start-DscConfiguration -Wait -Force -Verbose -Path 'C:\PullServerConfig\' +``` + +### Advanced configuration for Windows Server 2012 R2 + +```powershell +# This is an advanced Configuration example for Pull Server production deployments on Windows Server 2012 R2. +# Many of the features demonstrated are optional and provided to demonstrate how to adapt the Configuration for multiple scenarios +# Select the needed resources based on the requirements for each environment. +# Optional scenarios include: +# * Reduce footprint to Server Core +# * Rename server and join domain +# * Switch from SSL to TLS for HTTPS +# * Automatically load certificate from Certificate Authority +# * Locate Modules and Configuration data on remote SMB share +# * Manage state of default websites in IIS + +param ( + [Parameter(Mandatory=$true)] + [ValidateNotNullorEmpty()] + [System.String] $ServerName, + [System.String] $DomainName, + [System.String] $CARootName, + [System.String] $CAServerFQDN, + [System.String] $CertSubject, + [System.String] $SMBShare, + [Parameter(Mandatory=$true)] + [ValidateNotNullorEmpty()] + [PsCredential] $Credential + ) + +Configuration PullServer { + Import-DscResource -ModuleName xPSDesiredStateConfiguration, xWebAdministration, xCertificate, xComputerManagement + Node localhost + { + + # Configure the server to automatically corret configuration drift including reboots if needed. + LocalConfigurationManager + { + ConfigurationMode = 'ApplyAndAutoCorrect' + RebootNodeifNeeded = $node.RebootNodeifNeeded + CertificateId = $node.Thumbprint + } + + # Remove all GUI interfaces so the server has minimum running footprint. + WindowsFeature ServerCore + { + Ensure = 'Absent' + Name = 'User-Interfaces-Infra' + } + + # Set the server name and if needed, join a domain. If not joining a domain, remove the DomainName parameter. + xComputer DomainJoin + { + Name = $Node.ServerName + DomainName = $Node.DomainName + Credential = $Node.Credential + } + + # The next series of settings disable SSL and enable TLS, for environments where that is required by policy. + Registry TLS1_2ServerEnabled + { + Ensure = 'Present' + Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' + ValueName = 'Enabled' + ValueData = 1 + ValueType = 'Dword' + } + + Registry TLS1_2ServerDisabledByDefault + { + Ensure = 'Present' + Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' + ValueName = 'DisabledByDefault' + ValueData = 0 + ValueType = 'Dword' + } + + Registry TLS1_2ClientEnabled + { + Ensure = 'Present' + Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' + ValueName = 'Enabled' + ValueData = 1 + ValueType = 'Dword' + } + + Registry TLS1_2ClientDisabledByDefault + { + Ensure = 'Present' + Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' + ValueName = 'DisabledByDefault' + ValueData = 0 + ValueType = 'Dword' + } + + Registry SSL2ServerDisabled + { + Ensure = 'Present' + Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server' + ValueName = 'Enabled' + ValueData = 0 + ValueType = 'Dword' + } + + # Install the Windows Server DSC Service feature + WindowsFeature DSCServiceFeature + { + Ensure = 'Present' + Name = 'DSC-Service' + } + + # If using a certificate from a local Active Directory Enterprise Root Certificate Authority, complete a request and install the certificate + xCertReq SSLCert + { + CARootName = $Node.CARootName + CAServerFQDN = $Node.CAServerFQDN + Subject = $Node.CertSubject + AutoRenew = $Node.AutoRenew + Credential = $Node.Credential + } + + # Use the DSC resource to simplify deployment of the web service. You might also consider modifying the default port, possibly leveraging port 443 in environments where that is enforced as a standard. + xDSCWebService PSDSCPullServer + { + Ensure = 'Present' + EndpointName = 'PSDSCPullServer' + Port = 8080 + PhysicalPath = "$env:SYSTEMDRIVE\inetpub\wwwroot\PSDSCPullServer" + CertificateThumbPrint = 'CertificateSubject' + CertificateSubject = $Node.CertSubject + ModulePath = "$($Node.SMBShare)\DscService\Modules" + ConfigurationPath = "$($Node.SMBShare)\DscService\Configuration" + State = 'Started' + DependsOn = '[WindowsFeature]DSCServiceFeature' + } + + # Validate web config file contains current DB settings + xWebConfigKeyValue CorrectDBProvider + { + ConfigSection = 'AppSettings' + Key = 'dbprovider' + Value = 'System.Data.OleDb' + WebsitePath = 'IIS:\sites\PSDSCPullServer' + DependsOn = '[xDSCWebService]PSDSCPullServer' + } + xWebConfigKeyValue CorrectDBConnectionStr + { + ConfigSection = 'AppSettings' + Key = 'dbconnectionstr' + Value = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\WindowsPowerShell\DscService\Devices.mdb;' + WebsitePath = 'IIS:\sites\PSDSCPullServer' + DependsOn = '[xDSCWebService]PSDSCPullServer' + } + + # Stop the default website + xWebsite StopDefaultSite + { + Ensure = 'Present' + Name = 'Default Web Site' + State = 'Stopped' + PhysicalPath = 'C:\inetpub\wwwroot' + DependsOn = '[WindowsFeature]DSCServiceFeature' + } + } +} + +$configData = @{ + AllNodes = @( + @{ + NodeName = 'localhost' + ServerName = $ServerName + DomainName = $DomainName + CARootName = $CARootName + CAServerFQDN = $CAServerFQDN + CertSubject = $CertSubject + AutoRenew = $true + SMBShare = $SMBShare + Credential = $Credential + RebootNodeifNeeded = $true + CertificateFile = 'c:\PullServerConfig\Cert.cer' + Thumbprint = 'B9A39921918B466EB1ADF2509E00F5DECB2EFDA9' + } + ) + } + +PullServer -ConfigurationData $configData -OutputPath 'C:\PullServerConfig\' +Set-DscLocalConfigurationManager -ComputerName localhost -Path 'C:\PullServerConfig\' +Start-DscConfiguration -Wait -Force -Verbose -Path 'C:\PullServerConfig\' + +# .\Script.ps1 -ServerName web1 -domainname 'test.pha' -carootname 'test-dc01-ca' -caserverfqdn 'dc01.test.pha' -certsubject 'CN=service.test.pha' -smbshare '\\sofs1.test.pha\share' +``` + +### Verify pull server functionality + +```powershell +# This function is meant to simplify a check against a DSC pull server. If you do not use the default service URL, you will need to adjust accordingly. +function Verify-DSCPullServer ($fqdn) { + ([xml](Invoke-WebRequest "https://$($fqdn):8080/psdscpullserver.svc" | % Content)).service.workspace.collection.href +} + +Verify-DSCPullServer 'INSERT SERVER FQDN' +``` + +```output +Expected Result: +Action +Module +StatusReport +Node +``` + +### Configure clients + +```powershell +Configuration PullClient { + param( + $ID, + $Server + ) + LocalConfigurationManager + { + ConfigurationID = $ID; + RefreshMode = 'PULL'; + DownloadManagerName = 'WebDownloadManager'; + RebootNodeIfNeeded = $true; + RefreshFrequencyMins = 30; + ConfigurationModeFrequencyMins = 15; + ConfigurationMode = 'ApplyAndAutoCorrect'; + DownloadManagerCustomData = @{ServerUrl = "http://"+$Server+":8080/PSDSCPullServer.svc"; AllowUnsecureConnection = $true} + } +} + +PullClient -ID 'INSERTGUID' -Server 'INSERTSERVER' -Output 'C:\DSCConfig\' +Set-DscLocalConfigurationManager -ComputerName 'Localhost' -Path 'C:\DSCConfig\' -Verbose +``` + +## Additional references, snippets, and examples + +This example shows how to manually initiate a client connection (requires WMF5) for testing. + +```powershell +Update-DscConfiguration –Wait -Verbose +``` + +The [Add-DnsServerResourceRecordName](http://bit.ly/1G1H31L) cmdlet is used to add a type CNAME record to a DNS zone. + +The PowerShell Function to [Create a Checksum and Publish DSC MOF to SMB Pull Server](https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-3bc4b7f0) automatically generates the required checksum, and then copies both the MOF +configuration and checksum files to the SMB pull server. + +## Appendix - Understanding ODATA service data file types + +A data file is stored to create information during deployment of a pull server that includes the OData web service. The type of file depends on the operating system, as described below. + +- **Windows Server 2012** + The file type will always be .mdb +- **Windows Server 2012 R2** + The file type will default to .edb unless a .mdb is specified in the configuration + +In the [Advanced example script](https://github.com/mgreenegit/Whitepapers/blob/Dev/PullServerCPIG.md#installation-and-configuration-scripts) for installing a Pull Server, you will also find +an example of how to automatically control the web.config file settings to prevent any chance of error caused by file type. diff --git a/dsc/pull-server/update-nodes-manually.md b/dsc/pull-server/update-nodes-manually.md new file mode 100644 index 000000000000..1f5740e81276 --- /dev/null +++ b/dsc/pull-server/update-nodes-manually.md @@ -0,0 +1,36 @@ +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Update Nodes from a Pull Server +--- + +# Update Nodes from a Pull Server + +The sections below assume that you have already set up a Pull Server. If you have not set up your Pull Server, you can use the following guides: + +- [Set up a DSC SMB Pull Server](pullServerSmb.md) +- [Set up a DSC HTTP Pull Server](pullServer.md) + +Each target node can be configured to download configurations, resources, and even report its status. This article will show you how to upload resources so they are available to be downloaded, and configure clients to download resources automatically. When the Node's receives an assigned Configuration, through **Pull** or **Push** (v5), it automatically downloads any resources required by the Configuration from the location specified in the LCM. + +## Using the Update-DSCConfiguration cmdlet + +Beginning in PowerShell 5.0, the [Update-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/update-dscconfiguration) cmdlet, forces a Node to update its configuration from the Pull Server configured in the LCM. + +```powershell +Update-DSCConfiguration -ComputerName "Server01" +``` + +## Using Invoke-CIMMethod + +In PowerShell 4.0, you can still manually force a Pull Client to update its Configuration using [Invoke-CIMMethod](/powershell/module/cimcmdlets/invoke-cimmethod). The following example creates a CIM session with specified credentials, invokes the appropriate CIM method, and removes the session. + +```powershell +$cimSession = New-CimSession -ComputerName "Server01" -Credential $(Get-Credential) +Invoke-CimMethod -CimSession $cimSession -Namespace 'root/microsoft/windows/desiredstateconfiguration' -Class 'MSFT_DscLocalConfigurationManager' -MethodName 'PerformRequiredConfigurationChecks' -Arguments @{ 'Flags' = [uint32]1 } -Verbose +$cimSession | Remove-CimSession +``` + +## See Also + +[PerformRequiredConfigurationChecks](/powershell/dsc/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks) diff --git a/dsc/pullClientConfigID.md b/dsc/pullClientConfigID.md deleted file mode 100644 index 14b0cc3d7705..000000000000 --- a/dsc/pullClientConfigID.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Setting up a pull client using configuration ID ---- -# Setting up a pull client using configuration ID - -> Applies To: Windows PowerShell 5.0 - -> [!IMPORTANT] -> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server -> however there are no plans to offer new features or capabilities. It is recommended to -> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) -> (includes features beyond Pull Server on Windows Server) or one of the community solutions -> listed [here](pullserver.md#community-solutions-for-pull-service). - -Each target node has to be told to use pull mode and given the URL where it can contact the pull server to get configurations. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration, decorated with the **DSCLocalConfigurationManager** attribute. For more information about configuring the LCM, see [Configuring the Local Configuration Manager](metaConfig.md). - -> **Note**: This topic applies to PowerShell 5.0. For information on setting up a pull client in PowerShell 4.0, see [Setting up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md) - -The following script configures the LCM to pull configurations from a server named "CONTOSO-PullSrv". - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigID -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - - } - } -} -PullClientConfigID -``` - -In the script, the **ConfigurationRepositoryWeb** block defines the pull server. The **ServerURL** - -After this script runs, it creates a new output folder named **PullClientConfigID** and puts a metaconfiguration MOF file there. In this case, the metaconfiguration MOF file will be named `localhost.meta.mof`. - -To apply the configuration, call the **Set-DscLocalConfigurationManager** cmdlet, with the **Path** set to the location of the metaconfiguration MOF file. For example: `Set-DSCLocalConfigurationManager localhost –Path .\PullClientConfigID –Verbose.` - -## Configuration ID - -The script sets the **ConfigurationID** property of LCM to a GUID that had been previously created for this purpose (you can create a GUID by using the **New-Guid** cmdlet). The **ConfigurationID** is what the LCM uses to find the appropriate configuration on the pull server. The configuration MOF file on the pull server must be named _ConfigurationID_.mof, where _ConfigurationID_ is the value of the **ConfigurationID** property of the target node's LCM. - -## SMB pull server - -To set up a client to pull configurations from an SMB server, use a **ConfigurationRepositoryShare** block. In a **ConfigurationRepositoryShare** block, you specify the path to the server by setting the **SourcePath** property. The following metaconfiguration configures the target node to pull from an SMB pull server named **SMBPullServer**. - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigID -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - ConfigurationRepositoryShare SMBPullServer - { - SourcePath = '\\SMBPullServer\PullSource' - - } - } -} -PullClientConfigID -``` - -## Resource and report servers - -If you specify only a **ConfigurationRepositoryWeb** or **ConfigurationRepositoryShare** block in your LCM configuration (as in the previous example), the pull client will pull -resources from the specified server, but it will not send reports to it. You can use a single pull server for configurations, resources, and reporting, but you have to create a -**ReportRepositoryWeb** block to set up reporting. - -The following example shows a metaconfiguration that sets up a client to pull configurations and resources, and send reporting data, to a single -pull server. - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigID -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - - } - - - ReportServerWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - } - } -} -PullClientConfigID -``` - -You can also specify different pull servers for resources and reporting. To specify a resource server, you use either a **ResourceRepositoryWeb** (for a web pull server) or a -**ResourceRepositoryShare** block (for an SMB pull server). -To specify a report server, you use a **ReportRepositoryWeb** block. A report server cannot be an SMB server. -The following metaconfiguration configures a pull client to get its configurations from **CONTOSO-PullSrv** and its resources from **CONTOSO-ResourceSrv**, and to send status reports to **CONTOSO-ReportSrv**: - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigID -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - ConfigurationID = '1d545e3b-60c3-47a0-bf65-5afc05182fd0' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - - } - - ResourceRepositoryWeb CONTOSO-ResourceSrv - { - ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc' - } - - ReportServerWeb CONTOSO-ReportSrv - { - ServerURL = 'https://CONTOSO-REsourceSrv:8080/PSDSCPullServer.svc' - } - } -} -PullClientConfigID -``` - -## See Also - -* [Setting up a pull client with configuration names](pullClientConfigNames.md) \ No newline at end of file diff --git a/dsc/pullClientConfigID4.md b/dsc/pullClientConfigID4.md deleted file mode 100644 index 8834f72e08b7..000000000000 --- a/dsc/pullClientConfigID4.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Setting up a pull client using configuration ID in PowerShell 4.0 ---- - -# Setting up a pull client using configuration ID in PowerShell 4.0 - ->Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - -Each target node has to be told to use pull mode and given the URL where it can contact the pull server to get configurations. To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. To configure the LCM, you create a special type of configuration known as a "metaconfiguration". For more information about configuring the LCM, see [Windows PowerShell 4.0 Desired State Configuration Local Configuration Manager](metaConfig4.md) - -The following script configures the LCM to pull configurations from a server named "PullServer": - -```powershell -Configuration SimpleMetaConfigurationForPull -{ - LocalConfigurationManager - { - ConfigurationID = "1C707B86-EF8E-4C29-B7C1-34DA2190AE24"; - RefreshMode = "PULL"; - DownloadManagerName = "WebDownloadManager"; - RebootNodeIfNeeded = $true; - RefreshFrequencyMins = 30; - ConfigurationModeFrequencyMins = 30; - ConfigurationMode = "ApplyAndAutoCorrect"; - DownloadManagerCustomData = @{ServerUrl = "http://PullServer:8080/PSDSCPullServer/PSDSCPullServer.svc"; AllowUnsecureConnection = “TRUEâ€} - } -} -SimpleMetaConfigurationForPull -Output "." -``` - -In the script, **DownloadManagerCustomData** passes the URL of the pull server and (for this example) allows an unsecured connection. - -After this script runs, it creates a new output folder called **SimpleMetaConfigurationForPull** and puts a metaconfiguration MOF file there. - -To apply the configuration, use **Set-DscLocalConfigurationManager** with parameters for **ComputerName** (use “localhostâ€) and **Path** (the path to the location of the target node’s localhost.meta.mof file). For example: -```powershell -Set-DSCLocalConfigurationManager –ComputerName localhost –Path . –Verbose. -``` - -## Configuration ID -The script sets the **ConfigurationID** property of the LCM to a GUID that had been previously created for this purpose (you can create a GUID by using the **New-Guid** cmdlet). The **ConfigurationID** is what the LCM uses to find the appropriate configuration on the pull server. The configuration MOF file on the pull server must be named `ConfigurationID.mof`, where *ConfigurationID* is the value of the **ConfigurationID** property of the target node's LCM. - -## Pulling from an SMB server - -If the pull server is set up as an SMB file share, rather than a web service, you specify the **DscFileDownloadManager** rather than the **WebDownLoadManager**. -The **DscFileDownloadManager** takes a **SourcePath** property instead of **ServerUrl**. The following script configures the LCM to pull configurations from an SMB share named -"SmbDscShare" on a server named "CONTOSO-SERVER": - -```powershell -Configuration SimpleMetaConfigurationForPull -{ - LocalConfigurationManager - { - ConfigurationID = "1C707B86-EF8E-4C29-B7C1-34DA2190AE24"; - RefreshMode = "PULL"; - DownloadManagerName = "DscFileDownloadManager"; - RebootNodeIfNeeded = $true; - RefreshFrequencyMins = 30; - ConfigurationModeFrequencyMins = 30; - ConfigurationMode = "ApplyAndAutoCorrect"; - DownloadManagerCustomData = @{ServerUrl = "\\CONTOSO-SERVER\SmbDscShare"} - } -} -SimpleMetaConfigurationForPull -Output "." -``` - -## See Also - -- [Setting up a DSC web pull server](pullServer.md) -- [Setting up a DSC SMB pull server](pullServerSMB.md) \ No newline at end of file diff --git a/dsc/pullClientConfigNames.md b/dsc/pullClientConfigNames.md deleted file mode 100644 index 0fe09ec96cff..000000000000 --- a/dsc/pullClientConfigNames.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Setting up a pull client using configuration names ---- -# Setting up a pull client using configuration names - -> Applies To: Windows PowerShell 5.0 - -> [!IMPORTANT] -> The Pull Server (Windows Feature *DSC-Service*) is a supported component of Windows Server -> however there are no plans to offer new features or capabilities. It is recommended to -> begin transitioning managed clients to [Azure Automation DSC](/azure/automation/automation-dsc-getting-started) -> (includes features beyond Pull Server on Windows Server) or one of the community solutions -> listed [here](pullserver.md#community-solutions-for-pull-service). - -Each target node has to be told to use pull mode and given the URL where it can contact the pull server to get configurations. -To do this, you have to configure the Local Configuration Manager (LCM) with the necessary information. -To configure the LCM, you create a special type of configuration, decorated with the **DSCLocalConfigurationManager** attribute. -For more information about configuring the LCM, see [Configuring the Local Configuration Manager](metaConfig.md). - -> **Note**: This topic applies to PowerShell 5.0. -For information on setting up a pull client in PowerShell 4.0, see [Setting up a pull client using configuration ID in PowerShell 4.0](pullClientConfigID4.md) - -The following script configures the LCM to pull configurations from a server named "CONTOSO-PullSrv": - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigNames -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4' - ConfigurationNames = @('ClientConfig') - } - } -} -PullClientConfigNames -``` - -In the script, the **ConfigurationRepositoryWeb** block defines the pull server. -The **ServerURL** property specifies the endpoint for the pull server. - -The **RegistrationKey** property is a shared key between all client nodes for a pull server and that pull server. -The same value is stored in a file on the pull server. - -The **ConfigurationNames** property is an array that specifies the names of the configurations intended for the client node. -On the pull server, the configuration MOF file for this client node must be named *ConfigurationNames*.mof, where *ConfigurationNames* matches the value of the **ConfigurationNames** property you set in this metaconfiguration. - ->**Note:** If you specify more than one value in the **ConfigurationNames**, you must also specify **PartialConfiguration** blocks in your configuration. -For information about partial configurations, see [PowerShell Desired State Configuration partial configurations](partialConfigs.md). - -After this script runs, it creates a new output folder named **PullClientConfigNames** and puts a metaconfiguration MOF file there. -In this case, the metaconfiguration MOF file will be named `localhost.meta.mof`. - -To apply the configuration, call the **Set-DscLocalConfigurationManager** cmdlet, with the **Path** set to the location of the metaconfiguration MOF file. - -```powershell -Set-DSCLocalConfigurationManager localhost –Path .\PullClientConfigNames –Verbose. -``` - -> **Note**: Registration keys work only with web pull servers. -You must still use **ConfigurationID** with an SMB pull server. -For information about configuring a pull server by using **ConfigurationID**, see [Setting up a pull client using configuration ID](PullClientConfigNames.md) - -## Resource and report servers - -If you specify only a **ConfigurationRepositoryWeb** or **ConfigurationRepositoryShare** block in your LCM configuration (as in the previous example), the pull client will pull resources from the specified server, but it will not send reports to it. -You can use a single pull server for configurations, resources, and reporting, but you have to create a **ReportRepositoryWeb** block to set up reporting. -The following example shows a metaconfiguration that sets up a client to pull configurations and resources, and send reporting data, to a single pull server. - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigNames -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' - } - - ReportServerWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - } - } -} -PullClientConfigNames -``` - -You can also specify different pull servers for resources and reporting. -To specify a resource server, you use either a **ResourceRepositoryWeb** (for a web pull server) or a **ResourceRepositoryShare** block (for an SMB pull server). -To specify a report server, you use a **ReportRepositoryWeb** block. -A report server cannot be an SMB server. -The following metaconfiguration configures a pull client to get its configurations from **CONTOSO-PullSrv** and its resources from **CONTOSO-ResourceSrv**, and to send status reports to **CONTOSO-ReportSrv**: - -```powershell -[DSCLocalConfigurationManager()] -configuration PullClientConfigNames -{ - Node localhost - { - Settings - { - RefreshMode = 'Pull' - RefreshFrequencyMins = 30 - RebootNodeIfNeeded = $true - } - - ConfigurationRepositoryWeb CONTOSO-PullSrv - { - ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc' - RegistrationKey = 'fbc6ef09-ad98-4aad-a062-92b0e0327562' - } - - ResourceRepositoryWeb CONTOSO-ResourceSrv - { - ServerURL = 'https://CONTOSO-ResourceSrv:8080/PSDSCPullServer.svc' - RegistrationKey = '30ef9bd8-9acf-4e01-8374-4dc35710fc90' - } - - ReportServerWeb CONTOSO-ReportSrv - { - ServerURL = 'https://CONTOSO-ReportSrv:8080/PSDSCPullServer.svc' - RegistrationKey = '6b392c6a-818c-4b24-bf38-47124f1e2f14' - } - } -} -PullClientConfigNames -``` - -## See Also - -* [Setting up a pull client with configuration ID](PullClientConfigNames.md) -* [Setting up a DSC web pull server](pullServer.md) \ No newline at end of file diff --git a/dsc/queryServerNodes.md b/dsc/queryServerNodes.md deleted file mode 100644 index 3c8665cb37f2..000000000000 --- a/dsc/queryServerNodes.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC function to query node information from pull server. ---- - -# DSC function to query node information from pull server. - -```powershell -function QueryNodeInformation -{ -Param ( - [string] $Uri = -"http://localhost:7070/PSDSCComplianceServer.svc/Status", - [string] $ContentType = "application/json" - ) - - Write-Host "Querying node information from pull server URI = $Uri" -ForegroundColor Green - - Write-Host "Querying node status in content type = $ContentType " -ForegroundColor Green - - $response = Invoke-WebRequest -Uri $Uri -Method Get -ContentType $ContentType -UseDefaultCredentials -Headers - @{Accept = $ContentType} - - if($response.StatusCode -ne 200) - { - Write-Host "node information was not retrieved." -ForegroundColor Red - } - - $jsonResponse = ConvertFrom-Json $response.Content - - return $jsonResponse -} -``` - -Replace the `Uri` parameter with the URI for your pull server. If you want the node information in XML format, set `ContentType` to `application/xml`. - -To retrieve the node information from the `$json` parameter, use the following: - -```powershell -$json = QueryNodeInformation –Uri http://localhost:7070/PSDSCComplianceServer.svc/Status - -$json.value | Format-Table TargetName, ConfigurationId, ServerChecksum, NodeCompliant, LastComplianceTime, StatusCode -``` \ No newline at end of file diff --git a/dsc/quickStart.md b/dsc/quickstarts/website-quickstart.md similarity index 82% rename from dsc/quickStart.md rename to dsc/quickstarts/website-quickstart.md index b85a28bdcf51..1491d160ae75 100644 --- a/dsc/quickStart.md +++ b/dsc/quickstarts/website-quickstart.md @@ -1,18 +1,18 @@ --- ms.date: 06/12/2017 keywords: dsc,powershell,configuration,setup -title: Desired State Configuration Quick Start +title: Quickstart - Create a website with DSC --- > Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 -# Desired State Configuration Quick Start +# Quickstart - Create a website with DSC This exercise walks through creating and applying a Desired State Configuration (DSC) configuration from start to finish. The example we'll use ensures that a server has the `Web-Server` (IIS) feature enabled, -and that the content for a simple "Hello World" website is present in the `intepub\wwwroot` directory of that server. +and that the content for a simple "Hello World" website is present in the `inetpub\wwwroot` directory of that server. -For an overview of what DSC is and how it works, see [Desired State Configuration Overview for Decision Makers](decisionMaker.md). +For an overview of what DSC is and how it works, see [Desired State Configuration Overview for Decision Makers](../overview/decisionMaker.md). ## Requirements @@ -37,7 +37,7 @@ Save this as `index.htm` in the `test` folder you created earlier. ## Write the configuration -A [DSC configuration](configurations.md) is a special PowerShell function that defines how you want to configure one or more target computers (nodes). +A [DSC configuration](../configurations/configurations.md) is a special PowerShell function that defines how you want to configure one or more target computers (nodes). In the PowerShell ISE, type the following: @@ -72,7 +72,7 @@ You can see that it looks like a PowerShell function, with the addition of the k The **Node** block specifies the target node to be configured, in this case `localhost`. -The configuration calls two [resources](resources.md), [WindowsFeature](windowsFeatureResource.md) and [File](fileResource.md). +The configuration calls two [resources](../resources/resources.md), **WindowsFeature** and **File**. Resources do the work of ensuring that the target node is in the state defined by the configuration. ## Compile the configuration @@ -106,9 +106,9 @@ It is this file that can then be applied to the target node. ## Apply the configuration Now that you have the compiled MOF, you can apply the configuration to the target node (in this case, the local computer) by calling the -[Start-DscConfiguration](/reference/5.1/PSDesiredStateConfiguration/Start-DscConfiguration) cmdlet. +[Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet. -The `Start-DscConfiguration` cmdlet tells the [Local Configuration Manager (LCM)](metaConfig.md), +The `Start-DscConfiguration` cmdlet tells the [Local Configuration Manager (LCM)](../managing-nodes/metaConfig.md), which is the engine of DSC, to apply the configuration. The LCM does the work of calling the DSC resources to apply the configuration. @@ -120,7 +120,7 @@ Start-DscConfiguration .\WebsiteTest ## Test the configuration -You can call the [Get-DscConfigurationStatus](/reference/5.1/PSDesiredStateConfiguration/Get-DscConfigurationStatus) +You can call the [Get-DscConfigurationStatus](/powershell/module/psdesiredstateconfiguration/get-dscconfigurationstatus) cmdlet to see whether the configuration succeeded. You can also test the results directly, in this case by browsing to `http://localhost/` in a web browser. @@ -128,6 +128,6 @@ You should see the "Hello World" HTML page you created as the first step in this ## Next steps -- Find out more about DSC configurations at [DSC configurations](configurations.md). -- See what DSC resources are available, and how to create custom DSC resources at [DSC resources](resources.md). -- Find DSC configurations and resources in the [PowerShell Gallery](https://www.powershellgallery.com/). \ No newline at end of file +- Find out more about DSC configurations at [DSC configurations](../configurations/configurations.md). +- See what DSC resources are available, and how to create custom DSC resources at [DSC resources](../resources/resources.md). +- Find DSC configurations and resources in the [PowerShell Gallery](https://www.powershellgallery.com/). diff --git a/dsc/msft-dsclocalconfigurationmanager-applyconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-applyconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-applyconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-applyconfiguration.md index 691ba983d3c7..4432e6a745a9 100644 --- a/dsc/msft-dsclocalconfigurationmanager-applyconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-applyconfiguration.md @@ -1,41 +1,41 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: ApplyConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# ApplyConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Uses the Configuration Agent to apply the configuration that is pending. - -If there is no configuration pending, this method reapplies the current configuration. - -## Syntax - -```mof -uint32 ApplyConfiguration( - [in] boolean force -); -``` - -## Parameters - -*force* \[in\] -If this is **true**, the current configuration is reapplied, even if there is a configuration pending. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: ApplyConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# ApplyConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Uses the Configuration Agent to apply the configuration that is pending. + +If there is no configuration pending, this method reapplies the current configuration. + +## Syntax + +```mof +uint32 ApplyConfiguration( + [in] boolean force +); +``` + +## Parameters + +*force* \[in\] +If this is **true**, the current configuration is reapplied, even if there is a configuration pending. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md index 3d2c5a933bcf..68201990f3b4 100644 --- a/dsc/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-disabledebugconfiguration.md @@ -1,36 +1,36 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DisableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# DisableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Disables DSC resource debugging. - -## Syntax - -```mof -uint32 DisableDebugConfiguration(); -``` - -## Parameters - -This method has no parameters. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DisableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# DisableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Disables DSC resource debugging. + +## Syntax + +```mof +uint32 DisableDebugConfiguration(); +``` + +## Parameters + +This method has no parameters. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md index 813aa5fd1c03..388d2238ae83 100644 --- a/dsc/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-enabledebugconfiguration.md @@ -1,39 +1,39 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: EnableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# EnableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Enables DSC resource debugging. - -## Syntax - -```mof -uint32 EnableDebugConfiguration( - [in] boolean BreakAll -); -``` - -## Parameters - -*BreakAll* \[in\] -Sets a breakpoint at every line in the resource script. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: EnableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# EnableDebugConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Enables DSC resource debugging. + +## Syntax + +```mof +uint32 EnableDebugConfiguration( + [in] boolean BreakAll +); +``` + +## Parameters + +*BreakAll* \[in\] +Sets a breakpoint at every line in the resource script. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-getconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-getconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfiguration.md index 5e0e44cfb6e3..40f59a40c768 100644 --- a/dsc/msft-dsclocalconfigurationmanager-getconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfiguration.md @@ -1,43 +1,43 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: GetConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# GetConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Sends the configuration document to the managed node and uses the **Get** method of the Configuration Agent to apply the configuration. - -## Syntax - -```mof -uint32 GetConfiguration( - [in]  uint8            configurationData[], - [out] OMI_BaseResource configurations[] -); -``` - -## Parameters - -*configurationData* \[in\] -Specifies the configuration data to send. - -*configurations* \[out\] -On return, contains an embedded instance of the configurations. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: GetConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# GetConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Sends the configuration document to the managed node and uses the **Get** method of the Configuration Agent to apply the configuration. + +## Syntax + +```mof +uint32 GetConfiguration( + [in]  uint8            configurationData[], + [out] OMI_BaseResource configurations[] +); +``` + +## Parameters + +*configurationData* \[in\] +Specifies the configuration data to send. + +*configurations* \[out\] +On return, contains an embedded instance of the configurations. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md index e318cf03b8cc..7ddf7441bc3c 100644 --- a/dsc/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md @@ -1,47 +1,47 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: GetConfigurationResultOutput method of the MSFT_DSCLocalConfigurationManager class ---- -# GetConfigurationResultOutput method of the MSFT_DSCLocalConfigurationManager class - -Gets the Configuration Agent output associated with a specific job. - -## Syntax - -```mof -uint32 GetConfigurationResultOutput( - [in]  string                      jobId, - [in]  uint8                       resumeOutputBookmark[], - [out] MSFT_DSCConfigurationOutput output[] -); -``` - -## Parameters - -*jobId* \[in\] -The ID of the job for which to get output data. - -*resumeOutputBookmark* \[in\] -Specifies that the output should be a continuation from a previous bookmark. - -*output* \[out\] -The output for the specified job. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: GetConfigurationResultOutput method of the MSFT_DSCLocalConfigurationManager class +--- +# GetConfigurationResultOutput method of the MSFT_DSCLocalConfigurationManager class + +Gets the Configuration Agent output associated with a specific job. + +## Syntax + +```mof +uint32 GetConfigurationResultOutput( + [in]  string                      jobId, + [in]  uint8                       resumeOutputBookmark[], + [out] MSFT_DSCConfigurationOutput output[] +); +``` + +## Parameters + +*jobId* \[in\] +The ID of the job for which to get output data. + +*resumeOutputBookmark* \[in\] +Specifies that the output should be a continuation from a previous bookmark. + +*output* \[out\] +The output for the specified job. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-getconfigurationstatus.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationstatus.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-getconfigurationstatus.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationstatus.md index d5b7e4ae33c2..449f87d9e3fc 100644 --- a/dsc/msft-dsclocalconfigurationmanager-getconfigurationstatus.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getconfigurationstatus.md @@ -1,44 +1,44 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: GetConfigurationStatus method of the MSFT_DSCLocalConfigurationManager class ---- -# GetConfigurationStatus method of the MSFT_DSCLocalConfigurationManager class - -Get the configuration status history. - -## Syntax - -```mof -uint32 GetConfigurationStatus( - [in]  boolean                     All, - [out] MSFT_DSCConfigurationStatus configurationStatus[] -); -``` - -## Parameters - -*All* \[in\] -**true** if this method should return information about all the configuration runs on the machine, including -the configuration application and the consistency check. - -*configurationStatus* \[out\] -On return, contains an embedded instance of the **MSFT_DSCConfigurationStatus** class that defines the settings. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: GetConfigurationStatus method of the MSFT_DSCLocalConfigurationManager class +--- +# GetConfigurationStatus method of the MSFT_DSCLocalConfigurationManager class + +Get the configuration status history. + +## Syntax + +```mof +uint32 GetConfigurationStatus( + [in]  boolean                     All, + [out] MSFT_DSCConfigurationStatus configurationStatus[] +); +``` + +## Parameters + +*All* \[in\] +**true** if this method should return information about all the configuration runs on the machine, including +the configuration application and the consistency check. + +*configurationStatus* \[out\] +On return, contains an embedded instance of the **MSFT_DSCConfigurationStatus** class that defines the settings. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-getmetaconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-getmetaconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration.md index f87e2561ddff..1209a6a343ac 100644 --- a/dsc/msft-dsclocalconfigurationmanager-getmetaconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-getmetaconfiguration.md @@ -1,39 +1,39 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: GetMetaConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# GetMetaConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Gets the local Configuration Manager settings that are used to control the Configuration Agent. - -## Syntax - -```mof -uint32 GetMetaConfiguration( - [out] MSFT_DSCMetaConfiguration MetaConfiguration -); -``` - -## Parameters - -*MetaConfiguration* \[out\] -On return, contains an embedded instance of the **MSFT_DSCMetaConfiguration** class that defines the settings. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: GetMetaConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# GetMetaConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Gets the local Configuration Manager settings that are used to control the Configuration Agent. + +## Syntax + +```mof +uint32 GetMetaConfiguration( + [out] MSFT_DSCMetaConfiguration MetaConfiguration +); +``` + +## Parameters + +*MetaConfiguration* \[out\] +On return, contains an embedded instance of the **MSFT_DSCMetaConfiguration** class that defines the settings. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md index 0a59d3e76968..631c14f9d4c7 100644 --- a/dsc/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md @@ -1,46 +1,46 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: PerformRequiredConfigurationChecks method of the MSFT_DSCLocalConfigurationManager class ---- -# PerformRequiredConfigurationChecks method of the MSFT_DSCLocalConfigurationManager class - -Starts a consistency check by using the Task Scheduler. - -## Syntax - -```mof -uint32 PerformRequiredConfigurationChecks( - [in] uint32 Flags -); -``` - -## Parameters - -*Flags* \[in\] -A bitmask that specifies the type of consistency check to run. The following values are valid, and can be combined by using a bitwise **OR** operation: - -|Value |Description | -|:--- |:---| -|**1** | A normal consistency check. | -|**2** | A continuation of a consistency check after a reboot. This value should not be combined with other values. | -|**4** | The configuration should be pulled from the pull server specified in the metaconfiguration for the node. This value should always be combined with **1**, for a value of **5**. | -|**8** | Send status to the report server. | - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: PerformRequiredConfigurationChecks method of the MSFT_DSCLocalConfigurationManager class +--- +# PerformRequiredConfigurationChecks method of the MSFT_DSCLocalConfigurationManager class + +Starts a consistency check by using the Task Scheduler. + +## Syntax + +```mof +uint32 PerformRequiredConfigurationChecks( + [in] uint32 Flags +); +``` + +## Parameters + +*Flags* \[in\] +A bitmask that specifies the type of consistency check to run. The following values are valid, and can be combined by using a bitwise **OR** operation: + +|Value |Description | +|:--- |:---| +|**1** | A normal consistency check. | +|**2** | A continuation of a consistency check after a reboot. This value should not be combined with other values. | +|**4** | The configuration should be pulled from the pull server specified in the metaconfiguration for the node. This value should always be combined with **1**, for a value of **5**. | +|**8** | Send status to the report server. | + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-removeconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-removeconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-removeconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-removeconfiguration.md index 030fac5627f9..dc8d399d64da 100644 --- a/dsc/msft-dsclocalconfigurationmanager-removeconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-removeconfiguration.md @@ -1,49 +1,49 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: RemoveConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# RemoveConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Removes the configuration files. - -## Syntax - -```mof -uint32 RemoveConfiguration( - [in] uint32  Stage, - [in] boolean Force -); -``` - -## Parameters - -*Stage* \[in\] -Specifies which configuration document to remove. The following values are valid: - -|Value |Description | -|:--- |:---| -|**1** | The **Current** configuration document (current.mof). | -|**2** | The **Pending** configuration document (pending.mof). | -|**4** | The **Previous** configuration document (previous.mof). | - -*Force* \[in\] -**true** to force the removal of the configuration. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: RemoveConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# RemoveConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Removes the configuration files. + +## Syntax + +```mof +uint32 RemoveConfiguration( + [in] uint32  Stage, + [in] boolean Force +); +``` + +## Parameters + +*Stage* \[in\] +Specifies which configuration document to remove. The following values are valid: + +|Value |Description | +|:--- |:---| +|**1** | The **Current** configuration document (current.mof). | +|**2** | The **Pending** configuration document (pending.mof). | +|**4** | The **Previous** configuration document (previous.mof). | + +*Force* \[in\] +**true** to force the removal of the configuration. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-resourceget.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceget.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-resourceget.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceget.md index 2b216ec54a26..ac073fc28d5a 100644 --- a/dsc/msft-dsclocalconfigurationmanager-resourceget.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceget.md @@ -1,52 +1,52 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: ResourceGet method of the MSFT_DSCLocalConfigurationManager class ---- -# ResourceGet method of the MSFT_DSCLocalConfigurationManager class - -Directly calls the **Get** method of a DSC resource. - -## Syntax - -```mof -uint32 ResourceGet( - [in]  string           ResourceType, - [in]  string           ModuleName, - [in]  uint8            resourceProperty[], - [out] OMI_BaseResource configurations -); -``` - -## Parameters - -*ResourceType* \[in\] -The name of the resource to call. - -*ModuleName* \[in\] -The name of the module that contains the resource to call. - -*resourceProperty* \[in\] -Specifies the resource property name and its value in a hash table as key and value, respectively. Use the -[Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet to discover resource properties and their types. - -*configurations* \[out\] -On return, contains an embedded instance of the configurations. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: ResourceGet method of the MSFT_DSCLocalConfigurationManager class +--- +# ResourceGet method of the MSFT_DSCLocalConfigurationManager class + +Directly calls the **Get** method of a DSC resource. + +## Syntax + +```mof +uint32 ResourceGet( + [in]  string           ResourceType, + [in]  string           ModuleName, + [in]  uint8            resourceProperty[], + [out] OMI_BaseResource configurations +); +``` + +## Parameters + +*ResourceType* \[in\] +The name of the resource to call. + +*ModuleName* \[in\] +The name of the module that contains the resource to call. + +*resourceProperty* \[in\] +Specifies the resource property name and its value in a hash table as key and value, respectively. Use the +[Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet to discover resource properties and their types. + +*configurations* \[out\] +On return, contains an embedded instance of the configurations. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-resourceset.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceset.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-resourceset.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceset.md index 66d202595364..4e6d09b9e30c 100644 --- a/dsc/msft-dsclocalconfigurationmanager-resourceset.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourceset.md @@ -1,52 +1,52 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: ResourceSet method of the MSFT_DSCLocalConfigurationManager class ---- -# ResourceSet method of the MSFT_DSCLocalConfigurationManager class - -Directly calls the **Set** method of a DSC resource. - -## Syntax - -```mof -uint32 ResourceSet( - [in]  string  ResourceType, - [in]  string  ModuleName, - [in]  uint8   resourceProperty[], - [out] boolean RebootRequired -); -``` - -## Parameters - -*ResourceType* \[in\] -The name of the resource to call. - -*ModuleName* \[in\] -The name of the module that contains the resource to call. - -*resourceProperty* \[in\] -Specifies the resource property name and its value in a hash table as key and value, respectively. Use the -[Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet to discover resource properties and their types. - -*RebootRequired* \[out\] -On return, this property is set to **true** if the target node needs to be rebooted. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: ResourceSet method of the MSFT_DSCLocalConfigurationManager class +--- +# ResourceSet method of the MSFT_DSCLocalConfigurationManager class + +Directly calls the **Set** method of a DSC resource. + +## Syntax + +```mof +uint32 ResourceSet( + [in]  string  ResourceType, + [in]  string  ModuleName, + [in]  uint8   resourceProperty[], + [out] boolean RebootRequired +); +``` + +## Parameters + +*ResourceType* \[in\] +The name of the resource to call. + +*ModuleName* \[in\] +The name of the module that contains the resource to call. + +*resourceProperty* \[in\] +Specifies the resource property name and its value in a hash table as key and value, respectively. Use the +[Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet to discover resource properties and their types. + +*RebootRequired* \[out\] +On return, this property is set to **true** if the target node needs to be rebooted. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-resourcetest.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourcetest.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-resourcetest.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourcetest.md index 4d7b1f99bb88..3b96f9c1fcf6 100644 --- a/dsc/msft-dsclocalconfigurationmanager-resourcetest.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-resourcetest.md @@ -1,52 +1,52 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: ResourceTest method of the MSFT_DSCLocalConfigurationManager class ---- -# ResourceTest method of the MSFT_DSCLocalConfigurationManager class - -Directly calls the **Test** method of a DSC resource. - -## Syntax - -```mof -uint32 ResourceTest( - [in]  string  ResourceType, - [in]  string  ModuleName, - [in]  uint8   resourceProperty[], - [out] boolean InDesiredState -); -``` - -## Parameters - -*ResourceType* \[in\] -The name of the resource to call. - -*ModuleName* \[in\] -The name of the module that contains the resource to call. - -*resourceProperty* \[in\] -Specifies the resource property name and its value in a hash table as key and value, respectively. Use the -[Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet to discover resource properties and their types. - -*InDesiredState* \[out\] -On return, this property is set to **true** if the target node is in the desired state. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: ResourceTest method of the MSFT_DSCLocalConfigurationManager class +--- +# ResourceTest method of the MSFT_DSCLocalConfigurationManager class + +Directly calls the **Test** method of a DSC resource. + +## Syntax + +```mof +uint32 ResourceTest( + [in]  string  ResourceType, + [in]  string  ModuleName, + [in]  uint8   resourceProperty[], + [out] boolean InDesiredState +); +``` + +## Parameters + +*ResourceType* \[in\] +The name of the resource to call. + +*ModuleName* \[in\] +The name of the module that contains the resource to call. + +*resourceProperty* \[in\] +Specifies the resource property name and its value in a hash table as key and value, respectively. Use the +[Get-DscResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet to discover resource properties and their types. + +*InDesiredState* \[out\] +On return, this property is set to **true** if the target node is in the desired state. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-rollback.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-rollback.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-rollback.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-rollback.md index 136b80e6d3b0..360df1585947 100644 --- a/dsc/msft-dsclocalconfigurationmanager-rollback.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-rollback.md @@ -1,39 +1,39 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: RollBack method of the MSFT_DSCLocalConfigurationManager class ---- -# RollBack method of the MSFT_DSCLocalConfigurationManager class - -Rolls back the configuration to a previous version. - -## Syntax - -```mof -uint32 RollBack( - [in] uint8 configurationNumber -); -``` - -## Parameters - -*configurationNumber* \[in\] -Specifies the requested configuration. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: RollBack method of the MSFT_DSCLocalConfigurationManager class +--- +# RollBack method of the MSFT_DSCLocalConfigurationManager class + +Rolls back the configuration to a previous version. + +## Syntax + +```mof +uint32 RollBack( + [in] uint8 configurationNumber +); +``` + +## Parameters + +*configurationNumber* \[in\] +Specifies the requested configuration. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-sendconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-sendconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfiguration.md index 05362a827306..ed2c1ad605c6 100644 --- a/dsc/msft-dsclocalconfigurationmanager-sendconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfiguration.md @@ -1,43 +1,43 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: SendConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# SendConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Sends the configuration document to the managed node and saves it as a pending change. - -## Syntax - -```mof -uint32 SendConfiguration( - [in] uint8   ConfigurationData[], - [in] boolean force -); -``` - -## Parameters - -*ConfigurationData* \[in\] -The environment data for the configuration. - -*force* \[in\] -**true** to force the configuration to stop. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: SendConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# SendConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Sends the configuration document to the managed node and saves it as a pending change. + +## Syntax + +```mof +uint32 SendConfiguration( + [in] uint8   ConfigurationData[], + [in] boolean force +); +``` + +## Parameters + +*ConfigurationData* \[in\] +The environment data for the configuration. + +*force* \[in\] +**true** to force the configuration to stop. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-sendconfigurationapply.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapply.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-sendconfigurationapply.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapply.md index 1ca08302f680..b90c8477990a 100644 --- a/dsc/msft-dsclocalconfigurationmanager-sendconfigurationapply.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapply.md @@ -1,43 +1,43 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: SendConfigurationApply method of the MSFT_DSCLocalConfigurationManager class ---- -# SendConfigurationApply method of the MSFT_DSCLocalConfigurationManager class - -Sends the configuration document to the managed node and uses the Configuration Agent to apply the configuration. - -## Syntax - -```mof -uint32 SendConfigurationApply( - [in] uint8   ConfigurationData[], - [in] boolean force -); -``` - -## Parameters - -*ConfigurationData* \[in\] -The environment data for the configuration. - -*force* \[in\] -**true** to force the configuration to stop. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: SendConfigurationApply method of the MSFT_DSCLocalConfigurationManager class +--- +# SendConfigurationApply method of the MSFT_DSCLocalConfigurationManager class + +Sends the configuration document to the managed node and uses the Configuration Agent to apply the configuration. + +## Syntax + +```mof +uint32 SendConfigurationApply( + [in] uint8   ConfigurationData[], + [in] boolean force +); +``` + +## Parameters + +*ConfigurationData* \[in\] +The environment data for the configuration. + +*force* \[in\] +**true** to force the configuration to stop. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md index 776902931103..a06253f47a16 100644 --- a/dsc/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md @@ -1,47 +1,47 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: SendConfigurationApplyAsync method of the MSFT_DSCLocalConfigurationManager class ---- -# SendConfigurationApplyAsync method of the MSFT_DSCLocalConfigurationManager class - -Sends the configuration document asynchronously to the managed node and uses the Configuration Agent to apply the configuration. - -## Syntax - -```mof -uint32 SendConfigurationApplyAsync( - [in] uint8   ConfigurationData[], - [in] boolean force, - [in] string  jobId -); -``` - -## Parameters - -*ConfigurationData* \[in\] -The environment data for the configuration. - -*force* \[in\] -**true** to force the configuration to stop. - -*jobId* \[in\] -The ID of the job for which to send the configuration. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: SendConfigurationApplyAsync method of the MSFT_DSCLocalConfigurationManager class +--- +# SendConfigurationApplyAsync method of the MSFT_DSCLocalConfigurationManager class + +Sends the configuration document asynchronously to the managed node and uses the Configuration Agent to apply the configuration. + +## Syntax + +```mof +uint32 SendConfigurationApplyAsync( + [in] uint8   ConfigurationData[], + [in] boolean force, + [in] string  jobId +); +``` + +## Parameters + +*ConfigurationData* \[in\] +The environment data for the configuration. + +*force* \[in\] +**true** to force the configuration to stop. + +*jobId* \[in\] +The ID of the job for which to send the configuration. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md index 92f970b7dbbd..838de3b9d1a3 100644 --- a/dsc/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md @@ -1,43 +1,43 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: SendMetaConfigurationApply method of the MSFT_DSCLocalConfigurationManager class ---- -# SendMetaConfigurationApply method of the MSFT_DSCLocalConfigurationManager class - -Sets the Local Configuration Manager settings that are used to control the Configuration Agent. - -## Syntax - -```mof -uint32 SendMetaConfigurationApply( - [in] uint8   ConfigurationData[], - [in] boolean force -); -``` - -## Parameters - -*ConfigurationData* \[in\] -The environment data for the configuration. - -*force* \[in\] -**true** to force the configuration to stop. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: SendMetaConfigurationApply method of the MSFT_DSCLocalConfigurationManager class +--- +# SendMetaConfigurationApply method of the MSFT_DSCLocalConfigurationManager class + +Sets the Local Configuration Manager settings that are used to control the Configuration Agent. + +## Syntax + +```mof +uint32 SendMetaConfigurationApply( + [in] uint8   ConfigurationData[], + [in] boolean force +); +``` + +## Parameters + +*ConfigurationData* \[in\] +The environment data for the configuration. + +*force* \[in\] +**true** to force the configuration to stop. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-stopconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-stopconfiguration.md similarity index 95% rename from dsc/msft-dsclocalconfigurationmanager-stopconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-stopconfiguration.md index 8112c7cd8d05..344564aed2bb 100644 --- a/dsc/msft-dsclocalconfigurationmanager-stopconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-stopconfiguration.md @@ -1,39 +1,39 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: StopConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# StopConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Stops the configuration change that is in progress. - -## Syntax - -```mof -uint32 StopConfiguration( - [in] boolean force -); -``` - -## Parameters - -*force* \[in\] -**true** to force the configuration to stop. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: StopConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# StopConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Stops the configuration change that is in progress. + +## Syntax + +```mof +uint32 StopConfiguration( + [in] boolean force +); +``` + +## Parameters + +*force* \[in\] +**true** to force the configuration to stop. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager-testconfiguration.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-testconfiguration.md similarity index 96% rename from dsc/msft-dsclocalconfigurationmanager-testconfiguration.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-testconfiguration.md index 95c11503c8c0..592ab449f50f 100644 --- a/dsc/msft-dsclocalconfigurationmanager-testconfiguration.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager-testconfiguration.md @@ -1,51 +1,51 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: TestConfiguration method of the MSFT_DSCLocalConfigurationManager class ---- -# TestConfiguration method of the MSFT_DSCLocalConfigurationManager class - -Sends the configuration document to the managed node and verifies the current configuration against the document. - -## Syntax - -```mof -uint32 TestConfiguration( - [in]  uint8                          configurationData[], - [out] boolean                        InDesiredState, - [out] MSFT_ResourceInDesiredState    ResourcesInDesiredState[], - [out] MSFT_ResourceNotInDesiredState ResourcesNotInDesiredState[] -); -``` - -## Parameters - -*configurationData* \[in\] -Environment data for the confuguration. - -*InDesiredState* \[out\] -On return, specifies whether the managed node is in the state specified by the configuration document. - -*ResourcesInDesiredState* \[out\] -On return, contains an embedded instance of the **MSFT_ResourceInDesiredState** class that specifies resources that are in the desired state. - -*ResourcesNotInDesiredState* \[out\] -On return, contains an embedded instance of the **MSFT_ResourceNotInDesiredState** class that specifies resources that are not in the desired state. - -## Return value - -Returns zero on success; otherwise returns an error code. - -## Remarks - -This is a static method. - -## Requirements - -**MOF:** DscCore.mof - -**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration - -## See also - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: TestConfiguration method of the MSFT_DSCLocalConfigurationManager class +--- +# TestConfiguration method of the MSFT_DSCLocalConfigurationManager class + +Sends the configuration document to the managed node and verifies the current configuration against the document. + +## Syntax + +```mof +uint32 TestConfiguration( + [in]  uint8                          configurationData[], + [out] boolean                        InDesiredState, + [out] MSFT_ResourceInDesiredState    ResourcesInDesiredState[], + [out] MSFT_ResourceNotInDesiredState ResourcesNotInDesiredState[] +); +``` + +## Parameters + +*configurationData* \[in\] +Environment data for the confuguration. + +*InDesiredState* \[out\] +On return, specifies whether the managed node is in the state specified by the configuration document. + +*ResourcesInDesiredState* \[out\] +On return, contains an embedded instance of the **MSFT_ResourceInDesiredState** class that specifies resources that are in the desired state. + +*ResourcesNotInDesiredState* \[out\] +On return, contains an embedded instance of the **MSFT_ResourceNotInDesiredState** class that specifies resources that are not in the desired state. + +## Return value + +Returns zero on success; otherwise returns an error code. + +## Remarks + +This is a static method. + +## Requirements + +**MOF:** DscCore.mof + +**Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration + +## See also + [**MSFT_DSCLocalConfigurationManager**](msft-dsclocalconfigurationmanager.md) \ No newline at end of file diff --git a/dsc/msft-dsclocalconfigurationmanager.md b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager.md similarity index 98% rename from dsc/msft-dsclocalconfigurationmanager.md rename to dsc/reference/mof-classes/msft-dsclocalconfigurationmanager.md index 4080d8f65747..b8dab3a39395 100644 --- a/dsc/msft-dsclocalconfigurationmanager.md +++ b/dsc/reference/mof-classes/msft-dsclocalconfigurationmanager.md @@ -1,57 +1,57 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: MSFT_DSCLocalConfigurationManager class ---- -# MSFT_DSCLocalConfigurationManager class - -The Local Configuration Manager (LCM) that controls the states of configuration files and uses Configuration Agent to apply the configurations. - -The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties. - -## Syntax - -``` -[ClassVersion("1.0.0"), dynamic, provider("dsccore"), AMENDMENT] -class MSFT_DSCLocalConfigurationManager -{ -}; -``` - -## Members - -The **MSFT_DSCLocalConfigurationManager** class has the following members: - -- [Methods][] - -### Methods - -The **MSFT_DSCLocalConfigurationManager** class has these methods. - -|Method |Description | -|:--- |:---| -| [ApplyConfiguration](msft-dsclocalconfigurationmanager-applyconfiguration.md)| Uses the Configuration Agent to apply the configuration that is pending.| -| [DisableDebugConfiguration](msft-dsclocalconfigurationmanager-disabledebugconfiguration.md)| Disables DSC resource debugging.| -| [EnableDebugConfiguration](msft-dsclocalconfigurationmanager-enabledebugconfiguration.md)| Enables DSC resource debugging.| -| [GetConfiguration](msft-dsclocalconfigurationmanager-getconfiguration.md)| Sends the configuration document to the managed node and uses the **Get** method of the Configuration Agent to apply the configuration.| -| [GetConfigurationResultOutput](msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md)| Gets the Configuration Agent output relating to a specific job.| -| [GetConfigurationStatus](msft-dsclocalconfigurationmanager-getconfigurationstatus.md)| Get the configuration status history.| -| [GetMetaConfiguration](msft-dsclocalconfigurationmanager-getmetaconfiguration.md)| Gets the LCM settings that are used to control Configuration Agent.| -| [PerformRequiredConfigurationChecks](msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md)| Starts the consistency check.| -| [RemoveConfiguration](msft-dsclocalconfigurationmanager-removeconfiguration.md)| Removes the configuration files.| -| [ResourceGet](msft-dsclocalconfigurationmanager-resourceget.md)| Directly calls the **Get** method of a DSC resource.| -| [ResourceSet](msft-dsclocalconfigurationmanager-resourceset.md)| Directly calls the **Set** method of a DSC resource.| -| [ResourceTest](msft-dsclocalconfigurationmanager-resourcetest.md)| Directly calls the **Test** method of a DSC resource.| -| [RollBack](msft-dsclocalconfigurationmanager-rollback.md)| Rolls back to a previous configuration.| -| [SendConfiguration](msft-dsclocalconfigurationmanager-sendconfiguration.md)| Sends the configuration document to the managed node and saves it as a pending change.| -| [SendConfigurationApply](msft-dsclocalconfigurationmanager-sendconfigurationapply.md)| Sends the configuration document to the managed node and uses the Configuration Agent to apply the configuration.| -| [SendConfigurationApplyAsync](msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md)| Send the configuration document to the managed node and start using the Configuration Agent to apply the configuration. Use GetConfigurationResultOutput to retrieve result output.| -| [SendMetaConfigurationApply](msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md)| Sets the LCM settings that are used to control the Configuration Agent.| -| [StopConfiguration](msft-dsclocalconfigurationmanager-stopconfiguration.md)| Stops the configuration that is in progress.| -| [TestConfiguration](msft-dsclocalconfigurationmanager-testconfiguration.md)| Sends the configuration document to the managed node and verifies the current configuration against the document.| - -## Requirements - -**MOF:** DscCore.mof - +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: MSFT_DSCLocalConfigurationManager class +--- +# MSFT_DSCLocalConfigurationManager class + +The Local Configuration Manager (LCM) that controls the states of configuration files and uses Configuration Agent to apply the configurations. + +The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties. + +## Syntax + +``` +[ClassVersion("1.0.0"), dynamic, provider("dsccore"), AMENDMENT] +class MSFT_DSCLocalConfigurationManager +{ +}; +``` + +## Members + +The **MSFT_DSCLocalConfigurationManager** class has the following members: + +- [Methods][] + +### Methods + +The **MSFT_DSCLocalConfigurationManager** class has these methods. + +|Method |Description | +|:--- |:---| +| [ApplyConfiguration](msft-dsclocalconfigurationmanager-applyconfiguration.md)| Uses the Configuration Agent to apply the configuration that is pending.| +| [DisableDebugConfiguration](msft-dsclocalconfigurationmanager-disabledebugconfiguration.md)| Disables DSC resource debugging.| +| [EnableDebugConfiguration](msft-dsclocalconfigurationmanager-enabledebugconfiguration.md)| Enables DSC resource debugging.| +| [GetConfiguration](msft-dsclocalconfigurationmanager-getconfiguration.md)| Sends the configuration document to the managed node and uses the **Get** method of the Configuration Agent to apply the configuration.| +| [GetConfigurationResultOutput](msft-dsclocalconfigurationmanager-getconfigurationresultoutput.md)| Gets the Configuration Agent output relating to a specific job.| +| [GetConfigurationStatus](msft-dsclocalconfigurationmanager-getconfigurationstatus.md)| Get the configuration status history.| +| [GetMetaConfiguration](msft-dsclocalconfigurationmanager-getmetaconfiguration.md)| Gets the LCM settings that are used to control Configuration Agent.| +| [PerformRequiredConfigurationChecks](msft-dsclocalconfigurationmanager-performrequiredconfigurationchecks.md)| Starts the consistency check.| +| [RemoveConfiguration](msft-dsclocalconfigurationmanager-removeconfiguration.md)| Removes the configuration files.| +| [ResourceGet](msft-dsclocalconfigurationmanager-resourceget.md)| Directly calls the **Get** method of a DSC resource.| +| [ResourceSet](msft-dsclocalconfigurationmanager-resourceset.md)| Directly calls the **Set** method of a DSC resource.| +| [ResourceTest](msft-dsclocalconfigurationmanager-resourcetest.md)| Directly calls the **Test** method of a DSC resource.| +| [RollBack](msft-dsclocalconfigurationmanager-rollback.md)| Rolls back to a previous configuration.| +| [SendConfiguration](msft-dsclocalconfigurationmanager-sendconfiguration.md)| Sends the configuration document to the managed node and saves it as a pending change.| +| [SendConfigurationApply](msft-dsclocalconfigurationmanager-sendconfigurationapply.md)| Sends the configuration document to the managed node and uses the Configuration Agent to apply the configuration.| +| [SendConfigurationApplyAsync](msft-dsclocalconfigurationmanager-sendconfigurationapplyasync.md)| Send the configuration document to the managed node and start using the Configuration Agent to apply the configuration. Use GetConfigurationResultOutput to retrieve result output.| +| [SendMetaConfigurationApply](msft-dsclocalconfigurationmanager-sendmetaconfigurationapply.md)| Sets the LCM settings that are used to control the Configuration Agent.| +| [StopConfiguration](msft-dsclocalconfigurationmanager-stopconfiguration.md)| Stops the configuration that is in progress.| +| [TestConfiguration](msft-dsclocalconfigurationmanager-testconfiguration.md)| Sends the configuration document to the managed node and verifies the current configuration against the document.| + +## Requirements + +**MOF:** DscCore.mof + **Namespace**: Root\Microsoft\Windows\DesiredStateConfiguration \ No newline at end of file diff --git a/dsc/lnxArchiveResource.md b/dsc/reference/resources/linux/lnxArchiveResource.md similarity index 97% rename from dsc/lnxArchiveResource.md rename to dsc/reference/resources/linux/lnxArchiveResource.md index 7b9e26f968ef..cad31a98a741 100644 --- a/dsc/lnxArchiveResource.md +++ b/dsc/reference/resources/linux/lnxArchiveResource.md @@ -1,59 +1,59 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxArchive Resource ---- - -# DSC for Linux nxArchive Resource - -The **nxArchive** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to unpack archive (.tar, .zip) files at a specific path on a Linux node. - -## Syntax - -``` -nxArchive #ResourceName -{ - SourcePath = - DestinationPath = - [ Checksum = { ctime | mtime | md5 } ] - [ Force = ] - [ DependsOn = ] - [ Ensure = { Absent | Present } ] -} -``` - -## Properties - -| Property | Description | -|---|---| -| SourcePath| Specifies the source path of the archive file. This should be a .tar, .zip, or .tar.gz file. | -| DestinationPath| Specifies the location where you want to ensure the archive contents are extracted.| -| Checksum| Defines the type to use when determining whether the source archive has been updated. Values are: "ctime", "mtime", or "md5". The default value is "md5".| -| Force| Certain file operations (such as overwriting a file or deleting a directory that is not empty) will result in an error. Using the **Force** property overrides such errors. The default value is **$false**.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| -| Ensure| Determines whether to check if the content of the archive exists at the **Destination**. Set this property to "Present" to ensure the contents exist. Set it to "Absent" to ensure they do not exist. The default value is "Present".| - -## Example - -The following example shows how to use the **nxArchive** resource to ensure that the contents of an archive file called `website.tar` exist and are extracted at a given destination. - -``` -Import-DSCResource -Module nx - -nxFile SyncArchiveFromWeb -{ - Ensure = "Present" - SourcePath = “http://release.contoso.com/releases/website.tar†- DestinationPath = "/usr/release/staging/website.tar" - Type = "File" - Checksum = “mtime†-} - -nxArchive SyncWebDir -{ - SourcePath = “/usr/release/staging/website.tar†- DestinationPath = “/usr/local/apache2/htdocs/†- Force = $false - DependsOn = "[nxFile]SyncArchiveFromWeb" -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxArchive Resource +--- + +# DSC for Linux nxArchive Resource + +The **nxArchive** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to unpack archive (.tar, .zip) files at a specific path on a Linux node. + +## Syntax + +``` +nxArchive #ResourceName +{ + SourcePath = + DestinationPath = + [ Checksum = { ctime | mtime | md5 } ] + [ Force = ] + [ DependsOn = ] + [ Ensure = { Absent | Present } ] +} +``` + +## Properties + +| Property | Description | +|---|---| +| SourcePath| Specifies the source path of the archive file. This should be a .tar, .zip, or .tar.gz file. | +| DestinationPath| Specifies the location where you want to ensure the archive contents are extracted.| +| Checksum| Defines the type to use when determining whether the source archive has been updated. Values are: "ctime", "mtime", or "md5". The default value is "md5".| +| Force| Certain file operations (such as overwriting a file or deleting a directory that is not empty) will result in an error. Using the **Force** property overrides such errors. The default value is **$false**.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| +| Ensure| Determines whether to check if the content of the archive exists at the **Destination**. Set this property to "Present" to ensure the contents exist. Set it to "Absent" to ensure they do not exist. The default value is "Present".| + +## Example + +The following example shows how to use the **nxArchive** resource to ensure that the contents of an archive file called `website.tar` exist and are extracted at a given destination. + +``` +Import-DSCResource -Module nx + +nxFile SyncArchiveFromWeb +{ + Ensure = "Present" + SourcePath = “http://release.contoso.com/releases/website.tar†+ DestinationPath = "/usr/release/staging/website.tar" + Type = "File" + Checksum = “mtime†+} + +nxArchive SyncWebDir +{ + SourcePath = “/usr/release/staging/website.tar†+ DestinationPath = “/usr/local/apache2/htdocs/†+ Force = $false + DependsOn = "[nxFile]SyncArchiveFromWeb" +} ``` \ No newline at end of file diff --git a/dsc/lnxEnvironmentResource.md b/dsc/reference/resources/linux/lnxEnvironmentResource.md similarity index 94% rename from dsc/lnxEnvironmentResource.md rename to dsc/reference/resources/linux/lnxEnvironmentResource.md index 2a1f0aa2993b..98f948773c07 100644 --- a/dsc/lnxEnvironmentResource.md +++ b/dsc/reference/resources/linux/lnxEnvironmentResource.md @@ -1,54 +1,54 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxEnvironment Resource ---- - -# DSC for Linux nxEnvironment Resource - -The **nxEnvironment** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to to manage system environment variables on a Linux node. - -## Syntax - -``` -nxEnvironment #ResourceName -{ - Name = - [ Value = - [ Ensure = { Absent | Present } ] - [ Path = } - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Description | -|---|---| -| Name| Indicates the name of the environment variable for which you want to ensure a specific state.| -| Value| The value to assign to the environment variable.| -| Ensure| Determines whether to check if the variable exists. Set this property to "Present" to ensure the variable exists. Set it to "Absent" to ensure the variable does not exist. The default value is "Present".| -| Path| Defines the environment variable that is being configured. Set this property to **$true** if the variable is the **Path** variable; otherwise, set it to **$false**. The default is **$false**. If the variable being configured is the **Path** variable, the value provided through the **Value** property will be appended to the existing value.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Additional Information - -* If **Path** is absent or set to **$false**, environment variables are managed in `/etc/environment`. Your programs or scripts may require configuration to source the `/etc/environment` file to access the managed environment variables. -* If **Path** is set to **$true**, the environment variable is managed in the file `/etc/profile.d/DSCenvironment.sh`. This file will be created if it does not exist. If **Ensure** is set to "Absent" and **Path** is set to **$true**, an existing environment variable will only be removed from `/etc/profile.d/DSCenvironment.sh` and not from other files. - -## Example - -The following example shows how to use the **nxEnvironment** resource to ensure that **TestEnvironmentVariable** is present and has the value "Test-Value". If **TestEnvironmentVariable** is not present, it will be created. - -``` -Import-DSCResource -Module nx - - -nxEnvironment EnvironmentExample -{ - Ensure = “Present†- Name = “TestEnvironmentVariable†- Value = “TestValue†-} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxEnvironment Resource +--- + +# DSC for Linux nxEnvironment Resource + +The **nxEnvironment** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage system environment variables on a Linux node. + +## Syntax + +``` +nxEnvironment #ResourceName +{ + Name = + [ Value = + [ Ensure = { Absent | Present } ] + [ Path = } + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Description | +|---|---| +| Name| Indicates the name of the environment variable for which you want to ensure a specific state.| +| Value| The value to assign to the environment variable.| +| Ensure| Determines whether to check if the variable exists. Set this property to "Present" to ensure the variable exists. Set it to "Absent" to ensure the variable does not exist. The default value is "Present".| +| Path| Defines the environment variable that is being configured. Set this property to **$true** if the variable is the **Path** variable; otherwise, set it to **$false**. The default is **$false**. If the variable being configured is the **Path** variable, the value provided through the **Value** property will be appended to the existing value.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Additional Information + +* If **Path** is absent or set to **$false**, environment variables are managed in `/etc/environment`. Your programs or scripts may require configuration to source the `/etc/environment` file to access the managed environment variables. +* If **Path** is set to **$true**, the environment variable is managed in the file `/etc/profile.d/DSCenvironment.sh`. This file will be created if it does not exist. If **Ensure** is set to "Absent" and **Path** is set to **$true**, an existing environment variable will only be removed from `/etc/profile.d/DSCenvironment.sh` and not from other files. + +## Example + +The following example shows how to use the **nxEnvironment** resource to ensure that **TestEnvironmentVariable** is present and has the value "Test-Value". If **TestEnvironmentVariable** is not present, it will be created. + +``` +Import-DSCResource -Module nx + + +nxEnvironment EnvironmentExample +{ + Ensure = “Present†+ Name = “TestEnvironmentVariable†+ Value = “TestValue†+} ``` \ No newline at end of file diff --git a/dsc/lnxFileLineResource.md b/dsc/reference/resources/linux/lnxFileLineResource.md similarity index 92% rename from dsc/lnxFileLineResource.md rename to dsc/reference/resources/linux/lnxFileLineResource.md index 8d980afb1282..09e48e026979 100644 --- a/dsc/lnxFileLineResource.md +++ b/dsc/reference/resources/linux/lnxFileLineResource.md @@ -1,45 +1,45 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxFileLine Resource ---- -# DSC for Linux nxFileLine Resource - -The **nxFileLine** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to to manage lines within a configuration file on a Linux node. - -## Syntax - -``` -nxFileLine #ResourceName -{ - FilePath = - ContainsLine = - [ DoesNotContainPattern = ] - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Description | -|---|---| -| FilePath| The full path to the file to manage lines in on the target node.| -| ContainsLine| A line to ensure exists in the file. This line will be appended to the file if it does not exist in the file. **ContainsLine** is mandatory, but can be set to an empty string (`ContainsLine = ""`) if it is not needed.| -| DoesNotContainPattern| A regular expression pattern for lines that should not exist in the file. For any lines that exist in the file that match this regular expression, the line will be removed from the file.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Example - -This example demonstrates using the **nxFileLine** resource to configure the `/etc/sudoers` file, ensuring that the user: monuser is configured to not requiretty. - -```powershell -Import-DscResource -Module nx - -nxFileLine DoNotRequireTTY -{ - FilePath = “/etc/sudoers†- ContainsLine = 'Defaults:monuser !requiretty' - DoesNotContainPattern = "Defaults:monuser[ ]+requiretty" -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxFileLine Resource +--- +# DSC for Linux nxFileLine Resource + +The **nxFileLine** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage lines within a configuration file on a Linux node. + +## Syntax + +``` +nxFileLine #ResourceName +{ + FilePath = + ContainsLine = + [ DoesNotContainPattern = ] + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Description | +|---|---| +| FilePath| The full path to the file to manage lines in on the target node.| +| ContainsLine| A line to ensure exists in the file. This line will be appended to the file if it does not exist in the file. **ContainsLine** is mandatory, but can be set to an empty string (`ContainsLine = ""`) if it is not needed.| +| DoesNotContainPattern| A regular expression pattern for lines that should not exist in the file. For any lines that exist in the file that match this regular expression, the line will be removed from the file.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Example + +This example demonstrates using the **nxFileLine** resource to configure the `/etc/sudoers` file, ensuring that the user: monuser is configured to not requiretty. + +```powershell +Import-DscResource -Module nx + +nxFileLine DoNotRequireTTY +{ + FilePath = “/etc/sudoers†+ ContainsLine = 'Defaults:monuser !requiretty' + DoesNotContainPattern = "Defaults:monuser[ ]+requiretty" +} ``` \ No newline at end of file diff --git a/dsc/lnxFileResource.md b/dsc/reference/resources/linux/lnxFileResource.md similarity index 95% rename from dsc/lnxFileResource.md rename to dsc/reference/resources/linux/lnxFileResource.md index 5c496b0de858..77bddaf8b4b5 100644 --- a/dsc/lnxFileResource.md +++ b/dsc/reference/resources/linux/lnxFileResource.md @@ -1,154 +1,154 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxFile Resource ---- - -# DSC for Linux nxFile Resource - -The **nxFile** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to to manage files and directories on a Linux node. - -## Syntax - -``` -nxFile #ResourceName -{ - DestinationPath = - [ SourcePath = ] - [ Ensure = { Absent | Present } ] - [ Type = { directory | file | link } ] - [ Contents = ] - [ Checksum = { ctime | mtime | md5 } ] - [ Recurse = ] - [ Force = ] - [ Links = { follow | manage } ] - [ Group = ] - [ Mode = ] - [ Owner = ] - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Description | -|---|---| -| DestinationPath| Specifies the location where you want to ensure the state for a file or directory.| -| SourcePath| Specifies the path from which to copy the file or folder resource. This path may be a local path, or an `http/https/ftp` URL. Remote `http/https/ftp` URLs are only supported when the value of the **Type** property is file.| -| Ensure| Determines whether to check if the file exists. Set this property to "Present" to ensure the file exists. Set it to "Absent" to ensure the file does not exist. The default value is "Present".| -| Type| Specifies whether the resource being configured is a directory or a file. Set this property to "directory" to indicate that the resource is a directory. Set it to "file" to indicate that the resource is a file. The default value is "file"| -| Contents| Specifies the contents of a file, such as a particular string.| -| Checksum| Defines the type to use when determining whether two files are the same. If **Checksum** is not specified, only the file or directory name is used for comparison. Values are: "ctime", "mtime", or "md5".| -| Recurse| Indicates if subdirectories are included. Set this property to **$true** to indicate that you want subdirectories to be included. The default is **$false**. **Note:** This property is only valid when the **Type** property is set to directory.| -| Force| Certain file operations (such as overwriting a file or deleting a directory that is not empty) will result in an error. Using the **Force** property overrides such errors. The default value is **$false**.| -| Links| Specifies the desired behavior for symbolic links. Set this property to "follow" to follow symbolic links and act on the links target (for example. copy the file instead of the link). Set this property to "manage" to act on the link (for example. copy the link itself). Set this property to "ignore" to ignore symbolic links.| -| Group| The name of the **Group** to own the file or directory.| -| Mode| Specifies the desired permissions for the resource, in octal or symbolic notation. (for example, 777 or rwxrwxrwx). If using symbolic notation, do not provide the first character which indicates directory or file.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Additional Information - - -Linux and Windows use different line break characters in text files by default, and this can cause unexpected results when configuring some files on a Linux computer with __nxFile__. There are multiple ways to manage the content of a Linux file while avoiding issues caused by unexpected line break characters: - -Step 1: Copy the file from a remote source (http, https, or ftp): create a file on Linux with the desired contents, and stage it on a web or ftp server accessible the node(s) you will configure. Define the __SourcePath__ property in the __nxFile__ resource with the web or ftp URL to the file. - -``` -Import-DSCResource -Module nx -Node $Node -{ -nxFile resolvConf -{ - SourcePath = "http://10.185.85.11/conf/resolv.conf" - DestinationPath = "/etc/resolv.conf" - Mode = "644" - Type = "file" - -} - -} -``` - - -Step 2: Read the file contents in the PowerShell script with [Get-Content](https://technet.microsoft.com/library/hh849787.aspx) after setting the __$OFS__ property to use the Linux line-break character. - - -``` -Import-DSCResource -Module nx -Node $Node -{ -$OFS = "`n" -$Contents = Get-Content C:\temp\resolv.conf - -nxFile resolvConf -{ - DestinationPath = "/etc/resolv.conf" - Mode = "644" - Type = "file" - Contents = "$Contents" -} - -} -``` - - -Step 3: Use a PowerShell function to replace Windows line breaks with Linux line-break characters. - -``` -Function LinuxString($inputStr){ - $outputStr = $inputStr.Replace("`r`n","`n") - $ouputStr += "`n" - Return $outputStr -} - -Import-DSCResource -Module nx -Node $Node -{ - -$Contents = @' -search contoso.com -domain contoso.com -nameserver 10.185.85.11 -'@ - -$Contents = LinuxString $Contents - -nxFile resolvConf -{ - DestinationPath = "/etc/resolv.conf" - Mode = "644" - Type = "file" - Contents = $Contents - -} -} -``` - -## Example - -The following example ensures that the directory `/opt/mydir` exists, and that a file with specified contents exists this directory. - -``` -Import-DSCResource -Module nx - -Node $node { -nxFile DirectoryExample -{ - Ensure = "Present" - DestinationPath = "/opt/mydir" - Type = "Directory" -} - -nxFile FileExample -{ - Ensure = "Present" - Destinationpath = "/opt/mydir/myfile" - Contents=@" -#!/bin/bash`necho "hello world"`n -"@ - Mode = “755†- DependsOn = "[nxFile]DirectoryExample" -} -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxFile Resource +--- + +# DSC for Linux nxFile Resource + +The **nxFile** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage files and directories on a Linux node. + +## Syntax + +``` +nxFile #ResourceName +{ + DestinationPath = + [ SourcePath = ] + [ Ensure = { Absent | Present } ] + [ Type = { directory | file | link } ] + [ Contents = ] + [ Checksum = { ctime | mtime | md5 } ] + [ Recurse = ] + [ Force = ] + [ Links = { follow | manage } ] + [ Group = ] + [ Mode = ] + [ Owner = ] + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Description | +|---|---| +| DestinationPath| Specifies the location where you want to ensure the state for a file or directory.| +| SourcePath| Specifies the path from which to copy the file or folder resource. This path may be a local path, or an `http/https/ftp` URL. Remote `http/https/ftp` URLs are only supported when the value of the **Type** property is file.| +| Ensure| Determines whether to check if the file exists. Set this property to "Present" to ensure the file exists. Set it to "Absent" to ensure the file does not exist. The default value is "Present".| +| Type| Specifies whether the resource being configured is a directory or a file. Set this property to "directory" to indicate that the resource is a directory. Set it to "file" to indicate that the resource is a file. The default value is "file"| +| Contents| Specifies the contents of a file, such as a particular string.| +| Checksum| Defines the type to use when determining whether two files are the same. If **Checksum** is not specified, only the file or directory name is used for comparison. Values are: "ctime", "mtime", or "md5".| +| Recurse| Indicates if subdirectories are included. Set this property to **$true** to indicate that you want subdirectories to be included. The default is **$false**. **Note:** This property is only valid when the **Type** property is set to directory.| +| Force| Certain file operations (such as overwriting a file or deleting a directory that is not empty) will result in an error. Using the **Force** property overrides such errors. The default value is **$false**.| +| Links| Specifies the desired behavior for symbolic links. Set this property to "follow" to follow symbolic links and act on the links target (for example. copy the file instead of the link). Set this property to "manage" to act on the link (for example. copy the link itself). Set this property to "ignore" to ignore symbolic links.| +| Group| The name of the **Group** to own the file or directory.| +| Mode| Specifies the desired permissions for the resource, in octal or symbolic notation. (for example, 777 or rwxrwxrwx). If using symbolic notation, do not provide the first character which indicates directory or file.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Additional Information + + +Linux and Windows use different line break characters in text files by default, and this can cause unexpected results when configuring some files on a Linux computer with __nxFile__. There are multiple ways to manage the content of a Linux file while avoiding issues caused by unexpected line break characters: + +Step 1: Copy the file from a remote source (http, https, or ftp): create a file on Linux with the desired contents, and stage it on a web or ftp server accessible the node(s) you will configure. Define the __SourcePath__ property in the __nxFile__ resource with the web or ftp URL to the file. + +``` +Import-DSCResource -Module nx +Node $Node +{ +nxFile resolvConf +{ + SourcePath = "http://10.185.85.11/conf/resolv.conf" + DestinationPath = "/etc/resolv.conf" + Mode = "644" + Type = "file" + +} + +} +``` + + +Step 2: Read the file contents in the PowerShell script with [Get-Content](https://technet.microsoft.com/library/hh849787.aspx) after setting the __$OFS__ property to use the Linux line-break character. + + +``` +Import-DSCResource -Module nx +Node $Node +{ +$OFS = "`n" +$Contents = Get-Content C:\temp\resolv.conf + +nxFile resolvConf +{ + DestinationPath = "/etc/resolv.conf" + Mode = "644" + Type = "file" + Contents = "$Contents" +} + +} +``` + + +Step 3: Use a PowerShell function to replace Windows line breaks with Linux line-break characters. + +``` +Function LinuxString($inputStr){ + $outputStr = $inputStr.Replace("`r`n","`n") + $ouputStr += "`n" + Return $outputStr +} + +Import-DSCResource -Module nx +Node $Node +{ + +$Contents = @' +search contoso.com +domain contoso.com +nameserver 10.185.85.11 +'@ + +$Contents = LinuxString $Contents + +nxFile resolvConf +{ + DestinationPath = "/etc/resolv.conf" + Mode = "644" + Type = "file" + Contents = $Contents + +} +} +``` + +## Example + +The following example ensures that the directory `/opt/mydir` exists, and that a file with specified contents exists this directory. + +``` +Import-DSCResource -Module nx + +Node $node { +nxFile DirectoryExample +{ + Ensure = "Present" + DestinationPath = "/opt/mydir" + Type = "Directory" +} + +nxFile FileExample +{ + Ensure = "Present" + Destinationpath = "/opt/mydir/myfile" + Contents=@" +#!/bin/bash`necho "hello world"`n +"@ + Mode = “755†+ DependsOn = "[nxFile]DirectoryExample" +} +} ``` \ No newline at end of file diff --git a/dsc/lnxGroupResource.md b/dsc/reference/resources/linux/lnxGroupResource.md similarity index 97% rename from dsc/lnxGroupResource.md rename to dsc/reference/resources/linux/lnxGroupResource.md index 66a887c9cee2..c40388716790 100644 --- a/dsc/lnxGroupResource.md +++ b/dsc/reference/resources/linux/lnxGroupResource.md @@ -1,59 +1,59 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxGroup Resource ---- -# DSC for Linux nxGroup Resource - -The **nxGroup** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage local groups on a Linux node. - -## Syntax - -``` -nxGroup #ResourceName -{ - GroupName = - [ Ensure = { Absent | Present } ] - [ Members = ] - [ MembersToInclude = ] - [ MembersToExclude = ] - [ DependsOn = ] -} -``` - -## Properties - -| Property | Description | -|---|---| -| GroupName| Specifies the name of the group for which you want to ensure a specific state.| -| Ensure| Determines whether to check if the group exists. Set this property to "Present" to ensure the group exists. Set it to "Absent" to ensure the group does not exist. The default value is "Present".| -| Members| Specifies the members that form the group.| -| MembersToInclude| Specifies the users who you want to ensure are members of the group.| -| MembersToExclude| Specifies the users who you want to ensure are not members of the group.| -| PreferredGroupID| Sets the group id to the provided value if possible. If the group id is currently in use, the next available group id is used.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = '[ResourceType]ResourceName'`.| - -## Example - -The following example ensures that the user 'monuser' exists and is a member of the group 'DBusers'. - -```powershell -Import-DSCResource -Module nx - -Node $node { - nxUser UserExample { - UserName = 'monuser' - Description = 'Monitoring user' - Password = '$6$fZAne/Qc$MZejMrOxDK0ogv9SLiBP5J5qZFBvXLnDu8HY1Oy7ycX.Y3C7mGPUfeQy3A82ev3zIabhDQnj2ayeuGn02CqE/0' - Ensure = 'Present' - HomeDirectory = '/home/monuser' - } - - nxGroup GroupExample { - GroupName = 'DBusers' - Ensure = 'Present' - MembersToInclude = 'monuser' - DependsOn = '[nxUser]UserExample' - } -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxGroup Resource +--- +# DSC for Linux nxGroup Resource + +The **nxGroup** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage local groups on a Linux node. + +## Syntax + +``` +nxGroup #ResourceName +{ + GroupName = + [ Ensure = { Absent | Present } ] + [ Members = ] + [ MembersToInclude = ] + [ MembersToExclude = ] + [ DependsOn = ] +} +``` + +## Properties + +| Property | Description | +|---|---| +| GroupName| Specifies the name of the group for which you want to ensure a specific state.| +| Ensure| Determines whether to check if the group exists. Set this property to "Present" to ensure the group exists. Set it to "Absent" to ensure the group does not exist. The default value is "Present".| +| Members| Specifies the members that form the group.| +| MembersToInclude| Specifies the users who you want to ensure are members of the group.| +| MembersToExclude| Specifies the users who you want to ensure are not members of the group.| +| PreferredGroupID| Sets the group id to the provided value if possible. If the group id is currently in use, the next available group id is used.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = '[ResourceType]ResourceName'`.| + +## Example + +The following example ensures that the user 'monuser' exists and is a member of the group 'DBusers'. + +```powershell +Import-DSCResource -Module nx + +Node $node { + nxUser UserExample { + UserName = 'monuser' + Description = 'Monitoring user' + Password = '$6$fZAne/Qc$MZejMrOxDK0ogv9SLiBP5J5qZFBvXLnDu8HY1Oy7ycX.Y3C7mGPUfeQy3A82ev3zIabhDQnj2ayeuGn02CqE/0' + Ensure = 'Present' + HomeDirectory = '/home/monuser' + } + + nxGroup GroupExample { + GroupName = 'DBusers' + Ensure = 'Present' + MembersToInclude = 'monuser' + DependsOn = '[nxUser]UserExample' + } +} ``` \ No newline at end of file diff --git a/dsc/lnxPackageResource.md b/dsc/reference/resources/linux/lnxPackageResource.md similarity index 97% rename from dsc/lnxPackageResource.md rename to dsc/reference/resources/linux/lnxPackageResource.md index 81f82b2d7bfc..2bd2f0e14026 100644 --- a/dsc/lnxPackageResource.md +++ b/dsc/reference/resources/linux/lnxPackageResource.md @@ -1,56 +1,56 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxPackage Resource ---- - -# DSC for Linux nxPackage Resource - -The **nxPackage** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage packages on a Linux node. - -## Syntax - -``` -nxPackage #ResourceName -{ - Name = - [ Ensure = { Absent | Present } ] - [ PackageManager = { Yum | Apt | Zypper } ] - [ PackageGroup = ] - [ Arguments = ] - [ ReturnCode = ] - [ LogPath = ] - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Description | -|---|---| -| Name| The name of the package for which you want to ensure a specific state.| -| Ensure| Determines whether to check if the package exists. Set this property to "Present" to ensure the package exists. Set it to "Absent" to ensure the package does not exist. The default value is "Present".| -| PackageManager| Supported values are "yum", "apt", and "zypper". Specifies the package manager to use when installing packages. If **FilePath** is specified, the provided path will be used to install the package. Otherwise, a Package Manager will be used to install the package from a pre-configured repository. If neither **PackageManager** nor **FilePath** are provided, the default package manager for the system will be used.| -| FilePath| The file path where the package resides| -| PackageGroup| If **$true**, the **Name** is expected to be the name of a package group for use with a **PackageManager**. **PacakgeGroup** is not valid when providing a **FilePath**.| -| Arguments| A string of arguments that will be passed to the package exactly as provided.| -| ReturnCode| The expected return code. If the actual return code does not match the expected value provided here, the configuration will return an error.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Example - -The following example ensures that the package named "httpd" is installed on a Linux computer, using the “Yum†package manager. - -``` -Import-DSCResource -Module nx - -Node $node { -nxPackage httpd -{ - Name = "httpd" - Ensure = "Present" - PackageManager = "Yum" -} -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxPackage Resource +--- + +# DSC for Linux nxPackage Resource + +The **nxPackage** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage packages on a Linux node. + +## Syntax + +``` +nxPackage #ResourceName +{ + Name = + [ Ensure = { Absent | Present } ] + [ PackageManager = { Yum | Apt | Zypper } ] + [ PackageGroup = ] + [ Arguments = ] + [ ReturnCode = ] + [ LogPath = ] + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Description | +|---|---| +| Name| The name of the package for which you want to ensure a specific state.| +| Ensure| Determines whether to check if the package exists. Set this property to "Present" to ensure the package exists. Set it to "Absent" to ensure the package does not exist. The default value is "Present".| +| PackageManager| Supported values are "yum", "apt", and "zypper". Specifies the package manager to use when installing packages. If **FilePath** is specified, the provided path will be used to install the package. Otherwise, a Package Manager will be used to install the package from a pre-configured repository. If neither **PackageManager** nor **FilePath** are provided, the default package manager for the system will be used.| +| FilePath| The file path where the package resides| +| PackageGroup| If **$true**, the **Name** is expected to be the name of a package group for use with a **PackageManager**. **PacakgeGroup** is not valid when providing a **FilePath**.| +| Arguments| A string of arguments that will be passed to the package exactly as provided.| +| ReturnCode| The expected return code. If the actual return code does not match the expected value provided here, the configuration will return an error.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Example + +The following example ensures that the package named "httpd" is installed on a Linux computer, using the “Yum†package manager. + +``` +Import-DSCResource -Module nx + +Node $node { +nxPackage httpd +{ + Name = "httpd" + Ensure = "Present" + PackageManager = "Yum" +} +} ``` \ No newline at end of file diff --git a/dsc/lnxScriptResource.md b/dsc/reference/resources/linux/lnxScriptResource.md similarity index 97% rename from dsc/lnxScriptResource.md rename to dsc/reference/resources/linux/lnxScriptResource.md index c6d08c7fc472..991d911fd211 100644 --- a/dsc/lnxScriptResource.md +++ b/dsc/reference/resources/linux/lnxScriptResource.md @@ -1,69 +1,69 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxScript Resource ---- - -# DSC for Linux nxScript Resource - -The **nxScript** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to run Linux scripts on a Linux node. - -## Syntax - -``` -nxScript #ResourceName -{ - GetScript = - SetScript = - TestScript = - [ User = ] - [ Group = ] - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Description | -|---|---| -| GetScript| Provides a script that runs when you invoke the [Get-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521625.aspx) cmdlet. The script must begin with a shebang, such as #!/bin/bash.| -| SetScript| Provides a script. When you invoke the [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) cmdlet, the **TestScript** runs first. If the **TestScript** block returns an exit code other than 0, the **SetScript** block will run. If the **TestScript** returns an exit code of 0, the **SetScript** will not run. The script must begin with a shebang, such as `#!/bin/bash`.| -| TestScript| Provides a script. When you invoke the [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) cmdlet, this script runs. If it returns an exit code other than 0, the SetScript will run. If it returns an exit code of 0, the **SetScript** will not run. The **TestScript** also runs when you invoke the [Test-DscConfiguration](https://technet.microsoft.com/en-us/library/dn407382.aspx) cmdlet. However, in this case, the **SetScript** will not run, no matter what exit code is returned from the **TestScript**. The **TestScript** must return an exit code of 0 if the actual configuration matches the current desired state configuration, and an exit code other than 0 if it does not match. (The current desired state configuration is the last configuration enacted on the node that is using DSC). The script must begin with a shebang, such as 1#!/bin/bash.1| -| User| The user to run the script as.| -| Group| The group to run the script as.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Example - -The following example demonstrates the use of the **nxScript** resource to perform additional configuration management. - -``` -Import-DSCResource -Module nx - -Node $node { -nxScript KeepDirEmpty{ - - GetScript = @" -#!/bin/bash -ls /tmp/mydir/ | wc -l -"@ - - SetScript = @" -#!/bin/bash -rm -rf /tmp/mydir/* -"@ - - TestScript = @' -#!/bin/bash -filecount=`ls /tmp/mydir | wc -l` -if [ $filecount -gt 0 ] -then - exit 1 -else - exit 0 -fi -'@ -} -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxScript Resource +--- + +# DSC for Linux nxScript Resource + +The **nxScript** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to run Linux scripts on a Linux node. + +## Syntax + +``` +nxScript #ResourceName +{ + GetScript = + SetScript = + TestScript = + [ User = ] + [ Group = ] + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Description | +|---|---| +| GetScript| Provides a script that runs when you invoke the [Get-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521625.aspx) cmdlet. The script must begin with a shebang, such as #!/bin/bash.| +| SetScript| Provides a script. When you invoke the [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) cmdlet, the **TestScript** runs first. If the **TestScript** block returns an exit code other than 0, the **SetScript** block will run. If the **TestScript** returns an exit code of 0, the **SetScript** will not run. The script must begin with a shebang, such as `#!/bin/bash`.| +| TestScript| Provides a script. When you invoke the [Start-DscConfiguration](https://technet.microsoft.com/en-us/library/dn521623.aspx) cmdlet, this script runs. If it returns an exit code other than 0, the SetScript will run. If it returns an exit code of 0, the **SetScript** will not run. The **TestScript** also runs when you invoke the [Test-DscConfiguration](https://technet.microsoft.com/en-us/library/dn407382.aspx) cmdlet. However, in this case, the **SetScript** will not run, no matter what exit code is returned from the **TestScript**. The **TestScript** must return an exit code of 0 if the actual configuration matches the current desired state configuration, and an exit code other than 0 if it does not match. (The current desired state configuration is the last configuration enacted on the node that is using DSC). The script must begin with a shebang, such as 1#!/bin/bash.1| +| User| The user to run the script as.| +| Group| The group to run the script as.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Example + +The following example demonstrates the use of the **nxScript** resource to perform additional configuration management. + +``` +Import-DSCResource -Module nx + +Node $node { +nxScript KeepDirEmpty{ + + GetScript = @" +#!/bin/bash +ls /tmp/mydir/ | wc -l +"@ + + SetScript = @" +#!/bin/bash +rm -rf /tmp/mydir/* +"@ + + TestScript = @' +#!/bin/bash +filecount=`ls /tmp/mydir | wc -l` +if [ $filecount -gt 0 ] +then + exit 1 +else + exit 0 +fi +'@ +} +} ``` \ No newline at end of file diff --git a/dsc/lnxServiceResource.md b/dsc/reference/resources/linux/lnxServiceResource.md similarity index 97% rename from dsc/lnxServiceResource.md rename to dsc/reference/resources/linux/lnxServiceResource.md index 04a70124c279..aad2942d477c 100644 --- a/dsc/lnxServiceResource.md +++ b/dsc/reference/resources/linux/lnxServiceResource.md @@ -1,53 +1,53 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxService Resource ---- -# DSC for Linux nxService Resource - -The **nxService** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage services on a Linux node. - -## Syntax - -``` -nxService #ResourceName -{ - Name = - [ Controller = { init | upstart | systemd } ] - [ Enabled = ] - [ State = { Running | Stopped } ] - [ DependsOn = ] -} -``` - -## Properties - -| Property | Description | -|---|---| -| Name| The name of the service/daemon to configure.| -| Controller| The type of service controller to use when configuring the service.| -| Enabled| Indicates whether the service starts on boot.| -| State| Indicates whether the service is running. Set this property to "Stopped" to ensure that the service is not running. Set it to "Running" to ensure that the service is not running.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Additional Information - -The **nxService** resource will not create a service definition or script for the service if it does not exist. You can use the PowerShell Desired State Configuration **nxFile** Resource resource to manage the existence or contents of the service definition file or script. - -## Example - -The following example shows configuration of the 'httpd' service (for Apache HTTP Server), registered with the **SystemD** service controller. - -```powershell -Import-DSCResource -Module nx - -Node $node { - #Apache Service - nxService ApacheService { - Name = 'httpd' - State = 'running' - Enabled = $true - Controller = 'systemd' - } -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxService Resource +--- +# DSC for Linux nxService Resource + +The **nxService** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage services on a Linux node. + +## Syntax + +``` +nxService #ResourceName +{ + Name = + [ Controller = { init | upstart | systemd } ] + [ Enabled = ] + [ State = { Running | Stopped } ] + [ DependsOn = ] +} +``` + +## Properties + +| Property | Description | +|---|---| +| Name| The name of the service/daemon to configure.| +| Controller| The type of service controller to use when configuring the service.| +| Enabled| Indicates whether the service starts on boot.| +| State| Indicates whether the service is running. Set this property to "Stopped" to ensure that the service is not running. Set it to "Running" to ensure that the service is not running.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Additional Information + +The **nxService** resource will not create a service definition or script for the service if it does not exist. You can use the PowerShell Desired State Configuration **nxFile** Resource resource to manage the existence or contents of the service definition file or script. + +## Example + +The following example shows configuration of the 'httpd' service (for Apache HTTP Server), registered with the **SystemD** service controller. + +```powershell +Import-DSCResource -Module nx + +Node $node { + #Apache Service + nxService ApacheService { + Name = 'httpd' + State = 'running' + Enabled = $true + Controller = 'systemd' + } +} ``` \ No newline at end of file diff --git a/dsc/lnxSshAuthorizedKeysResource.md b/dsc/reference/resources/linux/lnxSshAuthorizedKeysResource.md similarity index 97% rename from dsc/lnxSshAuthorizedKeysResource.md rename to dsc/reference/resources/linux/lnxSshAuthorizedKeysResource.md index 7a4aa9c2f9a6..2f7ac8440734 100644 --- a/dsc/lnxSshAuthorizedKeysResource.md +++ b/dsc/reference/resources/linux/lnxSshAuthorizedKeysResource.md @@ -1,51 +1,51 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxSshAuthorizedKeys Resource ---- - -# DSC for Linux nxSshAuthorizedKeys Resource - -The **nxAuthorizedKeys** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage authorized ssh keys for a specified user. - -## Syntax - -``` -nxAuthorizedKeys #ResourceName -{ - KeyComment = - [ Ensure = { Absent | Present } ] - [ Username = ] - [ Key = ] - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Description | -|---|---| -| KeyComment| A unique comment for the key. This is used to uniquely identify keys.| -| Ensure| Specifies whether the key is defined. Set this property to "Absent" to ensure the key does not exist in the user’s authorized keys file. Set it to "Present" to ensure the key is defined in the user’s authorized key file.| -| Username| The username to manage ssh authorized keys for. If not defined, the default user is "root".| -| Key| The contents of the key. This is required if **Ensure** is set to "Present".| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Example - -The following example defines a public ssh authorized key for the user "monuser". - -``` -Import-DSCResource -Module nx - -Node $node { - -nxSshAuthorizedKeys myKey{ - KeyComment = "myKey" - Ensure = "Present" - Key = 'ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA0b+0xSd07QXRifm3FXj7Pn/DblA6QI5VAkDm6OivFzj3U6qGD1VJ6AAxWPCyMl/qhtpRtxZJDu/TxD8AyZNgc8aN2CljN1hOMbBRvH2q5QPf/nCnnJRaGsrxIqZjyZdYo9ZEEzjZUuMDM5HI1LA9B99k/K6PK2Bc1NLivpu7nbtVG2tLOQs+GefsnHuetsRMwo/+c3LtwYm9M0XfkGjYVCLO4CoFuSQpvX6AB3TedUy6NZ0iuxC0kRGg1rIQTwSRcw+McLhslF0drs33fw6tYdzlLBnnzimShMuiDWiT37WqCRovRGYrGCaEFGTG2e0CN8Co8nryXkyWc6NSDNpMzw== rsa-key-20150401' - UserName = "monuser" -} -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxSshAuthorizedKeys Resource +--- + +# DSC for Linux nxSshAuthorizedKeys Resource + +The **nxAuthorizedKeys** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage authorized ssh keys for a specified user. + +## Syntax + +``` +nxAuthorizedKeys #ResourceName +{ + KeyComment = + [ Ensure = { Absent | Present } ] + [ Username = ] + [ Key = ] + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Description | +|---|---| +| KeyComment| A unique comment for the key. This is used to uniquely identify keys.| +| Ensure| Specifies whether the key is defined. Set this property to "Absent" to ensure the key does not exist in the user’s authorized keys file. Set it to "Present" to ensure the key is defined in the user’s authorized key file.| +| Username| The username to manage ssh authorized keys for. If not defined, the default user is "root".| +| Key| The contents of the key. This is required if **Ensure** is set to "Present".| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the **ID** of the resource configuration script block that you want to run first is **ResourceName** and its type is **ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Example + +The following example defines a public ssh authorized key for the user "monuser". + +``` +Import-DSCResource -Module nx + +Node $node { + +nxSshAuthorizedKeys myKey{ + KeyComment = "myKey" + Ensure = "Present" + Key = 'ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA0b+0xSd07QXRifm3FXj7Pn/DblA6QI5VAkDm6OivFzj3U6qGD1VJ6AAxWPCyMl/qhtpRtxZJDu/TxD8AyZNgc8aN2CljN1hOMbBRvH2q5QPf/nCnnJRaGsrxIqZjyZdYo9ZEEzjZUuMDM5HI1LA9B99k/K6PK2Bc1NLivpu7nbtVG2tLOQs+GefsnHuetsRMwo/+c3LtwYm9M0XfkGjYVCLO4CoFuSQpvX6AB3TedUy6NZ0iuxC0kRGg1rIQTwSRcw+McLhslF0drs33fw6tYdzlLBnnzimShMuiDWiT37WqCRovRGYrGCaEFGTG2e0CN8Co8nryXkyWc6NSDNpMzw== rsa-key-20150401' + UserName = "monuser" +} +} ``` \ No newline at end of file diff --git a/dsc/lnxUserResource.md b/dsc/reference/resources/linux/lnxUserResource.md similarity index 95% rename from dsc/lnxUserResource.md rename to dsc/reference/resources/linux/lnxUserResource.md index 8d38869ad63e..3ee3abbca71f 100644 --- a/dsc/lnxUserResource.md +++ b/dsc/reference/resources/linux/lnxUserResource.md @@ -1,68 +1,68 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC for Linux nxUser Resource ---- - -# DSC for Linux nxUser Resource - -The **nxUser** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to to manage local users on a Linux node. - -## Syntax - -``` -nxUser #ResourceName -{ - UserName = - [ Ensure = { Absent | Present } ] - [ FullName = ] - [ Description = ] - [ Password = ] - [ Disabled = ] - [ PasswordChangeRequired = ] - [ HomeDirectory = ] - [ GroupID = ] - [ DependsOn = ] - -} -``` - -## Properties - -| Property | Indicates the account name for which you want to ensure a specific state. | -|---|---| -| UserName| Specifies the location where you want to ensure the state for a file or directory.| -| Ensure| Specifies whether the account exists. Set this property to "Present" to ensure that the account exists, and set it to "Absent" to ensure that the account does not exist.| -| FullName| A string that contains the full name to use for the user account.| -| Description| The description for the user account.| -| Password| The hash of the users password in the appropriate form for the Linux computer. Typically, this is a salted SHA-256, or SHA-512 hash. On Debian and Ubuntu Linux, this value can be generated with the mkpasswd command. For other Linux distros, the crypt method of Python’s Crypt library can be used to generate the hash.| -| Disabled| Indicates whether the account is enabled. Set this property to **$true** to ensure that this account is disabled, and set it to **$false** to ensure that it is enabled.| -| PasswordChangeRequired| Indicates whether the user can change the password. Set this property to **$true** to ensure that the user cannot change the password, and set it to **$false** to allow the user to change the password. The default value is **$false**. This property is only evaluated if the user account did not exist previously and is being created.| -| HomeDirectory| The home directory for the user.| -| GroupID| The primary group ID for the user.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is "ResourceName" and its type is "ResourceType", the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - -## Example - -The following example ensures that the user "monuser" exists and is a member of the group "DBusers". - -``` -Import-DSCResource -Module nx - -Node $node { -nxUser UserExample{ - UserName = "monuser" - Description = "Monitoring user" - Password = '$6$fZAne/Qc$MZejMrOxDK0ogv9SLiBP5J5qZFBvXLnDu8HY1Oy7ycX.Y3C7mGPUfeQy3A82ev3zIabhDQnj2ayeuGn02CqE/0' - Ensure = "Present" - HomeDirectory = "/home/monuser" -} - -nxGroup GroupExample{ - GroupName = "DBusers" - Ensure = "Present" - MembersToInclude = "monuser" - DependsOn = "[nxUser]UserExample" -} -} +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC for Linux nxUser Resource +--- + +# DSC for Linux nxUser Resource + +The **nxUser** resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage local users on a Linux node. + +## Syntax + +``` +nxUser #ResourceName +{ + UserName = + [ Ensure = { Absent | Present } ] + [ FullName = ] + [ Description = ] + [ Password = ] + [ Disabled = ] + [ PasswordChangeRequired = ] + [ HomeDirectory = ] + [ GroupID = ] + [ DependsOn = ] + +} +``` + +## Properties + +| Property | Indicates the account name for which you want to ensure a specific state. | +|---|---| +| UserName| Specifies the location where you want to ensure the state for a file or directory.| +| Ensure| Specifies whether the account exists. Set this property to "Present" to ensure that the account exists, and set it to "Absent" to ensure that the account does not exist.| +| FullName| A string that contains the full name to use for the user account.| +| Description| The description for the user account.| +| Password| The hash of the users password in the appropriate form for the Linux computer. Typically, this is a salted SHA-256, or SHA-512 hash. On Debian and Ubuntu Linux, this value can be generated with the mkpasswd command. For other Linux distros, the crypt method of Python’s Crypt library can be used to generate the hash.| +| Disabled| Indicates whether the account is enabled. Set this property to **$true** to ensure that this account is disabled, and set it to **$false** to ensure that it is enabled.| +| PasswordChangeRequired| Indicates whether the user can change the password. Set this property to **$true** to ensure that the user cannot change the password, and set it to **$false** to allow the user to change the password. The default value is **$false**. This property is only evaluated if the user account did not exist previously and is being created.| +| HomeDirectory| The home directory for the user.| +| GroupID| The primary group ID for the user.| +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is "ResourceName" and its type is "ResourceType", the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| + +## Example + +The following example ensures that the user "monuser" exists and is a member of the group "DBusers". + +``` +Import-DSCResource -Module nx + +Node $node { +nxUser UserExample{ + UserName = "monuser" + Description = "Monitoring user" + Password = '$6$fZAne/Qc$MZejMrOxDK0ogv9SLiBP5J5qZFBvXLnDu8HY1Oy7ycX.Y3C7mGPUfeQy3A82ev3zIabhDQnj2ayeuGn02CqE/0' + Ensure = "Present" + HomeDirectory = "/home/monuser" +} + +nxGroup GroupExample{ + GroupName = "DBusers" + Ensure = "Present" + MembersToInclude = "monuser" + DependsOn = "[nxUser]UserExample" +} +} ``` \ No newline at end of file diff --git a/dsc/PackageManagementDscResource.md b/dsc/reference/resources/packagemanagement/PackageManagementDscResource.md similarity index 100% rename from dsc/PackageManagementDscResource.md rename to dsc/reference/resources/packagemanagement/PackageManagementDscResource.md diff --git a/dsc/PackageManagementSourceDscResource.md b/dsc/reference/resources/packagemanagement/PackageManagementSourceDscResource.md similarity index 100% rename from dsc/PackageManagementSourceDscResource.md rename to dsc/reference/resources/packagemanagement/PackageManagementSourceDscResource.md diff --git a/dsc/archiveResource.md b/dsc/reference/resources/windows/archiveResource.md similarity index 100% rename from dsc/archiveResource.md rename to dsc/reference/resources/windows/archiveResource.md diff --git a/dsc/environmentResource.md b/dsc/reference/resources/windows/environmentResource.md similarity index 100% rename from dsc/environmentResource.md rename to dsc/reference/resources/windows/environmentResource.md diff --git a/dsc/reference/resources/windows/fileResource.md b/dsc/reference/resources/windows/fileResource.md new file mode 100644 index 000000000000..b56149397f87 --- /dev/null +++ b/dsc/reference/resources/windows/fileResource.md @@ -0,0 +1,102 @@ +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: DSC File Resource +--- + +# DSC File Resource + +> Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +The File resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to manage files and folders on the target node. The **DestinationPath** and **SourcePath** must both be accessible by the target Node. + +## Syntax + +``` +File [string] #ResourceName +{ + DestinationPath = [string] + [ Attributes = [string[]] { Archive | Hidden | ReadOnly | System }] + [ Checksum = [string] { CreatedDate | ModifiedDate | SHA-1 | SHA-256 | SHA-512 } ] + [ Contents = [string] ] + [ Credential = [PSCredential] ] + [ Ensure = [string] { Absent | Present } ] + [ Force = [bool] ] + [ Recurse = [bool] ] + [ DependsOn = [string[]] ] + [ SourcePath = [string] ] + [ Type = [string] { Directory | File } ] + [ MatchSource = [bool] ] +} +``` + +## Properties + +|Property |Description |Required|Default| +|---------------|------------------------------------------------------------------------------|--------|-------| +|DestinationPath|The location, on the target node, you want to ensure is `Present` or `Absent`.|Yes|No| +|Attributes |The desired state of the attributes for the targeted file or directory. Valid values are **Archive**, **Hidden**, **ReadOnly**, and **System**.|No|None| +|Checksum |The checksum type to use when determining whether two files are the same. Valid values include: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate.|No|Only the file or directory name is compared.| +|Contents |Only valid when used with `File` type. Indicates the contents to Ensure are `Present` or `Absent` from the targeted file. |No|None| +|Credential |The credentials that are required to access resources, such as source files.|No|The target node's Computer Account. (*see note*)| +|Ensure |The desired state of the target file or directory. |No|**Present**| +|Force |Overrides access operations that would result in an error (such as overwriting a file or deleting a directory that is not empty).|No|`$false`| +|Recurse |Only valid when used with `Directory` type. Performs the state operation recursively to all subdirectories.|No|`$false`| +|DependsOn |Sets a dependency on specified resource(s). This resource will only execute after successful execution of any dependent resources. You can specify dependent resources using the syntax `"[ResourceType]ResourceName"`. See [about_DependsOn](../../../configurations/resource-depends-on.md)|No|None| +|SourcePath |The path from which to copy the file or folder resource.|No|None| +|Type |The type of resource being configured. Valid values are `Directory` and `File`.|No|`File`| +|MatchSource |Determines if the resource should monitor for new files added to the source directory after the initial copy. A value of `$true` indicates that, after the initial copy, any new source files should be copied to the destination. If set to `$False`, the resource caches the contents of the source directory and ignores any files added after the initial copy.|No|`$false`| + +> [!WARNING] +> If you do not specify a value for `Credential` or `PSRunAsCredential` (PS V.5), the resource will use the computer account of the target node to access the `SourcePath`. When the `SourcePath` is a UNC share, this could result in an "Access Denied" error. Please ensure your permissions are set accordingly, or use the `Credential` or `PSRunAsCredential` properties to specify the account that should be used. + +## Present vs. Absent + +Each DSC resource performs different operations based on the value you specify for the `Ensure` property. The values you specify for the above properties determines the state operation performed. + +### Existence + +When you only specify a `DestinationPath`, the resource ensures that the path exists (`Present`) or does not exist (`Absent`). + +### Copy Operations + +When you specify a `SourcePath` and a `DestinationPath` with a `Type` value of **Directory**, the resource copies source directory to the destination path. The properties `Recurse`, `Force`, and `MatchSource` change the type of copy operation performed, while `Credential` determines which account to use to access the source directory. + +### Limitations + +If you specified a value of `ReadOnly` for the `Attributes` property alongside a `DestinationPath`, `Ensure = "Present"` would create the path specified, while `Contents` would set the contents of the file. An `Absent` state operation would ignore the `Attributes` property entirely, and remove any file at the specified path. + +## Example + +The following example copies a directory and its subdirectories from a pull server to a target node using the File Resource. If the operation succeeds, the Log resource writes a confirmation message to the event log. + +The source directory is a UNC path (`\\PullServer\DemoSource`) shared from the Pull Server. The `Recurse` property ensures that all subdirectories are copied as well. + +> [!IMPORTANT] +> The LCM on the target Node executes in the context of the local system account by default. To grant access to the **SourcePath**, give the target Node's computer account appropriate permissions. The **Credential** and **PSDSCRunAsCredential** (v5) both change the context the LCM uses to access the **SourcePath**. You still need to grant access to the account that will be used to access the **SourcePath**. + +```powershell +Configuration FileResourceDemo +{ + Node "localhost" + { + File DirectoryCopy + { + Ensure = "Present" # Ensure the directory is Present on the target node. + Type = "Directory" # The default is File. + Recurse = $true # Recursively copy all subdirectories. + SourcePath = "\\PullServer\DemoSource" + DestinationPath = "C:\Users\Public\Documents\DSCDemo\DemoDestination" + } + + Log AfterDirectoryCopy + { + # The message below gets written to the Microsoft-Windows-Desired State Configuration/Analytic log + Message = "Finished running the file resource with ID DirectoryCopy" + DependsOn = "[File]DirectoryCopy" # Depends on successful execution of the File resource. + } + } +} +``` + +For more on using **Credentials** in DSC see [Run As User](../../../configurations/runAsUser.md) or [Config Data Credentials](../../../configurations/configDataCredentials.md). diff --git a/dsc/groupResource.md b/dsc/reference/resources/windows/groupResource.md similarity index 98% rename from dsc/groupResource.md rename to dsc/reference/resources/windows/groupResource.md index cb7b0c112e7a..7991099910e1 100644 --- a/dsc/groupResource.md +++ b/dsc/reference/resources/windows/groupResource.md @@ -55,7 +55,7 @@ Group GroupExample ## Example 2 -The following example shows how to add an Active Directory User to the local administrators group as part of a Multi-Machine Lab build where you are already using a PSCredential for the Local Adminstrator account. +The following example shows how to add an Active Directory User to the local administrators group as part of a Multi-Machine Lab build where you are already using a PSCredential for the Local Administrator account. As this is also used for the Domain Admin Account (after Domain promotion), we then need to convert this existing PSCredential to a Domain Friendly credential. Then we can add a Domain User to the Local Administrators Group on the Member server. @@ -90,7 +90,7 @@ Group AddADUserToLocalAdminGroup { The following example shows how to ensure a local group, TigerTeamAdmins, on the server TigerTeamSource.Contoso.Com does not contain a particular domain account, Contoso\JerryG. ```powershell -Configuration SecureTigerTeamSrouce { +Configuration SecureTigerTeamSource { Import-DscResource -ModuleName 'PSDesiredStateConfiguration' Node TigerTeamSource.Contoso.Com { diff --git a/dsc/groupSetResource.md b/dsc/reference/resources/windows/groupSetResource.md similarity index 92% rename from dsc/groupSetResource.md rename to dsc/reference/resources/windows/groupSetResource.md index cab998d7ffc7..c731a22d8083 100644 --- a/dsc/groupSetResource.md +++ b/dsc/reference/resources/windows/groupSetResource.md @@ -6,10 +6,10 @@ title: DSC GroupSet Resource --- # DSC GroupSet Resource -> Applies To: Windows Windows PowerShell 5.0 +> Applies To: Windows PowerShell 5.0 The **GroupSet** resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to manage local groups on the target node. This resource is a -[composite resource](authoringResourceComposite.md) that calls the [Group resource](groupResource.md) for each group specified in the `GroupName` parameter. +[composite resource](../../../resources/authoringResourceComposite.md) that calls the [Group resource](groupResource.md) for each group specified in the `GroupName` parameter. Use this resource when you want to add and/or remove the same list of members to more than one group, remove more than one group, or add more than one group with the same list of members. @@ -72,5 +72,5 @@ $cd = @{ GroupSetTest -ConfigurationData $cd ``` -> [!NOTE] -> This example uses plaintext credentials for simplicity. For information about how to encrypt credentials in the configuration MOF file, see [Securing the MOF File](secureMOF.md). +> [!NOTE] +> This example uses plaintext credentials for simplicity. For information about how to encrypt credentials in the configuration MOF file, see [Securing the MOF File](../../../pull-server/secureMOF.md). diff --git a/dsc/logResource.md b/dsc/reference/resources/windows/logResource.md similarity index 89% rename from dsc/logResource.md rename to dsc/reference/resources/windows/logResource.md index ca92ac18fbbc..31d0dd6c0323 100644 --- a/dsc/logResource.md +++ b/dsc/reference/resources/windows/logResource.md @@ -5,7 +5,7 @@ title: DSC Log Resource --- # DSC Log Resource -_Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0_ +> _Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0_ The __Log__ resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to write messages to the Microsoft-Windows-Desired State Configuration/Analytic event log. @@ -20,7 +20,7 @@ Log [string] #ResourceName ``` > [!NOTE] -> By default only the Operational logs for DSC are enabled. Before the Analytic log will be available or visible, it must be enabled. For more information, see [Where are DSC Event Logs?](troubleshooting.md#where-are-dsc-event-logs). +> By default only the Operational logs for DSC are enabled. Before the Analytic log will be available or visible, it must be enabled. For more information, see [Where are DSC Event Logs?](../../../troubleshooting/troubleshooting.md#where-are-dsc-event-logs). ## Properties @@ -49,4 +49,4 @@ Configuration logResourceTest } } } -``` \ No newline at end of file +``` diff --git a/dsc/packageResource.md b/dsc/reference/resources/windows/packageResource.md similarity index 100% rename from dsc/packageResource.md rename to dsc/reference/resources/windows/packageResource.md diff --git a/dsc/processSetResource.md b/dsc/reference/resources/windows/processSetResource.md similarity index 96% rename from dsc/processSetResource.md rename to dsc/reference/resources/windows/processSetResource.md index 3a3ef0a2ac0d..838abbd6c338 100644 --- a/dsc/processSetResource.md +++ b/dsc/reference/resources/windows/processSetResource.md @@ -8,7 +8,7 @@ title: DSC ProcessSet Resource _Applies To: Windows PowerShell 5.0_ The **ProcessSet** resource in Windows PowerShell Desired State Configuration (DSC) provides a -mechanism to configure processes on a target node. This resource is a [composite resource](authoringResourceComposite.md) +mechanism to configure processes on a target node. This resource is a [composite resource](../../../resources/authoringResourceComposite.md) that calls the [WindowsProcess resource](windowsProcessResource.md) for each group specified in the `GroupName` parameter. @@ -41,4 +41,4 @@ WindowsProcess [string] #ResourceName | StandardInputPath| The stream from which the process receives standard input.| | StandardOutputPath| The path of the file to which the processes write standard output. Any existing file there will be overwritten.| | WorkingDirectory| The location used as the current working directory for the processes.| -| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is **ResourceName** and its type is **_ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"` .| \ No newline at end of file +| DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is **ResourceName** and its type is **_ResourceType**, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"` .| diff --git a/dsc/registryResource.md b/dsc/reference/resources/windows/registryResource.md similarity index 97% rename from dsc/registryResource.md rename to dsc/reference/resources/windows/registryResource.md index d9697bfdfca0..8e28cc9c3b30 100644 --- a/dsc/registryResource.md +++ b/dsc/reference/resources/windows/registryResource.md @@ -60,4 +60,4 @@ Configuration RegistryTest > Changing a registry setting in the `HKEY\CURRENT\USER` hive requires that the configuration runs > with user credentials, rather than as the system. You can use the **PsDscRunAsCredential** > property to specify user credentials for the configuration. For an example, see -> [Running DSC with user credentials](runAsUser.md). \ No newline at end of file +> [Running DSC with user credentials](../../../configurations/runAsUser.md). diff --git a/dsc/scriptResource.md b/dsc/reference/resources/windows/scriptResource.md similarity index 94% rename from dsc/scriptResource.md rename to dsc/reference/resources/windows/scriptResource.md index 22c14474a092..89556190c203 100644 --- a/dsc/scriptResource.md +++ b/dsc/reference/resources/windows/scriptResource.md @@ -51,7 +51,7 @@ The [Test-DscConfiguration](/powershell/module/PSDesiredStateConfiguration/Test- ### SetScript -The `SetScript` modifies the node to enfore the desired state. It is called by DSC if the `TestScript` script block returns `$false`. The `SetScript` should have no return value. +The `SetScript` modifies the node to enforce the desired state. It is called by DSC if the `TestScript` script block returns `$false`. The `SetScript` should have no return value. ## Examples @@ -62,7 +62,7 @@ This example tests for the existence of `C:\TempFolder\TestFile.txt` on each nod ```powershell Configuration ScriptTest { - Import-DscResource –ModuleName 'PSDesiredStateConfiguration' + Import-DscResource -ModuleName 'PSDesiredStateConfiguration' Node localhost { @@ -89,7 +89,7 @@ $version = Get-Content 'version.txt' Configuration ScriptTest { - Import-DscResource –ModuleName 'PSDesiredStateConfiguration' + Import-DscResource -ModuleName 'PSDesiredStateConfiguration' Node localhost { @@ -117,4 +117,4 @@ Configuration ScriptTest } } } -``` \ No newline at end of file +``` diff --git a/dsc/serviceResource.md b/dsc/reference/resources/windows/serviceResource.md similarity index 100% rename from dsc/serviceResource.md rename to dsc/reference/resources/windows/serviceResource.md diff --git a/dsc/serviceSetResource.md b/dsc/reference/resources/windows/serviceSetResource.md similarity index 93% rename from dsc/serviceSetResource.md rename to dsc/reference/resources/windows/serviceSetResource.md index ea7283234631..acaa432cc242 100644 --- a/dsc/serviceSetResource.md +++ b/dsc/reference/resources/windows/serviceSetResource.md @@ -8,9 +8,8 @@ title: DSC ServiceSet Resource > Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - The **ServiceSet** resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to manage services on the target node. This resource is a -[composite resource](authoringResourceComposite.md) that calls the [Service resource](serviceResource.md) for each service specified in the `Name` property. +[composite resource](../../../resources/authoringResourceComposite.md) that calls the [Service resource](serviceResource.md) for each service specified in the `Name` property. Use this resource when you want to configure a number of services to the same state. @@ -63,4 +62,4 @@ configuration ServiceSetTest } } } -``` \ No newline at end of file +``` diff --git a/dsc/userResource.md b/dsc/reference/resources/windows/userResource.md similarity index 100% rename from dsc/userResource.md rename to dsc/reference/resources/windows/userResource.md diff --git a/dsc/waitForAllResource.md b/dsc/reference/resources/windows/waitForAllResource.md similarity index 82% rename from dsc/waitForAllResource.md rename to dsc/reference/resources/windows/waitForAllResource.md index 631ebb233d48..8968042a7b06 100644 --- a/dsc/waitForAllResource.md +++ b/dsc/reference/resources/windows/waitForAllResource.md @@ -8,11 +8,10 @@ title: DSC WaitForAll Resource > Applies To: Windows PowerShell 5.0 and later -The **WaitForAll** Desired State Configuration (DSC) resource can be used within a node block in a [DSC configuration](configurations.md) +The **WaitForAll** Desired State Configuration (DSC) resource can be used within a node block in a [DSC configuration](../../../configurations/configurations.md) to specify dependencies on configurations on other nodes. -This resource succeeds if if the resource specified by the **ResourceName** property is in the desired state on all target nodes defined in the **NodeName** property. - +This resource succeeds if the resource specified by the **ResourceName** property is in the desired state on all target nodes defined in the **NodeName** property. ## Syntax @@ -39,7 +38,6 @@ WaitForAll [string] #ResourceName | ThrottleLimit| Number of machines to connect simultaneously. Default is new-cimsession default.| | DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is __ResourceName__ and its type is __ResourceType__, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - ## Example -For an example of how to use this resource, see [Specifying cross-node dependencies](crossNodeDependencies.md) \ No newline at end of file +For an example of how to use this resource, see [Specifying cross-node dependencies](../../../configurations/crossNodeDependencies.md) diff --git a/dsc/waitForAnyResource.md b/dsc/reference/resources/windows/waitForAnyResource.md similarity index 78% rename from dsc/waitForAnyResource.md rename to dsc/reference/resources/windows/waitForAnyResource.md index 0f066b70db65..ce42f3860204 100644 --- a/dsc/waitForAnyResource.md +++ b/dsc/reference/resources/windows/waitForAnyResource.md @@ -8,10 +8,10 @@ title: DSC WaitForAny Resource > Applies To: Windows PowerShell 5.1 and later -The **WaitForSome** Desired State Configuration (DSC) resource can be used within a node block in a [DSC configuration](configurations.md) +The **WaitForAny** Desired State Configuration (DSC) resource can be used within a node block in a [DSC configuration](../../../configurations/configurations.md) to specify dependencies on configurations on other nodes. -This resource succeeds if if the resource specified by the **ResourceName** property is in the desired state on any target nodes defined in the **NodeName** property. +This resource succeeds if the resource specified by the **ResourceName** property is in the desired state on any target nodes defined in the **NodeName** property. ## Syntax @@ -39,7 +39,6 @@ WaitForAny [string] #ResourceName | ThrottleLimit| Number of machines to connect simultaneously. Default is new-cimsession default.| | DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is __ResourceName__ and its type is __ResourceType__, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| - ## Example -For an example of how to use this resource, see [Specifying cross-node dependencies](crossNodeDependencies.md) \ No newline at end of file +For an example of how to use this resource, see [Specifying cross-node dependencies](../../../configurations/crossNodeDependencies.md) diff --git a/dsc/waitForSomeResource.md b/dsc/reference/resources/windows/waitForSomeResource.md similarity index 89% rename from dsc/waitForSomeResource.md rename to dsc/reference/resources/windows/waitForSomeResource.md index fe570cf14645..d097f3c1ff5a 100644 --- a/dsc/waitForSomeResource.md +++ b/dsc/reference/resources/windows/waitForSomeResource.md @@ -8,7 +8,7 @@ title: DSC WaitForSome Resource > Applies To: Windows PowerShell 5.0 and later -The **WaitForAny** Desired State Configuration (DSC) resource can be used within a node block in a [DSC configuration](configurations.md) +The **WaitForSome** Desired State Configuration (DSC) resource can be used within a node block in a [DSC configuration](../../../configurations/configurations.md) to specify dependencies on configurations on other nodes. This resource succeeds if the resource specified by the **ResourceName** property is in the desired state on a minimum number of nodes @@ -44,7 +44,6 @@ WaitForSome [String] #ResourceName | DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is __ResourceName__ and its type is __ResourceType__, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| | PsDscRunAsCredential | See [Using DSC with User Credentials](https://docs.microsoft.com/powershell/dsc/runasuser) | - ## Example -For an example of how to use this resource, see [Specifying cross-node dependencies](crossNodeDependencies.md) \ No newline at end of file +For an example of how to use this resource, see [Specifying cross-node dependencies](../../../configurations/crossNodeDependencies.md) diff --git a/dsc/windowsFeatureSetResource.md b/dsc/reference/resources/windows/windowsFeatureSetResource.md similarity index 92% rename from dsc/windowsFeatureSetResource.md rename to dsc/reference/resources/windows/windowsFeatureSetResource.md index f524536e0232..cc80e61aacd1 100644 --- a/dsc/windowsFeatureSetResource.md +++ b/dsc/reference/resources/windows/windowsFeatureSetResource.md @@ -9,7 +9,7 @@ title: DSC WindowsFeatureSet Resource > Applies To: Windows PowerShell 5.0 The **WindowsFeatureSet** resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to ensure that roles and features are added or removed on a target node. -This resource is a [composite resource](authoringResourceComposite.md) that calls the [WindowsFeature resource](windowsfeatureResource.md) for each feature specified in the `Name` property. +This resource is a [composite resource](../../../resources/authoringResourceComposite.md) that calls the [WindowsFeature resource](windowsfeatureResource.md) for each feature specified in the `Name` property. Use this resource when you want to configure a number of Windows Features to the same state. @@ -60,4 +60,4 @@ configuration FeatureSetTest } } } -``` \ No newline at end of file +``` diff --git a/dsc/windowsOptionalFeatureResource.md b/dsc/reference/resources/windows/windowsOptionalFeatureResource.md similarity index 100% rename from dsc/windowsOptionalFeatureResource.md rename to dsc/reference/resources/windows/windowsOptionalFeatureResource.md diff --git a/dsc/windowsOptionalFeatureSetResource.md b/dsc/reference/resources/windows/windowsOptionalFeatureSetResource.md similarity index 91% rename from dsc/windowsOptionalFeatureSetResource.md rename to dsc/reference/resources/windows/windowsOptionalFeatureSetResource.md index ba6527aed167..0251946f1ec5 100644 --- a/dsc/windowsOptionalFeatureSetResource.md +++ b/dsc/reference/resources/windows/windowsOptionalFeatureSetResource.md @@ -9,7 +9,7 @@ title: DSC WindowsOptionalFeatureSet Resource > Applies To: Windows PowerShell 5.0 The **WindowsOptionalFeatureSet** resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to ensure that optional features are enabled on a target node. -This resource is a [composite resource](authoringResourceComposite.md) that calls the [WindowsOptionalFeature resource](windowsOptionalFeatureResource.md) for each feature specified in +This resource is a [composite resource](../../../resources/authoringResourceComposite.md) that calls the [WindowsOptionalFeature resource](windowsOptionalFeatureResource.md) for each feature specified in the `Name` property. Use this resource when you want to configure a number of Windows optional features to the same state. @@ -42,4 +42,4 @@ WindowsOptionalFeature [string] #ResourceName | RemoveFilesOnDisable| Set to **$true** to remove all files associated with the features when they are disabled (that is, when **Ensure** is set to "Absent").| | LogLevel| The maximum output level shown in the logs. The accepted values are: "ErrorsOnly" (only errors are logged), "ErrorsAndWarning" (errors and warnings are logged), and "ErrorsAndWarningAndInformation" (errors, warnings, and debug information are logged).| | LogPath| The path to a log file where you want the resource provider to log the operation.| -| DependsOn| Specifies that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is __ResourceName__ and its type is __ResourceType__, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| \ No newline at end of file +| DependsOn| Specifies that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is __ResourceName__ and its type is __ResourceType__, the syntax for using this property is `DependsOn = "[ResourceType]ResourceName"`.| diff --git a/dsc/windowsPackageCabResource.md b/dsc/reference/resources/windows/windowsPackageCabResource.md similarity index 100% rename from dsc/windowsPackageCabResource.md rename to dsc/reference/resources/windows/windowsPackageCabResource.md diff --git a/dsc/windowsProcessResource.md b/dsc/reference/resources/windows/windowsProcessResource.md similarity index 100% rename from dsc/windowsProcessResource.md rename to dsc/reference/resources/windows/windowsProcessResource.md diff --git a/dsc/windowsfeatureResource.md b/dsc/reference/resources/windows/windowsfeatureResource.md similarity index 100% rename from dsc/windowsfeatureResource.md rename to dsc/reference/resources/windows/windowsfeatureResource.md diff --git a/dsc/resources.md b/dsc/resources.md deleted file mode 100644 index 1e60e81644e1..000000000000 --- a/dsc/resources.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: DSC Resources ---- - -# DSC Resources - ->Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 - -Desired State Configuration (DSC) Resources provide the building blocks for a DSC configuration. A resource exposes properties that can be configured (schema) and contains the PowerShell script functions that the Local Configuration Manager (LCM) calls to "make it so". - -A resource can model something as generic as a file or as specific as an IIS server setting. Groups of like resources are combined in to a DSC Module, which organizes all the required files in to a structure that is portable and includes metadata to identify how the resources are intended to be used. - -The following topics describe DSC resources: - -- [Built-In DSC resources](builtInResource.md) -- [Build custom DSC resources](authoringResource.md) -- [Built-In DSC resources for Linux](lnxBuiltInResources.md) \ No newline at end of file diff --git a/dsc/authoringResource.md b/dsc/resources/authoringResource.md similarity index 77% rename from dsc/authoringResource.md rename to dsc/resources/authoringResource.md index 4abd1980b772..bf36ef04d7e3 100644 --- a/dsc/authoringResource.md +++ b/dsc/resources/authoringResource.md @@ -8,7 +8,7 @@ title: Build Custom Windows PowerShell Desired State Configuration Resources > Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 -Windows PowerShell Desired State Configuration (DSC) has built-in resources that you can use to configure your environment. (For more information, see [Built-In Windows PowerShell Desired State Configuration Resources](builtInResource.md).) This topic provides an overview of developing resources and links to topics with specific information and examples. +Windows PowerShell Desired State Configuration (DSC) has built-in resources that you can use to configure your environment. This topic provides an overview of developing resources and links to topics with specific information and examples. ## DSC resource components @@ -18,4 +18,4 @@ A DSC resource is a Windows PowerShell module. The module contains both the sche * [Implementing a DSC resource in C#](authoringResourceMofCS.md) * [Writing a custom DSC resource with PowerShell classes](authoringResourceClass.md) * [Composite resources: Using a DSC configuration as a resource](authoringResourceComposite.md) -* [Using the Resource Designer tool](authoringResourceMofDesigner.md) \ No newline at end of file +* [Using the Resource Designer tool](../authoringResourceMofDesigner.md) diff --git a/dsc/authoringResourceClass.md b/dsc/resources/authoringResourceClass.md similarity index 89% rename from dsc/authoringResourceClass.md rename to dsc/resources/authoringResourceClass.md index 66a921278ea4..d16a8ce74515 100644 --- a/dsc/authoringResourceClass.md +++ b/dsc/resources/authoringResourceClass.md @@ -6,7 +6,7 @@ title: Writing a custom DSC resource with PowerShell classes # Writing a custom DSC resource with PowerShell classes -> Applies To: Windows Windows PowerShell 5.0 +> Applies To: Windows PowerShell 5.0 With the introduction of PowerShell classes in Windows PowerShell 5.0, you can now define a DSC resource by creating a class. The class defines both the schema and the implementation of the resource, so there is no need to create a separate MOF file. The folder structure for a class-based resource is also simpler, because a **DSCResources** folder is not necessary. @@ -25,8 +25,8 @@ To implement a DSC custom resource with a PowerShell class, create the following ``` $env:ProgramFiles\WindowsPowerShell\Modules (folder) |- MyDscResource (folder) - |- MyDscResource.psm1 - MyDscResource.psd1 + MyDscResource.psm1 + MyDscResource.psd1 ``` ## Create the class @@ -64,7 +64,7 @@ Notice that the properties are modified by attributes. The meaning of the attrib - **DscProperty(NotConfigurable)**: The property is read-only. Properties marked with this attribute cannot be set by a configuration, but are populated by the **Get()** method when present. - **DscProperty()**: The property is configurable, but it is not required. -The **$Path** and **$SourcePath** properties are both strings. The **$CreationTime** is a [DateTime](https://technet.microsoft.com/library/system.datetime.aspx) property. The **$Ensure** property is an enumeration type, defined as follows. +The **$Path** and **$SourcePath** properties are both strings. The **$CreationTime** is a [DateTime](/dotnet/api/system.datetime) property. The **$Ensure** property is an enumeration type, defined as follows. ```powershell enum Ensure @@ -81,7 +81,6 @@ The **Get()**, **Set()**, and **Test()** methods are analogous to the **Get-Targ This code also includes the CopyFile() function, a helper function that copies the file from **$SourcePath** to **$Path**. ```powershell - <# This method is equivalent of the Set-TargetResource script function. It sets the resource to the desired state. @@ -212,6 +211,7 @@ This code also includes the CopyFile() function, a helper function that copies t ``` ### The complete file + The complete class file follows. ```powershell @@ -409,7 +409,6 @@ class FileResource } # This module defines a class for a DSC "FileResource" provider. ``` - ## Create a manifest To make a class-based resource available to the DSC engine, you must include a **DscResourcesToExport** statement in the manifest file that instructs the module to export the resource. Our manifest looks like this: @@ -450,7 +449,7 @@ PowerShellVersion = '5.0' ## Test the resource -After saving the class and manifest files in the folder structure as described earlier, you can create a configuration that uses the new resource. For information about how to run a DSC configuration, see [Enacting configurations](enactingConfigurations.md). The following configuration will check to see whether the file at `c:\test\test.txt` exists, and, if not, copies the file from `c:\test.txt` (you should create `c:\test.txt` before you run the configuration). +After saving the class and manifest files in the folder structure as described earlier, you can create a configuration that uses the new resource. For information about how to run a DSC configuration, see [Enacting configurations](../pull-server/enactingConfigurations.md). The following configuration will check to see whether the file at `c:\test\test.txt` exists, and, if not, copies the file from `c:\test.txt` (you should create `c:\test.txt` before you run the configuration). ```powershell Configuration Test @@ -471,9 +470,9 @@ Start-DscConfiguration -Wait -Force Test >**Note:** **PsDscRunAsCredential** is supported in PowerShell 5.0 and later. -The **PsDscRunAsCredential** property can be used in [DSC configurations](configurations.md) resource block to specify that the +The **PsDscRunAsCredential** property can be used in [DSC configurations](../configurations/configurations.md) resource block to specify that the resource should be run under a specified set of credentials. -For more information, see [Running DSC with user credentials](runAsUser.md). +For more information, see [Running DSC with user credentials](../configurations/runAsUser.md). ### Require or disallow PsDscRunAsCredential for your resource @@ -493,6 +492,36 @@ class FileResource { } ``` +### Declaring multiple class resources in a module + +A module can define multiple class based DSC resources. You can create the folder structure in the following ways: + +1. Define the first resource in the ".psm1" file and subsequent resources under the **DSCResources** folder. + + ``` + $env:ProgramFiles\WindowsPowerShell\Modules (folder) + |- MyDscResource (folder) + |- MyDscResource.psm1 + MyDscResource.psd1 + |- DSCResources + |- SecondResource.psm1 + ``` + +2. Define all resources under the **DSCResources** folder. + + ``` + $env:ProgramFiles\WindowsPowerShell\Modules (folder) + |- MyDscResource (folder) + |- MyDscResource.psm1 + MyDscResource.psd1 + |- DSCResources + |- FirstResource.psm1 + SecondResource.psm1 + ``` + +> [!NOTE] +> In the examples above, add any PSM1 files under the **DSCResources** to the **NestedModules** key in your PSD1 file. + ### Access the user context To access the user context from within a custom resource, you can use the automatic variable `$global:PsDscContext`. @@ -506,5 +535,5 @@ if (PsDscContext.RunAsUser) { ``` ## See Also -### Concepts -[Build Custom Windows PowerShell Desired State Configuration Resources](authoringResource.md) \ No newline at end of file + +[Build Custom Windows PowerShell Desired State Configuration Resources](authoringResource.md) diff --git a/dsc/authoringResourceComposite.md b/dsc/resources/authoringResourceComposite.md similarity index 97% rename from dsc/authoringResourceComposite.md rename to dsc/resources/authoringResourceComposite.md index 5ee47ab619e5..14f342088634 100644 --- a/dsc/authoringResourceComposite.md +++ b/dsc/resources/authoringResourceComposite.md @@ -187,9 +187,9 @@ configuration RenameVM >**Note:** **PsDscRunAsCredential** is supported in PowerShell 5.0 and later. -The **PsDscRunAsCredential** property can be used in [DSC configurations](configurations.md) resource block to specify that the +The **PsDscRunAsCredential** property can be used in [DSC configurations](../configurations/configurations.md) resource block to specify that the resource should be run under a specified set of credentials. -For more information, see [Running DSC with user credentials](runAsUser.md). +For more information, see [Running DSC with user credentials](../configurations/runAsUser.md). To access the user context from within a custom resource, you can use the automatic variable `$PsDscContext`. @@ -204,4 +204,4 @@ if ($PsDscContext.RunAsUser) { ## See Also ### Concepts * [Writing a custom DSC resource with MOF](authoringResourceMOF.md) -* [Get Started with Windows PowerShell Desired State Configuration](overview.md) \ No newline at end of file +* [Get Started with Windows PowerShell Desired State Configuration](../overview/overview.md) \ No newline at end of file diff --git a/dsc/authoringResourceMOF.md b/dsc/resources/authoringResourceMOF.md similarity index 88% rename from dsc/authoringResourceMOF.md rename to dsc/resources/authoringResourceMOF.md index 58d00fb6a0a7..63348ec3ba2f 100644 --- a/dsc/authoringResourceMOF.md +++ b/dsc/resources/authoringResourceMOF.md @@ -56,7 +56,7 @@ Note the following about the previous code: * The type qualifier, `[Key]`, on a property indicates that this property will uniquely identify the resource instance. At least one `[Key]` property is required. * The `[Required]` qualifier indicates that the property is required (a value must be specified in any configuration script that uses this resource). * The `[write]` qualifier indicates that this property is optional when using the custom resource in a configuration script. The `[read]` qualifier indicates that a property cannot be set by a configuration, and is for reporting purposes only. -* `Values` restricts the values that can be assigned to the property to the list of values defined in `ValueMap`. For more information, see [ValueMap and Value Qualifiers](https://msdn.microsoft.com/library/windows/desktop/aa393965.aspx). +* `Values` restricts the values that can be assigned to the property to the list of values defined in `ValueMap`. For more information, see [ValueMap and Value Qualifiers](/windows/desktop/WmiSdk/value-map). * Including a property called `Ensure` with values `Present` and `Absent` in your resource is recommended as a way to maintain a consistent style with built-in DSC resources. * Name the schema file for your custom resource as follows: `classname.schema.mof`, where `classname` is the identifier that follows the `class` keyword in your schema definition. @@ -64,7 +64,8 @@ Note the following about the previous code: The resource script implements the logic of the resource. In this module, you must include three functions called **Get-TargetResource**, **Set-TargetResource**, and **Test-TargetResource**. All three functions must take a parameter set that is identical to the set of properties defined in the MOF schema that you created for your resource. In this document, this set of properties is referred to as the “resource properties.†Store these three functions in a file called .psm1. In the following example, the functions are stored in a file called Demo_IISWebsite.psm1. -> **Note**: When you run the same configuration script on your resource more than once, you should receive no errors and the resource should remain in the same state as running the script once. To accomplish this, ensure that your **Get-TargetResource** and **Test-TargetResource** functions leave the resource unchanged, and that invoking the **Set-TargetResource** function more than once in a sequence with the same parameter values is always equivalent to invoking it once. +> [!NOTE] +> When you run the same configuration script on your resource more than once, you should receive no errors and the resource should remain in the same state as running the script once. To accomplish this, ensure that your **Get-TargetResource** and **Test-TargetResource** functions leave the resource unchanged, and that invoking the **Set-TargetResource** function more than once in a sequence with the same parameter values is always equivalent to invoking it once. In the **Get-TargetResource** function implementation, use the key resource property values that are provided as parameters to check the status of the specified resource instance. This function must return a hash table that lists all the resource properties as keys and the actual values of these properties as the corresponding values. The following code provides an example. @@ -274,9 +275,9 @@ FunctionsToExport = @("Get-TargetResource", "Set-TargetResource", "Test-TargetRe >**Note:** **PsDscRunAsCredential** is supported in PowerShell 5.0 and later. -The **PsDscRunAsCredential** property can be used in [DSC configurations](configurations.md) resource block to specify that the +The **PsDscRunAsCredential** property can be used in [DSC configurations](../configurations/configurations.md) resource block to specify that the resource should be run under a specified set of credentials. -For more information, see [Running DSC with user credentials](runAsUser.md). +For more information, see [Running DSC with user credentials](../configurations/runAsUser.md). To access the user context from within a custom resource, you can use the automatic variable `$PsDscContext`. @@ -286,4 +287,17 @@ For example the following code would write the user context under which the reso if (PsDscContext.RunAsUser) { Write-Verbose "User: $PsDscContext.RunAsUser"; } -``` \ No newline at end of file +``` + +## Rebooting the Node + +If the actions taken in your `Set-TargetResource` function require a reboot, you can use a global flag to tell the LCM to reboot the Node. This reboot occurs directly after the `Set-TargetResource` function completes. + +Inside your `Set-TargetResource` function, add the following line of code. + +```powershell +# Include this line if the resource requires a system reboot. +$global:DSCMachineStatus = 1 +``` + +In order for the LCM to reboot the Node, the **RebootNodeIfNeeded** flag needs to be set to `$true`. The **ActionAfterReboot** setting should also be set to **ContinueConfiguration**, which is the default. For more information on configuring the LCM, see [Configuring the Local Configuration Manager](../managing-nodes/metaConfig.md), or [Configuring the Local Configuration Manager (v4)](../managing-nodes/metaConfig4.md). diff --git a/dsc/authoringResourceMofCS.md b/dsc/resources/authoringResourceMofCS.md similarity index 97% rename from dsc/authoringResourceMofCS.md rename to dsc/resources/authoringResourceMofCS.md index 26a5978f17f1..6dbfa0369613 100644 --- a/dsc/authoringResourceMofCS.md +++ b/dsc/resources/authoringResourceMofCS.md @@ -4,11 +4,11 @@ keywords: dsc,powershell,configuration,setup title: Authoring a DSC resource in C# --- -# Authoring a DSC resource in C# +# Authoring a DSC resource in C\# > Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 -Typically, a Windows PowerShell Desired State Configuration (DSC) custom resource is implemented in a PowerShell script. However, you can also implement the functionality of a DSC custom resource by writing cmdlets in C#. For an introduction on writing cmdlets in C#, see [Writing a Windows PowerShell Cmdlet](https://technet.microsoft.com/library/dd878294.aspx). +Typically, a Windows PowerShell Desired State Configuration (DSC) custom resource is implemented in a PowerShell script. However, you can also implement the functionality of a DSC custom resource by writing cmdlets in C#. For an introduction on writing cmdlets in C#, see [Writing a Windows PowerShell Cmdlet](/powershell/developer/windows-powershell). Aside from implementing the resource in C# as cmdlets, the process of creating the MOF schema, creating the folder structure, importing and using your custom DSC resource are the same as described in [Writing a custom DSC resource with MOF](authoringResourceMOF.md). @@ -276,4 +276,4 @@ $env: psmodulepath (folder) #### Concepts [Writing a custom DSC resource with MOF](authoringResourceMOF.md) #### Other Resources -[Writing a Windows PowerShell Cmdlet](https://msdn.microsoft.com/library/dd878294.aspx) \ No newline at end of file +[Writing a Windows PowerShell Cmdlet](/powershell/developer/windows-powershell) \ No newline at end of file diff --git a/dsc/authoringResourceMofDesigner.md b/dsc/resources/authoringResourceMofDesigner.md similarity index 96% rename from dsc/authoringResourceMofDesigner.md rename to dsc/resources/authoringResourceMofDesigner.md index c1681b120941..68fb871cfb31 100644 --- a/dsc/authoringResourceMofDesigner.md +++ b/dsc/resources/authoringResourceMofDesigner.md @@ -10,7 +10,7 @@ title: Using the Resource Designer tool The Resource Designer tool is a set of cmdlets exposed by the **xDscResourceDesigner** module that make creating Windows PowerShell Desired State Configuration (DSC) resources easier. The cmdlets in this resource help create the MOF schema, the script module, and the directory structure for your new resource. For more information about DSC resources, see [Build Custom Windows PowerShell Desired State Configuration Resources](authoringResource.md). In this topic, we will create a DSC resource that manages Active Directory users. -Use the [Install-Module](https://technet.microsoft.com/library/dn807162.aspx) cmdlet to install the **xDscResourceDesigner** module. +Use the [Install-Module](/powershell/module/PowershellGet/Install-Module) cmdlet to install the **xDscResourceDesigner** module. >**Note**: **Install-Module** is included in the **PowerShellGet** module, which is included in PowerShell 5.0. You can download the **PowerShellGet** module for PowerShell 3.0 and 4.0 at [PackageManagement PowerShell Modules Preview](https://www.microsoft.com/en-us/download/details.aspx?id=49186). @@ -176,4 +176,4 @@ The Resource Designer tool exposes one more cmdlet that can be used to test the [Build Custom Windows PowerShell Desired State Configuration Resources](authoringResource.md) #### Other Resources -[xDscResourceDesigner Module](https://powershellgallery.com/packages/xDscResourceDesigner) \ No newline at end of file +[xDscResourceDesigner Module](https://www.powershellgallery.com/packages/xDscResourceDesigner/1.12.0.0) diff --git a/dsc/resources/get-test-set.md b/dsc/resources/get-test-set.md new file mode 100644 index 000000000000..b08f941448b3 --- /dev/null +++ b/dsc/resources/get-test-set.md @@ -0,0 +1,237 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: Get-Test-Set +--- + +# Get-Test-Set + +>Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +![Get, Test, and Set](/media/get-test-set.png) + +PowerShell Desired State Configuration is constructed around a **Get**, **Test**, and **Set** process. DSC [resources](resources.md) each contains methods to complete each of these operations. In a [Configuration](../configurations/configurations.md), you define resource blocks to fill in keys that become parameters for a resource's **Get**, **Test**, and **Set** methods. + +This is the syntax for a **Service** resource block. The **Service** resource configures Windows services. + +```syntax +Service [String] #ResourceName +{ + Name = [string] + [BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }] + [Credential = [PSCredential]] + [Dependencies = [string[]]] + [DependsOn = [string[]]] + [Description = [string]] + [DisplayName = [string]] + [Ensure = [string]{ Absent | Present }] + [Path = [string]] + [PsDscRunAsCredential = [PSCredential]] + [StartupType = [string]{ Automatic | Disabled | Manual }] + [State = [string]{ Running | Stopped }] +} +``` + +The **Get**, **Test**, and **Set** methods of the **Service** resource will have parameter blocks that accept these values. + +```powershell + param + ( + [parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [System.String] + $Name, + + [System.String] + [ValidateSet("Automatic", "Manual", "Disabled")] + $StartupType, + + [System.String] + [ValidateSet("LocalSystem", "LocalService", "NetworkService")] + $BuiltInAccount, + + [System.Management.Automation.PSCredential] + [ValidateNotNull()] + $Credential, + + [System.String] + [ValidateSet("Running", "Stopped")] + $State="Running", + + [System.String] + [ValidateNotNullOrEmpty()] + $DisplayName, + + [System.String] + [ValidateNotNullOrEmpty()] + $Description, + + [System.String] + [ValidateNotNullOrEmpty()] + $Path, + + [System.String[]] + [ValidateNotNullOrEmpty()] + $Dependencies, + + [System.String] + [ValidateSet("Present", "Absent")] + $Ensure="Present" + ) +``` + +> [!NOTE] +> The language and method used to define the resource determines how the **Get**, **Test**, and **Set** methods will be defined. + +Because the **Service** resource only has one required key (`Name`), a **Service** block resource could be as simple as this: + +```powershell +Configuration TestConfig +{ + Import-DSCResource -Name Service + Node localhost + { + Service "MyService" + { + Name = "Spooler" + } + } +} +``` + +When you compile the Configuration above, the values you specify for a key are stored in the ".mof" file that is generated. For more information, see [MOF](/windows/desktop/wmisdk/managed-object-format--mof-). + +``` +instance of MSFT_ServiceResource as $MSFT_ServiceResource1ref +{ +SourceInfo = "::5::1::Service"; + ModuleName = "PsDesiredStateConfiguration"; + ResourceID = "[Service]MyService"; + Name = "Spooler"; + +ModuleVersion = "1.0"; + + ConfigurationName = "Test"; + +}; +``` + +When applied, the [Local Configuration Manager](../managing-nodes/metaConfig.md) (LCM) will read the value "Spooler" from the ".mof" file, and pass it to the `-Name` parameter of the **Get**, **Test**, and **Set** methods for the "MyService" instance of the **Service** resource. + +## Get + +The **Get** method of a resource, retrieves the state of the resource as it is configured on the target Node. This state is returned as a [hashtable](/powershell/module/microsoft.powershell.core/about/about_hash_tables). The keys of the **hashtable** will be the configurable values, or parameters, the resource accepts. + +The **Get** method maps directly to the [Get-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/get-dscconfiguration) cmdlet. When you call `Get-DSCConfiguration`, the LCM runs the **Get** method of each resource in the currently applied configuration. The LCM uses the key values stored in the ".mof" file as parameters to each corresponding resource instance. + +This is sample output from a **Service** resource that configures the "Spooler" service. + +```output +ConfigurationName : Test +DependsOn : +ModuleName : PsDesiredStateConfiguration +ModuleVersion : 1.1 +PsDscRunAsCredential : +ResourceId : [Service]Spooler +SourceInfo : +BuiltInAccount : LocalSystem +Credential : +Dependencies : {RPCSS, http} +Description : This service spools print jobs and handles interaction with the printer. If you turn off + this service, you won’t be able to print or see your printers. +DisplayName : Print Spooler +Ensure : +Name : Spooler +Path : C:\WINDOWS\System32\spoolsv.exe +StartupType : Automatic +State : Running +Status : +PSComputerName : +CimClassName : MSFT_ServiceResource +``` + +The output shows the current value properties configurable by the **Service** resource. + +```syntax +Service [String] #ResourceName +{ + Name = [string] + [BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }] + [Credential = [PSCredential]] + [Dependencies = [string[]]] + [DependsOn = [string[]]] + [Description = [string]] + [DisplayName = [string]] + [Ensure = [string]{ Absent | Present }] + [Path = [string]] + [PsDscRunAsCredential = [PSCredential]] + [StartupType = [string]{ Automatic | Disabled | Manual }] + [State = [string]{ Running | Stopped }] +} +``` + +## Test + +The **Test** method of a resource determines if the target node is currently compliant with the resource's *desired state*. The **Test** method returns `$True` or `$False` only to indicate whether the Node is compliant. +When you call [Test-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/Test-DSCConfiguration), the LCM calls the **Test** method of each resource in the currently applied configuration. The LCM uses the key values stored in the ".mof" file as parameters to each corresponding resource instance. + +If the result of any individual resource's **Test** is `$False`, `Test-DSCConfiguration` returns `$False` indicating that the Node is not compliant. If all resource's **Test** methods return `$True`, `Test-DSCConfiguration` returns `$True` to indicate that the Node is compliant. + +```powershell +Test-DSCConfiguration +``` + +```output +True +``` + +Beginning in PowerShell 5.0, the `-Detailed` parameter was added. Specifying `-Detailed` causes `Test-DSCConfiguration` to return an object containing collections of results for compliant, and non-compliant resources. + +```powershell +Test-DSCConfiguration -Detailed +``` + +```output +PSComputerName ResourcesInDesiredState ResourcesNotInDesiredState InDesiredState +-------------- ----------------------- -------------------------- -------------- +localhost {[Service]Spooler} True +``` + +For more information, see [Test-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/Test-DSCConfiguration) + +## Set + +The **Set** method of a resource attempts to force the Node to become compliant with the resource's *desired state*. The **Set** method is meant to be **idempotent**, which means that **Set** could be run multiple times and always get the same result without errors. When you run [Start-DSCConfiguration](/powershell/module/psdesiredstateconfiguration/Start-DSCConfiguration), the LCM cycles through each resource in the currently applied configuration. The LCM retrieves key values for the current resource instance from the ".mof" file and uses them as parameters for the **Test** method. If the **Test** method returns `$True`, the Node is compliant with the current resource, and the **Set** method is skipped. If the **Test** returns `$False`, the Node is non-compliant. The LCM passes the resource instance's key values as parameters to the resource's **Set** method, restoring the Node to compliance. + +By specifying the `-Verbose` and `-Wait` parameters, you can watch the progress of the `Start-DSCConfiguration` cmdlet. In this example, the Node is already compliant. The `Verbose` output indicates that the **Set** method was skipped. + +``` +PS> Start-DSCConfiguration -Verbose -Wait -UseExisting + +VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = +ApplyConfiguration,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' = +root/Microsoft/Windows/DesiredStateConfiguration'. +VERBOSE: An LCM method call arrived from computer SERVER01 with user sid +S-1-5-21-124525095-708259637-1543119021-1282804. +VERBOSE: [SERVER01]: [] Starting consistency engine. +VERBOSE: [SERVER01]: [] Checking consistency for current configuration. +VERBOSE: [SERVER01]: [DSCEngine] Importing the module +C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\DscResources\MSFT_ServiceResource\MSFT +_ServiceResource.psm1 in force mode. +VERBOSE: [SERVER01]: LCM: [ Start Resource ] [[Service]Spooler] +VERBOSE: [SERVER01]: LCM: [ Start Test ] [[Service]Spooler] +VERBOSE: [SERVER01]: [[Service]Spooler] Importing the module MSFT_ServiceResource in +force mode. +VERBOSE: [SERVER01]: LCM: [ End Test ] [[Service]Spooler] in 0.2540 seconds. +VERBOSE: [SERVER01]: LCM: [ Skip Set ] [[Service]Spooler] +VERBOSE: [SERVER01]: LCM: [ End Resource ] [[Service]Spooler] +VERBOSE: [SERVER01]: [] Consistency check completed. +VERBOSE: Operation 'Invoke CimMethod' complete. +VERBOSE: Time taken for configuration job to complete is 1.379 seconds +``` + +## See also + +- [Azure Automation DSC Overview](https://docs.microsoft.com/azure/automation/automation-dsc-overview) +- [Setting up an SMB pull server](../pull-server/pullServerSMB.md) +- [Configuring a pull client](../pull-server/pullClientConfigID.md) diff --git a/dsc/resourceAuthoringChecklist.md b/dsc/resources/resourceAuthoringChecklist.md similarity index 97% rename from dsc/resourceAuthoringChecklist.md rename to dsc/resources/resourceAuthoringChecklist.md index 41e79d67ef6e..45e7bd9ccafc 100644 --- a/dsc/resourceAuthoringChecklist.md +++ b/dsc/resources/resourceAuthoringChecklist.md @@ -29,7 +29,7 @@ xPSDesiredStateConfiguration ## Resource and schema are correct -Verify the resource schema (*.schema.mof) file. You can use the [DSC Resource Designer](https://www.powershellgallery.com/packages/xDSCResourceDesigner) to help develop and test your schema. +Verify the resource schema (*.schema.mof) file. You can use the [DSC Resource Designer](https://www.powershellgallery.com/packages/xDSCResourceDesigner/1.12.0.0) to help develop and test your schema. Make sure that: - Property types are correct (e.g. don’t use String for properties which accept numeric values, you should use UInt32 or other numeric types instead) @@ -52,7 +52,7 @@ Make sure that: - Every field has meaningful description. The PowerShell GitHub repository has good examples, such as [the .schema.mof for xRemoteFile](https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/dev/DSCResources/MSFT_xRemoteFile/MSFT_xRemoteFile.schema.mof) -Additionally, you should use **Test-xDscResource** and **Test-xDscSchema** cmdlets from [DSC Resource Designer](https://www.powershellgallery.com/packages/xDSCResourceDesigner) to automatically verify the resource and schema: +Additionally, you should use **Test-xDscResource** and **Test-xDscSchema** cmdlets from [DSC Resource Designer](https://www.powershellgallery.com/packages/xDSCResourceDesigner/1.12.0.0) to automatically verify the resource and schema: ``` Test-xDscResource @@ -81,7 +81,7 @@ If ($error.count –ne 0) { ## Resource is idempotent in the positive case -One of the fundamental characteristics of DSC resources is be idempotence. It means that applying a DSC configuration containing that resource multiple times will always achieve the same result. For example, if we create a configuration which contains the following File resource: +One of the fundamental characteristics of DSC resources is idempotence. It means that applying a DSC configuration containing that resource multiple times will always achieve the same result. For example, if we create a configuration which contains the following File resource: ```powershell File file { @@ -358,4 +358,4 @@ VERBOSE: [X]: LCM: [ End Set ] in 0.1050 seconds. VERBOSE: Operation 'Invoke CimMethod' complete. ``` -This list is not exhaustive, but it covers many important issues which can be encountered while designing, developing and testing DSC resources. \ No newline at end of file +This list is not exhaustive, but it covers many important issues which can be encountered while designing, developing and testing DSC resources. diff --git a/dsc/resources/resources.md b/dsc/resources/resources.md new file mode 100644 index 000000000000..4a34279402c4 --- /dev/null +++ b/dsc/resources/resources.md @@ -0,0 +1,151 @@ +--- +ms.date: 12/12/2018 +keywords: dsc,powershell,configuration,setup +title: DSC Resources +--- + +# DSC Resources + +>Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0 + +Desired State Configuration (DSC) Resources provide the building blocks for a DSC configuration. A resource exposes properties that can be configured (schema) and contains the PowerShell script functions that the Local Configuration Manager (LCM) calls to "make it so". + +A resource can model something as generic as a file or as specific as an IIS server setting. Groups of like resources are combined in to a DSC Module, which organizes all the required files in to a structure that is portable and includes metadata to identify how the resources are intended to be used. + +Each resource has a *schema that determines the syntax needed to use the resource in a [Configuration](../configurations/configurations.md). A resource's schema can be defined in the following ways: + +- **'Schema.Mof'** file: Most resources define their *schema* in a 'schema.mof' file, using [Managed Object Format](/windows/desktop/wmisdk/managed-object-format--mof-). +- **'\.schema.psm1'** file: [Composite Resources](../configurations/compositeConfigs.md) define their *schema* in a '.schema.psm1' file using a [Parameter Block](/powershell/module/microsoft.powershell.core/about/about_functions?view=powershell-6#functions-with-parameters). +- **'\.psm1'** file: Class based DSC resources define their *schema* in the class definition. Syntax items are denoted as Class properties. For more information, see [about_Classes](/powershell/module/psdesiredstateconfiguration/about/about_classes_and_dsc). + +To retrieve the syntax for a DSC resource, use the [Get-DSCResource](/powershell/module/PSDesiredStateConfiguration/Get-DscResource) cmdlet with the `-Syntax` parameter. This usage is similar to using [Get-Command](/powershell/module/microsoft.powershell.core/get-command) with the `-Syntax` parameter to get cmdlet syntax. The output you see will show the template used for a resource block for the resource you specify. + +```powershell +Get-DscResource -Syntax Service +``` + +The output you see should be similar to the output below, though this resource's syntax could change in the future. Like cmdlet syntax, the *keys* seen in square brackets, are optional. The types specify the type of data each key expects. + +> [!NOTE] +> The **Ensure** key is optional because it defaults to "Present". + +```output +Service [String] #ResourceName +{ + Name = [string] + [BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }] + [Credential = [PSCredential]] + [Dependencies = [string[]]] + [DependsOn = [string[]]] + [Description = [string]] + [DisplayName = [string]] + [Ensure = [string]{ Absent | Present }] + [Path = [string]] + [PsDscRunAsCredential = [PSCredential]] + [StartupType = [string]{ Automatic | Disabled | Manual }] + [State = [string]{ Running | Stopped }] +} +``` + +Inside a Configuration, a **Service** resource block might look like this to **Ensure** that the Spooler service is running. + +> [!NOTE] +> Before using a resource in a Configuration, you must import it using [Import-DSCResource](../configurations/import-dscresource.md). + +```powershell +Configuration TestConfig +{ + # It is best practice to always directly import resources, even if the resource is a built-in resource. + Import-DSCResource -Name Service + Node localhost + { + # The name of this resource block, can be anything you choose, as long as it is of type [String] as indicated by the schema. + Service "Spooler:Running" + { + Name = "Spooler" + State = "Running" + } + } +} +``` + +Configurations can contain multiple instances of the same resource type. Each instance must be uniquely named. In the following example, a second **Service** resource block is added to configure the "DHCP" service. + +```powershell +Configuration TestConfig +{ + # It is best practice to always directly import resources, even if the resource is a built-in resource. + Import-DSCResource -Name Service + Node localhost + { + # The name of this resource block, can be anything you choose, as long as it is of type [String] as indicated by the schema. + Service "Spooler:Running" + { + Name = "Spooler" + State = "Running" + } + + # To configure a second service resource block, add another Service resource block and use a unique name. + Service "DHCP:Running" + { + Name = "DHCP" + State = "Running" + } + } +} +``` + +> [!NOTE] +> Beginning in PowerShell 5.0, intellisense was added for DSC. This new feature allows you to use \ and \ to auto-complete key names. + +![Resource Tab Completion](../media/resource-tabcompletion.png) + +## Built-in resources + +In addition to community resources, there are built-in resources for Windows, resources for Linux, and resources for cross-node dependency. You can use the steps above to determine the syntax of these resources and how to use them. The pages that serve these resources have been archived under **Reference**. + +Windows built-in resources + +* [Archive Resource](../reference/resources/windows/archiveResource.md) +* [Environment Resource](../reference/resources/windows/environmentResource.md) +* [File Resource](../reference/resources/windows/fileResource.md) +* [Group Resource](../reference/resources/windows/groupResource.md) +* [GroupSet Resource](../reference/resources/windows/groupSetResource.md) +* [Log Resource](../reference/resources/windows/logResource.md) +* [Package Resource](../reference/resources/windows/packageResource.md) +* [ProcessSet Resource](../reference/resources/windows/ProcessSetResource.md) +* [Registry Resource](../reference/resources/windows/registryResource.md) +* [Script Resource](../reference/resources/windows/scriptResource.md) +* [Service Resource](../reference/resources/windows/serviceResource.md) +* [ServiceSet Resource](../reference/resources/windows/serviceSetResource.md) +* [User Resource](../reference/resources/windows/userResource.md) +* [WindowsFeature Resource](../reference/resources/windows/windowsFeatureResource.md) +* [WindowsFeatureSet Resource](../reference/resources/windows/windowsFeatureSetResource.md) +* [WindowsOptionalFeature Resource](../reference/resources/windows/windowsOptionalFeatureResource.md) +* [WindowsOptionalFeatureSet Resource](../reference/resources/windows/windowsOptionalFeatureSetResource.md) +* [WindowsPackageCabResource Resource](../reference/resources/windows/windowsPackageCabResource.md) +* [WindowsProcess Resource](../reference/resources/windows/windowsProcessResource.md) + +[Cross-Node dependency](../configurations/crossNodeDependencies.md) resources + +* [WaitForAll Resource](../reference/resources/windows/waitForAllResource.md) +* [WaitForSome Resource](../reference/resources/windows/waitForSomeResource.md) +* [WaitForAny Resource](../reference/resources/windows/waitForAnyResource.md) + +Package Management resources + +* [PackageManagement Resource](../reference/resources/packagemanagement/PackageManagementDscResource.md) +* [PackageManagementSource Resource](../reference/resources/packagemanagement/PackageManagementSourceDscResource.md) + +Linux resources + +* [Linux Archive Resource](../reference/resources/linux/lnxArchiveResource.md) +* [Linux Environment Resource](../reference/resources/linux/lnxEnvironmentResource.md) +* [Linux FileLine Resource](../reference/resources/linux/lnxFileLineResource.md) +* [Linux File Resource](../reference/resources/linux/lnxFileResource.md) +* [Linux Group Resource](../reference/resources/linux/lnxGroupResource.md) +* [Linux Package Resource](../reference/resources/linux/lnxPackageResource.md) +* [Linux Script Resource](../reference/resources/linux/lnxScriptResource.md) +* [Linux Service Resource](../reference/resources/linux/lnxServiceResource.md) +* [Linux SshAuthorizedKeys Resource](../reference/resources/linux/lnxSshAuthorizedKeysResource.md) +* [Linux User Resource](../reference/resources/linux/lnxUserResource.md) diff --git a/dsc/singleInstance.md b/dsc/resources/singleInstance.md similarity index 96% rename from dsc/singleInstance.md rename to dsc/resources/singleInstance.md index 6896535c5be0..aee2d0a8d34c 100644 --- a/dsc/singleInstance.md +++ b/dsc/resources/singleInstance.md @@ -1,225 +1,225 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Writing a single-instance DSC resource (best practice) ---- - -# Writing a single-instance DSC resource (best practice) - ->**Note:** This topic describes a best practice for defining a DSC resource that allows only a single instance in a configuration. Currently, there is no built-in DSC feature to do this. That might ->change in the future. - -There are situations where you don't want to allow a resource to be used multiple times in a configuration. For example, in a previous implementation of the -[xTimeZone](https://github.com/PowerShell/xTimeZone) resource, a configuration could call the resource multiple times, setting the time zone to a different setting in each resource block: - -```powershell -Configuration SetTimeZone -{ - Param - ( - [String[]]$NodeName = $env:COMPUTERNAME - - ) - - Import-DSCResource -ModuleName xTimeZone - - - Node $NodeName - { - xTimeZone TimeZoneExample - { - - TimeZone = 'Eastern Standard Time' - } - - xTimeZone TimeZoneExample2 - { - - TimeZone = 'Pacific Standard Time' - - } - - } -} -``` - -This is because of the way DSC resource keys work. A resource must have at least one key property. A resource instance is considered unique if the combination of the values of all of -its key properties is unique. In its previous implementation, the [xTimeZone](https://github.com/PowerShell/xTimeZone) resource had only one property--**TimeZone**, which was required -to be a key. Because of this, a configuration such as the one above would compile and run without warning. Each of the **xTimeZone** resource blocks is considered unique. This would cause the -configuration to be repeatedly applied to the node, cycling the timezone back and forth. - -To ensure that a configuration could set the time zone for a target node only once, the resource was updated to add a second property, **IsSingleInstance**, that became the key property. -The **IsSingleInstance** was limited to a single value, "Yes" by using a **ValueMap**. The old MOF schema for the resource was: - -```powershell -[ClassVersion("1.0.0.0"), FriendlyName("xTimeZone")] -class xTimeZone : OMI_BaseResource -{ - [Key, Description("Specifies the TimeZone.")] String TimeZone; -}; -``` - -The updated MOF schema for the resource is: - -```powershell -[ClassVersion("1.0.0.0"), FriendlyName("xTimeZone")] -class xTimeZone : OMI_BaseResource -{ - [Key, Description("Specifies the resource is a single instance, the value must be 'Yes'"), ValueMap{"Yes"}, Values{"Yes"}] String IsSingleInstance; - [Required, Description("Specifies the TimeZone.")] String TimeZone; -}; -``` - -The resource script was also updated to use the new parameter. Here is the old resource script: - -```powershell -function Get-TargetResource -{ - [CmdletBinding()] - [OutputType([Hashtable])] - param - ( - [parameter(Mandatory = $true)] - [ValidateSet('Yes')] - [String] - $IsSingleInstance, - - [parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [String] - $TimeZone - ) - - #Get the current TimeZone - $CurrentTimeZone = Get-TimeZone - - $returnValue = @{ - TimeZone = $CurrentTimeZone - IsSingleInstance = 'Yes' - } - - #Output the target resource - $returnValue -} - - -function Set-TargetResource -{ - [CmdletBinding(SupportsShouldProcess=$true)] - param - ( - [parameter(Mandatory = $true)] - [ValidateSet('Yes')] - [String] - $IsSingleInstance, - - [parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [String] - $TimeZone - ) - - #Output the result of Get-TargetResource function. - $CurrentTimeZone = Get-TimeZone - - if($PSCmdlet.ShouldProcess("'$TimeZone'","Replace the System Time Zone")) - { - try - { - if($CurrentTimeZone -ne $TimeZone) - { - Write-Verbose -Verbose "Setting the TimeZone" - Set-TimeZone -TimeZone $TimeZone} - else - { - Write-Verbose -Verbose "TimeZone already set to $TimeZone" - } - } - catch - { - $ErrorMsg = $_.Exception.Message - Write-Verbose -Verbose $ErrorMsg - } - } -} - - -function Test-TargetResource -{ - [CmdletBinding()] - [OutputType([Boolean])] - param - ( - [parameter(Mandatory = $true)] - [ValidateSet('Yes')] - [String] - $IsSingleInstance, - - [parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [String] - $TimeZone - ) - - #Output from Get-TargetResource - $CurrentTimeZone = Get-TimeZone - - if($TimeZone -eq $CurrentTimeZone) - { - return $true - } - else - { - return $false - } -} - -Function Get-TimeZone { - [CmdletBinding()] - param() - - & tzutil.exe /g -} - -Function Set-TimeZone { - [CmdletBinding()] - param( - [Parameter(Mandatory=$true)] - [System.String] - $TimeZone - ) - - try - { - & tzutil.exe /s $TimeZone - } - catch - { - $ErrorMsg = $_.Exception.Message - Write-Verbose $ErrorMsg - } -} - -Export-ModuleMember -Function *-TargetResource -``` - -Notice that the **TimeZone** property is no longer a key. Now, if a configuration attempts to set the time zone twice (by using two different **xTimeZone** blocks with different **TimeZone** -values), attempting to compile the configuration will cause an error: - -```powershell -Test-ConflictingResources : A conflict was detected between resources '[xTimeZone]TimeZoneExample (::15::10::xTimeZone)' and -'[xTimeZone]TimeZoneExample2 (::22::10::xTimeZone)' in node 'CONTOSO-CLIENT'. Resources have identical key properties but there are differences in the -following non-key properties: 'TimeZone'. Values 'Eastern Standard Time' don't match values 'Pacific Standard Time'. Please update these property -values so that they are identical in both cases. -At line:271 char:9 -+ Test-ConflictingResources $keywordName $canonicalizedValue $k ... -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - + CategoryInfo : InvalidOperation: (:) [Write-Error], InvalidOperationException - + FullyQualifiedErrorId : ConflictingDuplicateResource,Test-ConflictingResources -Errors occurred while processing configuration 'SetTimeZone'. -At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSDesiredStateConfiguration.psm1:3705 char:5 -+ throw $ErrorRecord -+ ~~~~~~~~~~~~~~~~~~ - + CategoryInfo : InvalidOperation: (SetTimeZone:String) [], InvalidOperationException - + FullyQualifiedErrorId : FailToProcessConfiguration +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Writing a single-instance DSC resource (best practice) +--- + +# Writing a single-instance DSC resource (best practice) + +>**Note:** This topic describes a best practice for defining a DSC resource that allows only a single instance in a configuration. Currently, there is no built-in DSC feature to do this. That might +>change in the future. + +There are situations where you don't want to allow a resource to be used multiple times in a configuration. For example, in a previous implementation of the +[xTimeZone](https://github.com/PowerShell/xTimeZone) resource, a configuration could call the resource multiple times, setting the time zone to a different setting in each resource block: + +```powershell +Configuration SetTimeZone +{ + Param + ( + [String[]]$NodeName = $env:COMPUTERNAME + + ) + + Import-DSCResource -ModuleName xTimeZone + + + Node $NodeName + { + xTimeZone TimeZoneExample + { + + TimeZone = 'Eastern Standard Time' + } + + xTimeZone TimeZoneExample2 + { + + TimeZone = 'Pacific Standard Time' + + } + + } +} +``` + +This is because of the way DSC resource keys work. A resource must have at least one key property. A resource instance is considered unique if the combination of the values of all of +its key properties is unique. In its previous implementation, the [xTimeZone](https://github.com/PowerShell/xTimeZone) resource had only one property--**TimeZone**, which was required +to be a key. Because of this, a configuration such as the one above would compile and run without warning. Each of the **xTimeZone** resource blocks is considered unique. This would cause the +configuration to be repeatedly applied to the node, cycling the timezone back and forth. + +To ensure that a configuration could set the time zone for a target node only once, the resource was updated to add a second property, **IsSingleInstance**, that became the key property. +The **IsSingleInstance** was limited to a single value, "Yes" by using a **ValueMap**. The old MOF schema for the resource was: + +```powershell +[ClassVersion("1.0.0.0"), FriendlyName("xTimeZone")] +class xTimeZone : OMI_BaseResource +{ + [Key, Description("Specifies the TimeZone.")] String TimeZone; +}; +``` + +The updated MOF schema for the resource is: + +```powershell +[ClassVersion("1.0.0.0"), FriendlyName("xTimeZone")] +class xTimeZone : OMI_BaseResource +{ + [Key, Description("Specifies the resource is a single instance, the value must be 'Yes'"), ValueMap{"Yes"}, Values{"Yes"}] String IsSingleInstance; + [Required, Description("Specifies the TimeZone.")] String TimeZone; +}; +``` + +The resource script was also updated to use the new parameter. Here is the old resource script: + +```powershell +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([Hashtable])] + param + ( + [parameter(Mandatory = $true)] + [ValidateSet('Yes')] + [String] + $IsSingleInstance, + + [parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [String] + $TimeZone + ) + + #Get the current TimeZone + $CurrentTimeZone = Get-TimeZone + + $returnValue = @{ + TimeZone = $CurrentTimeZone + IsSingleInstance = 'Yes' + } + + #Output the target resource + $returnValue +} + + +function Set-TargetResource +{ + [CmdletBinding(SupportsShouldProcess=$true)] + param + ( + [parameter(Mandatory = $true)] + [ValidateSet('Yes')] + [String] + $IsSingleInstance, + + [parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [String] + $TimeZone + ) + + #Output the result of Get-TargetResource function. + $CurrentTimeZone = Get-TimeZone + + if($PSCmdlet.ShouldProcess("'$TimeZone'","Replace the System Time Zone")) + { + try + { + if($CurrentTimeZone -ne $TimeZone) + { + Write-Verbose -Verbose "Setting the TimeZone" + Set-TimeZone -TimeZone $TimeZone} + else + { + Write-Verbose -Verbose "TimeZone already set to $TimeZone" + } + } + catch + { + $ErrorMsg = $_.Exception.Message + Write-Verbose -Verbose $ErrorMsg + } + } +} + + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([Boolean])] + param + ( + [parameter(Mandatory = $true)] + [ValidateSet('Yes')] + [String] + $IsSingleInstance, + + [parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [String] + $TimeZone + ) + + #Output from Get-TargetResource + $CurrentTimeZone = Get-TimeZone + + if($TimeZone -eq $CurrentTimeZone) + { + return $true + } + else + { + return $false + } +} + +Function Get-TimeZone { + [CmdletBinding()] + param() + + & tzutil.exe /g +} + +Function Set-TimeZone { + [CmdletBinding()] + param( + [Parameter(Mandatory=$true)] + [System.String] + $TimeZone + ) + + try + { + & tzutil.exe /s $TimeZone + } + catch + { + $ErrorMsg = $_.Exception.Message + Write-Verbose $ErrorMsg + } +} + +Export-ModuleMember -Function *-TargetResource +``` + +Notice that the **TimeZone** property is no longer a key. Now, if a configuration attempts to set the time zone twice (by using two different **xTimeZone** blocks with different **TimeZone** +values), attempting to compile the configuration will cause an error: + +```powershell +Test-ConflictingResources : A conflict was detected between resources '[xTimeZone]TimeZoneExample (::15::10::xTimeZone)' and +'[xTimeZone]TimeZoneExample2 (::22::10::xTimeZone)' in node 'CONTOSO-CLIENT'. Resources have identical key properties but there are differences in the +following non-key properties: 'TimeZone'. Values 'Eastern Standard Time' don't match values 'Pacific Standard Time'. Please update these property +values so that they are identical in both cases. +At line:271 char:9 ++ Test-ConflictingResources $keywordName $canonicalizedValue $k ... ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo : InvalidOperation: (:) [Write-Error], InvalidOperationException + + FullyQualifiedErrorId : ConflictingDuplicateResource,Test-ConflictingResources +Errors occurred while processing configuration 'SetTimeZone'. +At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSDesiredStateConfiguration.psm1:3705 char:5 ++ throw $ErrorRecord ++ ~~~~~~~~~~~~~~~~~~ + + CategoryInfo : InvalidOperation: (SetTimeZone:String) [], InvalidOperationException + + FullyQualifiedErrorId : FailToProcessConfiguration ``` \ No newline at end of file diff --git a/dsc/runAsUser.md b/dsc/runAsUser.md deleted file mode 100644 index cde15e8f9dab..000000000000 --- a/dsc/runAsUser.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Running DSC with user credentials ---- -# Running DSC with user credentials - -> Applies To: Windows PowerShell 5.0, Windows PowerShell 5.1 - -You can run a DSC resource under a specified set of credentials by using the automatic **PsDscRunAsCredential** property in the configuration. -By default, DSC runs each resource as the system account. -There are times when running as a user is necessary, such as installing MSI packages in a specific user context, setting a user's registry keys, accessing a user's specific local directory, -or accessing a network share. - -Every DSC resource has a **PsDscRunAsCredential** property that can be set to any user credentials (a [PSCredential](/dotnet/api/system.management.automation.pscredential) object). -The credential can be hard-coded as the value of the property in the configuration, or you can set the value to [Get-Credential](/powershell/module/Microsoft.PowerShell.Security/Get-Credential), -which will prompt the user for a credential when the configuration is compiled (for information about compiling configurations, see [Configurations](configurations.md). - -> [!NOTE] -> In PowerShell 5.0, using the **PsDscRunAsCredential** property in configurations calling composite resources was not supported. -> In PowerShell 5.1, the **PsDscRunAsCredential** property is supported in configurations calling composite resources. -> The **PsDscRunAsCredential** property is not available in PowerShell 4.0. - -In the following example, `Get-Credential` is used to prompt the user for credentials. -The [Registry](registryResource.md) resource is used to change the registry key that specifies the background color -for the Windows command prompt window. - -```powershell -Configuration ChangeCmdBackGroundColor -{ - Import-DscResource -ModuleName PSDesiredStateConfiguration - - Node $AllNodes.NodeName - { - Registry CmdPath - { - Key = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor' - ValueName = 'DefaultColor' - ValueData = '1F' - ValueType = 'DWORD' - Ensure = 'Present' - Force = $true - Hex = $true - PsDscRunAsCredential = Get-Credential - } - } -} - -$configData = @{ - AllNodes = @( - @{ - NodeName = 'localhost'; - PSDscAllowDomainUser = $true - CertificateFile = 'C:\publicKeys\targetNode.cer' - Thumbprint = '7ee7f09d-4be0-41aa-a47f-96b9e3bdec25' - } - ) -} - -ChangeCmdBackGroundColor -ConfigurationData $configData -``` - -> [!NOTE] -> This example assumes that you have a valid certificate at `C:\publicKeys\targetNode.cer`, and that the thumbprint of that certificate is the value shown. -> For information about encrypting credentials in DSC configuration MOF files, see [Securing the MOF file](secureMOF.md). diff --git a/dsc/debugResource.md b/dsc/troubleshooting/debugResource.md similarity index 78% rename from dsc/debugResource.md rename to dsc/troubleshooting/debugResource.md index 5fee195f126b..1874dfb8be3c 100644 --- a/dsc/debugResource.md +++ b/dsc/troubleshooting/debugResource.md @@ -1,112 +1,110 @@ ---- -ms.date: 06/12/2017 -keywords: dsc,powershell,configuration,setup -title: Debugging DSC resources ---- - -# Debugging DSC resources - -> Applies To: Windows PowerShell 5.0 - -In PowerShell 5.0, a new feature was introduced in Desired State Configuraiton (DSC) that allows you to debug a DSC resource as a configuration is being applied. - -## Enabling DSC debugging -Before you can debug a resource, you have to enable debugging by calling the [Enable-DscDebug](https://technet.microsoft.com/library/mt517870.aspx) cmdlet. -This cmdlet takes a mandatory parameter, **BreakAll**. - -You can verify that debugging has been enabled by looking at the result of a call to [Get-DscLocalConfigurationManager](https://technet.microsoft.com/library/dn407378.aspx). - -The following PowerShell output shows the result of enabling debugging: - - -```powershell -PS C:\DebugTest> $LCM = Get-DscLocalConfigurationManager - -PS C:\DebugTest> $LCM.DebugMode -NONE - -PS C:\DebugTest> Enable-DscDebug -BreakAll - -PS C:\DebugTest> $LCM = Get-DscLocalConfigurationManager - -PS C:\DebugTest> $LCM.DebugMode -ForceModuleImport -ResourceScriptBreakAll - -PS C:\DebugTest> -``` - - -## Starting a configuration with debug enabled -To debug a DSC resource, you start a configuration that calls that resource. -For this example, we'll look at a simple configuration that calls the [WindowsFeature](windowsfeatureResource.md) resource to ensure that the "WindowsPowerShellWebAccess" feature is installed: - -```powershell -Configuration PSWebAccess - { - Import-DscResource -ModuleName 'PsDesiredStateConfiguration' - Node localhost - { - WindowsFeature PSWA - { - Name = 'WindowsPowerShellWebAccess' - Ensure = 'Present' - } - } - } -PSWebAccess -``` -After compiling the configuration, start it by calling [Start-DscConfiguration](https://technet.microsoft.com/library/dn521623.aspx). -The configuration will stop when the Local Configuration Manager (LCM) calls into the first resource in the configuration. -If you use the `-Verbose` and `-Wait` parameters, the output displays the lines you need to enter to start debugging. - -```powershell -Start-DscConfiguration .\PSWebAccess -Wait -Verbose -VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfiguration -Manager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'. -VERBOSE: An LCM method call arrived from computer TEST-SRV with user sid S-1-5-21-2127521184-1604012920-1887927527-108583. -VERBOSE: An LCM method call arrived from computer TEST-SRV with user sid S-1-5-21-2127521184-1604012920-1887927527-108583. -VERBOSE: [TEST-SRV]: LCM: [ Start Set ] -WARNING: [TEST-SRV]: [DSCEngine] Warning LCM is in Debug 'ResourceScriptBreakAll' mode. Resource script processing will -be stopped to wait for PowerShell script debugger to attach. -VERBOSE: [TEST-SRV]: [DSCEngine] Importing the module C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateCo -nfiguration\DscResources\MSFT_RoleResource\MSFT_RoleResource.psm1 in force mode. -VERBOSE: [TEST-SRV]: LCM: [ Start Resource ] [[WindowsFeature]PSWA] -VERBOSE: [TEST-SRV]: LCM: [ Start Test ] [[WindowsFeature]PSWA] -VERBOSE: [TEST-SRV]: [[WindowsFeature]PSWA] Importing the module MSFT_RoleResource in force mode. -WARNING: [TEST-SRV]: [[WindowsFeature]PSWA] Resource is waiting for PowerShell script debugger to attach. -Use the following commands to begin debugging this resource script: -Enter-PSSession -ComputerName TEST-SRV -Credential -Enter-PSHostProcess -Id 9000 -AppDomainName DscPsPluginWkr_AppDomain -Debug-Runspace -Id 9 -``` -At this point, the LCM has called the resource, and come to the first break point. -The last three lines in the output show you how to attach to the process and start debugging the resource script. - -## Debugging the resource script - -Start a new instance of the PowerShell ISE. -In the console pane, enter the last three lines of output from the `Start-DscConfiguration` output as commands, replacing `` with valid user credentials. -You should now see a prompt that looks similar to: - -```powershell -[TEST-SRV]: [DBG]: [Process:9000]: [RemoteHost]: PS C:\DebugTest>> -``` - -The resource script will open in the script pane, and the debugger is stopped at the first line of the **Test-TargetResource** function (the **Test()** method of a class-based resource). -Now you can use the debug commands in the ISE to step through the resource script, look at variable values, view the call stack, and so on. -For information about debugging in the PowerShell ISE, see [How to Debug Scripts in Windows PowerShell ISE](https://technet.microsoft.com/en-us/library/dd819480.aspx). -Remember that every line in the resource script (or class) is set as a break point. - -## Disabling DSC debugging - -After calling [Enable-DscDebug](https://technet.microsoft.com/library/mt517870.aspx), all calls to [Start-DscConfiguration](https://technet.microsoft.com/library/dn521623.aspx) -will result in the configuration breaking into the debugger. To allow configurations to run normally, you must disable debugging by calling the -[Disable-DscDebug](https://technet.microsoft.com/en-us/library/mt517872.aspx) cmdlet. - ->**Note:** Rebooting does not change the debug state of the LCM. If debugging is enabled, starting a configuration will still break into the debugger after a reboot. - - -## See Also -- [Writing a custom DSC resource with MOF](authoringResourceMOF.md) -- [Writing a custom DSC resource with PowerShell classes](authoringResourceClass.md) \ No newline at end of file +--- +ms.date: 06/12/2017 +keywords: dsc,powershell,configuration,setup +title: Debugging DSC resources +--- + +# Debugging DSC resources + +> Applies To: Windows PowerShell 5.0 + +In PowerShell 5.0, a new feature was introduced in Desired State Configuration (DSC) that allows you to debug a DSC resource as a configuration is being applied. + +## Enabling DSC debugging +Before you can debug a resource, you have to enable debugging by calling the [Enable-DscDebug](/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug) cmdlet. +This cmdlet takes a mandatory parameter, **BreakAll**. + +You can verify that debugging has been enabled by looking at the result of a call to [Get-DscLocalConfigurationManager](/powershell/module/PSDesiredStateConfiguration/Get-DscLocalConfigurationManager). + +The following PowerShell output shows the result of enabling debugging: + + +```powershell +PS C:\DebugTest> $LCM = Get-DscLocalConfigurationManager + +PS C:\DebugTest> $LCM.DebugMode +NONE + +PS C:\DebugTest> Enable-DscDebug -BreakAll + +PS C:\DebugTest> $LCM = Get-DscLocalConfigurationManager + +PS C:\DebugTest> $LCM.DebugMode +ForceModuleImport +ResourceScriptBreakAll + +PS C:\DebugTest> +``` + + +## Starting a configuration with debug enabled +To debug a DSC resource, you start a configuration that calls that resource. +For this example, we'll look at a simple configuration that calls the **WindowsFeature** resource to ensure that the "WindowsPowerShellWebAccess" feature is installed: + +```powershell +Configuration PSWebAccess + { + Import-DscResource -ModuleName 'PsDesiredStateConfiguration' + Node localhost + { + WindowsFeature PSWA + { + Name = 'WindowsPowerShellWebAccess' + Ensure = 'Present' + } + } + } +PSWebAccess +``` +After compiling the configuration, start it by calling [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration). +The configuration will stop when the Local Configuration Manager (LCM) calls into the first resource in the configuration. +If you use the `-Verbose` and `-Wait` parameters, the output displays the lines you need to enter to start debugging. + +```powershell +Start-DscConfiguration .\PSWebAccess -Wait -Verbose +VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfiguration +Manager,'namespaceName' = root/Microsoft/Windows/DesiredStateConfiguration'. +VERBOSE: An LCM method call arrived from computer TEST-SRV with user sid S-1-5-21-2127521184-1604012920-1887927527-108583. +VERBOSE: An LCM method call arrived from computer TEST-SRV with user sid S-1-5-21-2127521184-1604012920-1887927527-108583. +VERBOSE: [TEST-SRV]: LCM: [ Start Set ] +WARNING: [TEST-SRV]: [DSCEngine] Warning LCM is in Debug 'ResourceScriptBreakAll' mode. Resource script processing will +be stopped to wait for PowerShell script debugger to attach. +VERBOSE: [TEST-SRV]: [DSCEngine] Importing the module C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateCo +nfiguration\DscResources\MSFT_RoleResource\MSFT_RoleResource.psm1 in force mode. +VERBOSE: [TEST-SRV]: LCM: [ Start Resource ] [[WindowsFeature]PSWA] +VERBOSE: [TEST-SRV]: LCM: [ Start Test ] [[WindowsFeature]PSWA] +VERBOSE: [TEST-SRV]: [[WindowsFeature]PSWA] Importing the module MSFT_RoleResource in force mode. +WARNING: [TEST-SRV]: [[WindowsFeature]PSWA] Resource is waiting for PowerShell script debugger to attach. +Use the following commands to begin debugging this resource script: +Enter-PSSession -ComputerName TEST-SRV -Credential +Enter-PSHostProcess -Id 9000 -AppDomainName DscPsPluginWkr_AppDomain +Debug-Runspace -Id 9 +``` +At this point, the LCM has called the resource, and come to the first break point. +The last three lines in the output show you how to attach to the process and start debugging the resource script. + +## Debugging the resource script + +Start a new instance of the PowerShell ISE. +In the console pane, enter the last three lines of output from the `Start-DscConfiguration` output as commands, replacing `` with valid user credentials. +You should now see a prompt that looks similar to: + +```powershell +[TEST-SRV]: [DBG]: [Process:9000]: [RemoteHost]: PS C:\DebugTest>> +``` + +The resource script will open in the script pane, and the debugger is stopped at the first line of the **Test-TargetResource** function (the **Test()** method of a class-based resource). +Now you can use the debug commands in the ISE to step through the resource script, look at variable values, view the call stack, and so on. Remember that every line in the resource script (or class) is set as a break point. + +## Disabling DSC debugging + +After calling [Enable-DscDebug](/powershell/module/PSDesiredStateConfiguration/Enable-DscDebug), all calls to [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) +will result in the configuration breaking into the debugger. To allow configurations to run normally, you must disable debugging by calling the +[Disable-DscDebug](/powershell/module/PSDesiredStateConfiguration/Disable-DscDebug) cmdlet. + +>**Note:** Rebooting does not change the debug state of the LCM. If debugging is enabled, starting a configuration will still break into the debugger after a reboot. + +## See Also + +- [Writing a custom DSC resource with MOF](../resources/authoringResourceMOF.md) +- [Writing a custom DSC resource with PowerShell classes](../resources/authoringResourceClass.md) diff --git a/dsc/troubleshooting.md b/dsc/troubleshooting/troubleshooting.md similarity index 93% rename from dsc/troubleshooting.md rename to dsc/troubleshooting/troubleshooting.md index a0be47def82b..f0c8d10c6e6f 100644 --- a/dsc/troubleshooting.md +++ b/dsc/troubleshooting/troubleshooting.md @@ -1,5 +1,5 @@ --- -ms.date: 06/12/2017 +ms.date: 10/30/2018 keywords: dsc,powershell,configuration,setup title: Troubleshooting DSC --- @@ -17,7 +17,7 @@ PowerShell elevated session, to enable WinRM. ## Using Get-DscConfigurationStatus -The [Get-DscConfigurationStatus](https://technet.microsoft.com/library/mt517868.aspx) cmdlet gets +The [Get-DscConfigurationStatus](/powershell/module/PSDesiredStateConfiguration/Get-DscConfigurationStatus) cmdlet gets information about configuration status from a target node. A rich object is returned that includes high-level information about whether or not the configuration run was successful or not. You can dig into the object to discover details about the configuration run such as: @@ -73,7 +73,7 @@ InDesiredState : False InitialState : InstanceName : ServiceDll RebootRequested : False -ReosurceName : File +ResourceName : File StartDate : 11/24/2015 3:44:56 PSComputerName : ``` @@ -81,8 +81,8 @@ PSComputerName : ## My script won't run: Using DSC logs to diagnose script errors Like all Windows software, DSC records errors and events in -[logs](https://msdn.microsoft.com/library/windows/desktop/aa363632.aspx) that can be viewed from -the [Event Viewer](http://windows.microsoft.com/windows/what-information-event-logs-event-viewer). +[logs](/windows/desktop/EventLog/about-event-logging) that can be viewed from +the [Event Viewer](https://support.microsoft.com/hub/4338813/windows-help). Examining these logs can help you understand why a particular operation failed, and how to prevent failure in the future. Writing configuration scripts can be tricky, so to make tracking errors easier as you author, use the DSC Log resource to track the progress of your configuration in the @@ -93,7 +93,7 @@ DSC Analytic event log. In Event Viewer, DSC events are in: **Applications and Services Logs/Microsoft/Windows/Desired State Configuration** The corresponding PowerShell cmdlet, -[Get-WinEvent](https://technet.microsoft.com/library/hh849682.aspx), can also be run to view the +[Get-WinEvent](/powershell/module/Microsoft.PowerShell.Diagnostics/Get-WinEvent), can also be run to view the event logs: ``` @@ -109,14 +109,14 @@ TimeCreated Id LevelDisplayName Message As shown above, DSC's primary log name is **Microsoft->Windows->DSC** (other log names under Windows are not shown here for brevity). The primary name is appended to the channel name to create the complete log name. The DSC engine writes mainly into three types of logs: -[Operational, Analytic, and Debug logs](https://technet.microsoft.com/library/cc722404.aspx). Since +[Operational, Analytic, and Debug logs](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc722404(v=ws.11)). Since the analytic and debug logs are turned off by default, you should enable them in Event Viewer. To do this, open Event Viewer by typing Show-EventLog in Windows PowerShell; or, click the **Start** button, click **Control Panel**, click **Administrative Tools**, and then click **Event Viewer**. On the **View** menu in Event viewer, click **Show Analytic and Debug Logs**. The log name for the analytic channel is **Microsoft-Windows-Dsc/Analytic**, and the debug channel is **Microsoft-Windows-Dsc/Debug**. You could also use the -[wevtutil](https://technet.microsoft.com/library/cc732848.aspx) utility to enable the logs, as +[wevtutil](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc732848(v=ws.11)) utility to enable the logs, as shown in the following example. ```powershell @@ -222,12 +222,12 @@ TimeCreated Id LevelDisplayName Message ``` You can extract the data in the variable `$SeparateDscOperations` using -[Where-Object](https://technet.microsoft.com/library/ee177028.aspx). Following are five scenarios +[Where-Object](/powershell/module/microsoft.powershell.core/where-object). Following are five scenarios in which you might want to extract data for troubleshooting DSC: ### 1: Operations failures -All events have [severity levels](https://msdn.microsoft.com/library/dd996917(v=vs.85)). This +All events have [severity levels](/windows/desktop/WES/defining-severity-levels). This information can be used to identify the error events: ``` @@ -381,7 +381,7 @@ SRV1 OPERATIONAL 6/24/2016 10:51:54 AM Operation Consistency Check or Pull co ``` Pass the **GUID** assigned to a specific DSC operation (as returned by the `Get-xDscOperation` -cmldet) to get the event details for that DSC operation: +cmdlet) to get the event details for that DSC operation: ```powershell PS C:\DiagnosticsTest> Trace-xDscOperation -JobID 9e0bfb6b-3a3a-11e6-9165-00155d390509 @@ -578,7 +578,7 @@ ConfigurationID : ConfigurationMode : ApplyAndMonitor ConfigurationModeFrequencyMins : 30 Credential : -DebugMode : False +DebugMode : {None} DownloadManagerCustomData : DownloadManagerName : LocalConfigurationManagerState : Ready @@ -588,7 +588,7 @@ RefreshMode : PUSH PSComputerName : ``` -You can see that `DebugMode` is set to **FALSE**. +You can see that `DebugMode` is set to **"None"**. To set up the `DebugMode` demonstration, use the following PowerShell resource: @@ -680,12 +680,12 @@ This script generates a random number and updates the provider code accordingly. set to false, the contents of the file "**$env:SystemDrive\OutputFromTestProviderDebugMode.txt**" are never changed. -Now, set `DebugMode` to **TRUE** in your configuration script: +Now, set `DebugMode` to **"ForceModuleImport"** in your configuration script: ```powershell LocalConfigurationManager { - DebugMode = $true + DebugMode = "ForceModuleImport" } ``` @@ -707,16 +707,29 @@ onlyProperty PSComputerName 14 localhost ``` -## See Also +## DSC returns "unexpected response code InternalServerError" when registering with Windows Pull Server + +When applying a metaconfiguration to a server to register it with an instance of Windows Pull Server, +you might encounter the following error. -### Reference +```PowerShell +Registration of the Dsc Agent with the server https://:8080/PSDSCPullServer.svc failed. The underlying error is: The attempt to register Dsc Agent with AgentId with the server +https://:8080/PSDSCPullServer.svc/Nodes(AgentId='') returned unexpected response code InternalServerError. . + + CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException + + FullyQualifiedErrorId : RegisterDscAgentUnsuccessful,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand + + PSComputerName : +``` -- [DSC Log Resource](logResource.md) +This can occur when the certificate used on the server to encrypt traffic has a common name (CN) +that is different than the DNS name used by the node to resolve the URL. +Update the Windows Pull Server instance to use a certificate with a corrected name. + +## See Also ### Concepts -- [Build Custom Windows PowerShell Desired State Configuration Resources](authoringResource.md) +- [Build Custom Windows PowerShell Desired State Configuration Resources](../resources/authoringResource.md) ### Other Resources -- [Windows PowerShell Desired State Configuration Cmdlets](https://technet.microsoft.com/library/dn521624(v=wps.630).aspx) \ No newline at end of file +- [Windows PowerShell Desired State Configuration Cmdlets](/powershell/module/psdesiredstateconfiguration/) diff --git a/dsc/DSCAutomationHostEnabled.md b/dsc/tutorials/DSCAutomationHostEnabled.md similarity index 81% rename from dsc/DSCAutomationHostEnabled.md rename to dsc/tutorials/DSCAutomationHostEnabled.md index de07395664af..052a228e9072 100644 --- a/dsc/DSCAutomationHostEnabled.md +++ b/dsc/tutorials/DSCAutomationHostEnabled.md @@ -8,8 +8,8 @@ title: DSCAutomationHostEnabled registry key # DSCAutomationHostEnabled registry key -DSC uses the **DSCAutomationHostEnabled** registry key under **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies** to enable configuration of the machine at initial boot-up. -DSCAutomationHostEnabled supports three modes: +DSC uses the **DSCAutomationHostEnabled** registry key under **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System** to enable configuration of the machine at initial boot-up. +**DSCAutomationHostEnabled** supports three modes: | DSCAutomationHostEnabled Value | Description | |---|---| @@ -19,4 +19,4 @@ DSCAutomationHostEnabled supports three modes: ## See Also -For an example of how to use this feature to run configurations at initial boot-up, see [Configure a virtual machines at initial boot-up by using DSC](bootstrapDsc.md). \ No newline at end of file +For an example of how to use this feature to run configurations at initial boot-up, see [Configure a virtual machines at initial boot-up by using DSC](bootstrapDsc.md). diff --git a/dsc/bootstrapDsc.md b/dsc/tutorials/bootstrapDsc.md similarity index 78% rename from dsc/bootstrapDsc.md rename to dsc/tutorials/bootstrapDsc.md index 5cb5f11af31a..b4c4852f1e94 100644 --- a/dsc/bootstrapDsc.md +++ b/dsc/tutorials/bootstrapDsc.md @@ -10,21 +10,21 @@ title: Configure a virtual machines at initial boot-up by using DSC ## Requirements -> [!NOTE] +> [!NOTE] > The **DSCAutomationHostEnabled** registry key described in this topic is not available in PowerShell 4.0. > For information on how to configure new virtual machines at initial boot-up in PowerShell 4.0, see -> [Want to Automatically Configure Your Machines Using DSC at Initial Boot-up?]> (https://blogs.msdn.microsoft.com/powershell/2014/02/28/want-to-automatically-configure-your-machines-using-dsc-at-initial-boot-up/) +> [Want to Automatically Configure Your Machines Using DSC at Initial Boot-up?](https://blogs.msdn.microsoft.com/powershell/2014/02/28/want-to-automatically-configure-your-machines-using-dsc-at-initial-boot-up/) To run these examples, you will need: - A bootable VHD to work with. You can download an ISO with an evaluation copy of Windows Server 2016 at - [TechNet Evaluation Center](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016). You can find instructions on how to create a VHD - from an ISO image at [Creating Bootable Virtual Hard Disks](/previous-versions/windows/it-pro/windows-7/gg318049(v=ws.10)). + [TechNet Evaluation Center](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016). + You can find instructions on how to create a VHD from an ISO image at [Creating Bootable Virtual Hard Disks](/previous-versions/windows/it-pro/windows-7/gg318049(v=ws.10)). - A host computer that has Hyper-V enabled. For information, see [Hyper-V overview](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831531(v=ws.11)). By using DSC, you can automate software installation and configuration for a computer at initial boot-up. You do this by either injecting a configuration MOF document or a metaconfiguration into bootable media (such as a VHD) so that they are run during the initial boot-up process. - This behavior is specified by the [DSCAutomationHostEnabled registry key](DSCAutomationHostEnabled.md) registry key under `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies`. + This behavior is specified by the [DSCAutomationHostEnabled registry key](DSCAutomationHostEnabled.md) registry key under `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System`. By default, the value of this key is 2, which allows DSC to run at boot time. If you do not want DSC to run at boot time, set the value of the [DSCAutomationHostEnabled registry key](DSCAutomationHostEnabled.md) registry key to 0. @@ -72,7 +72,7 @@ Configuration SampleIISInstall 3. In a PowerShell console, navigate to the folder where you saved the .ps1 file. -4. Run the following PowerShell commands to compile the MOF document (for information about compiling DSC configurations, see [DSC Configurations](configurations.md): +4. Run the following PowerShell commands to compile the MOF document (for information about compiling DSC configurations, see [DSC Configurations](../configurations/configurations.md): ```powershell . .\SampleIISInstall.ps1 @@ -80,7 +80,7 @@ Configuration SampleIISInstall ``` 5. This will create a `localhost.mof` file in a new folder named `SampleIISInstall`. - Rename and move that file into the proper location on the VHD as `Pending.mof` by using the [Move-Item](https://technet.microsoft.comlibrary/hh849852.aspx) cmdlet. For example: + Rename and move that file into the proper location on the VHD as `Pending.mof` by using the [Move-Item](/powershell/module/microsoft.powershell.management/move-item) cmdlet. For example: ```powershell Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\System32\Configuration\Pending.mof @@ -94,15 +94,15 @@ Configuration SampleIISInstall 7. Create a VM by using the VHD where you installed the DSC MOF document. -After intial boot-up and operating system installation, IIS will be installed. -You can verify this by calling the [Get-WindowsFeature](https://technet.microsoft.com/library/jj205469.aspx) cmdlet. +After initial boot-up and operating system installation, IIS will be installed. +You can verify this by calling the [Get-WindowsFeature](/powershell/module/servermanager/get-windowsfeature) cmdlet. ## Inject a DSC metaconfiguration into a VHD -You can also configure a computer to pull a configuration at intial boot-up by injecting a metaconfiguration (see [Configuring the Local Configuration Manager (LCM)](metaConfig.md)) into the VHD as its `MetaConfig.mof` file. +You can also configure a computer to pull a configuration at initial boot-up by injecting a metaconfiguration (see [Configuring the Local Configuration Manager (LCM)](../managing-nodes/metaConfig.md)) into the VHD as its `MetaConfig.mof` file. If the **DSCAutomationHostEnabled** registry key is set to 2 (the default value), DSC will apply the metaconfiguration defined by `MetaConfig.mof` to the LCM when the computer boots up for the first time. -If the metaconfiguration specifies that the LCM should pull configurations from a pull server, the computer will attempt to pull a configuration from that pull server at inital boot-up. -For information about setting up a DSC pull server, see [Setting up a DSC web pull server](pullServer.md). +If the metaconfiguration specifies that the LCM should pull configurations from a pull server, the computer will attempt to pull a configuration from that pull server at initial boot-up. +For information about setting up a DSC pull server, see [Setting up a DSC web pull server](../pull-server/pullServer.md). For this example, we will use both the configuration described in the previous section (**SampleIISInstall**), and the following metaconfiguration: @@ -136,13 +136,13 @@ configuration PullClientBootstrap Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd ``` -2. [Set up a DSC web pull server](pullServer.md), and save the **SampleIISInistall** configuration to the appropriate folder. +2. [Set up a DSC web pull server](../pull-server/pullServer.md), and save the **SampleIISInstall** configuration to the appropriate folder. 3. On a computer running PowerShell 5.0 or later, save the above metaconfiguration (**PullClientBootstrap**) as a PowerShell script (.ps1) file. 4. In a PowerShell console, navigate to the folder where you saved the .ps1 file. -5. Run the following PowerShell commands to compile the metaconfiguration MOF document (for information about compiling DSC configurations, see [DSC Configurations](configurations.md): +5. Run the following PowerShell commands to compile the metaconfiguration MOF document (for information about compiling DSC configurations, see [DSC Configurations](../configurations/configurations.md): ```powershell . .\PullClientBootstrap.ps1 @@ -150,7 +150,7 @@ configuration PullClientBootstrap ``` 6. This will create a `localhost.meta.mof` file in a new folder named `PullClientBootstrap`. - Rename and move that file into the proper location on the VHD as `MetaConfig.mof` by using the [Move-Item](https://technet.microsoft.comlibrary/hh849852.aspx) cmdlet. + Rename and move that file into the proper location on the VHD as `MetaConfig.mof` by using the [Move-Item](/powershell/module/microsoft.powershell.management/move-item) cmdlet. ```powershell Move-Item -Path C:\DSCTest\PullClientBootstrap\localhost.meta.mof -Destination E:\Windows\System32\Configuration\MetaConfig.mof @@ -164,12 +164,12 @@ configuration PullClientBootstrap 8. Create a VM by using the VHD where you installed the DSC MOF document. -After intial boot-up and operating system installation, DSC will pull the configuration from the pull server, and IIS will be installed. -You can verify this by calling the [Get-WindowsFeature](https://technet.microsoft.com/library/jj205469.aspx) cmdlet. +After initial boot-up and operating system installation, DSC will pull the configuration from the pull server, and IIS will be installed. +You can verify this by calling the [Get-WindowsFeature](/powershell/module/servermanager/get-windowsfeature) cmdlet. ## Disable DSC at boot time -By default, the value of the `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DSCAutomationHostEnabled` key is set to 2, +By default, the value of the `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DSCAutomationHostEnabled` key is set to 2, which allows a DSC configuration to run if the computer is in pending or current state. If you do not want a configuration to run at initial boot-up, you need so set the value of this key to 0: @@ -185,10 +185,10 @@ so set the value of this key to 0: reg load HKLM\Vhd E:\Windows\System32\Config\Software` ``` -3. Navigate to the `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\*` by using the PowerShell Registry provider. +3. Navigate to the `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System` by using the PowerShell Registry provider. ```powershell - Set-Location HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies` + Set-Location HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System` ``` 4. Change the value of `DSCAutomationHostEnabled` to 0. @@ -206,10 +206,10 @@ so set the value of this key to 0: ## See Also -[DSC Configurations](configurations.md) +[DSC Configurations](../configurations/configurations.md) [DSCAutomationHostEnabled registry key](DSCAutomationHostEnabled.md) -[Configuring the Local Configuration Manager (LCM)](metaConfig.md) +[Configuring the Local Configuration Manager (LCM)](../managing-nodes/metaConfig.md) -[Setting up a DSC web pull server](pullServer.md) +[Setting up a DSC web pull server](../pull-server/pullServer.md) diff --git a/dsc/dscCiCd.md b/dsc/tutorials/dscCiCd.md similarity index 94% rename from dsc/dscCiCd.md rename to dsc/tutorials/dscCiCd.md index 741af4f09602..29397d1f6911 100644 --- a/dsc/dscCiCd.md +++ b/dsc/tutorials/dscCiCd.md @@ -47,7 +47,7 @@ This computer must have [Team Foundation Server 2017](https://www.visualstudio.c The computer that runs the Windows build agent that builds the project. This computer must have a Windows build agent installed and running. -See [Deploy an agent on Windows](https://www.visualstudio.com/en-us/docs/build/actions/agents/v2-windows) +See [Deploy an agent on Windows](/azure/devops/pipelines/agents/v2-windows) for instructions on how to install and run a Windows build agent. You also need to install both the `xDnsServer` and `xNetworking` DSC modules on this computer. @@ -70,7 +70,7 @@ If you have not already cloned the Demo_CI repository to your client computer, d `git clone https://github.com/PowerShell/Demo_CI` 1. On your client computer, navigate to your TFS server in a web browser. -1. In TFS, [Create a new team project](https://www.visualstudio.com/en-us/docs/setup-admin/create-team-project) named Demo_CI. +1. In TFS, [Create a new team project](/azure/devops/organizations/projects/create-project) named Demo_CI. Make sure that **Version control** is set to **Git**. 1. On your client computer, add a remote to the repository you just created in TFS with the following command: @@ -79,7 +79,7 @@ If you have not already cloned the Demo_CI repository to your client computer, d Where `` is the clone URL to the TFS repository you created in the previous step. - If you don't know where to find this URL, see [Clone an existing Git repo](https://www.visualstudio.com/en-us/docs/git/tutorial/clone). + If you don't know where to find this URL, see [Clone an existing Git repo](/azure/devops/repos/git/clone). 1. Push the code from your local repository to your TFS repository with the following command: `git push tfs --all` @@ -154,7 +154,7 @@ Notice the `Node` statement: Node $AllNodes.Where{$_.Role -eq 'DNSServer'}.NodeName ``` -This finds any nodes that were defined as having a role of `DNSServer` in the [configuration data](configData.md), +This finds any nodes that were defined as having a role of `DNSServer` in the [configuration data](../configurations/configData.md), which is created by the `DevEnv.ps1` script. You can read more about the `Where` method in [about_arrays](/powershell/reference/3.0/Microsoft.PowerShell.Core/About/about_Arrays.md) @@ -162,7 +162,7 @@ You can read more about the `Where` method in [about_arrays](/powershell/referen Using configuration data to define nodes is important when doing CI because node information will likely change between environments, and using configuration data allows you to easily make changes to node information without changing the configuration code. -In the first resource block, the configuration calls the [WindowsFeature](windowsFeatureResource.md) to ensure that the DNS feature is enabled. +In the first resource block, the configuration calls the **WindowsFeature** to ensure that the DNS feature is enabled. The resource blocks that follow call resources from the [xDnsServer](https://github.com/PowerShell/xDnsServer) module to configure the primary zone and DNS records. @@ -289,7 +289,7 @@ Starts a PowerShell session on `TestAgent1` and installs the modules containing #### DeployConfigs -Calls the [Start-DscConfiguration](/reference/5.1/PSDesiredStateConfiguration/Start-DscConfiguration.md) cmdlet to run the configuration on `TestAgent1`. +Calls the [Start-DscConfiguration](/powershell/module/psdesiredstateconfiguration/start-dscconfiguration) cmdlet to run the configuration on `TestAgent1`. #### IntegrationTests @@ -336,7 +336,7 @@ The integration test script uses a mixture of [Pester](https://github.com/pester Now that we've uploaded our code to TFS and looked at what it does, let's define our build. Here, we'll cover only the build steps that you'll add to the build. For instructions on how to create a build definition in TFS, -see [Create and queue a build definition](https://www.visualstudio.com/en-us/docs/build/define/create). +see [Create and queue a build definition](/azure/devops/pipelines/get-started-designer). Create a new build definition (select the **Empty** template) named "InfraDNS". Add the following steps to you build definition: @@ -406,7 +406,7 @@ Let's create a release definition so that the project is deployed to the develop To do this, add a new release definition associated with the `InfraDNS` build definition you created previously. Be sure to select **Continuous deployment** so that a new release will be triggered any time a new build is completed. -([How to: Work with release definitions](https://www.visualstudio.com/en-us/docs/build/actions/work-with-release-definitions)) +([What are release pipelines?](/azure/devops/pipelines/release/what-is-release-management)) and configure it as follows: Add the following steps to the release definition: @@ -448,4 +448,4 @@ You can check the result of the deployment by opening a browser on the client ma This example configures the DNS server `TestAgent1` so that the URL `www.contoso.com` resolves to `TestAgent2`, but it does not actually deploy a website. The skeleton for doing so is provided in the repo under the `WebApp` folder. -You can use the stubs provided to create psake scripts, Pester tests, and DSC configurations to deploy your own website. \ No newline at end of file +You can use the stubs provided to create psake scripts, Pester tests, and DSC configurations to deploy your own website. diff --git a/gallery/Images/ItemDisplayPageWithPSEditions.PNG b/gallery/Images/ItemDisplayPageWithPSEditions.PNG deleted file mode 100644 index 4230d622fba8..000000000000 Binary files a/gallery/Images/ItemDisplayPageWithPSEditions.PNG and /dev/null differ diff --git a/gallery/Images/SearchResultsWithPSEdition-Desktop.PNG b/gallery/Images/SearchResultsWithPSEdition-Desktop.PNG deleted file mode 100644 index c1391fa2419a..000000000000 Binary files a/gallery/Images/SearchResultsWithPSEdition-Desktop.PNG and /dev/null differ diff --git a/gallery/Images/SearchResultsWithPSEditions.PNG b/gallery/Images/SearchResultsWithPSEditions.PNG deleted file mode 100644 index e92a73d59f84..000000000000 Binary files a/gallery/Images/SearchResultsWithPSEditions.PNG and /dev/null differ diff --git a/gallery/Images/Manual_Item_Download.PNG b/gallery/Images/manual_package_download.png similarity index 100% rename from gallery/Images/Manual_Item_Download.PNG rename to gallery/Images/manual_package_download.png diff --git a/gallery/Images/packagedisplaypagewithpseditions.PNG b/gallery/Images/packagedisplaypagewithpseditions.PNG new file mode 100644 index 000000000000..45b56ec31589 Binary files /dev/null and b/gallery/Images/packagedisplaypagewithpseditions.PNG differ diff --git a/gallery/Images/searchresultswithpseditions.PNG b/gallery/Images/searchresultswithpseditions.PNG new file mode 100644 index 000000000000..8ade3d87a2fe Binary files /dev/null and b/gallery/Images/searchresultswithpseditions.PNG differ diff --git a/gallery/Images/searchresultswithpseditionsdesktop.PNG b/gallery/Images/searchresultswithpseditionsdesktop.PNG new file mode 100644 index 000000000000..239a68d9a920 Binary files /dev/null and b/gallery/Images/searchresultswithpseditionsdesktop.PNG differ diff --git a/gallery/TOC.yml b/gallery/TOC.yml index 0d9226ceba10..a55eb9ed994f 100644 --- a/gallery/TOC.yml +++ b/gallery/TOC.yml @@ -1,57 +1,59 @@ - name: Overview - href: readme.md + href: overview.md - name: Installing PowerShellGet href: installing-psget.md - name: Getting Started href: getting-started.md - name: How-To items: - - name: Finding Items in the Gallery + - name: Finding Packages in the Gallery items: - - name: Searching For Items - href: how-to/finding-items/search-syntax.md - - name: Searching by PSEdition - href: how-to/finding-items/searching-by-psedition.md + - name: Searching For Packages + href: how-to/finding-packages/search-syntax.md + - name: Searching by Compatibility + href: how-to/finding-packages/searching-by-compatibility.md - name: Filtering Search Results - href: how-to/finding-items/filtering-items.md + href: how-to/finding-packages/filtering-packages.md - name: Publishing to the Gallery items: - - name: Creating and publishing items - href: how-to/publishing-items/publishing-an-item.md + - name: Creating and publishing Packages + href: how-to/publishing-packages/publishing-a-package.md - name: Creating a PowerShellGallery Account - href: how-to/publishing-items/creating-an-account.md - - name: Unlisting items - href: how-to/publishing-items/unlisting-items.md - - name: Deleting items - href: how-to/publishing-items/deleting-items.md - - name: Managing item owners - href: how-to/publishing-items/managing-item-owners.md - - name: Working with Items + href: how-to/publishing-packages/creating-an-account.md + - name: Unlisting Packages + href: how-to/publishing-packages/unlisting-packages.md + - name: Deleting Packages + href: how-to/publishing-packages/deleting-packages.md + - name: Managing Packages owners + href: how-to/publishing-packages/managing-package-owners.md + - name: Working with Packages items: - name: FileList view - href: how-to/working-with-items/filelist-view.md + href: how-to/working-with-packages/filelist-view.md - name: Deploy to Azure Automation - href: how-to/working-with-items/deploy-to-azure-automation.md + href: how-to/working-with-packages/deploy-to-azure-automation.md - name: Manual Package Download - href: how-to/working-with-items/manual-download.md - - name: Items that Require License Acceptance - href: how-to/working-with-items/items-that-require-license-acceptance.md - - name: Contacting item owners - href: how-to/working-with-items/contacting-item-owners.md + href: how-to/working-with-packages/manual-download.md + - name: Packages that Require License Acceptance + href: how-to/working-with-packages/packages-that-require-license-acceptance.md + - name: Contacting Packages owners + href: how-to/working-with-packages/contacting-package-owners.md - name: Providing Feedback via Social Media or Comments - href: how-to/working-with-items/social-media-feedback.md + href: how-to/working-with-packages/social-media-feedback.md - name: Managing Account Profile items: - name: PowerShell Gallery Account Settings href: how-to/managing-profile/managing-account.md - name: Managing API Keys href: how-to/managing-profile/creating-apikeys.md + - name: Working with Local PowerShellGet Repositories + href: how-to/working-with-local-psrepositories.md - name: Concepts items: - name: Publishing guidelines and best practices href: concepts/publishing-guidelines.md - - name: Item manifest and Gallery UI - href: concepts/item-manifest-affecting-ui.md + - name: Packages manifest and Gallery UI + href: concepts/package-manifest-affecting-ui.md - name: Requiring Specific PSEditions items: - name: Writing Scripts with PSEditions Support @@ -64,7 +66,7 @@ href: concepts/script-license-acceptance.md - name: Requiring License Acceptance for Modules href: concepts/module-license-acceptance.md - - name: Defining Items as PreRelease + - name: Defining Packages as PreRelease items: - name: Defining a Module as PreRelease href: concepts/module-prerelease-support.md diff --git a/gallery/bread/toc.yml b/gallery/bread/toc.yml index 1910fbb6ac28..c61a9dacf3aa 100644 --- a/gallery/bread/toc.yml +++ b/gallery/bread/toc.yml @@ -1,4 +1,4 @@ -- name: PowerShell +- name: PowerShell tocHref: /powershell/ topicHref: /powershell items: diff --git a/gallery/concepts/module-license-acceptance.md b/gallery/concepts/module-license-acceptance.md index 98586294c7ee..ee4b5652132e 100644 --- a/gallery/concepts/module-license-acceptance.md +++ b/gallery/concepts/module-license-acceptance.md @@ -8,7 +8,7 @@ title: Modules Requiring License Acceptance ## SYNOPSIS -Legal departments for some module publishers require that customers must explicitly accept the license before installing their module from PowerShell Gallery. If a user installs, updates, or saves a module using PowerShellGet, whether directly or as a dependency for another item, and that module requires the user to agree to a license, the user must indicate they accept the license or the operation fails. +Legal departments for some module publishers require that customers must explicitly accept the license before installing their module from PowerShell Gallery. If a user installs, updates, or saves a module using PowerShellGet, whether directly or as a dependency for another package, and that module requires the user to agree to a license, the user must indicate they accept the license or the operation fails. ## Publish Requirements for Modules @@ -37,7 +37,7 @@ Modules that would like to require users to accept license should fulfill follow - During Install/Save/Update operation, if a dependent module(something else depends on the module) requires license acceptance, then the license acceptance behavior (above) will be required. - If the module version is already listed in the local catalog as being installed on the system, we would bypass the license checking. -- During Install/Save/Update operation, if a dependent module requires a license, and the license acceptance does not occur, the operation will fail and follow normal processes for the item failed to install/save/update. +- During Install/Save/Update operation, if a dependent module requires a license, and the license acceptance does not occur, the operation will fail and follow normal processes for the package failed to install/save/update. ## Impact on -Force @@ -213,6 +213,6 @@ Module is updated without any prompt to accept license. [Require License Acceptance for Scripts](./script-license-acceptance.md) -[Require License Acceptance support on PowerShellGallery](../how-to/working-with-items/items-that-require-license-acceptance.md) +[Require License Acceptance support on PowerShellGallery](../how-to/working-with-packages/packages-that-require-license-acceptance.md) -[Require License Acceptance on Deploy to Azure Automation](../how-to/working-with-items/deploy-to-azure-automation.md) \ No newline at end of file +[Require License Acceptance on Deploy to Azure Automation](../how-to/working-with-packages/deploy-to-azure-automation.md) diff --git a/gallery/concepts/module-prerelease-support.md b/gallery/concepts/module-prerelease-support.md index c926f713774d..137544381d0c 100644 --- a/gallery/concepts/module-prerelease-support.md +++ b/gallery/concepts/module-prerelease-support.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 09/26/2017 contributor: keithb keywords: gallery,powershell,cmdlet,psget @@ -7,7 +7,7 @@ title: Prerelease Module Versions # Prerelease Module Versions Starting with version 1.6.0, PowerShellGet and the PowerShell Gallery provide support for tagging -versions greater than 1.0.0 as a prerelease. Prior to this feature, prerelease items were limited +versions greater than 1.0.0 as a prerelease. Prior to this feature, prerelease packages were limited to having a version beginning with 0. The goal of these features is to provide greater support for [SemVer v1.0.0](http://semver.org/spec/v1.0.0.html) versioning convention without breaking backwards compatibility with PowerShell versions 3 and above, or existing versions of @@ -20,10 +20,10 @@ At a high level, the prerelease module features include: - Adding a Prerelease string to the PSData section of the module manifest identifies the module as a prerelease version. When the module is published to the PowerShell Gallery, this data is - extracted from the manifest, and used to identify prerelease items. -- Acquiring prerelease items requires adding `-AllowPrerelease` flag to the PowerShellGet commands + extracted from the manifest, and used to identify prerelease packages. +- Acquiring prerelease packages requires adding `-AllowPrerelease` flag to the PowerShellGet commands `Find-Module`, `Install-Module`, `Update-Module`, and `Save-Module`. If the flag is not specified, - prerelease items will not be shown. + prerelease packages will not be shown. - Module versions displayed by `Find-Module`, `Get-InstalledModule`, and in the PowerShell Gallery will be displayed as a single string with the Prerelease string appended, as in 2.5.0-alpha. @@ -67,7 +67,7 @@ The detailed requirements for Prerelease string are: included in the Prerelease string as the first character, only. - The Prerelease string may contain only ASCII alphanumerics [0-9A-Za-z-]. It is a best practice to begin the Prerelease string with an alpha character, as it will be easier to identify that this - is a prerelease version when scanning a list of items. + is a prerelease version when scanning a list of packages. - Only SemVer v1.0.0 prerelease strings are supported at this time. Prerelease string **must not** contain either period or + [.+], which are allowed in SemVer 2.0. - Examples of supported Prerelease string are: -alpha, -alpha1, -BETA, -update20171020 @@ -88,12 +88,12 @@ When publishing to the PowerShell Gallery, by default the version of the module must have a greater version than any previously-published version that is in the PowerShell Gallery. -## Finding and acquiring prerelease items using PowerShellGet commands +## Finding and acquiring prerelease packages using PowerShellGet commands -Dealing with prerelease items using PowerShellGet Find-Module, Install-Module, Update-Module, and +Dealing with prerelease packages using PowerShellGet Find-Module, Install-Module, Update-Module, and Save-Module commands requires adding the -AllowPrerelease flag. If -AllowPrerelease is specified, -prerelease items will be included if they are present. If -AllowPrerelease flag is not specified, -prerelease items will not be shown. +prerelease packages will be included if they are present. If -AllowPrerelease flag is not specified, +prerelease packages will not be shown. The only exceptions to this in the PowerShellGet module commands are Get-InstalledModule, and some cases with Uninstall-Module. @@ -212,10 +212,10 @@ C:\windows\system32> Uninstall-Module TestPackage -RequiredVersion 1.9.0-beta Uninstall-Module : The '-AllowPrerelease' parameter must be specified when using the Prerelease string in MinimumVersion, MaximumVersion, or RequiredVersion. At line:1 char:1 -+ Unnstall-Module TestPackage -RequiredVersion 1.9.0-beta ++ Uninstall-Module TestPackage -RequiredVersion 1.9.0-beta + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Uninstall-Module], ArgumentException - + FullyQualifiedErrorId : AllowPrereleaseRequiredToUsePrereleaseStringInVersion,Uninnstall-Module + + FullyQualifiedErrorId : AllowPrereleaseRequiredToUsePrereleaseStringInVersion,Uninstall-Module C:\windows\system32> Uninstall-Module TestPackage -RequiredVersion 1.9.0-beta -AllowPrerelease C:\windows\system32> Get-InstalledModule TestPackage -AllVersions @@ -243,4 +243,4 @@ Version Name Repository Description - [Save-Module](/powershell/module/powershellget/save-module) - [Update-Module](/powershell/module/powershellget/Update-Module) - [Get-InstalledModule](/powershell/module/powershellget/get-installedmodule) -- [UnInstall-Module](/powershell/module/powershellget/uninstall-module) \ No newline at end of file +- [UnInstall-Module](/powershell/module/powershellget/uninstall-module) diff --git a/gallery/concepts/module-psedition-support.md b/gallery/concepts/module-psedition-support.md index 2c9f690335b4..b42fb8c960da 100644 --- a/gallery/concepts/module-psedition-support.md +++ b/gallery/concepts/module-psedition-support.md @@ -1,5 +1,5 @@ --- -ms.date: 06/12/2017 +ms.date: 03/28/2019 contributor: manikb keywords: gallery,powershell,cmdlet,psget title: Modules with compatible PowerShell Editions @@ -9,31 +9,14 @@ title: Modules with compatible PowerShell Editions Starting with version 5.1, PowerShell is available in different editions which denote varying feature sets and platform compatibility. -- **Desktop Edition:** Built on .NET Framework and provides compatibility with scripts and modules - targeting versions of PowerShell running on full footprint editions of Windows such as Server - Core and Windows Desktop. -- **Core Edition:** Built on .NET Core and provides compatibility with scripts and modules - targeting versions of PowerShell running on reduced footprint editions of Windows such as Nano - Server and Windows IoT. +- **Desktop Edition:** Built on .NET Framework, applies to Windows PowerShell v4.0 and below as well + as Windows PowerShell 5.1 on Windows Desktop, Windows Server, Windows Server Core and most other + Windows editions. +- **Core Edition:** Built on .NET Core, applies to PowerShell Core 6.0 and above as well as + Windows PowerShell 5.1 on reduced footprint Windows Editions such as Windows IoT and Windows + Nanoserver. -The running edition of PowerShell is shown in the PSEdition property of `$PSVersionTable`. - -```powershell -$PSVersionTable -``` - -```output -Name Value ----- ----- -PSVersion 5.1.14300.1000 -PSEdition Desktop -PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} -CLRVersion 4.0.30319.42000 -BuildVersion 10.0.14300.1000 -WSManStackVersion 3.0 -PSRemotingProtocolVersion 2.3 -SerializationVersion 1.1.0.1 -``` +For more information on PowerShell editions, see [about_PowerShell_Editions][]. ## Declaring compatible editions @@ -43,7 +26,7 @@ later. > [!NOTE] > Once a module manifest is specified with the CompatiblePSEditions key, it can not be imported on -> lower versions of PowerShell. +> PowerShell versions 4 and below. ```powershell New-ModuleManifest -Path .\TestModuleWithEdition.psd1 -CompatiblePSEditions Desktop,Core -PowerShellVersion 5.1 @@ -51,7 +34,7 @@ $ModuleInfo = Test-ModuleManifest -Path .\TestModuleWithEdition.psd1 $ModuleInfo.CompatiblePSEditions ``` -```output +```Output Desktop Core ``` @@ -60,7 +43,7 @@ Core $ModuleInfo | Get-Member CompatiblePSEditions ``` -```output +```Output TypeName: System.Management.Automation.PSModuleInfo Name MemberType Definition @@ -74,7 +57,7 @@ When getting a list of available modules, you can filter the list by PowerShell Get-Module -ListAvailable -PSEdition Desktop ``` -```output +```Output Directory: C:\Program Files\WindowsPowerShell\Modules @@ -87,7 +70,7 @@ Manifest 1.0 ModuleWithPSEditions Get-Module -ListAvailable -PSEdition Core | % CompatiblePSEditions ``` -```output +```Output Desktop Core ``` @@ -227,7 +210,7 @@ Sample module manifest file with CompatiblePSEditions key dir -Recurse ``` -```output +```Output Directory: C:\Users\manikb\Documents\WindowsPowerShell\Modules\ModuleWithEditions Mode LastWriteTime Length Name @@ -271,6 +254,10 @@ Find-Module -Tag PSEdition_Core [Scripts with PSEditions](script-psedition-support.md) -[PSEditions support on PowerShellGallery](../how-to/finding-items/searching-by-psedition.md) +[PSEditions support on PowerShellGallery](../how-to/finding-packages/searching-by-compatibility.md) + +[Update module manifest](/powershell/module/powershellget/update-modulemanifest) + +[about_PowerShell_Editions][] -[Update module manifest](/powershell/module/powershellget/update-modulemanifest) \ No newline at end of file +[about_PowerShell_Editions]: /powershell/module/Microsoft.PowerShell.Core/About/about_PowerShell_Editions diff --git a/gallery/concepts/item-manifest-affecting-ui.md b/gallery/concepts/package-manifest-affecting-ui.md similarity index 78% rename from gallery/concepts/item-manifest-affecting-ui.md rename to gallery/concepts/package-manifest-affecting-ui.md index 3c37f1fcf690..669d0a999de2 100644 --- a/gallery/concepts/item-manifest-affecting-ui.md +++ b/gallery/concepts/package-manifest-affecting-ui.md @@ -2,9 +2,9 @@ ms.date: 06/09/2017 schema: 2.0.0 keywords: powershell -title: Item manifest values that impact the PowerShell Gallery UI +title: Package manifest values that impact the PowerShell Gallery UI --- -# Item manifest values that impact the PowerShell Gallery UI +# Package manifest values that impact the PowerShell Gallery UI This topic provides publishers with summary information on how to modify the manifest for their PowerShell Gallery publications so that features of PowerShellGet cmdlets and the PowerShell @@ -18,20 +18,20 @@ two topics that provide manifest examples: ## PowerShell Gallery Feature Elements Controlled by the Manifest -The table below shows the elements of the PowerShell Gallery item page UI that are controlled by +The table below shows the elements of the PowerShell Gallery package page UI that are controlled by the publisher. Each item indicates if it may be controlled by the module or script manifest. | UI Element | Description | Module | Script | | --- | --- | --- | --- | -| **Title** | This is the name of the item that is published to the Gallery | No | No | +| **Title** | This is the name of the package that is published to the Gallery | No | No | | **Version** | The version displayed is the version string in the metadata, and a prerelease if is specified. The primary portion of the version in a Module manifest is the ModuleVersion. For a script, it is identified as .VERSION. If a prerelease version string is specified, it will be appended to the ModuleVersion for modules, or specified as part of .VERSION for scripts. There is documentation for specifying prerelease strings in [modules](module-prerelease-support.md), and in [scripts](script-prerelease-support.md) | Yes | Yes | | **Description** | This is the Description in the module manifest, and in a script file manifest it is .DESCRIPTION | Yes | Yes | -| **Require license acceptance** | A module can require that the user accept a license, by modifying the module manifest with RequireLicenseAcceptance = $true, supplying a LicenseURI, and providing a license.txt file in the root of the module folder. Additional information is available in the [Require License Acceptance](../how-to/working-with-items/items-that-require-license-acceptance.md) topic. | Yes | No | +| **Require license acceptance** | A module can require that the user accept a license, by modifying the module manifest with RequireLicenseAcceptance = $true, supplying a LicenseURI, and providing a license.txt file in the root of the module folder. Additional information is available in the [Require License Acceptance](../how-to/working-with-packages/packages-that-require-license-acceptance.md) topic. | Yes | No | | **Release notes** | For modules, this information is drawn from the ReleaseNotes section, under PSData\PrivateData. In script manifests, it is the .RELEASENOTES element. | Yes | Yes | -| **Owners** | Owners are the list of users in the PowerShell Gallery who can update an item. The owner list is not included in the item manifest. Additional documentation describes how to [manage item owners](../how-to/publishing-items/managing-item-owners.md). | No | No | -| **Author** | This is included in the module manifest as the Author, and in a script manifest as .AUTHOR. The Author field is often used to specify a company or organization associated with an item. | Yes | Yes | +| **Owners** | Owners are the list of users in the PowerShell Gallery who can update a package. The owner list is not included in the package manifest. Additional documentation describes how to [manage item owners](../how-to/publishing-packages/managing-package-owners.md). | No | No | +| **Author** | This is included in the module manifest as the Author, and in a script manifest as .AUTHOR. The Author field is often used to specify a company or organization associated with a package. | Yes | Yes | | **Copyright** | This is the Copyright field in the module manifest, and .COPYRIGHT in a script manifest. | Yes | Yes | -| **FileList** | The file list is drawn from the package when it is published to the PowerShell Gallery. It is not controllable by the manifest information. Note: there is an additional .nuspec file listed with each item in the PowerShell Gallery that is not present after installing the item on a system. This is the Nuget package manifest for the item, and may be ignored. | No | No | +| **FileList** | The file list is drawn from the package when it is published to the PowerShell Gallery. It is not controllable by the manifest information. Note: there is an additional .nuspec file listed with each package in the PowerShell Gallery that is not present after installing the package on a system. This is the Nuget package manifest for the package, and may be ignored. | No | No | | **Tags** | For modules, Tags are included under PSData\PrivateData. For scripts, the section is labelled .TAGS. Note that tags cannot contain spaces, even when they are in quotes. Tags have additional requirements and meanings, which are described later in this topic in the Tag Details section. | Yes | Yes | | **Cmdlets** | This is provided in the module manifest using CmdletsToExport. Note that the best practice is to explicitly list the items, rather than using the wildcard “*â€, as that will improve the load-module performance for users. | Yes | No | | **Functions** | This is provided in the module manifest using FunctionsToExport. Note that the best practice is to explicitly list the items, rather than using the wildcard “*â€, as that will improve the load-module performance for users. | Yes | No | @@ -40,17 +40,17 @@ the publisher. Each item indicates if it may be controlled by the module or scri | **Role capabilities** | This will be listed when the module published to the PowerShell Gallery contains one or more role capability (.psrc) files, which are used by JEA. See the JEA documentation for more details on [role capabilities](/powershell/jea/role-capabilities). | Yes | No | | **PowerShell Editions** | This is specified in a script or module manifest. For modules designed to be used with PowerShell 5.0 and below, this is controlled using Tags. For Desktop, use the tag PSEdition_Desktop, and for core, use the tag PSEdition_Core. For modules that will be used only on PowerShell 5.1 and above, there is a CompatiblePSEditions key in the main manifest. For additional detail, review the PS Edition feature in [the PowerShell Get documentation](module-psedition-support.md). | Yes | Yes | | **Dependencies** | Dependencies are the modules in the PowerShell Gallery that are declared in either the module as RequiredModules, or in the script manifest as #Requires –Module (name). | Yes | Yes | -| **Minimum Powershell version** | This can be specified in a module manifest as PowerShellVersion | Yes | No | -| **Version History** | The version history reflects the updates made to a module in the PowerShell Gallery. If a version of an item is hidden using the Delete feature, it will not be displayed in the version history, except to the item owners. | No | No | +| **Minimum PowerShell version** | This can be specified in a module manifest as PowerShellVersion | Yes | No | +| **Version History** | The version history reflects the updates made to a module in the PowerShell Gallery. If a version of a package is hidden using the Delete feature, it will not be displayed in the version history, except to the package owners. | No | No | | **Project Site** | The project site is provided for modules in the Privatedata\PSData section of the module manifest by specifying a ProjectURI. In the script manifest, it is controlled by specifying .PROJECTURI. | Yes | Yes | -| **License** | A license link is provided for modules in the Privatedata\PSData section of the module manifest by specifying a LicenseURI. In the script manifest, it is controlled by specifying .LICENSEURI. It is important to note that if a license is not provided via the LicenseURI, or within a module, then the terms of use for the PowerShell Gallery specify the terms of use for the item. See the terms of use for details. | Yes | Yes | -| **Icon** | An icon can be specified for any item in the PowerShell Gallery by supplying the IconURI flag in the script manifest, or in the Privatedata-PSData section of the module manifest. The IconURI should point to a 32x32 image with transparency background. The URI **must** be a direct image URL and **must not** go to a web page containing the image, or a file in the PowerShell Gallery package. | Yes | Yes | +| **License** | A license link is provided for modules in the Privatedata\PSData section of the module manifest by specifying a LicenseURI. In the script manifest, it is controlled by specifying .LICENSEURI. It is important to note that if a license is not provided via the LicenseURI, or within a module, then the terms of use for the PowerShell Gallery specify the terms of use for the package. See the terms of use for details. | Yes | Yes | +| **Icon** | An icon can be specified for any package in the PowerShell Gallery by supplying the IconURI flag in the script manifest, or in the Privatedata-PSData section of the module manifest. The IconURI should point to a 32x32 image with transparency background. The URI **must** be a direct image URL and **must not** go to a web page containing the image, or a file in the PowerShell Gallery package. | Yes | Yes | -## Editing item details +## Editing package details -The PowerShell Gallery Edit item page allows publishers to change several of the fields displayed -for an item, specifically: +The PowerShell Gallery Edit package page allows publishers to change several of the fields displayed +for a package, specifically: - Title - Description @@ -65,18 +65,18 @@ for an item, specifically: This approach is not generally recommended, except when needed to correct what is displayed for an older version of a module. Users who acquire the module will see the metadata does not match what -is displayed in the PowerShell Gallery, which raises concerns about the item. This will frequently -result in inquiries going to to the item owners to confirm the change. It is strongly recommended -that any time this approach is used, a new version of the item should be published with the same +is displayed in the PowerShell Gallery, which raises concerns about the package. This will frequently +result in inquiries going to the package owners to confirm the change. It is strongly recommended +that any time this approach is used, a new version of the package should be published with the same changes. ## Tag Details -Tags are simple strings consumers use to find items. Tags are most valuable when they are used -consistently across many items related to the same topic. Using multiple flavors of the same word +Tags are simple strings consumers use to find packages. Tags are most valuable when they are used +consistently across many packages related to the same topic. Using multiple flavors of the same word (for example database and databases, or test and testing) typically provides little benefit. Tags are single-word case-insensitive strings and cannot include blanks. If there is a phrase you -believe users will search for, add that to the item description and it will be found in the search +believe users will search for, add that to the package description and it will be found in the search results. Use Pascal casing, hyphen, underscore, or period if you are trying to improve readability. Be cautious about creating long, complex, and unusual tags, as they are often misspelled. @@ -85,9 +85,9 @@ treat them uniquely. PSEdition_Desktop and PSEdition_Core are the specific examp described above. As noted above, tags provide the most value when they are specific, and used consistently across -many items. As a publisher trying to locate the best tags to use, the easiest approach is to search -the PowerShell Gallery for tags you are considering. Ideally, there will be many items returned, -and the item descriptions will align with your use of that key word. +many packages. As a publisher trying to locate the best tags to use, the easiest approach is to search +the PowerShell Gallery for tags you are considering. Ideally, there will be many packages returned, +and the package descriptions will align with your use of that key word. For reference, here are some most commonly used tags as of 12/14/2017. In some cases, there are similar but perhaps less ideal options listed beside the tag. It is a best practice to use the @@ -155,5 +155,5 @@ Preferred Tag, as that will result in less noise, and better search results for | AzureRm | Used primarily for the AzureRM modules | | Zip | | | MSI | | -| Mac | | -| PoshBot | | \ No newline at end of file +| MacOS | | +| PoshBot | | diff --git a/gallery/concepts/publishing-guidelines.md b/gallery/concepts/publishing-guidelines.md index 71c31f4593b3..9f36116969c5 100644 --- a/gallery/concepts/publishing-guidelines.md +++ b/gallery/concepts/publishing-guidelines.md @@ -7,30 +7,31 @@ title: PowerShell Gallery Publishing Guidelines and Best Practices --- # PowerShellGallery Publishing Guidelines and Best Practices -This topic describes recommended steps used by Microsoft teams to ensure the items published to +This topic describes recommended steps used by Microsoft teams to ensure the packages published to the PowerShell Gallery will be widely adopted and provide high value to users, based on how the PowerShell Gallery handles manifest data and on feedback from large numbers of PowerShell Gallery users. -Items that are published following these guidelines will be more likely to be installed, trusted, and attract more users. +Packages that are published following these guidelines will be more likely to be installed, trusted, and attract more users. -Included below are guidelines for what makes a good PowerShell Gallery item, what optional Manifest settings are most important, +Included below are guidelines for what makes a good PowerShell Gallery package, what optional Manifest settings are most important, improving your code with feedback from initial reviewers and [Powershell Script Analyzer](https://aka.ms/psscriptanalyzer), versioning your module, documentation, tests & examples for how to use what you have shared. Much of this documentation follows the guidelines for publishing [High Quality DSC Resource Modules](https://github.com/PowerShell/DscResources/blob/master/HighQualityModuleGuidelines.md). -For the mechanics of publishing an item to the PowerShell Gallery, see [Creating and Publishing an Item](https://msdn.microsoft.com/powershell/gallery/psgallery/creating-and-publishing-an-item). +For the mechanics of publishing a package to the PowerShell Gallery, see [Creating and Publishing a Package](/powershell/gallery/how-to/publishing-packages/publishing-a-package). -Feedback on these guidelines is welcomed. If you do have feedback, please open issues in our [Github documentation repository](https://github.com/powershell/powershell-docs/). +Feedback on these guidelines is welcomed. If you do have feedback, please open issues in our [Github documentation repository](https://github.com/powershell/powershell-docs/issues). -## Best practices for publishing items +## Best practices for publishing packages The following best practices are what the users of PowerShell Gallery items say is important, and are listed in nominal priority order. -Items that follow these guidelines are far more likely to be downloaded and adopted by others. +Packages that follow these guidelines are far more likely to be downloaded and adopted by others. - Use PSScriptAnalyzer - Include documentation and examples - Be responsive to feedback - Provide modules rather than scripts - Provide links to a project site +- Tag your package with the compatible PSEdition(s) and platforms - Include tests with your modules - Include and/or link to license terms - Sign your code @@ -46,7 +47,7 @@ Each of these is covered briefly in the sections below. [PSScriptAnalyzer](https://www.powershellgallery.com/packages/PSScriptAnalyzer) is a free static code analysis tool that works on PowerShell code. PSScriptAnalyzer will identify the most common issues seen in PowerShell code, and often a recommendation for how to fix the issue. The tool is easy to use, and categorizes the issues as Errors (severe, must be addressed), Warning (need to be reviewed & should be addressed), and Information (worth checking out for best practices). -All items item published to the PowerShell Gallery will be scanned using PSScriptAnalyzer, and any errors will be reported back to the owner and must be addressed. +All packages published to the PowerShell Gallery will be scanned using PSScriptAnalyzer, and any errors will be reported back to the owner and must be addressed. The best practice is to run `Invoke-ScriptAnalyzer` with `-Recurse` and `-Severity` Warning. @@ -55,27 +56,27 @@ Review the results, and ensure that: - All Errors are corrected or addressed in your documentation - All Warnings are reviewed, and addressed where applicable -Users who acquire items from the PowerShell Gallery are strongly encouraged to run PSScriptAnalyzer and evaluate all Errors and Warnings. -Users are very likely to contact item owners if they see that there is an error reported by PSScriptAnalyzer. -If there is a compelling reason for your item to keep code that is flagged as an error, add that information to your documentation to avoid having to answer the same question many times. +Users who acquire packages from the PowerShell Gallery are strongly encouraged to run PSScriptAnalyzer and evaluate all Errors and Warnings. +Users are very likely to contact package owners if they see that there is an error reported by PSScriptAnalyzer. +If there is a compelling reason for your package to keep code that is flagged as an error, add that information to your documentation to avoid having to answer the same question many times. ## Include documentation and examples Documentation and examples are the best way to ensure users can take advantage of any shared code. -Documentation is the most helpful thing to include in items published to the PowerShell Gallery. -Users will generally bypass items without documentation, as the alternative is to read the code to understand what the item is and how to use it. -There are several articles available in MSDN on how to provide documentation with PowerShell items, including: +Documentation is the most helpful thing to include in packages published to the PowerShell Gallery. +Users will generally bypass packages without documentation, as the alternative is to read the code to understand what the package is and how to use it. +There are several articles available about how to provide documentation with PowerShell packages, including: - Guidelines for providing help are in [How to Write Cmdlet Help](https://go.microsoft.com/fwlink/?LinkID=123415) - Creating cmdlet help, which is the best approach for any PowerShell script, function, or cmdlet. - For information about how to create cmdlet help, start with [How to Write Cmdlet Help](https://go.microsoft.com/fwlink/?LinkID=123415) in the MSDN library. - To add help within a script, see [About Comment Based Help](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/about/about_comment_based_help). + For information about how to create cmdlet help, start with [How to Write Cmdlet Help](https://go.microsoft.com/fwlink/?LinkID=123415). + To add help within a script, see [About Comment Based Help](/powershell/module/microsoft.powershell.core/about/about_comment_based_help). - Many modules also include documentation in text format, such as MarkDown files. This can be particularly helpful when there is a project site in Github, where Markdown is a heavily used format. The best practice is to use [Github-flavored Markdown](https://help.github.com/categories/writing-on-github/) -Examples show users how the item is intended to be used. +Examples show users how the package is intended to be used. Many developers will say that they look at examples before documentation to understand how to use something. The best type of examples show basic use, plus a simulated realistic use case, and the code is well-commented. Examples for modules published to the PowerShell Gallery should be in an Examples folder under the module root. @@ -85,16 +86,16 @@ There are four sample use cases with a brief description at the top of each file ## Respond to feedback -Item owners who respond properly to feedback are highly valued by the community. -Users who provide constructive feedback are important to respond to, as they are interested enough in the item to try to help improve it. +Package owners who respond properly to feedback are highly valued by the community. +Users who provide constructive feedback are important to respond to, as they are interested enough in the package to try to help improve it. There are two feedback methods available in the PowerShell Gallery: -- Contact Owner: This allows a user to send an email to the item owner(s). As an item owner, is important to monitor the email address used with the PowerShell Gallery items, and respond to issues that are raised. The one disadvantage to this method is that only the user and owner will ever see the communication, so the owner may have to answer the same question many times. -- Comments: At the bottom of the item page is a Comment field. +- Contact Owner: This allows a user to send an email to the package owner(s). As an package owner, is important to monitor the email address used with the PowerShell Gallery packages, and respond to issues that are raised. The one disadvantage to this method is that only the user and owner will ever see the communication, so the owner may have to answer the same question many times. +- Comments: At the bottom of the package page is a Comment field. The advantage to this system is that other users can see the comments and responses, which reduces the number of times any single question must be answered. - As an item owner, it is strongly recommended that you Follow the comments made for each item. -See [Providing Feedback via Social Media or Comments](../how-to/working-with-items/social-media-feedback.md) for details on how to do that. + As a package owner, it is strongly recommended that you Follow the comments made for each package. +See [Providing Feedback via Social Media or Comments](../how-to/working-with-packages/social-media-feedback.md) for details on how to do that. Owners who respond to feedback constructively are appreciated by the community. Use the opportunity in the report to request more information if needed, provide a workaround, or identify if an update fixes a problem. @@ -107,7 +108,7 @@ Sharing a script with other users is great, and provides others with examples of The issue is that scripts in the PowerShell Gallery are single files without separate documentation, examples, and tests. PowerShell Modules have a folder structure that allows multiple folders and files to be included with the package. -The module structure enables including the other items we list as best practices: cmdlet help, documentation, examples, and tests. +The module structure enables including the other packages we list as best practices: cmdlet help, documentation, examples, and tests. The biggest disadvantage is that a script inside a module must be exposed and used as a function. For information on how to create a module, see [Writing a Windows PowerShell Module](http://go.microsoft.com/fwlink/?LinkId=144916). @@ -121,9 +122,9 @@ Providing comment-based documentation and a link to a Project Site are highly re ## Provide a link to a project site -A Project Site is where a publisher can interact directly with the users of their PowerShell Gallery items. -Users prefer items that provide this, as it allows them to get information about the item more easily. -Many items in the PowerShell Gallery are developed in GitHub, others are provided by organizations with a dedicated web presence. +A Project Site is where a publisher can interact directly with the users of their PowerShell Gallery packages. +Users prefer packages that provide this, as it allows them to get information about the package more easily. +Many packages in the PowerShell Gallery are developed in GitHub, others are provided by organizations with a dedicated web presence. Each of these can be considered a project site. Adding a link is done by including ProjectURI in the PSData section of the manifest as follows: @@ -131,7 +132,22 @@ Adding a link is done by including ProjectURI in the PSData section of the manif # A URL to the main website for this project. ProjectUri = 'https://github.com/powershell/powershell' -When a ProjectURI is provided, the PowerShell Gallery will include a link to the Project Site on the left side of the item page. +When a ProjectURI is provided, the PowerShell Gallery will include a link to the Project Site on the left side of the package page. + +## Tag your package with the compatible PSEdition(s) and platforms + +Use the following tags to demonstrate to users which packages will work well with their environment: + +- PSEdition_Desktop : Packages that are compatible with Windows PowerShell +- PSEdition_Core : Packages that are compatible with PowerShell Core +- Windows : Packages that are compatible with the Windows Operating System +- Linux : Packages that are compatible with Linux Operating Systems +- MacOS : Packages that are compatible with the Mac Operating System + +By tagging your package with the compatible platform(s) it will be included in the Gallery search +filters on the left pane of the search results. If you host your package on GitHub, when you tag your package, you can also +take advantage of our [PowerShell Gallery compability shields](https://img.shields.io/powershellgallery/p/:packageName.svg) +![compatibility shield](https://img.shields.io/powershellgallery/p/CosmosDB.svg). ## Include tests @@ -146,7 +162,7 @@ The targets for test coverage are called out in the [High Quality Resource Modul ## Include and/or link to license terms -All items published to the PowerShell Gallery must specify the license terms, or +All packages published to the PowerShell Gallery must specify the license terms, or be bound by the license included in the [Terms of Use](https://www.powershellgallery.com/policies/Terms) under "Exhibit A". The best approach to specifying a different license is to provide a link to the license using the LicenseURI in PSData. You can find an example in the Recommended Manifest Fields topic. @@ -164,7 +180,7 @@ PrivateData = @{ ## Sign your code -Code signing provides users with the highest level of assurance for who published the item, and that the copy of the code they acquire is exactly what the publisher released. +Code signing provides users with the highest level of assurance for who published the package, and that the copy of the code they acquire is exactly what the publisher released. To learn more about code signing generally, see [Introduction to Code Signing](http://go.microsoft.com/fwlink/?LinkId=106296). PowerShell supports validation of code signing through two primary approaches: @@ -172,26 +188,26 @@ PowerShell supports validation of code signing through two primary approaches: - Catalog signing a module Signing PowerShell files is a well-established approach to ensuring that the code being executed was produced by a reliable source, and has not been modified. -Details on how to sign PowerShell script files is covered in the [About Signing](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/about/about_signing) topic. +Details on how to sign PowerShell script files is covered in the [About Signing](/powershell/module/microsoft.powershell.core/about/about_signing) topic. In overview, a signature can be added to any .PS1 file that PowerShell validates when the script is loaded. -PowerShell can be constrained using the [Execution Policy](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/about/about_execution_policies) cmdlets to ensure use of signed scripts. +PowerShell can be constrained using the [Execution Policy](/powershell/module/microsoft.powershell.core/about/about_execution_policies) cmdlets to ensure use of signed scripts. Catalog signing modules is a feature added to PowerShell in version 5.1. -How to sign a module is covered in the [Catalog Cmdlets](https://msdn.microsoft.com/powershell/wmf/5.1/catalog-cmdlets) topic. +How to sign a module is covered in the [Catalog Cmdlets](/powershell/wmf/5.1/catalog-cmdlets) topic. In overview, catalog signing is done by creating a catalog file, which contains a hash value for every file in the module, and then signing that file. -The PowerShellGet publish-module, install-module, save-module, and update-module cmdlets will check the signature to ensure it is valid, then confirm that the hash value for each item matches what is in the catalog. +The PowerShellGet publish-module, install-module, save-module, and update-module cmdlets will check the signature to ensure it is valid, then confirm that the hash value for each package matches what is in the catalog. If a previous version of the module is installed on the system, install-module will confirm that the signing authority for the new version matches what was previously installed. Catalog signing works with, but does not replace signing script files. PowerShell does not validate catalog signatures at module load time. ## Follow SemVer guidelines for versioning -[SemVer](http://semver.org/) is a public convention that describes how to structure and change a version to allow easy intepretation of changes. -The version for your item must be included in the manifest data. +[SemVer](http://semver.org/) is a public convention that describes how to structure and change a version to allow easy interpretation of changes. +The version for your package must be included in the manifest data. - The version should be structured as 3 numeric blocks separated by periods, as in 0.1.1 or 4.11.192 -- Versions starting with "0" indicate that the item is not yet production ready, and the first number should only begin with "0" if that is the only number used +- Versions starting with "0" indicate that the package is not yet production ready, and the first number should only begin with "0" if that is the only number used - Changes in the first number (1.9.9999 to 2.0.0) indicate major and breaking changes between the versions -- Changes to the second number (1.01 to 1.02) indicate feature-level changes, such as adding new cmdlets to a module +- Changes to the second number (1.1 to 1.2) indicate feature-level changes, such as adding new cmdlets to a module - Changes to the third number indicate non-breaking changes, such as new parameters, updated samples, or new tests - When listing versions, PowerShell will sort the versions as strings, so 1.01.0 will be treated as greater than 1.001.0 @@ -212,22 +228,22 @@ This can be done in a few ways, including: With any of these solutions, use Register-PSRepository to define a new "repository", which you use in the -Repository property for Publish-Module. -One additional point about test publishing: any item you publish to the PowerShell Gallery cannot be deleted without help from the operations team, who will confirm that nothing is dependent upon the item you wish to publish. +One additional point about test publishing: any package you publish to the PowerShell Gallery cannot be deleted without help from the operations team, who will confirm that nothing is dependent upon the package you wish to publish. For that reason, we do not support the PowerShell Gallery as a testing target, and will contact any publisher who does so. ## Use PowerShellGet to publish -It is strongly recommended that publishers use the Publish-Module and Publish-Script cmdlets when working with the PowerShell Gallery. -PowerShellGet has been created to help you avoid remembering important details about installing from an publishing to the PowerShell Gallery. -On occasion, publishers have chosen to skip PowerShellGet and use the NuGet client, or PackageManagement cmdlets, instead of Publish-Module. +It is strongly recommended that publishers use the Publish-Module and Publish-Script cmdlets when working with the PowerShell Gallery. +PowerShellGet has been created to help you avoid remembering important details about installing from and publishing to the PowerShell Gallery. +On occasion, publishers have chosen to skip PowerShellGet and use the NuGet client, or PackageManagement cmdlets, instead of Publish-Module. There are a number of details that are easily missed, which results in a variety of support requests. -If there is a reason that you cannot use Publish-Module or Publish-Script, please let us know. -File an issue in the PowerShellGet GitHub repo, and provide the details that cause you to choose NuGet or PackageManagement. +If there is a reason that you cannot use Publish-Module or Publish-Script, please let us know. +File an issue in the PowerShellGet GitHub repo, and provide the details that cause you to choose NuGet or PackageManagement. ## Recommended workflow -The most successful approach we have found for items published to the PowerShell Gallery is this: +The most successful approach we have found for packages published to the PowerShell Gallery is this: - Do initial development in a an open-source project site. The PowerShell Team uses Github. - Use feedback from reviewers and [Powershell Script Analyzer](https://aka.ms/psscriptanalyzer) to get the code to stable state @@ -236,7 +252,6 @@ The most successful approach we have found for items published to the PowerShell - Publish a stable or Alpha release to the PowerShell Gallery, making sure to include the documentation and link to your project site - Gather feedback and iterate on the code in your project site, then publish stable updates to the PowerShell Gallery - Add examples and Pester tests in your project and your module -- Decide if you want to code sign your item +- Decide if you want to code sign your package - When you feel the project is ready to use in a production environment, publish a 1.0.0 version to the PowerShell Gallery - Continue to gather feedback and iterate on your code based on user input - diff --git a/gallery/concepts/script-license-acceptance.md b/gallery/concepts/script-license-acceptance.md index 0e742b7c39fb..670c626364e0 100644 --- a/gallery/concepts/script-license-acceptance.md +++ b/gallery/concepts/script-license-acceptance.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/09/2017 schema: 2.0.0 keywords: powershell @@ -43,5 +43,5 @@ PS> Install-Script -Name ScriptRequireLicenseAcceptance -AcceptLicense ## More details - [Require License Acceptance support for Modules](module-license-acceptance.md) -- [Require License Acceptance support on PowerShellGallery](../how-to/working-with-items/items-that-require-license-acceptance.md) -- [Require License Acceptance on Deploy to Azure Automation](../how-to/working-with-items/deploy-to-azure-automation.md) \ No newline at end of file +- [Require License Acceptance support on PowerShellGallery](../how-to/working-with-packages/packages-that-require-license-acceptance.md) +- [Require License Acceptance on Deploy to Azure Automation](../how-to/working-with-packages/deploy-to-azure-automation.md) diff --git a/gallery/concepts/script-prerelease-support.md b/gallery/concepts/script-prerelease-support.md index 8cb6077cb5c6..b5ff0d2bf21c 100644 --- a/gallery/concepts/script-prerelease-support.md +++ b/gallery/concepts/script-prerelease-support.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 10/17/2017 contributor: keithb keywords: gallery,powershell,cmdlet,psget @@ -7,7 +7,7 @@ title: Prerelease versions of scripts # Prerelease versions of scripts Starting with version 1.6.0, PowerShellGet and the PowerShell Gallery provide support for tagging -versions greater than 1.0.0 as a prerelease. Prior to this feature, prerelease items were limited +versions greater than 1.0.0 as a prerelease. Prior to this feature, prerelease packages were limited to having a version beginning with 0. The goal of these features is to provide greater support for [SemVer v1.0.0](http://semver.org/spec/v1.0.0.html) versioning convention without breaking backwards compatibility with PowerShell versions 3 and above, or existing versions of @@ -20,10 +20,10 @@ At a high level, the prerelease script features include: - Adding a PrereleaseString suffix to the version string in the script manifest. When the scripts is published to the PowerShell Gallery, this data is extracted from the manifest, and used to - identify prerelease items. -- Acquiring prerelease items requires adding -AllowPrerelease flag to the PowerShellGet commands + identify prerelease packages. +- Acquiring prerelease packages requires adding -AllowPrerelease flag to the PowerShellGet commands Find-Script, Install-Script, Update-Script, and Save-Script. If the flag is not specified, - prerelease items will not be shown. + prerelease packages will not be shown. - Script versions displayed by Find-Script, Get-InstalledScript, and in the PowerShell Gallery will be displayed with the PrereleaseString, as in 2.5.0-alpha. @@ -76,12 +76,12 @@ must have a greater version than any previously-published version that is in the Gallery. A publisher may update version 2.5.0-alpha with 2.5.0-beta, or with 2.5.0 (with no prerelease suffix). -## Finding and acquiring prerelease items using PowerShellGet commands +## Finding and acquiring prerelease packages using PowerShellGet commands -Dealing with prerelease items using PowerShellGet Find-Script, Install-Script, Update-Script, and +Dealing with prerelease packages using PowerShellGet Find-Script, Install-Script, Update-Script, and Save-Script commands requires adding the -AllowPrerelease flag. If -AllowPrerelease is specified, -prerelease items will be included if they are present. If -AllowPrerelease flag is not specified, -prerelease items will not be shown. +prerelease packages will be included if they are present. If -AllowPrerelease flag is not specified, +prerelease packages will not be shown. The only exceptions to this in the PowerShellGet script commands are Get-InstalledScript, and some cases with Uninstall-Script. @@ -149,10 +149,10 @@ C:\windows\system32> Uninstall-Script TestPackage -RequiredVersion 1.9.0-alpha Uninstall-Script: The '-AllowPrerelease' parameter must be specified when using the Prerelease string in MinimumVersion, MaximumVersion, or RequiredVersion. At line:1 char:1 -+ Unnstall-Script TestPackage -RequiredVersion 1.9.0-beta ++ Uninstall-Script TestPackage -RequiredVersion 1.9.0-beta + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Uninstall-Script], ArgumentException - + FullyQualifiedErrorId : AllowPrereleaseRequiredToUsePrereleaseStringInVersion,Uninnstall-script + + FullyQualifiedErrorId : AllowPrereleaseRequiredToUsePrereleaseStringInVersion,Uninstall-script C:\windows\system32> Uninstall-Script TestPackage -RequiredVersion 1.9.0-alpha -AllowPrerelease @@ -175,4 +175,4 @@ At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.5.0.0\PSModule.psm - [Save-script](/powershell/module/powershellget/save-script) - [Update-script](/powershell/module/powershellget/update-script) - [Get-Installedscript](/powershell/module/powershellget/get-installedscript) -- [UnInstall-script](/powershell/module/powershellget/uninstall-script) \ No newline at end of file +- [UnInstall-script](/powershell/module/powershellget/uninstall-script) diff --git a/gallery/concepts/script-psedition-support.md b/gallery/concepts/script-psedition-support.md index e5304fa097fb..869fe367672e 100644 --- a/gallery/concepts/script-psedition-support.md +++ b/gallery/concepts/script-psedition-support.md @@ -68,4 +68,4 @@ Find-Script -Tag PSEdition_Core ## More details - [Modules with PSEditions](module-psedition-support.md) -- [PSEditions support on PowerShellGallery](../how-to/finding-items/searching-by-psedition.md) +- [PSEditions support on PowerShellGallery](../how-to/finding-packages/searching-by-compatibility.md) diff --git a/gallery/concepts/scriptanalyzer-rule-profile.md b/gallery/concepts/scriptanalyzer-rule-profile.md index 95f1727dfbc6..663189dd7377 100644 --- a/gallery/concepts/scriptanalyzer-rule-profile.md +++ b/gallery/concepts/scriptanalyzer-rule-profile.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -6,9 +6,9 @@ title: ScriptAnalyzer rule profile for Gallery --- # ScriptAnalyzer rule profile for Gallery -To ensure the quality of items published to PowerShell Gallery, we run [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) rules to determine if there are any violations in the scripts submitted. +To ensure the quality of packages published to PowerShell Gallery, we run [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) rules to determine if there are any violations in the scripts submitted. You can find the list of rules we are running on ScriptAnalyzer [GitHub page](https://github.com/PowerShell/PSScriptAnalyzer/blob/development/Engine/Settings/PSGallery.psd1). -If you have any concerns regarding the rules we are running, please contact PowerShell Gallery Administrators, or open an issue for ScriptAnalzyer. +If you have any concerns regarding the rules we are running, please contact PowerShell Gallery Administrators, or open an issue for ScriptAnalyzer. -ScriptAnalyzer results will be displayed on each individual item page in Gallery in the coming release. We encourage item owners to check their items to make sure there are no severe errors in published items. +ScriptAnalyzer results will be displayed on each individual package page in Gallery in the coming release. We encourage package owners to check their packages to make sure there are no severe errors in published packages. diff --git a/gallery/docfx.json b/gallery/docfx.json index 807dc8274c4e..19d1accf91f5 100644 --- a/gallery/docfx.json +++ b/gallery/docfx.json @@ -1,35 +1,32 @@ { "build": { - "content": [{ - "files": [ - "**/**.yml", - "**/**.md" - ], - "exclude": ["**/obj/**"] - }], + "content": [ + { "files": ["**/**.yml", "**/**.md"], "exclude": ["**/obj/**"] } + ], "globalMetadata": { + "toc_preview": true, "breadcrumb_path": "bread/toc.yml", "ROBOTS": "INDEX, FOLLOW", "uhfHeaderId": "MSDocsHeader-Powershell", "ms.devlang": "powershell", - "ms.tgt_pltfr": "windows, macos, linux" + "ms.tgt_pltfr": "windows, macos, linux", + "feedback_system": "GitHub", + "feedback_github_repo": "MicrosoftDocs/PowerShell-Docs", + "feedback_product_url": "https://github.com/powershell/powershellgallery/issues/new" }, "fileMetadata": { "ms.prod": { "**/**.md": "powershell" }, "ms.technology": { "**/**.md": "powershell-gallery" }, "ms.topic": { "**/**.md": "conceptual" }, "manager": { "**/**.md": "carmonm" }, - "author": { "**/**.md": "JKeithB" }, - "ms.author": { "**/**.md": "keithb" } + "ms.author": { "**/**.md": "sysmith" }, + "author": { "**/**.md": "SydneyhSmith" } }, - "resource": [{ - "files": [ - "**/images/**" - ], - "exclude": ["**/obj/**"] - }], + "resource": [ + { "files": ["**/images/**"], "exclude": ["**/obj/**"] } + ], "template": "op.html", "dest": "gallery", "markdownEngineName": "markdig" } -} +} \ No newline at end of file diff --git a/gallery/faqs.md b/gallery/faqs.md index 253b98748d94..b0816972e358 100644 --- a/gallery/faqs.md +++ b/gallery/faqs.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -23,60 +23,69 @@ Modules are generally better for sharing, but we are enabling script sharing to ## How can I publish to the PowerShell Gallery? -You must register an account in the PowerShell Gallery before you can publish items to the Gallery. This is because publishing items requires a NuGetApiKey, which is provided upon registration. To register, use your personal, work, or school account to sign in to the PowerShell Gallery. A one-time registration process is required when you sign in for the first time. Afterwards, your NuGetApiKey is available on your profile page. +You must register an account in the PowerShell Gallery before you can publish packages to the Gallery. This is because publishing packages requires a NuGetApiKey, which is provided upon registration. To register, use your personal, work, or school account to sign in to the PowerShell Gallery. A one-time registration process is required when you sign in for the first time. Afterwards, your NuGetApiKey is available on your profile page. -Once you have registered in the Gallery, use the [Publish-Module](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) or [Publish-Script](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlets to publish your item to the Gallery. For more details on how to run these cmdlets, visit the Publish tab, or read the [Publish-Module](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) and [Publish-Script](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) documentation. +Once you have registered in the Gallery, use the [Publish-Module][] or [Publish-Script][] cmdlets to publish your package to the Gallery. +For more details on how to run these cmdlets, visit the Publish tab, or read the [Publish-Module][] and [Publish-Script][] documentation. -**You do not need to register or sign in to the Gallery to install or save items.** +**You do not need to register or sign in to the Gallery to install or save packages.** -## I received "Failed to process request. 'The specified API key is invalid or does not have permission to access the specified package.'. The remote server returned an error: (403) Forbidden." error when I tried to publish an item to the PowerShell Gallery. What does that mean? +## I received "Failed to process request. 'The specified API key is invalid or does not have permission to access the specified package.'. The remote server returned an error: (403) Forbidden." error when I tried to publish a package to the PowerShell Gallery. What does that mean? This error can occur for the following reasons: - **The specified API key is invalid.** Ensure that you have specified the valid API key from your account. To get your API key, view your profile page. -- **The specified item name is not owned by you.** - If you have confirmed that your API key is correct, then there may already exist an item with the same name as the one you are trying to use. The item may have been unlisted by the owner, in which case it will not appear in any search results. To determine if an item with the same name already exists, open a browser and navigate to the item's details page: `https://www.powershellgallery.com/packages/`. For example, navigating directly to `https://www.powershellgallery.com/packages/pester` will take you to the Pester module's details page, whether it is unlisted or not. If an item with a conflicting name already exists and is unlisted, you can: - - Select another name for your item. - - Contact the owners of the existing item. +- **The specified package name is not owned by you.** + If you have confirmed that your API key is correct, then there may already exist a package with the same name as the one you are trying to use. The package may have been unlisted by the owner, in which case it will not appear in any search results. To determine if a package with the same name already exists, open a browser and navigate to the package's details page: `https://www.powershellgallery.com/packages/`. For example, navigating directly to `https://www.powershellgallery.com/packages/pester` will take you to the Pester module's details page, whether it is unlisted or not. If a package with a conflicting name already exists and is unlisted, you can: + - Select another name for your package. + - Contact the owners of the existing package. ## Why can't I sign in with my personal account, but I could sign in yesterday? Please be aware that your gallery account does not accommodate changes to your primary email alias. For more information, see [Microsoft Email Aliases](https://windows.microsoft.com/windows/outlook/add-alias-account). -## Why don't I see all the gallery items when I select all the Category checkboxes on the Items tab? +## Why don't I see all the gallery packages when I select all the Category checkboxes on the packages tab? -By selecting a Category checkbox, you are stating "I would like to see all items in this category." Only the items in the selected categories will be displayed. So similarly, by selecting all the Category checkboxes, you are stating "I would like to see all items in any category." But some items in the gallery do not belong to any of the categories listed, so they will not appear in the results. To see all items in the gallery, uncheck all the Categories, or select the Items tab again. +By selecting a Category checkbox, you are stating "I would like to see all packages in this category." Only the packages in the selected categories will be displayed. So similarly, by selecting all the Category checkboxes, you are stating "I would like to see all packages in any category." But some packages in the gallery do not belong to any of the categories listed, so they will not appear in the results. To see all packages in the gallery, uncheck all the Categories, or select the packages tab again. ## What are the requirements to publish a module to the PowerShell Gallery? -Any kind of PowerShell module (script modules, binary modules, or manifest modules) can be published to the gallery. To publish a module, PowerShellGet needs to know a few things about it - the version, description, author, and how it is licensed. This information is read as part of the publishing process from the *module manifest* (.psd1) file, or from the value of the [**Publish-Module**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet's **LicenseUri** parameter. All modules published to the Gallery must have module manifests. Any module that includes the following information in its manifest can be published to the Gallery: +Any kind of PowerShell module (script modules, binary modules, or manifest modules) can be published to the gallery. +To publish a module, PowerShellGet needs to know a few things about it - the version, description, author, and how it is licensed. +This information is read as part of the publishing process from the *module manifest* (.psd1) file, or from the value of the [Publish-Module][] cmdlet's **LicenseUri** parameter. +All modules published to the Gallery must have module manifests. +Any module that includes the following information in its manifest can be published to the Gallery: - Version - Description - Author -- A URI to the license terms of the module, either as part of the **PrivateData** section of the manifest, or in the **LicenseUri** parameter of the [**Publish-Module**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +- A URI to the license terms of the module, either as part of the **PrivateData** section of the manifest, or in the **LicenseUri** parameter of the [Publish-Module][] cmdlet. ## How do I create a correctly-formatted module manifest? -The easiest way to create a module manifest is to run the [**New-ModuleManifest**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. In PowerShell 5.0 or newer, New-ModuleManifest generates a correctly-formatted module manifest with blank fields for useful metadata like **ProjectUri**, **LicenseUri**, and **Tags**. Simply fill in the blanks, or use the generated manifest as an example of correct formatting. +The easiest way to create a module manifest is to run the [New-ModuleManifest][] cmdlet. In PowerShell 5.0 or newer, New-ModuleManifest generates a correctly-formatted module manifest with blank fields for useful metadata like **ProjectUri**, **LicenseUri**, and **Tags**. Simply fill in the blanks, or use the generated manifest as an example of correct formatting. -To verify that all required metadata fields have been properly filled, use the [**Test-ModuleManifest**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +To verify that all required metadata fields have been properly filled, use the [Test-ModuleManifest][] cmdlet. -To update the module manifest file fields, use the [**Update-ModuleManifest**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +To update the module manifest file fields, use the [Update-ModuleManifest][] cmdlet. ## What are the requirements to publish a script to the Gallery? -Any kind of PowerShell script (scripts or workflows) can be published to the gallery. To publish a script, PowerShellGet needs to know a few things about it - the version, description, author, and how it is licensed. This information is read as part of the publishing process from the script file's *PSScriptInfo* section, or from the value of the [**Publish-Script**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet's **LicenseUri** parameter. All scripts published to the Gallery must have metadata information. Any script that includes the following information in its PSScriptInfo section can be published to the Gallery: +Any kind of PowerShell script (scripts or workflows) can be published to the gallery. +To publish a script, PowerShellGet needs to know a few things about it - the version, description, author, and how it is licensed. +This information is read as part of the publishing process from the script file's *PSScriptInfo* section, or from the value of the [Publish-Script][] cmdlet's **LicenseUri** parameter. +All scripts published to the Gallery must have metadata information. +Any script that includes the following information in its PSScriptInfo section can be published to the Gallery: - Version - Description - Author -- A URI to the license terms of the script, either as part of the **PSScriptInfo** section of the script, or in the **LicenseUri** parameter of the [**Publish-Script**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +- A URI to the license terms of the script, either as part of the **PSScriptInfo** section of the script, or in the **LicenseUri** parameter of the [Publish-Script][] cmdlet. ## How do I search? -Type what you are looking for in the text box. For example, if you want to find modules that are related to Azure SQL, just type "azure sql". Our search engine will look for those keywords in all published items, including titles, descriptions and across metadata. Then, based on a weighted quality score, it will display the closest matches. You can also search by specific field using field:"value" syntax in the search query for the following fields: +Type what you are looking for in the text box. For example, if you want to find modules that are related to Azure SQL, just type "azure sql". Our search engine will look for those keywords in all published packages, including titles, descriptions and across metadata. Then, based on a weighted quality score, it will display the closest matches. You can also search by specific field using field:"value" syntax in the search query for the following fields: - Tags - Functions @@ -88,11 +97,11 @@ So, for example, when you search for PowerShellVersion:"2.0" only results that a ## How do I create a correctly-formatted script file? -The easiest way to create a properly-formatted script file is to run the [**New-ScriptFileInfo**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. In PowerShell 5.0, New-ScriptFileInfo generates a correctly-formatted script file with blank fields for useful metadata like **ProjectUri**, **LicenseUri**, and **Tags**. Simply fill in the blanks, or use the generated script file as an example of correct formatting. +The easiest way to create a properly-formatted script file is to run the [New-ScriptFileInfo][] cmdlet. In PowerShell 5.0, New-ScriptFileInfo generates a correctly-formatted script file with blank fields for useful metadata like **ProjectUri**, **LicenseUri**, and **Tags**. Simply fill in the blanks, or use the generated script file as an example of correct formatting. -To verify that all required metadata fields have been properly filled, use the [**Test-ScriptFileInfo**](http://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +To verify that all required metadata fields have been properly filled, use the [Test-ScriptFileInfo][] cmdlet. -To update the script metadata fields, use the [**Update-ScriptFileInfo**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +To update the script metadata fields, use the [Update-ScriptFileInfo][] cmdlet. ## What other types of PowerShell Modules exist? @@ -106,7 +115,10 @@ All of the modules in the Gallery contain module manifests, and most of these mo PackageManagement is a common interface for working with any package manager. Eventually, whether you're dealing with PowerShell modules, MSIs, Ruby gems, NuGet packages, or Perl modules, you should be able to use PackageManagement's commands (Find-Package and Install-Package) to find and install them. PackageManagement does this by having a package provider for each package manager that plugs into PackageManagement. Providers do all of the actual work; they fetch content from repositories, and install the content locally. Often, package providers simply wrap around the existing package manager tools for a given package type. -PowerShellGet is the package manager for PowerShell items. There is a PSModule package provider that exposes PowerShellGet functionality through PackageManagement. Because of this, you can either run [Install-Module](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) or Install-Package -Provider PSModule to install a module from the PowerShell Gallery. Certain PowerShellGet functionality, including [Update-Module](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) and [Publish-Module](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409), cannot be accessed through PackageManagement commands. +PowerShellGet is the package manager for PowerShell packages. +There is a PSModule package provider that exposes PowerShellGet functionality through PackageManagement. +Because of this, you can either run [Install-Module][] or Install-Package -Provider PSModule to install a module from the PowerShell Gallery. +Certain PowerShellGet functionality, including [Update-Module][] and [Publish-Module][], cannot be accessed through PackageManagement commands. In summary, PowerShellGet is solely focused on having a premium package management experience for PowerShell content. PackageManagement is focused on exposing all package management experiences through one general set of tools. If you find this answer unsatisfying, there is a long answer at the bottom of this document, in the **How does PackageManagement actually relate to PowerShellGet?** section. @@ -116,7 +128,7 @@ For more information, please visit the [PackageManagement project page](https:// The PowerShell Gallery is a modified version of the [NuGet Gallery](https://www.nuget.org/). PowerShellGet uses NuGet provider to work with NuGet based repositories like the PowerShell Gallery. -You can use PowerShellGet against any valid NuGet repository or file share. You simply need to add the repository by running the [**Register-PSRepository**](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) cmdlet. +You can use PowerShellGet against any valid NuGet repository or file share. You simply need to add the repository by running the [Register-PSRepository][] cmdlet. ## Does that mean I can use NuGet.exe to work with the Gallery? @@ -126,7 +138,7 @@ Yes. Under the hood, PowerShellGet heavily leverages PackageManagement infrastructure. -At the PowerShell cmdlet layer, [Install-Module](https://go.microsoft.com/fwlink/?LinkID=760387&clcid=0x409) is actually a thin wrapper around Install-Package -Provider PSModule. +At the PowerShell cmdlet layer, [Install-Module][] is actually a thin wrapper around Install-Package -Provider PSModule. At the PackageManagement package provider layer, the PSModule package provider actually calls into other PackageManagement package providers. For example, when you are working with NuGet-based galleries (such as the PowerShell Gallery), the PSModule package provider uses the NuGet Package Provider to work with the repository. @@ -152,14 +164,27 @@ Therefore, **PowerShellGet** requires one of the following operating systems: **PowerShellGet** also requires .NET Framework 4.5 or above. You can install .NET Framework 4.5 or above from [here](https://msdn.microsoft.com/library/5a4x27ek.aspx). -## Is it possible to reserve names for items that will be published in future? +## Is it possible to reserve names for packages that will be published in future? + +It is not possible to squat package names. If you feel that an existing package has taken the name which suits your package more, try [contacting the owner of the package](./how-to/working-with-packages/contacting-package-owners.md). If you didnt get response within a couple of weeks, you can contact support and the PowerShell Gallery team will look in to it. + +## How do I claim ownership for packages? -It is not possible to squat item names. If you feel that an existing item has taken the name which suits your item more, try [contacting the owner of the item](./how-to/working-with-items/contacting-item-owners.md). If you didnt get response within a couple of weeks, you can contact support and the PowerShell Gallery team will look in to it. +Check out [Managing Package Owners on PowerShellGallery.com](./how-to/publishing-packages/managing-package-owners.md) for details. -## How do I claim ownership for items ? +## How do I deal with a package owner who is violating my package license? -Check out [Managing Item Owners on PowerShellGallery.com](./how-to/publishing-items/managing-item-owners.md) for details. +We encourage the PowerShell community to work together to resolve any disputes that may arise between package owners and the owners of other packages. We have crafted a [dispute resolution process](./how-to/getting-support/dispute-resolution.md) that we ask you to follow before PowerShellGallery.com administrators intercede. -## How do I deal with an item owner who is violating my item license? +[New-ModuleManifest]: /powershell/module/Microsoft.PowerShell.Core/New-ModuleManifest +[Test-ModuleManifest]: /powershell/module/Microsoft.PowerShell.Core/Test-ModuleManifest +[Update-ModuleManifest]: /powershell/module/Microsoft.PowerShell.Core/Update-ModuleManifest -We encourage the PowerShell community to work together to resolve any disputes that may arise between item owners and the owners of other items. We have crafted a [dispute resolution process](./how-to/getting-support/dispute-resolution.md) that we ask you to follow before PowerShellGallery.com administrators intercede. \ No newline at end of file +[Install-Module]: /powershell/module/PowershellGet/Install-Module +[New-ScriptFileInfo]: /powershell/module/PowershellGet/New-ScriptFileInfo +[Publish-Module]: /powershell/module/PowershellGet/Publish-Module +[Publish-Script]: /powershell/module/PowershellGet/Publish-Script +[Register-PSRepository]: /powershell/module/PowershellGet/Register-PSRepository +[Test-ScriptFileInfo]: /powershell/module/PowershellGet/Test-ScriptFileInfo +[Update-Module]: /powershell/module/PowershellGet/Update-Module +[Update-ScriptFileInfo]: /powershell/module/PowershellGet/Update-ScriptFileInfo diff --git a/gallery/getting-started.md b/gallery/getting-started.md index da3bf88533db..4e1c1b6823bd 100644 --- a/gallery/getting-started.md +++ b/gallery/getting-started.md @@ -1,26 +1,28 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery title: Get Started with the PowerShell Gallery --- -# Get Started with the PowerShell Gallery +# Getting Started with the PowerShell Gallery -The proper way to install items from the PowerShell Gallery is to use the cmdlets in the [PowerShellGet](/powershell/module/powershellget) module. You do not need to sign in to download items from the PowerShell Gallery. +The PowerShell Gallery is a package repository containing scripts, modules, and DSC resources you can download and leverage. +You use the cmdlets in the [PowerShellGet](/powershell/module/powershellget) module to install packages from the PowerShell Gallery. +You do not need to sign in to download +items from the PowerShell Gallery. > [!NOTE] -> It is possible to download a package from the PowerShell Gallery directly, but this is not a recommended approach. -> For more details, see [Manual Package Download](https://msdn.microsoft.com/en-us/powershell/gallery/psgallery/how-to/working-with-items/manual-download.md). - +> It is possible to download a package from the PowerShell Gallery directly, but this is not a recommended approach. +> For more details, see [Manual Package Download](/powershell/gallery/how-to/working-with-packages/manual-download). -## Discovering items from the PowerShell Gallery +## Discovering packages from the PowerShell Gallery -You can find items in the PowerShell Gallery by using the **Search** control on this website, or by -browsing through the Modules and Scripts pages. You can also find items from the PowerShell Gallery -by running the [Find-Module][] and [Find-Script][] cmdlets, depending on the item type, with +You can find packages in the PowerShell Gallery by using the **Search** control on the PowerShell Gallery's [home page](https://www.powershellgallery.com), or by browsing through the Modules and Scripts from the [Packages page](https://www.powershellgallery.com/packages). +You can also find packages from the PowerShell Gallery +by running the [Find-Module][], [Find-DscResource], and [Find-Script][] cmdlets, depending on the package type, with `-Repository PSGallery`. -Filtering results from the Gallery can be done by using the following parameters: +You can filter results from the Gallery by using the following parameters: - Name - AllVersions @@ -38,43 +40,43 @@ If you're only interested in discovering specific DSC resources in the Gallery, Because DSC resources are always delivered as part of a module, you still need to run [Install-Module][] to install those DSC resources. -## Learning about items in the PowerShell Gallery +## Learning about packages in the PowerShell Gallery -Once you've identified an item you're interested in, you may want to learn more about it. You can -do this by examining that item's specific page on the Gallery. On that page, you'll be able to see -all of the metadata uploaded with the item. This metadata for an item is provided by the item's -author, and is not verified by Microsoft. The Owner of the item is strongly tied to the Gallery -account used to publish the item, and is more trustworthy than the Author field. +Once you've identified a package that you're interested in, you may want to learn more about it. You can +do this by examining that package's specific page on the Gallery. On that page, you'll be able to see +all of the metadata uploaded with the package. This metadata is provided by the package's +author, and is not verified by Microsoft. The Owner of the package is strongly tied to the Gallery +account used to publish the package, and is more trustworthy than the Author field. -If you discover an item that you feel is not published in good faith, click **Report Abuse** on -that item's page. +If you discover a package that you feel is not published in good faith, click **Report Abuse** on +that package's page. If you're running [Find-Module][] or [Find-Script][], you can view this data in the returned PSGetModuleInfo object. For example, running `Find-Module -Name PSReadLine -Repository PSGallery |Get-Member` returns data on the PSReadLine module in the Gallery. -## Downloading items from the PowerShell Gallery +## Downloading packages from the PowerShell Gallery -We encourage the following process when downloading items from the PowerShell Gallery: +We encourage the following process when downloading packages from the PowerShell Gallery: ### Inspect -To download an item from the Gallery for inspection, run either the [Save-Module][] or -[Save-Script][] cmdlet, depending on the item type. This lets you save the item locally without -installing it, and inspect the item contents. Remember to delete the saved item manually. +To download a package from the Gallery for inspection, run either the [Save-Module][] or +[Save-Script][] cmdlet, depending on the package type. This lets you save the package locally without +installing it, and inspect the package contents. Remember to delete the saved package manually. -Some of these items are authored by Microsoft, and others are authored by the PowerShell community. -Microsoft recommends that you review the contents and code of items on this gallery prior to +Some of these packages are authored by Microsoft, and others are authored by the PowerShell community. +Microsoft recommends that you review the contents and code of packages on this gallery prior to installation. -If you discover an item that you feel is not published in good faith, click **Report Abuse** on -that item's page. +If you discover a package that you feel is not published in good faith, click **Report Abuse** on +that package's page. ### Install -To install an item from the Gallery for use, run either the [Install-Module][] or -[Install-Script][] cmdlet, depending on the item type. +To install a package from the Gallery for use, run either the [Install-Module][] or +[Install-Script][] cmdlet, depending on the package type. [Install-Module][] installs the module to `$env:ProgramFiles\WindowsPowerShell\Modules` by default. This requires an administrator account. If you add the `-Scope CurrentUser` parameter, the module @@ -84,31 +86,31 @@ is installed to `$env:USERPROFILE\Documents\WindowsPowerShell\Modules` . This requires an administrator account. If you add the `-Scope CurrentUser` parameter, the script is installed to `$env:USERPROFILE\Documents\WindowsPowerShell\Scripts` . -By default, [Install-Module][] and [Install-Script][] installs the most current version of an item. -To install an older version of the item, add the `-RequiredVersion` parameter. +By default, [Install-Module][] and [Install-Script][] installs the most current version of a package. +To install an older version of the package, add the `-RequiredVersion` parameter. ### Deploy -To deploy an item from the PowerShell Gallery to Azure Automation, click **Deploy to Azure -Automation** on the item details page. You will be redirected to the Azure Management Portal, where -you sign in by using your Azure account credentials. Note that deploying items with dependencies -will deploy all the dependencies to Azure Automation. The 'Deploy to Azure Automation' button can -be disabled by adding the **AzureAutomationNotSupported** tag to your item metadata. +To deploy a package from the PowerShell Gallery to Azure Automation, click **Azure Automation**, then click **Deploy to Azure +Automation** on the package details page. You are redirected to the Azure Management Portal where +you sign in by using your Azure account credentials. Note that deploying packages with dependencies +deploys all the dependencies to Azure Automation. The 'Deploy to Azure Automation' button can +be disabled by adding the **AzureAutomationNotSupported** tag to your package metadata. To learn more about Azure Automation, see the [Azure Automation](/azure/automation) documentation. -## Updating items from the PowerShell Gallery +## Updating packages from the PowerShell Gallery -To update items installed from the PowerShell Gallery, run either the [Update-Module][] or +To update packages installed from the PowerShell Gallery, run either the [Update-Module][] or [Update-Script][] cmdlet. When run without any additional parameters, [Update-Module][] attempts to -update each module installed by running [Install-Module][]. To selectively update modules, add the -`-Name` parameter. +update all modules installed by running [Install-Module][]. To selectively update modules, add the +`-Name` parameter. Similarly, when run without any additional parameters, [Update-Script][] also attempts to update -each script installed by running [Install-Script][]. To selectively update scripts, add the `-Name` +all scripts installed by running [Install-Script][]. To selectively update scripts, add the `-Name` parameter. -## List items that you have installed from the PowerShell Gallery +## List packages that you have installed from the PowerShell Gallery To find out which modules you have installed from the PowerShell Gallery, run the [Get-InstalledModule][] cmdlet. This command lists all of the modules you have on your system that @@ -129,4 +131,4 @@ were installed directly from the PowerShell Gallery. [Publish-Script]: /powershell/module/powershellget/Publish-Script [Register-PSRepository]: /powershell/module/powershellget/Register-Repository [Save-Module]: /powershell/module/powershellget/Save-Module -[Save-Script]: /powershell/module/powershellget/Save-Script \ No newline at end of file +[Save-Script]: /powershell/module/powershellget/Save-Script diff --git a/gallery/how-to/finding-items/search-syntax.md b/gallery/how-to/finding-items/search-syntax.md deleted file mode 100644 index fdf237b55321..000000000000 --- a/gallery/how-to/finding-items/search-syntax.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Gallery Search Syntax ---- -# Gallery Search Syntax - -PowerShell Gallery offers a text searchbox where you can use words, phrases and keyword expressions to narrow down search results. - -## Search by Keywords - - dsc azure sql - -Search will do its best effort to find relevant documents containing all 3 keywords, and return matching documents. - -## Search using Phrases and keywords - - "azure sql" deployment - -Entering a phrase between quotation marks ("") change the search to look for the particular phrase instead of separate keywords. -Matching documents should usually contain the exact phrase "azure sql", including variations on capitalization e.g. -"Azure SQL", and also usually contain the word 'deployment'. - -## Filtering on fields - -You can search for a specific item ID (or 'Id' or 'id'), or certain other fields by prefixing search terms with the field name. - -Currently the searchable fields are 'Id', 'Version', 'Tags', 'Author', 'Owner', 'Functions', 'Cmdlets', 'DscResources' and 'PowerShellVersion'. - -[What's the difference between ID and Title? ID is the name you use in the console. Title is what is shown at the top of the item page in search results.] - -## Examples - - ID:"PSReadline" - id:"AzureRM.Profile" - -finds items with "PSReadline" or "AzureRM.Profile" in their ID field respectively. - - Id:"AzureRM.Profile" - -is another way to find items with "AzureRM.Profile" in their ID field. - -The 'Id' filter is a substring match, so if you search for the following: - - Id:"azure" - -You'll get results like 'AzureRM.Profile' and 'Azure.Storage'. - -You can also search for multiple keywords in a single field. Or mix and match fields. - - id:azure tags:intellisense - id:azure id:storage - -And you can perform phrase searches: - - id:"azure.storage" - - -To search all items with DSC tag. - - Tags:"DSC" - -To search all items with the specified function. - - Functions:"Update-AzureRM" - -To search all items with the specified cmdlet. - - Cmdlets:"Get-AzureRmEnvironment" - -To search all items with the specified DSC Resource name. - - DscResources:"xArchive" - -To search all items with the specified PowerShellVersion - - PowerShellVersion:"5.0" - PowerShellVersion:"3.0" - PowerShellVersion:"2.0" - - -Finally, if you use a field we don't support, such as 'commands', we'll just ignore it and search all the fields. So the following query - - commands:blobs storage - -Is interpreted exactly the same as this query: - - blobs storage \ No newline at end of file diff --git a/gallery/how-to/finding-items/searching-by-psedition.md b/gallery/how-to/finding-items/searching-by-psedition.md deleted file mode 100644 index 30d16c300bb2..000000000000 --- a/gallery/how-to/finding-items/searching-by-psedition.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Items with compatible PowerShell Editions ---- -# Items with compatible PowerShell Editions - -Starting with version 5.1, PowerShell is available in different editions which denote varying -feature sets and platform compatibility. - -- **Desktop Edition:** Built on .NET Framework and provides compatibility with scripts and modules - targeting versions of PowerShell running on full footprint editions of Windows such as Server Core - and Windows Desktop. -- **Core Edition:** Built on .NET Core and provides compatibility with scripts and modules - targeting versions of PowerShell running on reduced footprint editions of Windows such as Nano - Server and Windows IoT. - -## PowerShell Gallery extracts supported PSEditions metadata and allows you to filters the items compatible for specific PowerShell Editions - -If an item has compatible PSEditions specified, they will be listed as part of 'PowerShell -Editions' in the item display page and also in items results. - -![Item display page with PSEditions](../../Images/ItemDisplayPageWithPSEditions.PNG) - -## Search for items in the gallery UI which works on PowerShellCore - -Use Tags:"PSEdition_Desktop" and Tags:"PSEdition_Core" to filters the items on PowerShell Gallery. - -### Use Tags:"PSEdition_Core" to search items compatible with PowerShell Core Edition. - -![Search results for items compatible with Core PSEdition](../../Images/SearchResultsWithPSEditions.PNG) - -### Use Tags:"PSEdition_Desktop" to search items compatible with PowerShell Desktop Edition. - -![Search results for items compatible with Desktop PSEdition](../../Images/SearchResultsWithPSEdition-Desktop.PNG) - -## More details on authoring and finding the items with compatible PowerShell Editions - -- [Modules with PSEditions](../../concepts/module-psedition-support.md) -- [Scripts with PSEditions](../../concepts/script-psedition-support.md) \ No newline at end of file diff --git a/gallery/how-to/finding-items/filtering-items.md b/gallery/how-to/finding-packages/filtering-packages.md similarity index 56% rename from gallery/how-to/finding-items/filtering-items.md rename to gallery/how-to/finding-packages/filtering-packages.md index 8376b2aa2618..0f56507932f2 100644 --- a/gallery/how-to/finding-items/filtering-items.md +++ b/gallery/how-to/finding-packages/filtering-packages.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -6,10 +6,10 @@ title: Filtering search results --- # Filtering search results -The [Items tab](https://www.powershellgallery.com/items) displays all available items in the PowerShell Gallery. +The [Packages tab](https://www.powershellgallery.com/packages) displays all available packages in the PowerShell Gallery. -There are several ways to filter, sort, and search the items. -To see more details about a particular item, click the item. +There are several ways to filter, sort, and search the packages. +To see more details about a particular package, click the package. ## Filter By @@ -20,7 +20,7 @@ The drop-down under "Filter By" allows users to filter the results by: For information about "Prerelease" and "Stable", see [Prerelease Versioning Added to PowerShellGet and PowerShell Gallery](https://blogs.msdn.microsoft.com/powershell/2017/12/05/prerelease-versioning-added-to-powershellget-and-powershell-gallery/) in the PowerShell Team Blog. The checkboxes under the drop-down allow users to filter the results by: -- Item Types +- Package Types - Module - Script - Categories @@ -30,24 +30,24 @@ The checkboxes under the drop-down allow users to filter the results by: - Role Capability - Workflow -To see only modules in the PowerShell Gallery, check Module in the Item Types. -Similarly, to see only scripts in the PowerShell Gallery, check Script in the Item Types. +To see only modules in the PowerShell Gallery, check Module in the Package Types. +Similarly, to see only scripts in the PowerShell Gallery, check Script in the Package Types. > [!NOTE] > Filters are inclusive. -> Example: An item containing both cmdlets and functions will appear if either Cmdlet or Function (or both) are checked. -> If neither are selected, the item will not appear. -> Similarly, if all categories are selected, only items containing one of those categories will appear. -> **Items that do not belong to any of those categories will not appear.** +> Example: A package containing both cmdlets and functions will appear if either Cmdlet or Function (or both) are checked. +> If neither are selected, the package will not appear. +> Similarly, if all categories are selected, only packages containing one of those categories will appear. +> **Packages that do not belong to any of those categories will not appear.** ## Sort By The Sort By drop-down allows users to sort the results by: - Popularity - Popularity is determined by Download Count -- A-Z - Alphabetically by item name -- Recent - Items appear in order of publish date +- A-Z - Alphabetically by package name +- Recent - Packages appear in order of publish date ## Search Box -The Search Box allows users to search the items on keywords. -For more information, see [Gallery Search Syntax](search-syntax.md). \ No newline at end of file +The Search Box allows users to search the packages on keywords. +For more information, see [Gallery Search Syntax](search-syntax.md). diff --git a/gallery/how-to/finding-packages/search-syntax.md b/gallery/how-to/finding-packages/search-syntax.md new file mode 100644 index 000000000000..a7e9eabe70b4 --- /dev/null +++ b/gallery/how-to/finding-packages/search-syntax.md @@ -0,0 +1,84 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: Gallery Search Syntax +--- +# Gallery Search Syntax + +You can search the PowerShell Gallery using the [PowerShell Gallery's web site](https://www.powershellgallery.com/). +PowerShell Gallery web site offers a text searchbox where you can use words, phrases and keyword expressions to narrow down search results. + +## Search by Keywords + + dsc azure sql + +Search attempts to find relevant documents containing all 3 keywords, and return matching documents. + +## Search using Phrases and keywords + + "azure sql" deployment + +Entering a phrase between quotation marks ("") change the search to look for the particular phrase instead of separate keywords. +Matching documents should usually contain the exact phrase "azure sql", including variations on capitalization e.g. +"Azure SQL", and also usually contain the word 'deployment'. + +## Filtering on fields + +You can search for a specific package ID (or 'Id' or 'id'), or certain other fields by prefixing search terms with the field name. + +Currently the searchable fields are 'Id', 'Version', 'Tags', 'Author', 'Owner', 'Functions', 'Cmdlets', 'DscResources' and 'PowerShellVersion'. + +[What's the difference between ID and Title? ID is the name you use in the console. Title is what is shown at the top of the package page in search results.] + +## Examples + + ID:PSReadline + +finds packages with an ID containing "PSReadline". + + Id:"AzureRM.Profile" + +is another way to find packages with "AzureRM.Profile" in their ID field. + +The 'Id' filter is a substring match, so if you search for the following: + + Id:"azure" + +This provides results that include AzureRM.Profile' and 'Azure.Storage'. + +You can also search for multiple keywords in a single field. + + id:azure tags:intellisense + +And you can perform phrase searches using double quotes: + + id:"azure.storage" + +To search all packages with DSC tag. + + Tags:DSC + +To search all packages with the specified function. + + Functions:Get-TreeSize + +To search all packages with the specified cmdlet. + + Cmdlets:Get-AzureRmEnvironment + +To search all packages with the specified DSC Resource name. + + DscResources:xArchive + +To search all packages with the specified PowerShellVersion + + PowerShellVersion:2.0 + +Finally, if you use a field we don't support, such as 'commands', we'll just ignore it and search all the fields. So the following query + + commands:blobs storage + +Is interpreted exactly the same as this query: + + blobs storage diff --git a/gallery/how-to/finding-packages/searching-by-compatibility.md b/gallery/how-to/finding-packages/searching-by-compatibility.md new file mode 100644 index 000000000000..9d3a77ae1c1f --- /dev/null +++ b/gallery/how-to/finding-packages/searching-by-compatibility.md @@ -0,0 +1,93 @@ +--- +ms.date: 12/11/2018 +contributor: JKeithB, SydneyhSmith +keywords: gallery,powershell,cmdlet,psgallery +title: Packages with compatible PowerShell Editions or Operating System +--- +# Packages with compatible PowerShell Editions or Operating Systems + +Starting with version 5.1, PowerShell is available in different editions which denote varying +feature sets and platform compatibilities. + +## Searching by PowerShell Edition + +The two editions of PowerShell are: +- **Desktop Edition:** Built on .NET Framework and provides compatibility with scripts and modules + targeting versions of PowerShell running on full footprint editions of Windows such as Server Core + and Windows Desktop. +- **Core Edition:** Built on .NET Core and provides compatibility with scripts and modules + targeting versions of PowerShell running on reduced footprint editions of Windows such as Nano + Server and Windows IoT. + +### PowerShell Gallery allows you to filter packages compatible for specific PowerShell Editions + +If a package has compatible PSEditions specified, they are listed as part of 'PowerShell +Editions' in the package display page and also in packages results. +You can also search for compatible packages using PowerShell. + +![Item display page with PSEditions](../../Images/packagedisplaypagewithpseditions.PNG) + +### Search for packages in the gallery UI that work on PowerShell Core + +Use Tags:"PSEdition_Desktop" and Tags:"PSEdition_Core" to filters the packages on PowerShell Gallery. + +### Use Tags:"PSEdition_Core" to search items compatible with PowerShell Core Edition. + +![Search results for items compatible with Core PSEdition](../../Images/searchresultswithpseditions.PNG) + +### Use Tags:"PSEdition_Desktop" to search items compatible with PowerShell Desktop Edition. + +![Search results for items compatible with Desktop PSEdition](../../Images/searchresultswithpseditionsdesktop.PNG) + +### Search for packages to find compatible editions using PowerShell +You can specify tags to filter for the PowerShell edition and OS. +You use the `Find-Package` cmdlet specifying the `-Tag` parameter to specify the edition (and OS) you are targeting. +Like this: + +```powershell +# Find modules compatible with PowerShell Core: +Find-Module -Tag PSEdition_Core + +# Find modules compatible with PowerShell Core on Linux: +Find-Module -Tag PSEdition_Core, Linux +``` + +## Searching by Operating System + +Since PowerShell Core is available for Windows, Linux, and MacOS, packages in the Gallery may be designed for any combination of these operating systems. In the gallery UI use the following searchs tags to find packages tagged by operating system: + +- Tags: "Windows" +- Tags: "Linux" +- Tags: "MacOS" + +You can specify these tags on `Find-Module` (and other cmdlets in the PowerShellGet module), like this: + +```powershell +# Find Modules compatible with Windows +Find-Module -Tag Linux +``` + +## Searching for Multiple Compatibilities + +You can look for a package that has multiple compatibilities by using the syntax: + +Tags: "Compatibility1" "Compatibility2" + +For example, if you are looking for a package with PowerShell Core Compatibility that runs on both my Windows and Linux machines, use the search tags: + +Tags: "PSEdition_Core" "Windows" "Linux" + +To search using PowerShell, you can use the `Find-Module` (and the other cmdlets in the PowerShellGet module), like this: + +```powershell +# Find scripts compatible with PowerShell Core, Windows, and Linux +Find-Script -Tag PSEdition_Core,Linux,Windows + +# Find modules compatible with PowerSHellCore and MacOS +Find-Module -Tag PSEdition_Core,MacOS +``` + +## More details on authoring and finding the packages with compatible PowerShell Editions + +- [Modules with PSEditions](../../concepts/module-psedition-support.md) +- [Scripts with PSEditions](../../concepts/script-psedition-support.md) diff --git a/gallery/how-to/getting-support/bootstrapping-nuget.md b/gallery/how-to/getting-support/bootstrapping-nuget.md index 04a090ec58cb..864e2cc69be5 100644 --- a/gallery/how-to/getting-support/bootstrapping-nuget.md +++ b/gallery/how-to/getting-support/bootstrapping-nuget.md @@ -187,4 +187,4 @@ user's profile: ```powershell $env:userprofile\AppData\Local\Microsoft\Windows\PowerShell\PowerShellGet\ -``` \ No newline at end of file +``` diff --git a/gallery/how-to/getting-support/contacting-administrators.md b/gallery/how-to/getting-support/contacting-administrators.md index b3737e3ae512..5d6cd6e498cd 100644 --- a/gallery/how-to/getting-support/contacting-administrators.md +++ b/gallery/how-to/getting-support/contacting-administrators.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -10,18 +10,18 @@ title: Contact Gallery administrators You should contact gallery administrators when: -1. You need to delete an item that you published. +1. You need to delete a package that you published. 2. You need help with your account. -3. You want to report an issue in the items in the gallery. -4. You have item name dispute with other users and you are not able to resolve it by contacting +3. You want to report an issue in the packages in the gallery. +4. You have package name dispute with other users and you are not able to resolve it by contacting the users. -5. You were contacted by Gallery Administrators, regarding your items in the gallery and you want +5. You were contacted by Gallery Administrators, regarding your packages in the gallery and you want to respond. ## How to Contact Gallery Administrators 1. Send us an email: cgadmin@microsoft.com. -2. If you are reporting abuse of an item, you can find Report Abuse link below the item information +2. If you are reporting abuse of a package, you can find Report Abuse link below the package information on the left panel. 3. For any other general questions regarding the Gallery, please submit your question to - [UserVoice](http://windowsserver.uservoice.com/forums/301869-powershell) \ No newline at end of file + [UserVoice](http://windowsserver.uservoice.com/forums/301869-powershell) diff --git a/gallery/how-to/getting-support/dispute-resolution.md b/gallery/how-to/getting-support/dispute-resolution.md index 33b20c1a92b8..4910886d3ee3 100644 --- a/gallery/how-to/getting-support/dispute-resolution.md +++ b/gallery/how-to/getting-support/dispute-resolution.md @@ -10,7 +10,7 @@ This document is a recommended dispute resolution process for community members ## Process -1. Contact the owners of the item you have the dispute with using the **Contact Owners** link on the item details page. +1. Contact the owners of the package you have the dispute with using the **Contact Owners** link on the package details page. Explain your issue in a kind and direct manner. 2. Send a copy of your message to [cgadmin@microsoft.com](mailto:cgadmin@microsoft.com) so that PowerShell Gallery Administrators are aware of your dispute. 3. Wait a maximum of 30 days and if you don’t have resolution notify [cgadmin@microsoft.com](mailto:cgadmin@microsoft.com) again. @@ -19,16 +19,16 @@ The PowerShellGallery.com support team will get involved and try to work this ou ## Prohibited Use -The following things are not allowed on the public PowerShell Gallery and will be immediately removed without discussion. Item owners will be notified if their item is removed. +The following things are not allowed on the public PowerShell Gallery and will be immediately removed without discussion. Package owners will be notified if their package is removed. - Malware, adware, or any kind of spyware -- Items that are designed to harm the user systems; +- Packages that are designed to harm the user systems; - Copyright infringement or license violation; - Illegal content; -- "Squatting" on item names that you plan to use but are not actually using. This also includes publishing items that have zero productive content. +- "Squatting" on package names that you plan to use but are not actually using. This also includes publishing packages that have zero productive content. Either publish code and get going or concede the name to someone who actually has a product to ship; and - Attempting to make the gallery do something that it is not explicitly designed to do. -If you find a item that is in violation of any of these items, click the ‘Report Abuse’ link on the item details page and submit a report. +If you find a package that is in violation of any of these items, click the ‘Report Abuse’ link on the package details page and submit a report. -**This policy is subject to change at the discretion of the PowerShell Gallery.** \ No newline at end of file +**This policy is subject to change at the discretion of the PowerShell Gallery.** diff --git a/gallery/how-to/getting-support/gdpr-dsr-policy.md b/gallery/how-to/getting-support/gdpr-dsr-policy.md index e01cdd4cf880..1cff746e3cfa 100644 --- a/gallery/how-to/getting-support/gdpr-dsr-policy.md +++ b/gallery/how-to/getting-support/gdpr-dsr-policy.md @@ -8,7 +8,7 @@ title: PowerShell Gallery GDPR compliance ## Overview -In May 2018, a European privacy law, the General Data Protection Regulation (GDPR), takes effect. +In May 2018, a European privacy law, the General Data Protection Regulation (GDPR), took effect. The GDPR imposes new rules on companies, government agencies, non-profits, and other organizations that offer goods and services to people in the European Union (EU), or that collect and analyze data tied to EU residents. @@ -25,18 +25,18 @@ The PowerShell Gallery stores the following information that may be provided by contain personal information: - PowerShell Gallery account -- Items published to the PowerShell Gallery +- Packages published to the PowerShell Gallery - Email correspondence with the PowerShell Gallery team Most users do not create a PowerShell Gallery account. -An account is not required unless you are going to publish an item +An account is not required unless you are going to publish a package or use the "Contact Owner" feature in the PowerShell Gallery. Other than email correspondence initiated by the user, the PowerShell Gallery does not store personally identifiable data for users who have not created an account. -Users who create a PowerShell Gallery account can publish items to the PowerShell Gallery. -Those items are expected to be PowerShell code, but may contain other information including personal information. -The information below will show how you can get all the items you have published to the PowerShell Gallery. +Users who create a PowerShell Gallery account can publish packages to the PowerShell Gallery. +Those packages are expected to be PowerShell code, but may contain other information including personal information. +The information below will show how you can get all the packages you have published to the PowerShell Gallery. ## DSR Export of PowerShell Gallery Data @@ -48,9 +48,9 @@ of this information. Email correspondence may include any of the following: -- Email sent to the owners of PowerShell Gallery items if the code analysis scans detected an issue with any item they have published to the PowerShell Gallery +- Email sent to the owners of PowerShell Gallery packages if the code analysis scans detected an issue with any package they have published to the PowerShell Gallery - Email sent by anyone to the PowerShell Gallery team using the email address in the "Contact Us" page [cgadmin@microsoft.com](mailto:cgadmin@microsoft.com) -- Registered users who use the "Contact Owner" feature in the PowerShell Gallery to send email to the owner of an item in the PowerShell Gallery +- Registered users who use the "Contact Owner" feature in the PowerShell Gallery to send email to the owner of a package in the PowerShell Gallery Emails sent by or to the PowerShell Gallery have a retention policy of 90 days to support possible security investigations should malicious code be discovered on the PowerShell Gallery. @@ -70,15 +70,15 @@ If you have created a PowerShell Gallery account, you can find all personal info If you have created more than one account in the PowerShell Gallery, you will need to repeat these steps for each account. -### Items in the PowerShell Gallery +### Packages in the PowerShell Gallery -To facilitate exporting items published to the PowerShell Gallery, +To facilitate exporting packages published to the PowerShell Gallery, we have published the script "GetPSGalleryItemsForAuthor" to the PowerShell Gallery. -This script exports a copy of every version of every item put into the PowerShell Gallery based -on the author information stored in the item. +This script exports a copy of every version of every package put into the PowerShell Gallery based +on the author information stored in the package. > [!NOTE] -> The Author is stored in the item manifest when you publish your item. +> The Author is stored in the package manifest when you publish your package. > There is no guarantee that the Author is the same identity as the account you use in the PowerShell Gallery. > If you use some other value in the Author field, you will need to supply that value when using this script. @@ -95,17 +95,17 @@ You can then run the script directly, by running the following PowerShell comman .\GetPSGalleryItemsForAuthor.ps1 ``` -You will be prompted to supply the Author and a folder on your system where you want the items to be saved. +You will be prompted to supply the Author and a folder on your system where you want the packages to be saved. ## Deleting Personal Data From The PowerShell Gallery -To delete your PowerShell Gallery account or any item you own in the PowerShell Gallery, +To delete your PowerShell Gallery account or any package you own in the PowerShell Gallery, send email to cgadmin@microsoft.com with the title: "GDPR Request for items relating to this account". In the body of the message state what information you want deleted. For example: -- Please delete version x.y.z of my item "item name" -- Please delete all versions of my item "item name" +- Please delete version x.y.z of my package "package name" +- Please delete all versions of my package "package name" - Please delete my PowerShell Gallery account The PowerShell Gallery administrators will reply within 7 business days. -The items specified will be deleted within 30 days after the request is sent. \ No newline at end of file +The packages specified will be deleted within 30 days after the request is sent. diff --git a/gallery/how-to/getting-support/report-abuse.md b/gallery/how-to/getting-support/report-abuse.md index 1cda9c005ef6..369ad366cf2f 100644 --- a/gallery/how-to/getting-support/report-abuse.md +++ b/gallery/how-to/getting-support/report-abuse.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -6,4 +6,4 @@ title: Report abuse --- # Report abuse -If you find a item that is in violation of any of these items, click the **Report Abuse** link on the item details page and submit a report. \ No newline at end of file +If you find a package that is in violation of any of these items, click the **Report Abuse** link on the package details page and submit a report. diff --git a/gallery/how-to/getting-support/troubleshooting-cmdlets.md b/gallery/how-to/getting-support/troubleshooting-cmdlets.md index 9a4d1d08c0b5..52c7b417183e 100644 --- a/gallery/how-to/getting-support/troubleshooting-cmdlets.md +++ b/gallery/how-to/getting-support/troubleshooting-cmdlets.md @@ -18,4 +18,4 @@ Let's use 'Azure' module as an example below. Install-PackageProvider NuGet -MinimumVersion 2.8.5.206 -Force Launch new PowerShell Console Update-Module Azure -Verbose -``` \ No newline at end of file +``` diff --git a/gallery/how-to/managing-profile/creating-APIkeys.md b/gallery/how-to/managing-profile/creating-APIkeys.md index b7d3a2cf9246..1b918d7fa3cf 100644 --- a/gallery/how-to/managing-profile/creating-APIkeys.md +++ b/gallery/how-to/managing-profile/creating-APIkeys.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 09/10/2018 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery diff --git a/gallery/how-to/managing-profile/managing-account.md b/gallery/how-to/managing-profile/managing-account.md index 1d41c073ad19..7d688b61d0c4 100644 --- a/gallery/how-to/managing-profile/managing-account.md +++ b/gallery/how-to/managing-profile/managing-account.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 09/05/2018 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -35,7 +35,7 @@ previous address. PowerShell Gallery provides the following notification options: - Users can contact me through the PowerShell Gallery -- Notify me when an item is pushed to the PowerShell Gallery using my account +- Notify me when an package is pushed to the PowerShell Gallery using my account ![Changing email address](../../Images/PSGallery_AccountEmailOptions.png) diff --git a/gallery/how-to/publishing-items/deleting-items.md b/gallery/how-to/publishing-items/deleting-items.md deleted file mode 100644 index a45b76910ed3..000000000000 --- a/gallery/how-to/publishing-items/deleting-items.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Deleting items ---- -# Deleting items - -The PowerShell Gallery does not support permanent deletion of items, because that would break anyone who is depending on it remaining available. - -Instead, the PowerShell Gallery supports a way to 'unlist' an item, which can be done in the item management page on the web site. -When an item is unlisted, it no longer shows up in search and in any item listing, both on the PowerShell Gallery and using PowerShellGet commands. -However, it remains downloadable by specifying its exact version, which is what allows the automated scripts to continue working. - -If you run into an exceptional situation where you think one of your items must be deleted, this can be handled manually by the PowerShell Gallery team. -For example, if there is a copyright infringement issue, or potentially harmful content, that could be a valid reason to delete it. -You should submit a support request through [PowerShell Gallery](http://www.PowerShellGallery.com) in that case. \ No newline at end of file diff --git a/gallery/how-to/publishing-items/managing-item-owners.md b/gallery/how-to/publishing-items/managing-item-owners.md deleted file mode 100644 index acfa77019806..000000000000 --- a/gallery/how-to/publishing-items/managing-item-owners.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Managing item owners ---- -# Managing item owners - -Ownership of an item in the PowerShell Gallery is defined by who published the item to the gallery. -Sometimes this metadata needs to be managed beyond the initial item publishing, which means the owner metadata needs to be mutable while the item itself is not. - -All item owners are peers. -This means any item owner can publish a new version of an item. It also means that any item owner can remove any other item owner. -No owner has more authority than other owners. - -## Setting an Item's Initial Owner - -When a new item is published to PowerShell Gallery, the initial owner is defined by the user that published the item. This is determined by whose API key was used in the Publish-Module cmdlet. - -## Adding Owners - -Once an item has been published to the PowerShell Gallery, it's easy to invite additional users to become owners of an item. - -1. [Log on](https://powershellgallery.com/users/account/LogOn) to the PowerShell Gallery with the account that is the current owner of an item. -2. Navigate to an item page using the 'Items' tab, searching, or clicking your username and then [**Manage My Items**](https://www.powershellgallery.com/account/Packages). -3. When logged on as an item's owner, there is a 'Manage Owners' link on the left side to click. -4. Enter the username of the person to add as an owner and click 'Add'. -5. An email is then sent to the new co-owner, as an invitation to become an owner of an item. -6. Once that user clicks the link, they are a full co-owner with full control over an item, including the ability to remove other users as owners. - -**NOTE**: Until the new owner confirms ownership, they *will not* be listed as an owner of an item. -When viewing the **Manage Owners** page, you will see a "pending approval" entry in the current owners. -That invitation can be removed; just as other owners can be removed. -This process of invitations prevents users from falsely adding other users as owners of their items. - -Note that the "Authors" metadata is purely freeform text; only "Owners" are controlled. - - -## Removing Owners - -When an item has multiple owners and one needs to be removed, the process is simple: - -1. [Log on](https://powershellgallery.com/users/account/LogOn) to PowerShell Gallery with the account that is the current owner of an item; -2. Navigate to an item page using the Items tab, searching, or clicking your username and then [**Manage My Items**](https://www.powershellgallery.com/account/Packages). -3. When logged on as an item's owner, there is a 'Manage Owners' link on the left side to click; -4. Click the 'remove' link next to the owner to be removed. - - - -## Transferring Item Ownership - -We sometimes get support requests to transfer item ownership from one user to another, but you can almost always accomplish this yourself. -Transferring ownership from one user to another is simply a combination of the two features above. - -1. The current owner invites the new user to become a co-owner and the new user accepts the invite; -2. The new user removes the old user from the list of owners. - -This request has come in under a couple forms but the process works the same. - -- The item ownership is changing from one developer to another -- The item was accidentally published using the wrong account - - -## Orphaned Items - -One last scenario has occurred, but not many times. -Items have become orphans and the only item owner account cannot be used to add new owners. -Here are some examples of this scenario: - -- The owner's account is associated with an email address that no longer exists and the user has forgotten their password -- The registered owner has left the company that produces the item and cannot be reached to update the item ownership -- Due to a bug that has only affected a handful of items, the item is somehow ownerless on the gallery - -The PowerShell Gallery Administrators can access the 'Manage Owners' link for any item. -If you are the rightful owner of a item and cannot reach the current owner to gain ownership permissions, then use the 'Report Abuse' link on the gallery to reach the PowerShell Gallery Administrators. -We will then follow a process to verify your ownership of the item. -If we determine you should be an owner of the item, we will use the 'Manage Owners' link for the item ourselves and send you the invite to become an owner. -We will only do this after verifying that you should be an owner and the process for this varies by circumstances. -Often times, we will use the item's Project URL to find a way to contact the project owner, but we may also use Twitter, Email, or other means for contacting the project owner. \ No newline at end of file diff --git a/gallery/how-to/publishing-items/publishing-an-item.md b/gallery/how-to/publishing-items/publishing-an-item.md deleted file mode 100644 index f7e8d40f7097..000000000000 --- a/gallery/how-to/publishing-items/publishing-an-item.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Creating and publishing an item ---- -# Creating and publishing an item - -The PowerShell Gallery is the place to publish and share stable PowerShell modules, scripts, -and DSC resources with the broader PowerShell user community. - -This article covers the mechanics and important steps for preparing a script or module, and publishing it to the PowerShell Gallery. -We strongly encourage that you review the [Publishing Guidelines](https://msdn.microsoft.com/powershell/gallery/psgallery/psgallery-PublishingGuidelines) -to understand how to ensure that the items you publish will be more widely accepted by PowerShell Gallery users. - -The minimum requirements to publish an item to the PowerShell Gallery are: - -- Have a PowerShell Gallery account, and the API Key associated with it -- Ensure Required Metadata is in your item -- Use the pre-validation tools to ensure your item is ready to publish -- Publish the item to the PowerShell Gallery using the Publish-Module and Publish-Script commands -- Responding to questions or concerns about your item - -The PowerShell Gallery accepts PowerShell modules and PowerShell scripts. -When we refer to scripts, we mean a PowerShell script that is a single file, and not part of a larger module. - -## PowerShell Gallery Account and API Key - -See [Creating a PowerShell Gallery Account](https://msdn.microsoft.com/powershell/gallery/psgallery/psgallery_creating_an_account) -for how to set up your PowerShell Gallery account. - -Once you have created an account, you can get the API Key needed to publish an item. -After you sign in with the account, your username will be displayed at the top of the PowerShell Gallery pages instead of Register. -Clicking on your username will take you to the My Account page, where you will find the API Key. - -Note: The API Key must be treated as securely as your login and password. -With this key you, or anyone else, can update any item you own in the PowerShell Gallery. -We recommend updating the key regularly, which can be done using Reset Key on your My Account page. - -## Required Metadata for Items Published to the PowerShell Gallery - -The PowerShell Gallery provides information to gallery users drawn from metadata fields that are included in the script or module manifest. -Creating or modifying items for publication to the PowerShell Gallery has a small set of requirements for information supplied in the item manifest. -We strongly encourage that you review the Item Metadata section of the [Publishing Guidelines](https://msdn.microsoft.com/powershell/gallery/psgallery/psgallery-PublishingGuidelines) -to learn how to provide the best information to users with your items. - -The [New-ModuleManifest](https://msdn.microsoft.com/powershell/gallery/psget/module/ModuleManifest-Reference) -and [New-ScriptFileInfo](https://msdn.microsoft.com/powershell/gallery/psget/script/psget_new-scriptfileinfo) -cmdlets will create the manifest template for you, with placeholders for all the manifest elements. - -Both manifests have two sections that are important for publishing, the Primary Key Data and PSData area of PrivateData -The primary key data in a PowerShell module manifest is everything outside of the PrivateData section. -The set of primary keys is tied to the version of PowerShell in use, and undefined are not supported. -PrivateData supports adding new keys, so the elements specific to the PowerShell Gallery are in PSData. - - -Manifest elements that are most important to fill in for item you publish to the PowerShell Gallery are: - -- Script or Module Name - Those are drawn from the names of the .PS1 for a script, or the .PSD1 for a module. -- Version - this is a required primary key, format should follow SemVer guidelines (see Best Practices for details) -- Author - this is a required primary key, and contains the name to be associated with the item (see Authors and Owners, below) -- Description - this is a required primary key, used to briefly explain what this item does and any requirements for using it -- ProjectURI - this is a strongly recommended URI field in PSData that provides a link to a Github repo or similar location where you do development on the item - -Authors and Owners of PowerShell Gallery items are related concepts, but do not always match. -Item Owners are users with PowerShell Gallery accounts that have permission to maintain the item. There may be many Owners who can update any item. -The Owner is only available from the PowerShell Gallery, and is lost if the item is copied from one system to another. -Author is a string that is built into the manifest data, so it is always part of the item. -The recommendations for items from Microsoft products are: - -- Have multiple owners, with at least one being the name of the team that produces the item; -- Have the Author be a well-known team name (such as Azure SDK Team), or Microsoft Corporation. - - -## Pre-Validate Your Item - -There are a few tools you need to run against your code before publishing your item to the PowerShell Gallery: - -- [PowerShell Script Analyzer](https://www.powershellgallery.com/packages/PSScriptAnalyzer/), which is in the PowerShell Gallery -- For modules, Test-ModuleManifest which is part of PowerShell -- For scripts, Test-ScriptFileInfo which comes with PowerShell Get - -[PowerShell Script Analyzer](https://www.powershellgallery.com/packages/PSScriptAnalyzer/) is a static code analysis tool that -will scan your code to ensure it meets basic PowerShell coding guidelines. This tool will identify common and critical issues in your -code, and should be run regularly during development to help you get your item ready to publish. -PowerShell Script Analyzer will provide list of issues identified as Errors, Warning, and Information. -All errors must be addressed before you publish to the PowerShell Gallery. Warnings need to be reviewed, and most should be addressed. -PowerShell Script Analyzer is run every time an item is published or updated in the PowerShell Gallery. -The Gallery Operations team will contact item owners to address errors that are found. - -If the manifest information in your item cannot be read by the PowerShell Gallery infrastructure, you will not be able to publish. -[Test-ModuleManifest](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/test-modulemanifest) will -catch common problems that would cause the module to not be usable when it is installed. It must be run for every module prior to publishing -it to the PowerShell Gallery. - -Likewise, [Test-ScriptFileInfo](https://msdn.microsoft.com/powershell/gallery/psget/script/psget_test-scriptfileinfo) validates the -metadata in a script, and must be run on every script (published separate from a module) prior to publishing it to the Powershell Gallery. - - -## Publishing Items - -You must use the [Publish-Script](https://msdn.microsoft.com/powershell/gallery/psget/script/psget_publish-script) or -[Publish-Module](https://msdn.microsoft.com/powershell/gallery/psget/module/psget_publish-module) to publish items to the PowerShell Gallery. -These commands both require - -- The path to the item you will publish. For a module, use the folder named for your module. If you specify a folder that contains multiple versions of the same module, you must specify RequiredVersion. -- A Nuget API key. This is the API key found in the My Account page on the PowerShell Gallery. - -Most of the other options in the command line should be in the manifest data for the item you are publishing, so you should not need to specify them in the command. - -To avoid errors, it is strongly recommended that you try the commands using -Whatif -Verbose, before publishing. -This will save considerable time, since every time you publish to the PowerShell Gallery, you must update the version number in the manifest section of the item. - -Examples would be: -'Publish-Module -Path ".\MyModule" -RequiredVersion "0.0.1" -NugetAPIKey "GUID" -Whatif -Verbose' -'Publish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -Whatif -Verbose' - -Review the output carefully, and if you see no errors or warnings, repeat the command without -Whatif. - -All items that are published to the PowerShell Gallery will be scanned for viruses, and will be analyzed using the PowerShell Script Analyzer. -Any issues that arise at that time will be sent back to the publisher for resolution. - -Once you have published an item to the PowerShell Gallery, you will need to watch for feedback on your item. - -- Ensure you monitor the email address associated with the account used to publish. -Users, and the PowerShell Gallery Operations team will provide feedback via that account, including issues from the PSSA or antivirus scans. -If the email account is invalid, or if serious issues are reported to the account and left unresolved for a long time, items can be considered abandoned and will be removed from the PowerShell Gallery as described in our [Terms of Use](https://www.powershellgallery.com/policies/Terms). -- We recommend you subscribe to Comments for each PowerShell Gallery item you publish. -This allows you to be notified if anyone comments on your items in the PowerShell Gallery. -This is optional, as it requires creating an account with LiveFyre. \ No newline at end of file diff --git a/gallery/how-to/publishing-items/unlisting-items.md b/gallery/how-to/publishing-items/unlisting-items.md deleted file mode 100644 index a334620c041c..000000000000 --- a/gallery/how-to/publishing-items/unlisting-items.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Unlisting items ---- -# Unlisting items - -**Why is removing an item from PowerShell Gallery not exposed as an option?** - -The PowerShell Gallery does not support users permanently deleting their items. -This enables others to take dependencies on your items without worrying about possible breaks in the future. -For example, if the Pester module depends on the Azure module and the Azure module is removed from the gallery, then user can no longer uses the Pester module. - -Instead of removing an item, however, you can unlist it instead. - -**What does unlisting an item on PowerShell Gallery do?** - -Unlisting an item such as module or script on PowerShell Gallery will remove it from the Items tab. -In addition, unlisted items will not be discoverable using the search bar. -The only way to download an unlisted item is to specify the exact name and version of the item. -Because of this, the unlisting of an item will not break other modules or scripts that depend on it. - -To unlist your item, visit the item details page and select 'Delete Item'. Uncheck the 'Listed' checkbox, and click Save. - -**How can I remove an item?** - -If you experience a scenario where item deletion is necessary, contact the PowerShell Gallery Administrators. -Valid deletion scenarios are: -- Issues of copyright infringement. -- Item contains potentially harmful content. -- Item contains sensitive data. - -To submit a Delete Item Request to the PowerShell Gallery Administrators, visit your item's detail page and select Contact Support. \ No newline at end of file diff --git a/gallery/how-to/publishing-items/creating-an-account.md b/gallery/how-to/publishing-packages/creating-an-account.md similarity index 76% rename from gallery/how-to/publishing-items/creating-an-account.md rename to gallery/how-to/publishing-packages/creating-an-account.md index 0ea08ee2a0ae..f7570e21a803 100644 --- a/gallery/how-to/publishing-items/creating-an-account.md +++ b/gallery/how-to/publishing-packages/creating-an-account.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 09/11/2018 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -25,18 +25,18 @@ Privacy Policy, enter a username, and then click **Register**. > [!NOTE] > The account name cannot be changed once it is created. For more information, see -> [Managing Item Owners](managing-item-owners.md). +> [Managing Package Owners](managing-package-owners.md). ## Recommended practices for PowerShell Gallery accounts It's important to actively monitor the email account used with your PowerShell Gallery account. All -communication with owners of PowerShell Gallery items is through this email address. If the -PowerShell Gallery Operations team is unable to contact an item owner, we may be required to delete -an item. +communication with owners of PowerShell Gallery packages is through this email address. If the +PowerShell Gallery Operations team is unable to contact a package owner, we may be required to delete +a package. Organizations that publish to the PowerShell Gallery often create a unique external account for that purpose. We recommend you use email forwarding to forward notifications to an address within your organization. -When multiple owners are associated with an item, all PowerShell Gallery notifications are sent -to all owners. For more information, see [Managing Item Owners](managing-item-owners.md). +When multiple owners are associated with a package, all PowerShell Gallery notifications are sent +to all owners. For more information, see [Managing Package Owners](managing-package-owners.md). diff --git a/gallery/how-to/publishing-packages/deleting-packages.md b/gallery/how-to/publishing-packages/deleting-packages.md new file mode 100644 index 000000000000..39c164d82815 --- /dev/null +++ b/gallery/how-to/publishing-packages/deleting-packages.md @@ -0,0 +1,17 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: Deleting packages +--- +# Deleting Packages + +The PowerShell Gallery does not support permanent deletion of packages, because that would break anyone who is depending on it remaining available. + +Instead, the PowerShell Gallery supports a way to 'unlist' a package, which can be done in the package management page on the web site. +When a package is unlisted, it no longer shows up in search and in any package listing, both on the PowerShell Gallery and using PowerShellGet commands. +However, it remains downloadable by specifying its exact version, which is what allows the automated scripts to continue working. + +If you run into an exceptional situation where you think one of your packages must be deleted, this can be handled manually by the PowerShell Gallery team. +For example, if there is a copyright infringement issue, or potentially harmful content, that could be a valid reason to delete it. +You should submit a support request through [PowerShell Gallery](http://www.PowerShellGallery.com) in that case. diff --git a/gallery/how-to/publishing-packages/managing-package-owners.md b/gallery/how-to/publishing-packages/managing-package-owners.md new file mode 100644 index 000000000000..f681220a27b7 --- /dev/null +++ b/gallery/how-to/publishing-packages/managing-package-owners.md @@ -0,0 +1,79 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: Managing package owners +--- +# Managing package owners + +Ownership of a package in the PowerShell Gallery is defined by who published the package to the gallery. +Sometimes this metadata needs to be managed beyond the initial package publishing, which means the owner metadata needs to be mutable while the package itself is not. + +All package owners are peers. +This means any package owner can publish a new version of an package. It also means that any package owner can remove any other package owner. +No owner has more authority than other owners. + +## Setting a Package's Initial Owner + +When a new package is published to PowerShell Gallery, the initial owner is defined by the user that published the package. This is determined by whose API key was used in the Publish-Module cmdlet. + +## Adding Owners + +Once a package has been published to the PowerShell Gallery, it's easy to invite additional users to become owners of a package. + +1. [Log on](https://powershellgallery.com/users/account/LogOn) to the PowerShell Gallery with the account that is the current owner of a package. +2. Navigate to a package page using the 'Items' tab, searching, or clicking your username and then [**Manage My Packages**](https://www.powershellgallery.com/account/Packages). +3. When logged on as an package's owner, there is a 'Manage Owners' link on the left side to click. +4. Enter the username of the person to add as an owner and click 'Add'. +5. An email is then sent to the new co-owner, as an invitation to become an owner of a package. +6. Once that user clicks the link, they are a full co-owner with full control over a package, including the ability to remove other users as owners. + +**NOTE**: Until the new owner confirms ownership, they *will not* be listed as an owner of a package. +When viewing the **Manage Owners** page, you will see a "pending approval" entry in the current owners. +That invitation can be removed; just as other owners can be removed. +This process of invitations prevents users from falsely adding other users as owners of their packages. + +Note that the "Authors" metadata is purely freeform text; only "Owners" are controlled. + + +## Removing Owners + +When a package has multiple owners and one needs to be removed, the process is simple: + +1. [Log on](https://powershellgallery.com/users/account/LogOn) to PowerShell Gallery with the account that is the current owner of a package; +2. Navigate to a package page using the Packages tab, searching, or clicking your username and then [**Manage My Packages**](https://www.powershellgallery.com/account/Packages). +3. When logged on as a package's owner, there is a 'Manage Owners' link on the left side to click; +4. Click the 'remove' link next to the owner to be removed. + + + +## Transferring Package Ownership + +We sometimes get support requests to transfer package ownership from one user to another, but you can almost always accomplish this yourself. +Transferring ownership from one user to another is simply a combination of the two features above. + +1. The current owner invites the new user to become a co-owner and the new user accepts the invite; +2. The new user removes the old user from the list of owners. + +This request has come in under a couple forms but the process works the same. + +- The package ownership is changing from one developer to another +- The package was accidentally published using the wrong account + + +## Orphaned Packages + +One last scenario has occurred, but not many times. +Packages have become orphans and the only package owner account cannot be used to add new owners. +Here are some examples of this scenario: + +- The owner's account is associated with an email address that no longer exists and the user has forgotten their password +- The registered owner has left the company that produces the package and cannot be reached to update the package ownership +- Due to a bug that has only affected a handful of packages, the package is somehow ownerless on the gallery + +The PowerShell Gallery Administrators can access the 'Manage Owners' link for any package. +If you are the rightful owner of a package and cannot reach the current owner to gain ownership permissions, then use the 'Report Abuse' link on the gallery to reach the PowerShell Gallery Administrators. +We will then follow a process to verify your ownership of the package. +If we determine you should be an owner of the package, we will use the 'Manage Owners' link for the package ourselves and send you the invite to become an owner. +We will only do this after verifying that you should be an owner and the process for this varies by circumstances. +Often times, we will use the package's Project URL to find a way to contact the project owner, but we may also use Twitter, Email, or other means for contacting the project owner. diff --git a/gallery/how-to/publishing-packages/publishing-a-package.md b/gallery/how-to/publishing-packages/publishing-a-package.md new file mode 100644 index 000000000000..d1e306e66d84 --- /dev/null +++ b/gallery/how-to/publishing-packages/publishing-a-package.md @@ -0,0 +1,160 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: Creating and publishing an item +--- +# Creating and publishing an item + +The PowerShell Gallery is the place to publish and share stable PowerShell modules, scripts, +and DSC resources with the broader PowerShell user community. + +This article covers the mechanics and important steps for preparing a script or module, and +publishing it to the PowerShell Gallery. We strongly encourage that you review the + [Publishing Guidelines](../../concepts/publishing-guidelines.md) to understand how to ensure that the items you publish will be more widely accepted by PowerShell Gallery users. + +The minimum requirements to publish an item to the PowerShell Gallery are: + +- Have a PowerShell Gallery account, and the API Key associated with it +- Ensure Required Metadata is in your item +- Use the pre-validation tools to ensure your item is ready to publish +- Publish the item to the PowerShell Gallery using the Publish-Module and Publish-Script commands +- Respond to questions or concerns about your item + +The PowerShell Gallery accepts PowerShell modules and PowerShell scripts. When we refer to scripts, +we mean a PowerShell script that is a single file, and not part of a larger module. + +## PowerShell Gallery Account and API Key + +See [Creating a PowerShell Gallery Account](/powershell/gallery/how-to/publishing-packages/creating-an-account) +for how to set up your PowerShell Gallery account. + +Once you have created an account, you can get the API Key needed to publish an item. After you sign +in with the account, your username will be displayed at the top of the PowerShell Gallery pages +instead of Register. Clicking on your username will take you to the My Account page, where you will +find the API Key. + +Note: The API Key must be treated as securely as your login and password. +With this key you, or anyone else, can update any item you own in the PowerShell Gallery. +We recommend updating the key regularly, which can be done using Reset Key on your My Account page. + +## Required Metadata for Items Published to the PowerShell Gallery + +The PowerShell Gallery provides information to gallery users drawn from metadata fields that are +included in the script or module manifest. Creating or modifying items for publication to the +PowerShell Gallery has a small set of requirements for information supplied in the item manifest. +We strongly encourage that you review the Item Metadata section of the + [Publishing Guidelines](../../concepts/publishing-guidelines.md) to learn how to provide + the best information to users with your items. + +The [New-ModuleManifest](/powershell/module/microsoft.powershell.core/new-modulemanifest) +and [New-ScriptFileInfo](/powershell/module/PowerShellGet/New-ScriptFileInfo) +cmdlets will create the manifest template for you, with placeholders for all the manifest elements. + +Both manifests have two sections that are important for publishing, the Primary Key Data and PSData +area of PrivateData. The primary key data in a PowerShell module manifest is everything outside of +the PrivateData section. The set of primary keys is tied to the version of PowerShell in use, and +undefined are not supported. PrivateData supports adding new keys, so the elements specific to the +PowerShell Gallery are in PSData. + + +Manifest elements that are most important to fill in for item you publish to the PowerShell Gallery +are: + +- Script or Module Name - Those are drawn from the names of the .PS1 for a script, or the .PSD1 for +a module. +- Version - this is a required primary key, format should follow SemVer guidelines. See Best +Practices for details. +- Author - this is a required primary key, and contains the name to be associated with the item. +See Authors and Owners below. +- Description - this is a required primary key, used to briefly explain what this item does and any +requirements for using it +- ProjectURI - this is a strongly recommended URI field in PSData that provides a link to a Github +repo or similar location where you do development on the item +- Tags - it is a strong recommendation to tag your package based on its compatibility with +PSEditions and platforms. For details, see the +[Publishing Guidelines](../../concepts/publishing-guidelines.md#tag-your-package-with-the-compatible-pseditions-and-platforms). + +Authors and Owners of PowerShell Gallery items are related concepts, but do not always match. Item +Owners are users with PowerShell Gallery accounts that have permission to maintain the item. There +may be many Owners who can update any item. The Owner is only available from the PowerShell +Gallery, and is lost if the item is copied from one system to another. Author is a string that is +built into the manifest data, so it is always part of the item. The recommendations for items from +Microsoft products are: + +- Have multiple owners, with at least one being the name of the team that produces the item +- Have the Author be a well-known team name (such as Azure SDK Team), or Microsoft Corporation + + +## Pre-Validate Your Item + +There are a few tools you need to run against your code before publishing your item to the +PowerShell Gallery: + +- [PowerShell Script Analyzer](https://www.powershellgallery.com/packages/PSScriptAnalyzer/), which +is in the PowerShell Gallery +- For modules, Test-ModuleManifest which is part of PowerShell +- For scripts, Test-ScriptFileInfo which comes with PowerShell Get + +[PowerShell Script Analyzer](https://www.powershellgallery.com/packages/PSScriptAnalyzer/) is a +static code analysis tool that will scan your code to ensure it meets basic PowerShell coding +guidelines. This tool will identify common and critical issues in your code, and should be run +regularly during development to help you get your item ready to publish. PowerShell Script Analyzer +will provide list of issues identified as Errors, Warning, and Information. All errors must be +addressed before you publish to the PowerShell Gallery. Warnings need to be reviewed, and most +should be addressed. PowerShell Script Analyzer is run every time an item is published or updated +in the PowerShell Gallery. The Gallery Operations team will contact item owners to address errors +that are found. + +If the manifest information in your item cannot be read by the PowerShell Gallery infrastructure, +you will not be able to publish. +[Test-ModuleManifest](/powershell/module/microsoft.powershell.core/test-modulemanifest) will catch +common problems that would cause the module to not be usable when it is installed. It must be run +for every module prior to publishing it to the PowerShell Gallery. + +Likewise, [Test-ScriptFileInfo](/powershell/module/PowerShellGet/test-scriptfileinfo) validates the +metadata in a script, and must be run on every script (published separate from a module) prior to +publishing it to the PowerShell Gallery. + + +## Publishing Items + +You must use the [Publish-Script](/powershell/module/PowerShellGet/publish-script) or +[Publish-Module](/powershell/module/PowerShellGet/publish-module) to publish items to the +PowerShell Gallery. These commands both require: + +- The path to the item you will publish. For a module, use the folder named for your module. If you +specify a folder that contains multiple versions of the same module, you must specify +RequiredVersion. +- A Nuget API key. This is the API key found in the My Account page on the PowerShell Gallery. + +Most of the other options in the command line should be in the manifest data for the item you are +publishing, so you should not need to specify them in the command. + +To avoid errors, it is strongly recommended that you try the commands using -WhatIf -Verbose, +before publishing. This will save considerable time, since every time you publish to the PowerShell +Gallery, you must update the version number in the manifest section of the item. + +Examples would be: + +* `Publish-Module -Path ".\MyModule" -NugetAPIKey "GUID" -WhatIf -Verbose` +* `Publish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -WhatIf -Verbose` + +Review the output carefully, and if you see no errors or warnings, repeat the command without -WhatIf. + +All items that are published to the PowerShell Gallery will be scanned for viruses, and will be +analyzed using the PowerShell Script Analyzer. Any issues that arise at that time will be sent back +to the publisher for resolution. + +Once you have published an item to the PowerShell Gallery, you will need to watch for feedback on +your item. + +- Ensure you monitor the email address associated with the account used to publish. Users, and the +PowerShell Gallery Operations team will provide feedback via that account, including issues from +the PSSA or antivirus scans. If the email account is invalid, or if serious issues are reported to +the account and left unresolved for a long time, items can be considered abandoned and will be +removed from the PowerShell Gallery as described in our [Terms of +Use](https://www.powershellgallery.com/policies/Terms). +- We recommend you subscribe to Comments for each PowerShell Gallery item you publish. This allows +you to be notified if anyone comments on your items in the PowerShell Gallery. This is optional, as +it requires creating an account with LiveFyre. diff --git a/gallery/how-to/publishing-packages/unlisting-packages.md b/gallery/how-to/publishing-packages/unlisting-packages.md new file mode 100644 index 000000000000..eb454bab94dd --- /dev/null +++ b/gallery/how-to/publishing-packages/unlisting-packages.md @@ -0,0 +1,34 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: Unlisting packages +--- +# Unlisting Packages + +**Why is removing a package from PowerShell Gallery not exposed as an option?** + +The PowerShell Gallery does not support users permanently deleting their packages. +This enables others to take dependencies on your packages without worrying about possible breaks in the future. +For example, if the Pester module depends on the Azure module and the Azure module is removed from the gallery, then user can no longer uses the Pester module. + +Instead of removing an package, however, you can unlist it instead. + +**What does unlisting a package on PowerShell Gallery do?** + +Unlisting a package such as module or script on PowerShell Gallery will remove it from the Packages tab. +In addition, unlisted packages will not be discoverable using the search bar. +The only way to download an unlisted package is to specify the exact name and version of the package. +Because of this, the unlisting of an package will not break other modules or scripts that depend on it. + +To unlist your package, visit the package details page and select 'Delete Module'. Uncheck the 'Listed' checkbox, and click Save. + +**How can I remove an package?** + +If you experience a scenario where package deletion is necessary, contact the PowerShell Gallery Administrators. +Valid deletion scenarios are: +- Issues of copyright infringement. +- Package contains potentially harmful content. +- Package contains sensitive data. + +To submit a Delete Package Request to the PowerShell Gallery Administrators, visit your package's detail page and select Contact Support. diff --git a/gallery/how-to/working-with-items/filelist-view.md b/gallery/how-to/working-with-items/filelist-view.md deleted file mode 100644 index 289b255bd0cf..000000000000 --- a/gallery/how-to/working-with-items/filelist-view.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: FileList feature in the Gallery ---- -# FileList feature in the Gallery - -You are able to view the contents in all items published in the gallery. - -This feature includes two parts: listing the files within the item, and displaying file contents for supported file types. Currently we support displaying the contents of the following file extensions: .ps1, .psm1, .psd1, .ps1xml, .xml and .txt. We will be supporting more file extensions in the next releases. - -## Where to Find FileList - -On each individual item page, you will be able to find FileList section and a **Show** link. Click on the Show and you will find a complete list of items contained in the item. - -Each supported file type is displayed as a hyperlink, and clicking it will take you to a new page with file contents displayed in PowerShell syntax highlighting. Clicking on the title or the version of the item, which is displayed at the top of the screen, will bring you back to item detail page. \ No newline at end of file diff --git a/gallery/how-to/working-with-items/social-media-feedback.md b/gallery/how-to/working-with-items/social-media-feedback.md deleted file mode 100644 index 16a57e11a942..000000000000 --- a/gallery/how-to/working-with-items/social-media-feedback.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -ms.date: 06/12/2017 -contributor: JKeithB -keywords: gallery,powershell,cmdlet,psgallery -title: Providing Feedback via social media or comments ---- -# Providing Feedback via social media or comments - -The Powershell Gallery supports two approaches for users to provide public feedback on an item: - -- Use the links on the left edge to "share" an item in Facebook, LinkedIn, or Twitter social media sites; -- Use the Comment feature to post comments on an item, and to allow Authors to watch for comments on items they publish. - -## Social Media Feedback - -On the left side of the page for each item in the PowerShell Gallery there are links for Facebook, LinkedIn, and Twitter. -Clicking on these links will open the social media site, and allow quickly sharing a link to the item. - -Users must log in to the site they have chosen in order to share the PowerShell Gallery item. - -Users are encouraged to do this if they find that an item is something they would recommend to others. -The PowerShell Gallery will check each social media site for "shares" of the item, and display how many times that item has been shared in each of the social media sites. -Since this shows only the count of times something has been shared, it will be intepreted other users as "liking" the item. - - -## Comments - -The PowerShell Gallery uses the LiveFyre service to allow users to comment on items. -Users who have recommendations or feedback can use this feature to provide feedback that is visible to anyone who visits the item page. -Item owners can Follow this feedback, and be notified when someone posts a comment. - -The Comment system is based on LiveFyre, which is a separate service that is not managed by Microsoft, and requires unique login to use. -The first time you choose to leave a comment or Follow comments on one of your items, you will be prompted to create a LiveFyre account. - -If you have created a LiveFyre account and logged in, you can craft a comment that provides feedback on the item, then click on "Post comment..." -The comment will not be visible immediately. -Comments for gallery items are moderated by the PowerShell Gallery administrators, and all posts are reviewed by the moderators before being published and visible to others. -Our purpose in moderating the comments is to ensure that they align with public behavior consistent with the PowerShell Gallery [Terms of Use](https://www.powershellgallery.com/policies/Terms). - -Item owners are encouraged to Follow comments that are posted to LiveFyre. -A LiveFyre account is required, and it is recommended to use the same email address you use for publishing your item in LiveFyre. -To Follow comments, log into LiveFyre, and navigate to any item where you are listed as an Owner. -Below the Comment box at the bottom of each item you will see "+Follow". -Once you click on this, LiveFyre will send an email to the registered email address any time new comments made on the item. \ No newline at end of file diff --git a/gallery/how-to/working-with-local-psrepositories.md b/gallery/how-to/working-with-local-psrepositories.md new file mode 100644 index 000000000000..df27bb2d5737 --- /dev/null +++ b/gallery/how-to/working-with-local-psrepositories.md @@ -0,0 +1,215 @@ +--- +ms.date: 11/06/2018 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery,psget +title: Working with local PSRepositories +--- +# Working with local PowerShellGet Repositories + +The PowerShellGet module support repositories other than the PowerShell Gallery. +These cmdlets enable the following scenarios: + +- Support a trusted, pre-validated set of PowerShell modules for use in your environment +- Testing a CI/CD pipeline that builds PowerShell modules or scripts +- Deliver PowerShell scripts and modules to systems that can't access the internet + +This article describes how to set up a local PowerShell repository. The article also covers the +[OfflinePowerShellGetDeploy][] module available from the PowerShell Gallery. This module contains +cmdlets to install the latest version of PowerShellGet into your local repository. + +## Local repository types + +There are two ways to create a local PSRepository: NuGet server or file share. Each type has +advantages and disadvantages: + +NuGet Server + +| Advantages| Disadvantages | +| --- | --- | +| Closely mimics PowerShellGallery functionality | Multi-tier app requires operations planning & support | +| NuGet integrates with Visual Studio, other tools | Authentication model and NuGet accounts management needed | +| NuGet supports metadata in `.Nupkg` packages | Publishing requires API Key management & maintenance | +| Provides search, package administration, etc. | | + +File Share + +| Advantages| Disadvantages | +| --- | --- | +| Easy to set up, back up, and maintain | Metadata used by PowerShellGet isn't available | +| Simple security model - user permissions on the share | No UI beyond basic file share | +| No constraints such as replacing existing items | Limited security and no recording of who updates what | + +PowerShellGet works with either type and supports locating versions and dependency installation. +However, some features that work for the PowerShell Gallery aren't available for base NuGet +servers or file shares. + +- Everything is a package - no differentiation of scripts, modules, DSC resources, or role + capabilities. +- File share servers can't see package metadata, including tags. + +## Creating a local repository + +The following article lists the steps for setting up your own NuGet Server. + +- [NuGet.Server][] + +Follow the steps up to the point of adding packages. The steps for +[publishing a package](#publishing-to-a-local-repository) are covered later in this article. + +For a file share-based repository, make sure that your users have permissions to access the file +share. + +## Registering a local repository + +Before a repository can be used, it must be registered using the `Register-PSRepository` command. +In the examples below, the **InstallationPolicy** is set to *Trusted*, on the assumption that you +trust your own repository. + +```powershell +# Register a NuGet-based server +Register-PSRepository -Name LocalPSRepo -SourceLocation http://MyLocalNuget/Api/V2/ -ScriptSourceLocation http://MyLocalNuget/Api/V2 -InstallationPolicy Trusted + +# Register a file share on my local machine +Register-PSRepository -Name LocalPSRepo -SourceLocation '\\localhost\PSRepoLocal\' -ScriptSourceLocation '\\localhost\PSRepoLocal\' -InstallationPolicy Trusted +``` + +Take note of the difference between how the two commands handle **ScriptSourceLocation**. For a +file share-based repositories, the **SourceLocation** and **ScriptSourceLocation** must match. For +a web-based repository, they must be different, so in this example a trailing "/" is added to the +**SourceLocation**. + +If you want the newly created PSRepository to be the default repository, you must unregister all +other PSRepositories. For example: + +```powershell +Unregister-PSRepository -Name PSGallery +``` + +> [!NOTE] +> The repository name 'PSGallery' is reserved for use by the PowerShell Gallery. You can +> unregister PSGallery, but you cannot reuse the name PSGallery for any other repository. + +If you need to restore the PSGallery, run the following command: + +```powershell +Register-PSRepository -Default +``` + +## Publishing to a local repository + +Once you've registered the local PSRepository, you can publish to your local PSRepository. There +are two main publishing scenarios: publishing your own module and publishing a module from the +PSGallery. + +### Publishing a module you authored + +Use `Publish-Module` and `Publish-Script` to publish your module to your local PSRepository the +same way you do for the PowerShell Gallery. + +- Specify the location for your code +- Supply an API key +- Specify the repository name. For example, `-PSRepository LocalPSRepo` + +> [!NOTE] +> You must create an account in the NuGet server, then sign in to generate and save the API key. +> For a file share, use any non-blank string for the NuGetApiKey value. + +Examples: + +```powershell +# Publish to a NuGet Server repository using my NuGetAPI key +Publish-Module -Path 'c:\projects\MyModule' -Repository LocalPsRepo -NuGetApiKey 'oy2bi4avlkjolp6bme6azdyssn6ps3iu7ib2qpiudrtbji' + +# Publish to a file share repo - the NuGet API key must be a non-blank string +Publish-Module -Path 'c:\projects\MyModule' -Repository LocalPsRepo -NuGetApiKey 'AnyStringWillDo' +``` + +> [!IMPORTANT] +> To ensure security, API keys should not be hard-coded in scripts. Use a secure key management +> system. + +### Publishing a module from the PSGallery + +To publish a module from the PSGallery to your local PSRepository, you can use the 'Save-Package' cmdlet. + +- Specify the Name of the Package +- Specify 'NuGet' as the Provider +- Specify the PSGallery location as the source (https://www.powershellgallery.com/api/v2) +- Specify the path to your local Repository + +Example: + +```powershell +# Publish from the PSGallery to your local Repository +Save-Package -Name 'PackageName' -Provider Nuget -Source https://www.powershellgallery.com/api/v2 -Path '\\localhost\PSRepoLocal\' +``` + +If your local PSRepository is web-based, it requires an additional step that uses nuget.exe to publish. + +See the documentation for using [nuget.exe][]. + +## Installing PowerShellGet on a disconnected system + +Deploying PowerShellGet is difficult in environments that require systems to be disconnected from +the internet. PowerShellGet has a bootstrap process that installs the latest version the first time +it's used. The OfflinePowerShellGetDeploy module in the PowerShell Gallery provides cmdlets that +support this bootstrap process. + +To bootstrap an offline deployment, you need to: + +- Download and install the OfflinePowerShellGetDeploy your internet-connected system and your + disconnected systems +- Download PowerShellGet and its dependencies on the internet-connected system using the + `Save-PowerShellGetForOffline` cmdlet +- Copy PowerShellGet and its dependencies from the internet-connected system to the disconnected + system +- Use the `Install-PowerShellGetOffline` on the disconnected system to place PowerShellGet and its + dependencies into the proper folders + +The following commands use `Save-PowerShellGetForOffline` to put all the components into a folder +`f:\OfflinePowerShellGet` + +```powershell +# Requires -RunAsAdministrator +#Download the OfflinePowerShellGetDeploy to a location that can be accessed +# by both the connected and disconnected systems. +Save-Module -Name OfflinePowerShellGetDeploy -Path 'F:\' -Repository PSGallery +Import-Module F:\OfflinePowerShellGetDeploy + +# Put PowerShellGet somewhere locally +Save-PowerShellGetForOffline -LocalFolder 'F:\OfflinePowerShellGet' +``` + +At this point, you must make the contents of `F:\OfflinePowerShellGet` available to your +disconnected systems. Run the `Install-PowerShellGetOffline` cmdlet to install PowerShellGet on the +disconnected system. + +> [!NOTE] +> It is important that you do not run PowerShellGet in the PowerShell session before running these +> commands. Once PowerShellGet is loaded into the session, the components cannot be updated. If you +> do start PowerShellGet by mistake, exit and restart PowerShell. + +```powershell +Import-Module F:\OfflinePowerShellGetDeploy + +Install-PowerShellGetOffline -LocalFolder 'F:\OfflinePowerShellGet' +``` + +After running these commands, you are ready to publish PowerShellGet to your local repository. + +```powershell +# Publish to a NuGet Server repository using my NuGetAPI key +Publish-Module -Path 'F:\OfflinePowershellGet' -Repository LocalPsRepo -NuGetApiKey 'oy2bi4avlkjolp6bme6azdyssn6ps3iu7ib2qpiudrtbji' + +# Publish to a file share repo - the NuGet API key must be a non-blank string +Publish-Module -Path 'F:\OfflinePowerShellGet' -Repository LocalPsRepo -NuGetApiKey 'AnyStringWillDo' +``` + +> [!IMPORTANT] +> To ensure security, API keys should not be hard-coded in scripts. Use a secure key management +> system. + + +[OfflinePowerShellGetDeploy]: https://www.powershellgallery.com/packages/OfflinePowerShellGetDeploy/0.1.1 +[Nuget.Server]: /nuget/hosting-packages/nuget-server +[nuget.exe]: /nuget/tools/nuget-exe-cli-reference diff --git a/gallery/how-to/working-with-items/contacting-item-owners.md b/gallery/how-to/working-with-packages/contacting-package-owners.md similarity index 52% rename from gallery/how-to/working-with-items/contacting-item-owners.md rename to gallery/how-to/working-with-packages/contacting-package-owners.md index cc32fd8253e4..4d5266621a36 100644 --- a/gallery/how-to/working-with-items/contacting-item-owners.md +++ b/gallery/how-to/working-with-packages/contacting-package-owners.md @@ -1,12 +1,12 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery -title: Contacting item owners +title: Contacting package owners --- -# Contacting item owners +# Contacting package owners -To contact owner of a particular item, navigate to the item detail page. +To contact owner of a particular package, navigate to the package detail page. There is a contact Owners link in the left menu bar. Clicking on the link will take you to a new page. -You can send a message from here. \ No newline at end of file +You can send a message from here. diff --git a/gallery/how-to/working-with-items/deploy-to-azure-automation.md b/gallery/how-to/working-with-packages/deploy-to-azure-automation.md similarity index 70% rename from gallery/how-to/working-with-items/deploy-to-azure-automation.md rename to gallery/how-to/working-with-packages/deploy-to-azure-automation.md index e8ce4567e07d..d268b79630ec 100644 --- a/gallery/how-to/working-with-items/deploy-to-azure-automation.md +++ b/gallery/how-to/working-with-packages/deploy-to-azure-automation.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: JKeithB keywords: gallery,powershell,cmdlet,psgallery @@ -6,21 +6,21 @@ title: Deploy to Azure Automation --- # Deploy to Azure Automation -The Deploy to Azure Automation button on the item details page will deploy the item from the PowerShell Gallery to Azure Automation. +The Deploy to Azure Automation button on the package details page will deploy the package from the PowerShell Gallery to Azure Automation. ![Deploy to Azure Automation Button](../../Images/DeployToAzureAutomationButton.png) When clicked, it will redirect you to the Azure Management Portal, where you sign in using your Azure account credentials. -If the item includes dependencies, all the dependencies will be deployed to Azure Automation as well. +If the package includes dependencies, all the dependencies will be deployed to Azure Automation as well. > [!WARNING] -> If the same item and version already exist in your Automation account, -> deploying it again from the PowerShell Gallery will overwrite the item in your Automation account. +> If the same package and version already exist in your Automation account, +> deploying it again from the PowerShell Gallery will overwrite the package in your Automation account. If you deploy a module, it will appear in the Modules section of Azure Automation. If you deploy a script, it will appear in the Runbooks section of Azure Automation. -The Deploy to Azure Automation button can be disabled by adding the AzureAutomationNotSupported tag to the item metadata. +The Deploy to Azure Automation button can be disabled by adding the AzureAutomationNotSupported tag to the package metadata. ## Require License Acceptance on Deploy to Azure Automation @@ -31,5 +31,5 @@ If the module being deployed to Azure Automation requires license acceptance, po ## More details - [Require License Acceptance in PowerShellGet](../../concepts/module-license-acceptance.md) -- [Require License Acceptance in PowerShell Gallery](items-that-require-license-acceptance.md) +- [Require License Acceptance in PowerShell Gallery](packages-that-require-license-acceptance.md) - [Azure Automation website](http://azure.microsoft.com/services/automation/) diff --git a/gallery/how-to/working-with-packages/filelist-view.md b/gallery/how-to/working-with-packages/filelist-view.md new file mode 100644 index 000000000000..c2f009a13014 --- /dev/null +++ b/gallery/how-to/working-with-packages/filelist-view.md @@ -0,0 +1,17 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: FileList feature in the Gallery +--- +# FileList feature in the Gallery + +You are able to view the contents in all packages published in the gallery. + +This feature includes two parts: listing the files within the package, and displaying file contents for supported file types. Currently we support displaying the contents of the following file extensions: .ps1, .psm1, .psd1, .ps1xml, .xml and .txt. We will be supporting more file extensions in the next releases. + +## Where to Find FileList + +On each individual package page, you will be able to find FileList section and a **Show** link. Click on the Show and you will find a complete list of items contained in the package. + +Each supported file type is displayed as a hyperlink, and clicking it will take you to a new page with file contents displayed in PowerShell syntax highlighting. Clicking on the title or the version of the package, which is displayed at the top of the screen, will bring you back to package detail page. diff --git a/gallery/how-to/working-with-items/manual-download.md b/gallery/how-to/working-with-packages/manual-download.md similarity index 88% rename from gallery/how-to/working-with-items/manual-download.md rename to gallery/how-to/working-with-packages/manual-download.md index c69b1beb912d..5c2fc335ab87 100644 --- a/gallery/how-to/working-with-items/manual-download.md +++ b/gallery/how-to/working-with-packages/manual-download.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 09/11/2018 contributor: JKeithB keywords: gallery,powershell,psgallery @@ -6,9 +6,9 @@ title: Manual Package Download --- # Manual Package Download -The Powershell Gallery supports downloading a package from the website directly, without using the -PowerShellGet cmdlets. The package will be downloaded as a NuGet package (.nupkg) file, which can -then be easily copied to an internal repository. +The PowerShell Gallery supports downloading a package from the website directly, without using the +PowerShellGet cmdlets. You can download any package as a NuGet package (.nupkg) file, which you can +then copy to an internal repository. > [!NOTE] > Manual package download is **not** intended as a replacement for the Install-Module cmdlet. @@ -20,7 +20,7 @@ then be easily copied to an internal repository. Each page has a link for Manual Download, as shown here: -![Manual Download](../../Images/Manual_Item_Download.PNG) +![Manual Download](../../Images/packagedisplaypagewithpseditions.png) To download manually, click on **Download the raw nupkg file**. A copy of the package copied to the download folder for your browser with the name `..nupkg`. @@ -53,7 +53,7 @@ PowerShell code created by the package author. The steps are: 3. Rename the folder. The default folder name is usually `.`. The version can include "-prerelease" if the module is tagged as a prerelease version. Rename the folder to just the module name. For example, "azurerm.storage.5.0.4-preview" becomes "azurerm.storage". -4. Copy the folder to your PSModulePath. +4. Copy the folder to one of the folders in the `$env:PSModulePath value`. `$env:PSModulePath` is a semicolon delimited set of paths in which PowerShell should look for modules. > [!IMPORTANT] > The manual download does not include any dependencies required by the module. If the package has diff --git a/gallery/how-to/working-with-items/items-that-require-license-acceptance.md b/gallery/how-to/working-with-packages/packages-that-require-license-acceptance.md similarity index 95% rename from gallery/how-to/working-with-items/items-that-require-license-acceptance.md rename to gallery/how-to/working-with-packages/packages-that-require-license-acceptance.md index 2935e065b3ae..6dbb3218a7e6 100644 --- a/gallery/how-to/working-with-items/items-that-require-license-acceptance.md +++ b/gallery/how-to/working-with-packages/packages-that-require-license-acceptance.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/12/2017 contributor: Farehar keywords: gallery,powershell,psgallery @@ -25,4 +25,4 @@ license terms.' ## More details [Require License Acceptance in PowerShellGet](../../concepts/module-license-acceptance.md) -[Azure Automation website](/azure/automation) \ No newline at end of file +[Azure Automation website](/azure/automation) diff --git a/gallery/how-to/working-with-packages/social-media-feedback.md b/gallery/how-to/working-with-packages/social-media-feedback.md new file mode 100644 index 000000000000..d86f2b3d9c68 --- /dev/null +++ b/gallery/how-to/working-with-packages/social-media-feedback.md @@ -0,0 +1,47 @@ +--- +ms.date: 06/12/2017 +contributor: JKeithB +keywords: gallery,powershell,cmdlet,psgallery +title: Providing Feedback via social media or comments +--- +# Providing Feedback via social media or comments + +The PowerShell Gallery supports two approaches for users to provide public feedback on a package: + +- Use the links on the left edge to "share" a package in Facebook, LinkedIn, or Twitter social media sites; +- Use the Comment feature to post comments on a package, and to allow Authors to watch for comments on packages they publish. + +## Social Media Feedback + +On the left side of the page for each package in the PowerShell Gallery there are links for Facebook, LinkedIn, and Twitter. +Clicking on these links will open the social media site, and allow quickly sharing a link to the package. + +Users must log in to the site they have chosen in order to share the PowerShell Gallery package. + +Users are encouraged to do this if they find that a package is something they would recommend to others. +The PowerShell Gallery will check each social media site for "shares" of the package, and display how many times that package has been shared in each of the social media sites. +Since this shows only the count of times something has been shared, it will be interpreted other users as "liking" the package. + +## Comments + +> [!IMPORTANT] +> Livefyre commenting is provided by a third-party vendor and is no longer supported. +> Livefyre commenting will no longer be available on the PowerShell Gallery starting 05/01/2019. + +The PowerShell Gallery uses the LiveFyre service to allow users to comment on packages. +Users who have recommendations or feedback can use this feature to provide feedback that is visible to anyone who visits the package page. +Package owners can Follow this feedback, and be notified when someone posts a comment. + +The Comment system is based on LiveFyre, which is a separate service that is not managed by Microsoft, and requires unique login to use. +The first time you choose to leave a comment or follow comments on one of your packages, you will be prompted to create a LiveFyre account. + +If you have created a LiveFyre account and logged in, you can craft a comment that provides feedback on the package, then click on "Post comment..." +The comment will not be visible immediately. +Comments for gallery packages are moderated by the PowerShell Gallery administrators, and all posts are reviewed by the moderators before being published and visible to others. +Our purpose in moderating the comments is to ensure that they align with public behavior consistent with the PowerShell Gallery [Terms of Use](https://www.powershellgallery.com/policies/Terms). + +Package owners are encouraged to Follow comments that are posted to LiveFyre. +A LiveFyre account is required, and it is recommended to use the same email address you use for publishing your package in LiveFyre. +To Follow comments, log into LiveFyre, and navigate to any package where you are listed as an Owner. +Below the Comment box at the bottom of each package you will see "+Follow". +Once you click on this, LiveFyre will send an email to the registered email address any time new comments made on the package. diff --git a/gallery/installing-psget.md b/gallery/installing-psget.md index 27e3a6a4923d..3b05ba298064 100644 --- a/gallery/installing-psget.md +++ b/gallery/installing-psget.md @@ -8,14 +8,14 @@ title: Installing PowerShellGet ## PowerShellGet is an in-box module in the following releases -- [Windows 10](https://www.microsoft.com/en-us/windows) or newer +- [Windows 10](https://www.microsoft.com/windows) or newer - [Windows Server 2016](/windows-server/windows-server) or newer -- [Windows Management Framework (WMF) 5.0](https://www.microsoft.com/en-us/download/details.aspx?id=50395) or newer +- [Windows Management Framework (WMF) 5.0](https://www.microsoft.com/download/details.aspx?id=50395) or newer - [PowerShell 6](https://github.com/PowerShell/PowerShell/releases) ## Get PowerShellGet module for PowerShell versions 3.0 and 4.0 -- [PackageManagement MSI](https://www.microsoft.com/en-us/download/details.aspx?id=51451) +- [PackageManagement MSI](https://www.microsoft.com/download/details.aspx?id=51451) ## Get the latest version from PowerShell Gallery @@ -43,7 +43,7 @@ title: Installing PowerShellGet Exit ``` -### For systems running PowerShell 3 or PowerShell 4, that have installed the [PackageManagement MSI](https://www.microsoft.com/en-us/download/details.aspx?id=51451) +### For systems running PowerShell 3 or PowerShell 4, that have installed the [PackageManagement MSI](https://www.microsoft.com/download/details.aspx?id=51451) - Use below PowerShellGet cmdlet from an elevated PowerShell session to save the modules to a local directory @@ -52,11 +52,11 @@ title: Installing PowerShellGet Exit ``` -- Ensure that PowerShellGet and PackageManagment modules are not loaded in any other processes. +- Ensure that PowerShellGet and PackageManagement modules are not loaded in any other processes. - Delete contents of `$env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\` and `$env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\` folders. - Re-open the PS Console with elevated permissions then run the following commands. ```powershell Copy-Item "C:\LocalFolder\PowerShellGet\*" "$env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\" -Recurse -Force Copy-Item "C:\LocalFolder\PackageManagement\*" "$env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\" -Recurse -Force - ``` \ No newline at end of file + ``` diff --git a/gallery/overview.md b/gallery/overview.md index e3f7412d545f..7b85f1fbb1e5 100644 --- a/gallery/overview.md +++ b/gallery/overview.md @@ -9,18 +9,18 @@ title: The PowerShell Gallery The PowerShell Gallery is the central repository for PowerShell content. In it, you can find useful PowerShell modules containing PowerShell commands and Desired State Configuration (DSC) resources. You can also find PowerShell scripts, some of which may contain PowerShell workflows, and which -outline a set of tasks and provide sequencing for those tasks. Some of these items are authored by +outline a set of tasks and provide sequencing for those tasks. Some of these packages are authored by Microsoft, and others are authored by the PowerShell community. ## PowerShellGet Overview The PowerShellGet module contains cmdlets for discovering, installing, updating and publishing -PowerShell artifacts such as Modules, DSC Resources, Role Capabilities and Scripts from the +PowerShell packages which contain artifacts such as Modules, DSC Resources, Role Capabilities and Scripts from the [PowerShell Gallery](https://www.PowerShellGallery.com) and other private repositories. ## Getting Started with the Gallery -Installing items from the Gallery requires the latest version of the PowerShellGet module. +Installing packages from the Gallery requires the latest version of the PowerShellGet module. See [Installing PowerShellGet](installing-psget.md) for complete instructions. Check out the [Getting Started](getting-started.md) page for more information on how to use @@ -37,14 +37,17 @@ A suitable version of **Windows PowerShell** is available for these operating sy - Windows 8.1 Pro - Windows 8.1 Enterprise - Windows 7 SP1 +- Windows Server 2019 - Windows Server 2016 - Windows Server 2012 R2 - Windows Server 2008 R2 SP1 -**PowerShellGet** also requires .NET Framework 4.5 or above. You can install .NET Framework 4.5 or +**PowerShellGet** requires .NET Framework 4.5 or above. You can install .NET Framework 4.5 or above from [here](https://msdn.microsoft.com/library/5a4x27ek.aspx). -**PowerShell Core** supports many operating systems. See [this article](https://blogs.msdn.microsoft.com/powershell/2018/01/10/powershell-core-6-0-generally-available-ga-and-supported/) for a full list. +Since **PowerShell Core** is cross-platform and that means it works on Windows, Linux and MacOS, that also makes +**PowerShellGet** available on those systems. For a full list of systems supported by **PowerShell Core** see +[Installing PowerShell](/powershell/scripting/setup/installing-powershell). Many modules hosted in the gallery will support different OSes and have additional requirements. Please refer to the documentation for the modules for more information. diff --git a/gallery/readme.md b/gallery/readme.md index def517bc5d27..ed64931708af 100644 --- a/gallery/readme.md +++ b/gallery/readme.md @@ -1,4 +1,4 @@ -# README +# README This folder contains the documentation for the PowerShell Gallery. This is configured as a separate docset within the PowerShell-Docs repo. diff --git a/jea/TOC.yml b/jea/TOC.yml index 58213d9786a5..c7402c2b6c07 100644 --- a/jea/TOC.yml +++ b/jea/TOC.yml @@ -1,18 +1,16 @@ - name: Overview href: overview.md -- name: Deploy JEA - items: - - name: Prerequisites - href: prerequisites.md - - name: Role Capabilities - href: role-capabilities.md - - name: Session Configurations - href: session-configurations.md - - name: Registering JEA - href: register-jea.md - - name: Using JEA - href: using-jea.md - - name: Security Considerations - href: security-considerations.md - - name: Audit and Report on JEA - href: audit-and-report.md +- name: Prerequisites + href: prerequisites.md +- name: Role Capabilities + href: role-capabilities.md +- name: Session Configurations + href: session-configurations.md +- name: Registering JEA + href: register-jea.md +- name: Using JEA + href: using-jea.md +- name: Security Considerations + href: security-considerations.md +- name: Audit and Report on JEA + href: audit-and-report.md diff --git a/jea/docfx.json b/jea/docfx.json index aa8f208cff38..48f25c7b3d14 100644 --- a/jea/docfx.json +++ b/jea/docfx.json @@ -1,37 +1,30 @@ { "build": { - "content": [{ - "files": [ - "**/**.md", - "**/**.yml" - ], - "exclude": [ - "**/obj/**" - ] - }], + "content": [ + { "files": ["**/**.md", "**/**.yml"], "exclude": ["**/obj/**"] } + ], "globalMetadata": { + "toc_preview": true, "breadcrumb_path": "bread/toc.yml", "uhfHeaderId": "MSDocsHeader-Powershell", "ROBOTS": "INDEX, FOLLOW", "ms.devlang": "powershell", - "ms.tgt_pltfr": "windows, macos, linux" + "ms.tgt_pltfr": "windows, macos, linux", + "feedback_system": "GitHub", + "feedback_github_repo": "MicrosoftDocs/PowerShell-Docs", + "feedback_product_url": "https://github.com/powershell/jea/issues/new" }, "fileMetadata": { "ms.prod": { "**/**.md": "powershell" }, "ms.technology": { "**/**.md": "powershell-jea" }, "ms.topic": { "**/**.md": "conceptual" }, "manager": { "**/**.md": "carmonm" }, - "author": { "**/**.md": "JKeithB" }, - "ms.author": { "**/**.md": "keithb" } + "author": { "**/**.md": "rpsqrd" }, + "ms.author": { "**/**.md": "ryanpu" } }, - "resource": [{ - "files": [ - "**/images/**" - ], - "exclude": [ - "**/obj/**" - ] - }], + "resource": [ + { "files": ["**/images/**"], "exclude": ["**/obj/**"] } + ], "template": "op.html", "dest": "jea", "markdownEngineName": "markdig" diff --git a/jea/register-jea.md b/jea/register-jea.md index 173336b8e29b..4d7106d98936 100644 --- a/jea/register-jea.md +++ b/jea/register-jea.md @@ -8,8 +8,8 @@ title: Registering JEA Configurations > Applies to: Windows PowerShell 5.0 -The last step before you can use JEA once you have your [role capabilities](role-capabilities.md) and [session configuration file](session-configurations.md) created is to register the JEA endpoint. -This process applies the session configuration information to the system and makes the endpoint available for use by users and automation engines. +Once you have your [role capabilities](role-capabilities.md) and [session configuration file](session-configurations.md) created, the last step before you can use JEA is to register the JEA endpoint. +Registering the JEA endpoint with the system makes the endpoint available for use by users and automation engines. ## Single machine configuration @@ -20,8 +20,8 @@ Before you begin, ensure that the following prerequisites have been met: - A session configuration file has been created and tested. - The user registering the JEA configuration has administrator rights on the system(s). -You will also need to select a name for your JEA endpoint. -The name of the JEA endpoint will be required when users want to connect to the system using JEA. +You also need to select a name for your JEA endpoint. +The name of the JEA endpoint is required when users want to connect to the system using JEA. You can use the [Get-PSSessionConfiguration](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/get-pssessionconfiguration) cmdlet to check the names of existing endpoints on the system. Endpoints that start with 'microsoft' are typically shipped with Windows. The 'microsoft.powershell' endpoint is the default endpoint used when connecting to a remote PowerShell endpoint. @@ -43,26 +43,26 @@ Register-PSSessionConfiguration -Path .\MyJEAConfig.pssc -Name 'JEAMaintenance' ``` > [!WARNING] -> The above command will restart the WinRM service on the system. -> This will terminate all PowerShell remoting sessions as well as any ongoing DSC configurations. +> The above command restarts the WinRM service on the system. +> This terminates all PowerShell remoting sessions as well as any ongoing DSC configurations. > It is recommended that you take any production machines offline before running the command to avoid disrupting business operations. -If registration was successful, you are ready to [use JEA](using-jea.md). -You may delete the session configuration file at any time; it is not used after registration. +If registration is successful, you are ready to [use JEA](using-jea.md). +You may delete the session configuration file at any time; it is not used after registration of the end point. ## Multi-machine configuration with DSC If you are deploying JEA on multiple machines, the simplest deployment model is to use the JEA [Desired State Configuration](https://msdn.microsoft.com/powershell/dsc/overview) resource to quickly and consistently deploy JEA on each machine. -To deploy JEA with DSC, you will need to ensure the following prerequisites are met: +To deploy JEA with DSC, you need to ensure the following prerequisites are met: - One or more role capabilities have been authored and added to a valid PowerShell module. - The PowerShell module containing the roles is stored on a (read-only) file share accessible by each machine. - Settings for the session configuration have been determined. You do not need to create a session configuration file when using the JEA DSC resource. -- You have credentials that will allow you to perform administrative actions on each machine, or have access to a DSC pull server used to manage the machines. +- You have credentials that allow you to perform administrative actions on each machine, or have access to a DSC pull server used to manage the machines. - You have downloaded the [JEA DSC resource](https://github.com/PowerShell/JEA/tree/master/DSC%20Resource) On a target machine (or pull server, if you are using one), create a DSC configuration for your JEA endpoint. -In this configuration, you will use the JustEnoughAdministration DSC resource to set up the session configuration file and the File resource to copy over the role capabilities from the file share. +In this configuration, you use the JustEnoughAdministration DSC resource to set up the session configuration file and the File resource to copy over the role capabilities from the file share. The following properties are configurable using the DSC resource: - Role Definitions @@ -108,12 +108,12 @@ Configuration JEAMaintenance This configuration can then be applied on a system by [directly invoking the Local Configuration Manager](https://msdn.microsoft.com/powershell/dsc/metaconfig) or updating the [pull server configuration](https://msdn.microsoft.com/powershell/dsc/pullserver). The DSC resource also allows you to replace the default Microsoft.PowerShell remoting endpoint. -If you do this, the resource will automatically register a backup unconstrainted endpoint named "Microsoft.PowerShell.Restricted" which has the default WinRM ACL (allowing Remote Management Users and local Administrators group members to access it). +If you do this, the resource automatically registers a backup unconstrained endpoint named "Microsoft.PowerShell.Restricted" which has the default WinRM ACL (allowing Remote Management Users and local Administrators group members to access it). ## Unregistering JEA configurations To remove a JEA endpoint on a system, use the [Unregister-PSSessionConfiguration](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/Unregister-PSSessionConfiguration) cmdlet. -Unregistering a JEA endpoint will prevent new users from creating new JEA sessions on the system. +Unregistering a JEA endpoint prevents new users from creating new JEA sessions on the system. It also allows you to update a JEA configuration by re-registering an updated session configuration file using the same endpoint name. ```powershell @@ -122,10 +122,10 @@ Unregister-PSSessionConfiguration -Name 'ContosoMaintenance' -Force ``` > [!WARNING] -> Unregistering a JEA endpoint will cause the WinRM service to restart. -> This will interrupt most remote management operations in progress, including other PowerShell sessions, WMI invocations, and some management tools. +> Unregistering a JEA endpoint causes the WinRM service to restart. +> This interrupts most remote management operations in progress, including other PowerShell sessions, WMI invocations, and some management tools. > Only unregister PowerShell endpoints during planned maintenance windows. ## Next steps -- [Test the JEA endpoint](using-jea.md) \ No newline at end of file +- [Test the JEA endpoint](using-jea.md) diff --git a/jea/role-capabilities.md b/jea/role-capabilities.md index fb360e8ed93d..980c4595c474 100644 --- a/jea/role-capabilities.md +++ b/jea/role-capabilities.md @@ -53,7 +53,7 @@ The PowerShell help documentation contains several examples of how you can confi ### Allowing PowerShell cmdlets and functions -To authorize users to run PowerShell cmdlets or functions, add the cmdlet or function name to the VisbibleCmdlets or VisibleFunctions fields. +To authorize users to run PowerShell cmdlets or functions, add the cmdlet or function name to the VisibleCmdlets or VisibleFunctions fields. If you aren't sure whether a command is a cmdlet or function, you can run `Get-Command ` and check the "CommandType" property in the output. ```powershell @@ -96,7 +96,6 @@ Example `@{ Name = 'My-Func'; Parameters = @{ Name = 'Param1'; ValidateSet = 'Value1', 'Value2' }}` | Allows the user to run `My-Func` with the `Param1` parameter. Only "Value1" and "Value2" can be supplied to the parameter. `@{ Name = 'My-Func'; Parameters = @{ Name = 'Param1'; ValidatePattern = 'contoso.*' }}` | Allows the user to run `My-Func` with the `Param1` parameter. Any value starting with "contoso" can be supplied to the parameter. - > [!WARNING] > For best security practices, it is not recommended to use wildcards when defining visible cmdlets or functions. > Instead, you should explicitly list each trusted command to ensure no other commands that share the same naming scheme are unintentionally authorized. @@ -121,10 +120,10 @@ Many executables allow you to both read the current state and then change it jus For example, consider the role of a file server admin who wants to check which network shares are hosted by the local machine. One way to check is to use `net share`. -However, allowing net.exe is very dangerous becuase the admin could just as easily use the command to gain admin privileges with `net group Administrators unprivilegedjeauser /add`. +However, allowing net.exe is very dangerous because the admin could just as easily use the command to gain admin privileges with `net group Administrators unprivilegedjeauser /add`. A better approach is to allow [Get-SmbShare](https://technet.microsoft.com/library/jj635704.aspx) which achieves the same result but has a much more limited scope. -When making external commands available to users in a JEA session, always specify the complete path to the executable to ensure a similarly named (and potentially malicous) program placed elsewhere on the system does not get executed instead. +When making external commands available to users in a JEA session, always specify the complete path to the executable to ensure a similarly named (and potentially malicious) program placed elsewhere on the system does not get executed instead. ### Allowing access to PowerShell providers @@ -166,7 +165,6 @@ FunctionDefinitions = @{ > [!IMPORTANT] > Don't forget to add the name of your custom functions to the **VisibleFunctions** field so they can be run by the JEA users. - The body (script block) of custom functions runs in the default language mode for the system and is not subject to JEA's language constraints. This means that functions can access the file system and registry, and run commands that were not made visible in the role capability file. Take care to avoid allowing arbitrary code to be run when using parameters and avoid piping user input directly into cmdlets like `Invoke-Expression`. @@ -181,6 +179,8 @@ Any constrained cmdlet in a JEA session will exhibit the same behavior when invo If you are writing a lot of custom functions, it may be easier to put them in a [PowerShell Script Module](https://msdn.microsoft.com/library/dd878340(v=vs.85).aspx). You can then make those functions visible in the JEA session using the VisibleFunctions field like you would with built-in and third party modules. +For tab completion to work properly in JEA sessions you must include the built-in function `tabexpansion2` in the **VisibleFunctions** list. + ## Place role capabilities in a module In order for PowerShell to find a role capability file, it must be stored in a "RoleCapabilities" folder in a PowerShell module. @@ -206,7 +206,6 @@ See [Understanding a PowerShell Module](https://msdn.microsoft.com/library/dd878 ## Updating role capabilities - You can update a role capability file at any time by simply saving changes to the role capability file. Any new JEA sessions started after the role capability has been updated will reflect the revised capabilities. @@ -214,7 +213,6 @@ This is why controlling access to the role capabilities folder is so important. Only highly trusted administrators should be able to change role capability files. If an untrusted user can change role capability files, they can easily give themselves access to cmdlets which allow them to elevate their privileges. - For administrators looking to lock down access to the role capabilities, ensure Local System has read access to the role capability files and containing modules. ## How role capabilities are merged @@ -251,8 +249,8 @@ $roleB = @{ @{ Name = 'Restart-Service'; Parameters = @{ Name = 'DisplayName'; ValidateSet = 'DNS Server' } } } -# Resulting permisisons for a user who belongs to both role A and B -# - The constraint in role B for the DisplayName parameter on Get-Service is ignored becuase of rule #4 +# Resulting permissions for a user who belongs to both role A and B +# - The constraint in role B for the DisplayName parameter on Get-Service is ignored because of rule #4 # - The ValidateSets for Restart-Service are merged because both roles use ValidateSet on the same parameter per rule #5 $mergedAandB = @{ VisibleCmdlets = 'Get-Service', @@ -260,8 +258,6 @@ $mergedAandB = @{ } ``` - - **VisibleExternalCommands, VisibleAliases, VisibleProviders, ScriptsToProcess** All other fields in the role capability file are simply added to a cumulative set of allowable external commands, aliases, providers, and startup scripts. @@ -273,4 +269,4 @@ Additional information about identifying users' effective permissions can be fou ## Next steps -- [Create a session configuration file](session-configurations.md) \ No newline at end of file +- [Create a session configuration file](session-configurations.md) diff --git a/jea/security-considerations.md b/jea/security-considerations.md index d318cfaf9c4a..16952e0db44b 100644 --- a/jea/security-considerations.md +++ b/jea/security-considerations.md @@ -123,7 +123,7 @@ For example, consider the following role capability entry: ``` This role capability allows users to run any PowerShell cmdlet with the noun "Process" from the Microsoft.PowerShell.Management module. -Users may need to access cmdlets like `Get-Process` to understand what applications are running on the system and `Stop-Process` to kill any hung applications. +Users may need to access cmdlets like `Get-Process` to understand what applications are running on the system and `Stop-Process` to kill any applications that are not responding. However, this entry also allows `Start-Process`, which can be used to start up an arbitrary program with full administrator permissions. The program doesn't need to be installed locally on the system, so an adversary could simply start a program on a file share that gives the connecting user local admin privileges, runs malware, and more.' diff --git a/jea/session-configurations.md b/jea/session-configurations.md index 884dd8ea20ee..cf41e6b65a38 100644 --- a/jea/session-configurations.md +++ b/jea/session-configurations.md @@ -55,7 +55,7 @@ You decide which identity JEA will use in the session configuration file. #### Local Virtual Account -If the roles supported by this JEA endpoint are all used to manage the local machine, and a local administrator account is sufficient to run the commands succesfully, you should configure JEA to use a local virtual account. +If the roles supported by this JEA endpoint are all used to manage the local machine, and a local administrator account is sufficient to run the commands successfully, you should configure JEA to use a local virtual account. Virtual accounts are temporary accounts that are unique to a specific user and only last for the duration of their PowerShell session. On a member server or workstation, virtual accounts belong to the local computer's **Administrators** group, and have access to most system resources. On an Active Directory Domain Controller, virtual accounts belong to the domain's **Domain Admins** group. @@ -76,6 +76,9 @@ RunAsVirtualAccount = $true RunAsVirtualAccountGroups = 'NetworkOperator', 'NetworkAuditor' ``` +> [!NOTE] +> Virtual accounts are temporarily granted the Logon as a service right in the local server security policy. If one of the VirtualAccountGroups specified has already been granted this right in the policy, the individual virtual account will no longer be added and removed from the policy. This can be useful in scenarios such as domain controllers where revisions to the domain controller security policy are closely audited. This is only available in Windows Server 2016 with the November 2018 or later rollup and Windows Server 2019 with the January 2019 or later rollup. + #### Group Managed Service Account @@ -98,7 +101,6 @@ gMSA accounts should only be used when access to network resources are required > [!NOTE] > Group managed service accounts are only available in Windows PowerShell 5.1 or newer and on domain-joined machines. - #### More information about run as users Additional information about run as identities and how they factor into the security of a JEA session can be found in the [security considerations](security-considerations.md) article. @@ -172,6 +174,7 @@ RoleDefinitions = @{ ``` ### Role capability search order + As shown in the example above, role capabilities are referenced by the flat name (filename without the extension) of the role capability file. If multiple role capabilities are available on the system with the same flat name, PowerShell will use its implicit search order to select the effective role capability file. It will **not** give access to all role capability files with the same name. @@ -210,6 +213,7 @@ RequiredGroups = @{ And = 'elevated-jea', @{ Or = '2FA-logon', 'smartcard-logon' > Conditional access rules are only available in Windows PowerShell 5.1 or newer. ### Other properties + Session configuration files can also do everything a role capability file can do, just without the ability to give connecting users access to different commands. If you want to allow all users access to specific cmdlets, functions, or providers, you can do so right in the session configuration file. For a full list of supported properties in the session configuration file, run `Get-Help New-PSSessionConfigurationFile -Full`. @@ -245,4 +249,4 @@ When you re-register the JEA session configuration, use an updated PowerShell se ## Next steps - [Register a JEA configuration](register-jea.md) -- [Author JEA roles](role-capabilities.md) \ No newline at end of file +- [Author JEA roles](role-capabilities.md) diff --git a/jea/using-jea.md b/jea/using-jea.md index d20937135d86..cb96ea71c024 100644 --- a/jea/using-jea.md +++ b/jea/using-jea.md @@ -103,7 +103,7 @@ Import-PSSession -Session $jeasession -Prefix 'JEA' -CommandName $filteredComman You can also persist the proxied cmdlets from implicit remoting using [Export-PSSession](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.utility/Export-PSSession). For more information about implicit remoting, check out the help documentation for [Import-PSSession](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.utility/import-pssession) and [Import-Module](https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/import-module). -## Using JEA programatically +## Using JEA programmatically JEA can also be used in automation systems and in user applications, such as in-house helpdesk apps and web sites. The approach is the same as that for building apps that talk to unconstrained PowerShell endpoints, with the caveat that the program should be aware that JEA is limiting the commands that can be run in the remote session. @@ -124,7 +124,6 @@ $allowedCommands | Where-Object { $_.CommandType -in 'Function', 'Cmdlet' } | Fo If you are building a C# app, you can create a PowerShell runspace that connects to a JEA session by specifying the configuration name in a [WSManConnectionInfo](https://msdn.microsoft.com/library/system.management.automation.runspaces.wsmanconnectioninfo(v=vs.85).aspx) object. ```csharp - // using System.Management.Automation; var computerName = "SERVER01"; var configName = "JEAMaintenance"; @@ -182,4 +181,4 @@ Enter-PSSession -VMId $vm.VMId -ConfigurationName 'NICMaintenance' -Credential ' It is strongly recommended that you create a dedicated local user with no other rights to manage the system for your Hyper-V administrators to use. Remember that even an unprivileged user can still log into a Windows machine by default, including using unconstrained PowerShell. That will allow them to browse (some of) the file system and learn more about your OS environment. -To lock down a Hyper-V administrator to only access a VM using PowerShell Direct with JEA, you will need to deny local logon rights to the Hyper-V admin's JEA account. \ No newline at end of file +To lock down a Hyper-V administrator to only access a VM using PowerShell Direct with JEA, you will need to deny local logon rights to the Hyper-V admin's JEA account. diff --git a/reference/3.0/CimCmdlets/CimCmdlets.md b/reference/3.0/CimCmdlets/CimCmdlets.md index 525538c79ba7..00ed7c2b6e3a 100644 --- a/reference/3.0/CimCmdlets/CimCmdlets.md +++ b/reference/3.0/CimCmdlets/CimCmdlets.md @@ -1,51 +1,54 @@ --- -ms.date: 06/09/2017 +ms.date: 02/20/2019 schema: 2.0.0 Module Name: CimCmdlets keywords: powershell,cmdlet Help Version: 3.0 Module Guid: fb6cc51d-c096-4b38-b78d-0fed6277096a -Download Help Link: {{Please enter FwLink manually}} +Download Help Link: https://go.microsoft.com/fwlink/?LinkId=227015 Locale: en-US --- - # CimCmdlets Module + ## Description -{{Manually Enter Description Here}} + +Contains cmdlets that interact with Common Information Model (CIM) Servers like the Windows +Management Instrumentation (WMI) service. ## CimCmdlets Cmdlets + ### [Get-CimAssociatedInstance](Get-CimAssociatedInstance.md) -{{Manually Enter Get-CimAssociatedInstance Description Here}} +Retrieves the CIM instances that are connected to a specific CIM instance by an association. ### [Get-CimClass](Get-CimClass.md) -{{Manually Enter Get-CimClass Description Here}} +Gets a list of CIM classes in a specific namespace. ### [Get-CimInstance](Get-CimInstance.md) -{{Manually Enter Get-CimInstance Description Here}} +Gets the CIM instances of a class from a CIM server. ### [Get-CimSession](Get-CimSession.md) -{{Manually Enter Get-CimSession Description Here}} +Gets the CIM session objects from the current session. ### [Invoke-CimMethod](Invoke-CimMethod.md) -{{Manually Enter Invoke-CimMethod Description Here}} +Invokes a method of a CIM class. ### [New-CimInstance](New-CimInstance.md) -{{Manually Enter New-CimInstance Description Here}} +Creates a CIM instance. ### [New-CimSession](New-CimSession.md) -{{Manually Enter New-CimSession Description Here}} +Creates a CIM session. ### [New-CimSessionOption](New-CimSessionOption.md) -{{Manually Enter New-CimSessionOption Description Here}} +Specifies advanced options for the `New-CimSession` cmdlet. ### [Register-CimIndicationEvent](Register-CimIndicationEvent.md) -{{Manually Enter Register-CimIndicationEvent Description Here}} +Subscribes to indications using a filter expression or a query expression. ### [Remove-CimInstance](Remove-CimInstance.md) -{{Manually Enter Remove-CimInstance Description Here}} +Removes a CIM instance from a computer. ### [Remove-CimSession](Remove-CimSession.md) -{{Manually Enter Remove-CimSession Description Here}} +Removes one or more CIM sessions. ### [Set-CimInstance](Set-CimInstance.md) -{{Manually Enter Set-CimInstance Description Here}} +Modifies a CIM instance on a CIM server by calling the **ModifyInstance** method of the CIM class. \ No newline at end of file diff --git a/reference/3.0/CimCmdlets/Get-CimAssociatedInstance.md b/reference/3.0/CimCmdlets/Get-CimAssociatedInstance.md index 37635e01bcf1..0a7ab842868d 100644 --- a/reference/3.0/CimCmdlets/Get-CimAssociatedInstance.md +++ b/reference/3.0/CimCmdlets/Get-CimAssociatedInstance.md @@ -1,7 +1,9 @@ --- external help file: Microsoft.Management.Infrastructure.CimCmdlets.dll-Help.xml +keywords: powershell,cmdlet +locale: en-us Module Name: CimCmdlets -online version: +ms.date: 06/09/2017 schema: 2.0.0 --- @@ -27,14 +29,20 @@ Get-CimAssociatedInstance [[-Association] ] [-ResultClassName ] ``` ## DESCRIPTION -The Get-CimAssociatedInstance cmdlet retrieves the CIM instances connected to a specific CIM instance, called the source instance, by an association. +The Get-CimAssociatedInstance cmdlet retrieves the CIM instances connected to a specific CIM +instance, called the source instance, by an association. -In an association, each CIM instance has a named role and the same CIM instance can participate in an association in different roles. +In an association, each CIM instance has a named role and the same CIM instance can participate in +an association in different roles. -If the InputObject parameter is not specified, the cmdlet works in one of the following ways: +If the InputObject parameter is not specified, the cmdlet works in one of the following ways: ---If neither the ComputerName parameter nor the CimSession parameter is specified, then this cmdlet works on local Windows Management Instrumentation (WMI) using a Component Object Model (COM) session. ---If either the ComputerName parameter or the CimSession parameter is specified, then this cmdlet works against the CIM server specified by either the ComputerName parameter or the CimSession parameter. +- If neither the ComputerName parameter nor the CimSession parameter is specified, then this cmdlet + works on local Windows Management Instrumentation (WMI) using a Component Object Model (COM) + session. +- If either the ComputerName parameter or the CimSession parameter is specified, then this cmdlet + works against the CIM server specified by either the ComputerName parameter or the CimSession + parameter. ## EXAMPLES @@ -42,64 +50,58 @@ If the InputObject parameter is not specified, the cmdlet works in one of the fo ``` PS C:\>$disk = Get-CimInstance -ClassName Win32_LogicalDisk -KeyOnly - PS C:\>Get-CimAssociatedInstance -InputObject $disk[1] ``` -This set of commands retrieves the instances of the class named Win32_LogicalDisk and stores the information in a variable named $disk using the Get-CimInstance cmdlet. -The first logical disk instance in the variable is then used as the input object for the Get-CimAssociatedInstance cmdlet to get all the associated CIM instances of the specified CIM instance. +This set of commands retrieves the instances of the class named Win32_LogicalDisk and stores the +information in a variable named $disk using the Get-CimInstance cmdlet. The first logical disk +instance in the variable is then used as the input object for the Get-CimAssociatedInstance cmdlet +to get all the associated CIM instances of the specified CIM instance. ### Example 2: Get all the associated instances of a specific type ``` PS C:\>$disk = Get-CimInstance -ClassName Win32_LogicalDisk -KeyOnly - PS C:\>Get-CimAssociatedInstance -InputObject $disk[1] -ResultClass Win32_DiskPartition ``` -This set of commands retrieves all of the instances of the class named Win32_LogicalDisk and stores them in a variable named $disk. -The first logical disk instance in the variable is then used as the input object for the Get-CimAssociatedInstance cmdlet to get all the associated instances that are associated through the specified association class Win32_DiskPartition. +This set of commands retrieves all of the instances of the class named Win32_LogicalDisk and stores +them in a variable named $disk. The first logical disk instance in the variable is then used as the +input object for the Get-CimAssociatedInstance cmdlet to get all the associated instances that are +associated through the specified association class Win32_DiskPartition. ### Example 3: Get all the associated instances through qualifier of a specific class ``` -PS C:\>$s = Get-CimInstance -Query "Select * from Win32_Service where name like ꞌWinmgmtꞌ" - - +PS C:\>$s = Get-CimInstance -Query "Select * from Win32_Service where name like 'Winmgmt'" PS C:\>Get-CimClass -ClassName *Service* -Qualifier "Association" - - PS C:\>$c.CimClasName Win32_LoadOrderGroupServiceDependencies - - Win32_DependentService - - Win32_SystemServices - - Win32_LoadOrderGroupServiceMembers - - Win32_ServiceSpecificationService - PS C:\>Get-CimAssociatedInstance -InputObject $s -Association Win32_DependentService ``` -This set of commands retrieves the services that depend on Windows Management Instrumentation (WMI) service and stores them in a variable named $s. -The association class name for the Win32_DependentService is retrieved using the Get-CimClass cmdlet by specifying Association as the qualifier and is then passed with $s to the Get-CimAssociatedInstance cmdlet to get all the associated instances of the retrieved association class. +This set of commands retrieves the services that depend on Windows Management Instrumentation (WMI) +service and stores them in a variable named $s. The association class name for the +Win32_DependentService is retrieved using the Get-CimClass cmdlet by specifying Association as the +qualifier and is then passed with $s to the Get-CimAssociatedInstance cmdlet to get all the +associated instances of the retrieved association class. ## PARAMETERS ### -Association Specifies the name of the association class. -If you do not specify this parameter, the cmdlet returns all existing association objects irrespective of their type. +If you do not specify this parameter, the cmdlet returns all existing association objects +irrespective of their type. -For example, if class A is associated with class B through two associations, AB1 and AB2, then this parameter can be used to specify the type of association, either AB1 or AB2. +For example, if class A is associated with class B through two associations, AB1 and AB2, then this +parameter can be used to specify the type of association, either AB1 or AB2. ```yaml Type: String @@ -107,16 +109,16 @@ Parameter Sets: (All) Aliases: Required: False -Position: 2 +Position: 1 Default value: None Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False ``` ### -CimSession -Runs the command using the specified CIM session. -Enter a variable that contains the CIM session, or a command that creates or gets the CIM session, such as New-CimSession or Get-CimSession. -For more information, see about_CimSessions. +Runs the command using the specified CIM session. Enter a variable that contains the CIM session, or +a command that creates or gets the CIM session, such as New-CimSession or Get-CimSession. For more +information, see about_CimSessions. ```yaml Type: CimSession[] @@ -134,11 +136,14 @@ Accept wildcard characters: False Specifies the name of the computer on which you want to run the CIM operation. You can specify a fully qualified domain name (FQDN) or a NetBIOS name. -If you specify this parameter, the cmdlet creates a temporary session to the specified computer using the WsMan protocol. +If you specify this parameter, the cmdlet creates a temporary session to the specified computer +using the WsMan protocol. -If you do not specify this parameter, the cmdlet performs the operation on the local computer using Component Object Model (COM). +If you do not specify this parameter, the cmdlet performs the operation on the local computer using +Component Object Model (COM). -If multiple operations are being performed on the same computer, connecting using a CIM session gives better performance. +If multiple operations are being performed on the same computer, connecting using a CIM session +gives better performance. ```yaml Type: String[] @@ -162,7 +167,7 @@ Parameter Sets: (All) Aliases: CimInstance Required: True -Position: 1 +Position: 0 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False @@ -189,7 +194,10 @@ Accept wildcard characters: False Specifies the namespace for the CIM operation. The default namespace is root/cimv2. -NOTE: You can use tab completion to browse the list of namespaces, because Windows PowerShell gets a list of namespaces from the local WMI server to provide the list of namespaces. + +> [!NOTE] +> You can use tab completion to browse the list of namespaces, because Windows PowerShell gets a +> list of namespaces from the local WMI server to provide the list of namespaces. ```yaml Type: String @@ -206,9 +214,12 @@ Accept wildcard characters: False ### -OperationTimeoutSec Specifies the amount of time that the cmdlet waits for a response from the computer. -By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout value for the server. +By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout +value for the server. -If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter are not recoverable, because the operation on the server times out before the client can reconnect. +If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout +of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter +are not recoverable, because the operation on the server times out before the client can reconnect. ```yaml Type: UInt32 @@ -223,21 +234,26 @@ Accept wildcard characters: False ``` ### -ResourceUri -Specifies the resource uniform resource identifier (URI) of the resource class or instance. -The URI is used to identify a specific type of resource, such as disks or processes, on a computer. +Specifies the resource uniform resource identifier (URI) of the resource class or instance. The URI +is used to identify a specific type of resource, such as disks or processes, on a computer. A URI consists of a prefix and a path to a resource. For example: -http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk -http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings +- `http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk` +- `http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings` -By default, if you do not specify this parameter, the DMTF standard resource URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ is used and the class name is appended to it. +By default, if you do not specify this parameter, the DMTF standard resource URI +`http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/` is used and the class name is appended to it. -ResourceURI can only be used with CIM sessions created using the WSMan protocol, or when specifying the ComputerName parameter, which creates a CIM session using WSMan. -If you specify this parameter without specifying the ComputerName parameter, or if you specify a CIM session created using DCOM protocol, you will get an error, because the DCOM protocol does not support the ResourceURI parameter. +ResourceURI can only be used with CIM sessions created using the WSMan protocol, or when specifying +the ComputerName parameter, which creates a CIM session using WSMan. If you specify this parameter +without specifying the ComputerName parameter, or if you specify a CIM session created using DCOM +protocol, you will get an error, because the DCOM protocol does not support the ResourceURI +parameter. -If both the ResourceUri parameter and the Filter parameter are specified, the Filter parameter is ignored. +If both the ResourceUri parameter and the Filter parameter are specified, the Filter parameter is +ignored. ```yaml Type: Uri @@ -276,8 +292,9 @@ Accept wildcard characters: False ``` ### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. -For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, +-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, +-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS diff --git a/reference/3.0/CimCmdlets/Get-CimInstance.md b/reference/3.0/CimCmdlets/Get-CimInstance.md index d0641f338361..23a079690b7a 100644 --- a/reference/3.0/CimCmdlets/Get-CimInstance.md +++ b/reference/3.0/CimCmdlets/Get-CimInstance.md @@ -1,7 +1,9 @@ --- external help file: Microsoft.Management.Infrastructure.CimCmdlets.dll-Help.xml +keywords: powershell,cmdlet +locale: en-us Module Name: CimCmdlets -online version: +ms.date: 02/21/2019 schema: 2.0.0 --- @@ -13,181 +15,201 @@ Gets the CIM instances of a class from a CIM server. ## SYNTAX ### ClassNameComputerSet (Default) + ``` Get-CimInstance [-ClassName] [-ComputerName ] [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-Shallow] [-Filter ] [-Property ] [] ``` -### CimInstanceSessionSet -``` -Get-CimInstance -CimSession [-ResourceUri ] [-OperationTimeoutSec ] - [-InputObject] [] -``` - ### ResourceUriSessionSet + ``` Get-CimInstance -CimSession -ResourceUri [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-Shallow] [-Filter ] [-Property ] [] ``` ### QuerySessionSet + ``` Get-CimInstance -CimSession [-ResourceUri ] [-Namespace ] [-OperationTimeoutSec ] -Query [-QueryDialect ] [-Shallow] [] ``` ### ClassNameSessionSet + ``` Get-CimInstance -CimSession [-ClassName] [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-Shallow] [-Filter ] [-Property ] [] ``` -### ResourceUriComputerSet +### CimInstanceSessionSet + ``` -Get-CimInstance -ResourceUri [-ComputerName ] [-KeyOnly] [-Namespace ] - [-OperationTimeoutSec ] [-Shallow] [-Filter ] [-Property ] [] +Get-CimInstance -CimSession [-ResourceUri ] [-OperationTimeoutSec ] + [-InputObject] [] ``` ### CimInstanceComputerSet + ``` Get-CimInstance [-ResourceUri ] [-ComputerName ] [-OperationTimeoutSec ] [-InputObject] [] ``` +### ResourceUriComputerSet + +``` +Get-CimInstance -ResourceUri [-ComputerName ] [-KeyOnly] [-Namespace ] + [-OperationTimeoutSec ] [-Shallow] [-Filter ] [-Property ] [] +``` + ### QueryComputerSet + ``` Get-CimInstance [-ResourceUri ] [-ComputerName ] [-Namespace ] [-OperationTimeoutSec ] -Query [-QueryDialect ] [-Shallow] [] ``` ## DESCRIPTION -The Get-CimInstance cmdlet gets the CIM instances of a class from a CIM server. -You can specify either the class name or a query for this cmdlet. -This cmdlet returns one or more CIM instance objects representing a snapshot of the CIM instances present on the CIM server. +The `Get-CimInstance` cmdlet gets the CIM instances of a class from a CIM server. You can specify +either the class name or a query for this cmdlet. This cmdlet returns one or more CIM instance +objects representing a snapshot of the CIM instances present on the CIM server. -If the InputObject parameter is not specified, the cmdlet works in one of the following ways: +If the **InputObject** parameter is not specified, the cmdlet works in one of the following ways: ---If neither the ComputerName parameter nor the CimSession parameter is specified, then this cmdlet works on local Windows Management Instrumentation (WMI) using a Component Object Model (COM) session. ---If either the ComputerName parameter or the CimSession parameter is specified, then this cmdlet works against the CIM server specified by either the ComputerName parameter or the CimSession parameter. +- If neither the **ComputerName** parameter nor the **CimSession** parameter is specified, then this + cmdlet works on local Windows Management Instrumentation (WMI) using a Component Object Model + (COM) session. +- If either the **ComputerName** parameter or the **CimSession** parameter is specified, then this + cmdlet works against the CIM server specified by either the **ComputerName** parameter or the + **CimSession** parameter. -If the InputObject parameter is specified, the cmdlet works in one of the following ways: +If the **InputObject** parameter is specified, the cmdlet works in one of the following ways: ---If neither the ComputerName parameter nor the CimSession parameter is specified, then this cmdlet uses the CIM session or computer name from the input object. ---If the either the ComputerName parameter or the CimSession parameter is specified, then this cmdlet uses the either the CimSession parameter value or ComputerName parameter value. -Note: This is not very common. +- If neither the **ComputerName** parameter nor the **CimSession** parameter is specified, then this + cmdlet uses the CIM session or computer name from the input object. +- If the either the **ComputerName** parameter or the **CimSession** parameter is specified, then + this cmdlet uses the either the CimSession parameter value or **ComputerName** parameter value. ## EXAMPLES ### Example 1: Get the CIM instances of a specified class -``` -PS C:\> Get-CimInstance -ClassName Win32_Process + +```powershell +Get-CimInstance -ClassName Win32_Process ``` -This command retrieves the CIM instances of a class named Win32_Process. +This command retrieves the CIM instances of a class named **Win32_Process**. ### Example 2: Get a list of namespaces from a WMI server -``` -PS C:\>Get-CimInstance -Namespace root -ClassName __Namespace + +```powershell +Get-CimInstance -Namespace root -ClassName __Namespace ``` This command retrieves a list of namespaces under the Root namespace on a WMI server. ### Example 3: Get instances of a class filtered by using a query -``` -PS C:\>Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'p%'" + +```powershell +Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'p%'" ``` -This command retrieves all the CIM instances that start with the letter p of a class named Win32_Process using the query specified by a Query parameter. +This command retrieves all the CIM instances that start with the letter p of a class named +**Win32_Process** using the query specified by a **Query** parameter. ### Example 4: Get instances of a class filtered by using a class name and a filter expression -``` -PS C:\>Get-CimInstance -ClassName Win32_Process -Filter "Name like 'p%'" + +```powershell +Get-CimInstance -ClassName Win32_Process -Filter "Name like 'p%'" ``` -This command retrieves all the CIM instances that start with the letter p of a class named Win32_Process using the Filter parameter. +This command retrieves all the CIM instances that start with the letter "p" of a class named +**Win32_Process** using the Filter parameter. ### Example 5: Get the CIM instances with only key properties filled in -``` -PS C:\>$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly - -The variable is passed as a CIM instance to the Get-CimInstance cmdlet to get a particular instance. -PS C:\>Get-CimInstance -CimInstance $x +```powershell +$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly +Get-CimInstance -CimInstance $x ``` -This set of commands creates a new CIM instance in memory for a class named Win32_Process with the key property @{ "Handle"=0 } and stores it in a variable named $x. +This set of commands creates a new CIM instance in memory for a class named **Win32_Process** with +the key property `@{ "Handle"=0 }` and stores it in a variable named `$x`. The variable is passed as +a CIM instance to the `Get-CimInstance` cmdlet to get a particular instance. ### Example 6: Retrieve CIM instances and reuse them -``` -PS C:\>$x,$y = Get-CimInstance -ClassName Win32_Process - -PS C:\>$x| Format-Table -Property Name,KernelModeTime -AutoSize - - -PS C:\>$x| Get-CimInstance |Format-Table -Property Name,KernelModeTime -AutoSize +```powershell +$x,$y = Get-CimInstance -ClassName Win32_Process +$x | Format-Table -Property Name,KernelModeTime -AutoSize +$x | Get-CimInstance | Format-Table -Property Name,KernelModeTime -AutoSize ``` -This set of commands gets the CIM instances of a class named Win32_Process and stores them in the variables $x and $y. -The variable $x is then formatted in a table containing only the Name and the KernelModeTime attributes, the table set to AutoSize. +This set of commands gets the CIM instances of a class named **Win32_Process** and stores them in +the variables `$x` and `$y`. The variable `$x` is then formatted in a table containing only the +powershell and the powershell attributes, the table set to **AutoSize**. ### Example 7: Get CIM instances from remote computer -``` -PS C:\>Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02 + +```powershell +Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02 ``` -This command retrieves the CIM instances of a class named Win32_ComputerSystem from the remote computers named Server01 and Server02. +This command retrieves the CIM instances of a class named **Win32_ComputerSystem** from the remote +computers named Server01 and Server02. ### Example 8: Getting only the key properties, instead of all properties -``` -PS C:\>Get-CimInstance -Class Win32_Process -KeyOnly -PS C:\>$x = Get-CimInstance -Class Win32_Process -KeyOnlyPS C:\>$x | Invoke-CimMethod -MethodName GetOwner +```powershell +Get-CimInstance -Class Win32_Process -KeyOnly +$x = Get-CimInstance -Class Win32_Process -KeyOnly +$x | Invoke-CimMethod -MethodName GetOwner ``` -This command retrieves only the key properties, which reduces the size of the object and network traffic. +This command retrieves only the key properties, which reduces the size of the object and network +traffic. ### Example 9: Getting only a subset of properties, instead of all properties -``` -PS C:\>Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime - -PS C:\>$x = Get-CimInstance -Class Win32_Process -Property Name, KernelModeTimePS C:\>$x | Invoke-CimMethod -MethodName GetOwner - -The instance retrieved with the Property parameter can be used to perform other CIM operations, for example Set-CimInstance or Invoke-CimMethod. -PS C:\>$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime - - -PS C:\>Invoke-CimMethod -InputObject $x -MethodName GetOwner +```powershell +Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime +$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime +$x | Invoke-CimMethod -MethodName GetOwner ``` -This command retrieves only a subset of properties, which reduces the size of the object and network traffic. - -### Example 10: Get the CIM instance using CIM session -``` -PS C:\>$s = New-CimSession -ComputerName Server01,Server02 +The instance retrieved with the Property parameter can be used to perform other CIM operations, for +example `Set-CimInstance` or `Invoke-CimMethod`. +This command retrieves only a subset of properties, which reduces the size of the object and network +traffic. +### Example 10: Get the CIM instance using CIM session -PS C:\>Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s +```powershell +$s = New-CimSession -ComputerName Server01,Server02 +Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s ``` -This set of commands creates a CIM session on the computers named Server01 and Server02 using the New-CimSession cmdlet and stores the session information in a variable named $s. -The contents of the variable are then passed to Get-CimInstance by using the CimSession parameter, to get the CIM instances of the class named Win32_ComputerSystem. +This set of commands creates a CIM session on the computers named Server01 and Server02 using the +`New-CimSession` cmdlet and stores the session information in a variable named `$s`. The contents of +the variable are then passed to `Get-CimInstance` by using the **CimSession** parameter, to get the +CIM instances of the class named **Win32_ComputerSystem**. ## PARAMETERS ### -CimSession -Specifies the CIM session to use for this cmdlet. -Enter a variable that contains the CIM session or a command that creates or gets the CIM session, such as the New-CimSession or Get-CimSession cmdlets. -For more information, see about_CimSessions. + +Specifies the CIM session to use for this cmdlet. Enter a variable that contains the CIM session or +a command that creates or gets the CIM session, such as the `New-CimSession` or `Get-CimSession` +cmdlets. For more information, see [about_CimSession](../Microsoft.PowerShell.Core/About/about_CimSession.md). ```yaml Type: CimSession[] -Parameter Sets: CimInstanceSessionSet, ResourceUriSessionSet, QuerySessionSet, ClassNameSessionSet +Parameter Sets: ResourceUriSessionSet, QuerySessionSet, ClassNameSessionSet, CimInstanceSessionSet Aliases: Required: True @@ -198,8 +220,10 @@ Accept wildcard characters: False ``` ### -ClassName -Specifies the name of the CIM class for which to retrieve the CIM instances. -NOTE: You can use tab completion to browse the list of classes, because Windows PowerShell gets a list of classes from the local WMI server to provide a list of class names. + +Specifies the name of the CIM class for which to retrieve the CIM instances. You can use tab +completion to browse the list of classes, because PowerShell gets a list of classes from the local +WMI server to provide a list of class names. ```yaml Type: String @@ -207,37 +231,27 @@ Parameter Sets: ClassNameComputerSet, ClassNameSessionSet Aliases: Required: True -Position: 1 +Position: 0 Default value: None Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False ``` ### -ComputerName -Specifies computer on which you want to run the CIM operation. -You can specify a fully qualified domain name (FQDN), a NetBIOS name, or an IP address. -If you do not specify this parameter, the cmdlet performs the operation on the local computer using Component Object Model (COM). +Specifies computer on which you want to run the CIM operation. You can specify a fully qualified +domain name (FQDN), a NetBIOS name, or an IP address. If you do not specify this parameter, the +cmdlet performs the operation on the local computer using Component Object Model (COM). -If you specify this parameter, the cmdlet creates a temporary session to the specified computer using the WsMan protocol. +If you specify this parameter, the cmdlet creates a temporary session to the specified computer +using the WsMan protocol. -If multiple operations are being performed on the same computer, using a CIM session gives better performance. +If multiple operations are being performed on the same computer, connect using a CIM session for +better performance. ```yaml Type: String[] -Parameter Sets: ClassNameComputerSet, ResourceUriComputerSet, QueryComputerSet -Aliases: CN, ServerName - -Required: False -Position: Named -Default value: None -Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -```yaml -Type: String[] -Parameter Sets: CimInstanceComputerSet +Parameter Sets: ClassNameComputerSet, CimInstanceComputerSet, ResourceUriComputerSet, QueryComputerSet Aliases: CN, ServerName Required: False @@ -248,8 +262,9 @@ Accept wildcard characters: False ``` ### -Filter -Specifies a where clause to use as a filter. -Specify the clause in either the WQL or the CQL query language. + +Specifies a where clause to use as a filter. Specify the clause in either the **WQL** or the **CQL** +query language. Note: Do not include the where keyword in the value of the parameter. @@ -266,13 +281,16 @@ Accept wildcard characters: False ``` ### -InputObject + Specifies a CIM instance object to use as input. -If you are already working with a CIM instance object, you can use this parameter to pass the CIM instance object in order to get the latest snapshot from the CIM server. -When you pass a CIM instance object as an input, Get-CimInstance returns the object from server using a get CIM operation, instead of an enumerate or query operation. -Using a get CIM operation is more efficient than retrieving all instances and then filtering them. +If you are already working with a CIM instance object, you can use this parameter to pass the CIM +instance object in order to get the latest snapshot from the CIM server. When you pass a CIM +instance object as an input, `Get-CimInstance` returns the object from server using a get CIM +operation, instead of an enumerate or query operation. Using a get CIM operation is more efficient +than retrieving all instances and then filtering them. -If the CIM class does not implement the get operation, then specifying the InputObject parameter returns an error. +If the CIM class does not implement the get operation, then specifying the **InputObject** parameter returns an error. ```yaml Type: CimInstance @@ -280,17 +298,19 @@ Parameter Sets: CimInstanceSessionSet, CimInstanceComputerSet Aliases: CimInstance Required: True -Position: 1 +Position: 0 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False ``` ### -KeyOnly -Indicates that only objects with key properties populated are returned. -Specifying the KeyOnly parameter reduces the amount of data transferred over the network. -Use the KeyOnly parameter to return only a small portion of the object, which can be used for other operations, such as the Set-CimInstance or Get-CimAssociatedInstance cmdlets. +Indicates that only objects with key properties populated are returned. Specifying the **KeyOnly** +parameter reduces the amount of data transferred over the network. + +Use the KeyOnly parameter to return only a small portion of the object, which can be used for other +operations, such as the `Set-CimInstance` or `Get-CimAssociatedInstance` cmdlets. ```yaml Type: SwitchParameter @@ -305,10 +325,12 @@ Accept wildcard characters: False ``` ### -Namespace + Specifies the namespace of CIM class. -The default namespace is root/cimv2. -NOTE: You can use tab completion to browse the list of namespaces, because Windows PowerShell gets a list of namespaces from the local WMI server to provide the list of namespaces. +The default namespace is **root/cimv2**. You can use tab completion to browse the list of +namespaces, because PowerShell gets a list of namespaces from the local WMI server to provide the +list of namespaces. ```yaml Type: String @@ -323,11 +345,15 @@ Accept wildcard characters: False ``` ### -OperationTimeoutSec -Specifies the amount of time that the cmdlet waits for a response from the computer. -By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout value for the server. +Specifies the amount of time that the cmdlet waits for a response from the computer. By default, the +value of this parameter is 0, which means that the cmdlet uses the default timeout value for the +server. -If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter are not recoverable, because the operation on the server times out before the client can reconnect. +If the **OperationTimeoutSec** parameter is set to a value less than the robust connection retry +timeout of 3 minutes, network failures that last more than the value of the **OperationTimeoutSec** +parameter are not recoverable, because the operation on the server times out before the client can +reconnect. ```yaml Type: UInt32 @@ -342,12 +368,13 @@ Accept wildcard characters: False ``` ### -Property -Specifies a set of instance properties to retrieve. -Use this parameter when you need to reduce the size of the object returned, either in memory or over the network. +Specifies a set of instance properties to retrieve. Use this parameter when you need to reduce the +size of the object returned, either in memory or over the network. -The object returned always has key properties populated, irrespective of the set of properties listed by the Property parameter. -Other properties of the class are present but they are not populated. +The object returned always has key properties populated, irrespective of the set of properties +listed by the Property parameter. Other properties of the class are present but they are not +populated. ```yaml Type: String[] @@ -362,15 +389,16 @@ Accept wildcard characters: False ``` ### -Query -Specifies a query to run on the CIM server. -For WQL-based queries, you can only use a SELECT query that returns instances. -If the value specified contains double quotes ("), single quotes ('), or a backslash (\\), you must escape those characters by prefixing them with the backslash (\\) character. -If the value specified uses the WQL LIKE operator, then you must escape the following characters by enclosing them in square brackets (\[\]): percent (%), underscore (_), or opening square bracket (\[). +Specifies a query to run on the CIM server. If the value specified contains double quotes `"`, +single quotes `'`, or a backslash `\`, you must escape those characters by prefixing them with the +backslash character. If the value specified uses the WQL **LIKE** operator, then you must escape +the following characters by enclosing them in square brackets `[]`: percent `%`, underscore `_`, +or opening square bracket `[`. You cannot use a metadata query to retrieve a list of classes or an event query. -To retrieve a list of classes, use the Get-CimClass cmdlet. -To retrieve an event query, use the Register-CimIndicationEvent cmdlet. +To retrieve a list of classes, use the `Get-CimClass` cmdlet. +To retrieve an event query, use the `Register-CimIndicationEvent` cmdlet. You can specify the query dialect using the QueryDialect parameter. @@ -387,11 +415,9 @@ Accept wildcard characters: False ``` ### -QueryDialect -Specifies the query language used for the Query parameter. - -The acceptable values for this parameter are: WQL or CQL. -The default value is WQL. +Specifies the query language used for the Query parameter. The acceptable values for this parameter +are: **WQL** or **CQL**. The default value is **WQL**. ```yaml Type: String @@ -406,62 +432,43 @@ Accept wildcard characters: False ``` ### -ResourceUri -Specifies the resource uniform resource identifier (URI) of the resource class or instance. -The URI is used to identify a specific type of resource, such as disks or processes, on a computer. -A URI consists of a prefix and a path to a resource. -For example: +Specifies the resource uniform resource identifier (URI) of the resource class or instance. The URI +is used to identify a specific type of resource, such as disks or processes, on a computer. -http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk -http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings +A URI consists of a prefix and a path to a resource. For example: -By default, if you do not specify this parameter, the DMTF standard resource URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ is used and the class name is appended to it. +- `http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk` +- `http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings` -ResourceURI can only be used with CIM sessions created using the WSMan protocol, or when specifying the ComputerName parameter, which creates a CIM session using WSMan. -If you specify this parameter without specifying the ComputerName parameter, or if you specify a CIM session created using DCOM protocol, you will get an error, because the DCOM protocol does not support the ResourceURI parameter. +By default, if you do not specify this parameter, the DMTF standard resource URI +`http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/` is used and the class name is appended to it. -If both the ResourceUri parameter and the Filter parameter are specified, the Filter parameter is ignored. +**ResourceURI** can only be used with CIM sessions created using the WSMan protocol, or when +specifying the **ComputerName** parameter, which creates a CIM session using WSMan. If you specify +this parameter without specifying the **ComputerName** parameter, or if you specify a CIM session +created using DCOM protocol, you will get an error, because the DCOM protocol does not support the +**ResourceURI** parameter. -```yaml -Type: Uri -Parameter Sets: CimInstanceSessionSet, CimInstanceComputerSet -Aliases: - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` +If both the **ResourceUri** parameter and the **Filter** parameter are specified, the **Filter** +parameter is ignored. ```yaml Type: Uri -Parameter Sets: ResourceUriSessionSet, ResourceUriComputerSet +Parameter Sets: ResourceUriSessionSet, ResourceUriComputerSet, QuerySessionSet, QueryComputerSet, CimInstanceSessionSet, CimInstanceComputerSet Aliases: Required: True Position: Named Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -```yaml -Type: Uri -Parameter Sets: QuerySessionSet, QueryComputerSet -Aliases: - -Required: False -Position: Named -Default value: None -Accept pipeline input: False +Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False ``` ### -Shallow -Indicates that the instances of a class are returned without including the instances of any child classes. -By default, the cmdlet returns the instances of a class and its child classes. +Indicates that the instances of a class are returned without including the instances of any child +classes. By default, the cmdlet returns the instances of a class and its child classes. ```yaml Type: SwitchParameter @@ -476,18 +483,23 @@ Accept wildcard characters: False ``` ### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. -For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, +-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, +-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS ### CIM Instance + This cmdlet accepts an input objects specified with the InputObject parameter. ## OUTPUTS ### CIM Instance -This cmdlet returns one or more CIM instance objects representing a snapshot of the CIM instances on the CIM server. + +This cmdlet returns one or more CIM instance objects representing a snapshot of the CIM instances +on the CIM server. ## NOTES diff --git a/reference/3.0/CimCmdlets/Get-CimSession.md b/reference/3.0/CimCmdlets/Get-CimSession.md index b92f714c7395..b8b34f3be90f 100644 --- a/reference/3.0/CimCmdlets/Get-CimSession.md +++ b/reference/3.0/CimCmdlets/Get-CimSession.md @@ -33,7 +33,7 @@ Get-CimSession -Name [] ``` ## DESCRIPTION -The Get-CimSession cmdlet gets the CIM session objects created in the current Windows PowerShell® session. +The Get-CimSession cmdlet gets the CIM session objects created in the current Windows PowerShell session. If used without any parameters, the cmdlet gets all of the CIM sessions created in the current Windows PowerShell session. You can use the parameters of Get-CimSession to get the sessions that are for particular computers, or you can identify sessions by their names, IDs, or instance IDs. diff --git a/reference/3.0/CimCmdlets/Invoke-CimMethod.md b/reference/3.0/CimCmdlets/Invoke-CimMethod.md index 1f937685928f..95eb019b58f2 100644 --- a/reference/3.0/CimCmdlets/Invoke-CimMethod.md +++ b/reference/3.0/CimCmdlets/Invoke-CimMethod.md @@ -107,16 +107,16 @@ If the InputObject parameter is specified, the cmdlet works in one of the follow ### Example 1: Invoke a method ```powershell -PS C:\>Invoke-CimMethod -Query ꞌselect * from Win32_Process where name like "notepad%"ꞌ -MethodName "Terminate" +PS C:\>Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate" ``` This command invokes the method named Terminate on the CIM class named Win32_Process. The CIM class -is retrieved by the query "Select * from Win32_Process where name like ꞌnotepad%ꞌ". +is retrieved by the query "Select * from Win32_Process where name like 'notepad%'". ### Example 2: Invoke a method using CIM instance object ```powershell -PS C:\>$x = Get-CimInstance -Query ꞌSelect * from Win32_Process where name like "notepad%"ꞌ +PS C:\>$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"' PS C:\>Invoke-CimMethod -InputObject $x -MethodName GetOwner ``` @@ -135,7 +135,7 @@ This command invokes the static method Create on the class named Win32_Process, ### Example 4: Invoke a method using arguments ```powershell -PS C:\>Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = ꞌnotepad.exeꞌ; CurrentDirectory = "C:\windows\system32" } +PS C:\>Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32" } ``` This command invokes the method named Create by using the Arguments parameter. @@ -144,7 +144,7 @@ This command invokes the method named Create by using the Arguments parameter. ```powershell PS C:\>$c = Get-CimClass -ClassName Win32_Process -PS C:\>Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = ꞌnotepad.exeꞌ } +PS C:\>Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' } ``` This set of commands performs client-side validation for the method named xyz by passing a CimClass diff --git a/reference/3.0/CimCmdlets/New-CimSession.md b/reference/3.0/CimCmdlets/New-CimSession.md index 2609f3976f69..3a5d25ca3a0c 100644 --- a/reference/3.0/CimCmdlets/New-CimSession.md +++ b/reference/3.0/CimCmdlets/New-CimSession.md @@ -4,22 +4,24 @@ Module Name: CimCmdlets online version: schema: 2.0.0 --- - # New-CimSession ## SYNOPSIS + Creates a CIM session. ## SYNTAX ### CredentialParameterSet (Default) + ``` New-CimSession [-Authentication ] [[-Credential] ] [[-ComputerName] ] [-Name ] [-OperationTimeoutSec ] [-SkipTestConnection] [-Port ] [-SessionOption ] [] ``` -### CertificatePrameterSet +### CertificateParameterSet + ``` New-CimSession [-CertificateThumbprint ] [[-ComputerName] ] [-Name ] [-OperationTimeoutSec ] [-SkipTestConnection] [-Port ] [-SessionOption ] @@ -27,7 +29,8 @@ New-CimSession [-CertificateThumbprint ] [[-ComputerName] ] [- ``` ## DESCRIPTION -The New-CimSession cmdlet creates a CIM session. + +The `New-CimSession` cmdlet creates a CIM session. A CIM session is a client-side object representing a connection to a local computer or a remote computer. The CIM session contains information about the connection, such as ComputerName, the protocol used for the connection, session ID and instance ID. @@ -36,63 +39,67 @@ This cmdlet returns a CIM session object that can be used by all other CIM cmdle ## EXAMPLES ### Example 1: Create a CIM session with default options -``` -PS C:\> New-CimSession + +```powershell +New-CimSession ``` This command creates a local CIM session with default options. -If ComputerName is not specified, New-CimSession creates a DCOM session to the local computer. +If **ComputerName** is not specified, `New-CimSession` creates a DCOM session to the local computer. ### Example 2: Create a CIM session to a specific computer -``` -PS C:\> New-CimSession -ComputerName Server01 + +```powershell +New-CimSession -ComputerName Server01 ``` -This command creates a CIM session to the computer specified by ComputerName. -By default, New-CimSession creates a WsMan session when ComputerName is specified. +This command creates a CIM session to the computer specified by **ComputerName**. +By default, `New-CimSession` creates a WsMan session when **ComputerName** is specified. ### Example 3: Create a CIM session to multiple computers -``` -PS C:\>New-CimSession -ComputerName Server01,Server02,Server03 + +```powershell +New-CimSession -ComputerName Server01,Server02,Server03 ``` -This command creates a CIM session to each of the computers specified by ComputerName, in the comma separated list. +This command creates a CIM session to each of the computers specified by **ComputerName**, in the comma separated list. ### Example 4: Create a CIM session with a friendly name -``` -Then you can use the friendly name of a CIM session to easily refer to the session in other CIM cmdlets, for example, Get-CimSession. -PS C:\>New-CimSession -ComputerName Server01,Server02 -Name FileServers +You can use the friendly name of a CIM session to easily refer to the session in other CIM cmdlets, for example, [Get-CimSession](Get-CimSession.md). +```powershell +New-CimSession -ComputerName Server01,Server02 -Name FileServers -PS C:\>Get-CimSession -Name File* +Get-CimSession -Name File* ``` -This command creates a remote CIM session on each of the computer specified by ComptuerName, in the comma separated list, and assigns a friendly name to the new sessions, by specifying Name. +This command creates a remote CIM session to each of the computers specified by **ComputerName**, in the comma separated list, and assigns a friendly name to the new sessions, by specifying **Name**. ### Example 5: Create a CIM session to a computer using a PSCredential object -``` -PS C:\>New-CimSession -ComputerName Server01 -Credential $cred -Authentication Negotiate + +```powershell +New-CimSession -ComputerName Server01 -Credential $cred -Authentication Negotiate ``` -This command creates a CIM session to the computer specified by ComputerName, using the PSCredential object specified by Credential, and the authentication type specified by Authentication. +This command creates a CIM session to the computer specified by **ComputerName**, using the PSCredential object specified by **Credential**, and the authentication type specified by **Authentication**. -You can create a PSCredential object by using the Get-Credential cmdlet. +You can create a PSCredential object by using the [`Get-Credential`](../Microsoft.PowerShell.Security/Get-Credential.md) cmdlet. ### Example 6: Create a CIM session to a computer using a specific port -``` -PS C:\>New-CimSession -ComputerName Server01 -Port 1234 + +```powershell +New-CimSession -ComputerName Server01 -Port 1234 ``` -This command creates a CIM session to the computer specified by ComputerName using the TCP port specified by Port. +This command creates a CIM session to the computer specified by ComputerName using the TCP port specified by **Port**. ### Example 7: Create a CIM session using DCOM -``` -PS C:\>$so = New-CimSessionOption -Protocol DCOM +```powershell +$SessionOption = New-CimSessionOption -Protocol DCOM - -PS C:\>New-CimSession -ComputerName Server1 -SessionOption $so +New-CimSession -ComputerName Server1 -SessionOption $SessionOption ``` This command creates a CIM session by using the Distributed COM (DCOM) protocol instead of WSMan. @@ -100,6 +107,7 @@ This command creates a CIM session by using the Distributed COM (DCOM) protocol ## PARAMETERS ### -Authentication + Specifies the authentication type used for the user's credentials. The acceptable values for this parameter are: @@ -131,18 +139,19 @@ Accept wildcard characters: False ``` ### -CertificateThumbprint + Specifies the digital public key certificate (X.509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate. Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts. -To get a certificate thumbprint, use the [Get-Item](../Microsoft.Powershell.Management/Get-Item.md) or [Get-ChildItem](../Microsoft.Powershell.Management/Get-ChildItem.md) cmdlets in the PowerShell [Certificate Provider](../Microsoft.PowerShell.Security/Providers/Certificate-Provider.md). -For more information about using the PowerShell Certificate provider, type Get-Help Certificate, or see [Certificate Provider](../Microsoft.PowerShell.Security/Providers/Certificate-Provider.md) on docs.microsoft.com. +To get a certificate thumbprint, use the [`Get-Item`](../Microsoft.Powershell.Management/Get-Item.md) or [`Get-ChildItem`](../Microsoft.Powershell.Management/Get-ChildItem.md) cmdlets in the PowerShell Certificate Provider. +For more information about using the PowerShell Certificate provider, type `Get-Help Certificate`, or see [Certificate Provider](../Microsoft.PowerShell.Security/About/about_Certificate_Provider.md). ```yaml Type: String -Parameter Sets: CertificatePrameterSet +Parameter Sets: CertificateParameterSet Aliases: Required: False @@ -153,14 +162,13 @@ Accept wildcard characters: False ``` ### -ComputerName -Specifies the name of the computer to which to create the CIM session. -Specify either a single computer name, or multiple computer names separated by a comma. +Specifies the name of the computer to which to create the CIM session. +Specify either a single computer name, or multiple computer names separated by a comma. - -If ComputerName is not specified, a CIM session to the local computer is created. +If **ComputerName** is not specified, a CIM session to the local computer is created. -You can specify the value for computer name in one of the following formats: +You can specify the value for computer name in one of the following formats: - One or more NetBIOS names - One or more IP addresses @@ -168,7 +176,7 @@ You can specify the value for computer name in one of the following formats: If the computer is in a different domain than the user, you must specify the fully qualified domain name. -You can also pass a computer name (in quotes) to New-CimSession by using the pipeline. +You can also pass a computer name (in quotes) to `New-CimSession` by using the pipeline. ```yaml Type: String[] @@ -183,15 +191,16 @@ Accept wildcard characters: False ``` ### -Credential + Specifies a user account that has permission to perform this action. -If Credential is not specified, the current user account is used. +If **Credential** is not specified, the current user account is used. -Specify the value for Credential by using one of the following formats: +Specify the value for **Credential** by using one of the following formats: - A user name: "User01" - A domain name and a user name: "Domain01\User01" - A user principal name: "User@Domain.com" -- A PSCredential object, such as one returned by the [Get-Credential](../Microsoft.PowerShell.Security/Get-Credential.md) cmdlet. +- A PSCredential object, such as one returned by the [`Get-Credential`](../Microsoft.PowerShell.Security/Get-Credential.md) cmdlet. When you type a user name, you are prompted for a password. @@ -208,9 +217,10 @@ Accept wildcard characters: False ``` ### -Name + Specifies a friendly name for the CIM session. -You can use the name to refer to the CIM session when using other cmdlets, such as the [Get-CimSession](Get-CimSession.md) cmdlet. +You can use the name to refer to the CIM session when using other cmdlets, such as the [`Get-CimSession`](Get-CimSession.md) cmdlet. The name is not required to be unique to the computer or the current session. ```yaml @@ -226,11 +236,12 @@ Accept wildcard characters: False ``` ### -OperationTimeoutSec + Duration for which the cmdlet waits for a response from the server. By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout value for the server. -If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter are not recoverable, because the operation on the server times out before the client can reconnect. +If the **OperationTimeoutSec** parameter is set to a value less than the robust connection retry timeout of 3 minutes, network failures that last more than the value of the **OperationTimeoutSec** parameter are not recoverable, because the operation on the server times out before the client can reconnect. ```yaml Type: UInt32 @@ -245,19 +256,19 @@ Accept wildcard characters: False ``` ### -Port + Specifies the network port on the remote computer that is used for this connection. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS). Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. -Use the following commands to configure the listener: +Use the following commands to configure the listener: -``` - winrm delete winrm/config/listener?Address=*+Transport=HTTP - winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\"} -``` +`winrm delete winrm/config/listener?Address=*+Transport=HTTP` + +`winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\"}` -Do not use the Port parameter unless you must. +Do not use the **Port** parameter unless you must. The port setting in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers. @@ -274,8 +285,9 @@ Accept wildcard characters: False ``` ### -SessionOption + Sets advanced options for the new CIM session. -Enter the name of a CimSessionOption object created by using the [New-CimSessionOption](New-CimSessionOption.md) cmdlet. +Enter the name of a CimSessionOption object created by using the [`New-CimSessionOption`](New-CimSessionOption.md) cmdlet. ```yaml Type: CimSessionOptions @@ -290,9 +302,10 @@ Accept wildcard characters: False ``` ### -SkipTestConnection -By default, the New-CimSession cmdlet establishes a connection with a remote WS-Management endpoint for two reasons: to verify that the remote server is listening on the port number that is specified by using the Port parameter, and to verify the specified account credentials. + +By default, the `New-CimSession` cmdlet establishes a connection with a remote WS-Management endpoint for two reasons: to verify that the remote server is listening on the port number that is specified by using the **Port** parameter, and to verify the specified account credentials. The verification is accomplished by using a standard WS-Identity operation. -You can add the SkipTestConnection switch parameter if the remote WS-Management endpoint cannot use WS-Identify, or if you want to reduce some data transmission time. +You can add the **SkipTestConnection** switch parameter if the remote WS-Management endpoint cannot use WS-Identify, or if you want to reduce some data transmission time. ```yaml Type: SwitchParameter @@ -307,8 +320,9 @@ Accept wildcard characters: False ``` ### CommonParameters + This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. -For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). +For more information, see [about_CommonParameters](../Microsoft.PowerShell.Core/About/about_CommonParameters.md). ## INPUTS @@ -334,4 +348,6 @@ This cmdlet accepts no inputs. [Remove-CimSession](Remove-CimSession.md) -[New-CimSessionOption](New-CimSessionOption.md) \ No newline at end of file +[New-CimSessionOption](New-CimSessionOption.md) + +[about_CimSession](../Microsoft.PowerShell.Core/About/about_CimSession.md) \ No newline at end of file diff --git a/reference/3.0/CimCmdlets/Register-CimIndicationEvent.md b/reference/3.0/CimCmdlets/Register-CimIndicationEvent.md index 43f99eef1d78..7d40b8425efb 100644 --- a/reference/3.0/CimCmdlets/Register-CimIndicationEvent.md +++ b/reference/3.0/CimCmdlets/Register-CimIndicationEvent.md @@ -1,10 +1,11 @@ --- external help file: Microsoft.Management.Infrastructure.CimCmdlets.dll-Help.xml +keywords: powershell,cmdlet +locale: en-us Module Name: CimCmdlets -online version: +ms.date: 02/20/2019 schema: 2.0.0 --- - # Register-CimIndicationEvent ## SYNOPSIS @@ -13,6 +14,7 @@ Subscribes to indications using a filter expression or a query expression. ## SYNTAX ### ClassNameComputerSet (Default) + ``` Register-CimIndicationEvent [-Namespace ] [-ClassName] [-OperationTimeoutSec ] [-ComputerName ] [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] @@ -20,96 +22,106 @@ Register-CimIndicationEvent [-Namespace ] [-ClassName] [-Operat ``` ### ClassNameSessionSet + ``` Register-CimIndicationEvent [-Namespace ] [-ClassName] [-OperationTimeoutSec ] -CimSession [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] [] ``` -### QueryExpressionComputerSet +### QueryExpressionSessionSet + ``` Register-CimIndicationEvent [-Namespace ] [-Query] [-QueryDialect ] - [-OperationTimeoutSec ] [-ComputerName ] [[-SourceIdentifier] ] + [-OperationTimeoutSec ] -CimSession [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] [] ``` -### QueryExpressionSessionSet +### QueryExpressionComputerSet + ``` Register-CimIndicationEvent [-Namespace ] [-Query] [-QueryDialect ] - [-OperationTimeoutSec ] -CimSession [[-SourceIdentifier] ] + [-OperationTimeoutSec ] [-ComputerName ] [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] [] ``` ## DESCRIPTION -The Register-CimIndicationEvent cmdlet subscribes to indications using an indication class name or a query expression. -Use the SourceIdentifier parameter give a name to the subscription. +The `Register-CimIndicationEvent` cmdlet subscribes to indications using an indication class name or +a query expression. Use the **SourceIdentifier** parameter give a name to the subscription. -This cmdlet returns a PS EventSubscription object. -You can use this object to cancel the subscription. +This cmdlet returns an **EventSubscription** object. You can use this object to cancel the +subscription. ## EXAMPLES ### Example 1: Register the events generated by a class -``` -@{navigationLink=System.Management.Automation.PSObject[]; #text=System.Management.Automation.PSObject[]} -``` - -This set of commands subscribes to the events generated by the class named Win32_ProcessStartTrace which raises an event whenever a process starts, and gets the events with ProcessStarted subscription using the Get-Event cmdlet. -For more information about Get-Event, see http://technet.microsoft.com/library/hh849909.aspx. -Note: for this example, you must run PowerShell as an Administrator. +This set of commands subscribes to the events generated by the class named **Win32_ProcessStartTrace** +which raises an event whenever a process starts, and gets the events with ProcessStarted +subscription using the `Get-Event` cmdlet. For more information, see [Get-Event](../Microsoft.PowerShell.Utility/Get-Event.md). -### Example 2: Register the events using a query +```powershell +Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" +Get-Event -SourceIdentifier "ProcessStarted" ``` -PS C:\>$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'" - +> [!NOTE] +> For this example, you must run PowerShell as an Administrator. -PS C:\>Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer" -``` +### Example 2: Register the events using a query -This set of commands uses a query to subscribe to an event generated whenever there is a change in the instance of a class named Win32_LocalTime. +This set of commands uses a query to subscribe to an event generated whenever there is a change in +the instance of a class named **Win32_LocalTime**. -### Example 3: Run a script when the event arrives +```powershell +$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'" +Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer" ``` -PS C:\>$action = {$name = $event.SourceEventArgs.NewEvent.ProcessName; $id = $event.SourceEventArgs.NewEvent.ProcessId; Write-Host -Object "New Process Started : Name = $name; ID = $id"} - +### Example 3: Run a script when the event arrives -PS C:\>Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action +This set of commands shows how to use an action in response to an event. The variable `$action` +holds the script block for **Action**, which uses the `$event` variable to access the event received +from CIM. + +```powershell +$action = { + $name = $event.SourceEventArgs.NewEvent.ProcessName + $id = $event.SourceEventArgs.NewEvent.ProcessId + Write-Host -Object "New Process Started : Name = $name + ID = $id" +} +Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action ``` -This set of commands shows how to use an action in response to an event. -The variable $action holds the script block for Action, which uses the $event variable to access the event received from CIM. -Using $action, the Register-CimIndicationEvent cmdlet subscribes to the event generated by the class named Win32_ProcessStartTrace. - -For more information about Win32_ProcessStartTrace, see http://msdn.microsoft.com/library/windows/desktop/aa394374(v=vs.85).aspx +For more information, see [Win32_ProcessStartTrace](/previous-versions/windows/desktop/krnlprov/win32-processstarttrace). ### Example 4: Register the events on a remote computer -``` -PS C:\>Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01 - +This set of commands subscribes to events on a remote computer named Server01. Events received from +the CIM server are stored in the event queue in the current PowerShell session and then runs a local +`Get-Event` to retrieve the events. -PS C:\>Get-Event -SourceIdentifier "ProcessStarted" +```powershell +Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01 +Get-Event -SourceIdentifier "ProcessStarted" ``` -This set of commands subscribes to events on a remote computer named Server01 using the Register-CimIndicationEvent cmdlet. -Events received from the CIM server are stored in the event queue in the current PowerShell session and then runs a local Get-Event to retrieve the events. - ## PARAMETERS ### -Action + Specifies the commands that handle the events. -The commands specified by this parameter run when an event is raised, instead of sending the event to the event queue. -Enclose the commands in braces ( { } ) to create a script block. +The commands specified by this parameter run when an event is raised, instead of sending the event +to the event queue. Enclose the commands in braces ( { } ) to create a script block. -The script block specified with Action can include the $Event, $EventSubscriber, $Sender, $SourceEventArgs, and $SourceArgs automatic variables, which provide information about the event to the Action script block. -For more information about automatic variables, see http://technet.microsoft.com/library/hh847768.aspx. +The script block specified with **Action** can include the `$Event`, `$EventSubscriber`, `$Sender`, +`$SourceEventArgs`, and `$SourceArgs` automatic variables, which provide information about the event +to the **Action** script block. For more information, see [About Automatic Variables](../microsoft.powershell.core/about/about_automatic_variables.md). ```yaml Type: ScriptBlock @@ -117,16 +129,17 @@ Parameter Sets: (All) Aliases: Required: False -Position: 102 +Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` ### -CimSession -Runs the command using the specified CIM session. -Enter a variable that contains the CIM session, or a command that creates or gets the CIM session, such as the New-CimSession or Get-CimSession cmdlets. -For more information, see about_CimSessions. + +Runs the command using the specified CIM session. Enter a variable that contains the CIM session, or +a command that creates or gets the CIM session, such as the `New-CimSession` or `Get-CimSession` +cmdlets. For more information, see [about_CimSessions]. ```yaml Type: CimSession @@ -141,8 +154,10 @@ Accept wildcard characters: False ``` ### -ClassName -Specifies the indication class to which you are subscribing. -NOTE: You can use tab completion to browse the list of classes, because PowerShell gets a list of classes from the local WMI server to provide a list of class names. + +Specifies the indication class to which you are subscribing. You can use tab completion to browse +the list of classes, because PowerShell gets a list of classes from the local WMI server to provide +a list of class names. ```yaml Type: String @@ -150,21 +165,23 @@ Parameter Sets: ClassNameComputerSet, ClassNameSessionSet Aliases: Required: True -Position: 1 +Position: 0 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` ### -ComputerName -Specifies the name of the computer on which you want to run the CIM operation. -You can specify a fully qualified domain name (FQDN), a NetBIOS name, or an IP address. -If you specify this parameter, the cmdlet creates a temporary session to the specified computer using the WsMan protocol. +Specifies the name of the computer on which you want to run the CIM operation. You can specify a +fully qualified domain name (FQDN), a NetBIOS name, or an IP address. -If you do not specify this parameter, the cmdlet performs operation on the local system using Component Object Model (COM). +If you specify this parameter, the cmdlet creates a temporary session to the specified computer +using the WsMan protocol. If you do not specify this parameter, the cmdlet performs operation on the +local system using Component Object Model (COM). -If multiple operations are being performed on the same computer, connecting using a CIM session gives better performance. +If multiple operations are being performed on the same computer, connect using a CIM session for +better performance. ```yaml Type: String @@ -179,9 +196,9 @@ Accept wildcard characters: False ``` ### -Forward -Indicates that events for the subscription are forwarded to the session on the local computer. -Use this parameter when you are registering for events on a remote computer or in a remote session. +Indicates that events for the subscription are forwarded to the session on the local computer. Use +this parameter when you are registering for events on a remote computer or in a remote session. ```yaml Type: SwitchParameter @@ -196,7 +213,10 @@ Accept wildcard characters: False ``` ### -MaxTriggerCount -{{Fill MaxTriggerCount Description}} + +Parameter to indicate that the subscriber should be auto-unregistered after being triggered for +specified times. If the value is equal or less than zero, there is no limit on the number of times +the event can be triggered without being unregistered. ```yaml Type: Int32 @@ -211,9 +231,9 @@ Accept wildcard characters: False ``` ### -MessageData -Specifies any additional data to be associated with this event subscription. -The value of this parameter appears in the MessageData property of all the events associated with this subscription. +Specifies any additional data to associate with this event subscription. The value of this parameter +appears in the **MessageData** property of all the events associated with this subscription. ```yaml Type: PSObject @@ -228,10 +248,10 @@ Accept wildcard characters: False ``` ### -Namespace -Specifies the namespace for the CIM operation. -The default namespace is root/cimv2. -NOTE: You can use tab completion to browse the list of namespaces, because PowerShell gets a list of namespaces from the local WMI server to provide the list of namespaces. +Specifies the namespace for the CIM operation. The default namespace is **root/cimv2**. You can use +tab completion to browse the list of namespaces, because PowerShell gets a list of namespaces from +the local WMI server to provide the list of namespaces. ```yaml Type: String @@ -246,11 +266,15 @@ Accept wildcard characters: False ``` ### -OperationTimeoutSec -Specifies the amount of time that the cmdlet waits for a response from the computer. -By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout value for the server. +Specifies the amount of time that the cmdlet waits for a response from the computer. By default, the +value of this parameter is 0, which means that the cmdlet uses the default timeout value for the +server. -If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter are not recoverable, because the operation on the server times out before the client can reconnect. +If the **OperationTimeoutSec** parameter is set to a value less than the robust connection retry +timeout of 3 minutes, network failures that last more than the value of the **OperationTimeoutSec** +parameter are not recoverable, because the operation on the server times out before the client can +reconnect. ```yaml Type: UInt32 @@ -265,50 +289,48 @@ Accept wildcard characters: False ``` ### -Query -Specifies a query to run on the CIM server. - -You can specify the query dialect using the QueryDialect parameter. -If the value specified contains double quotes ("), single quotes ('), or a backslash (\\), you must escape those characters by prefixing them with the backslash (\\) character. -If the value specified uses the WQL LIKE operator, then you must escape the following characters by enclosing them in square brackets (\[\]): percent (%), underscore (_), or opening square bracket (\[). +Specifies a query to run on the CIM server. If the value specified contains double quotes `"`, +single quotes `'`, or a backslash `\`, you must escape those characters by prefixing them with the +backslash character. If the value specified uses the WQL LIKE operator, then you must escape +the following characters by enclosing them in square brackets `[]`: percent `%`, underscore `_`, +or opening square bracket `[`. ```yaml Type: String -Parameter Sets: QueryExpressionComputerSet, QueryExpressionSessionSet +Parameter Sets: QueryExpressionSessionSet, QueryExpressionComputerSet Aliases: Required: True -Position: 1 +Position: 0 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` ### -QueryDialect -Specifies the query language used for the Query parameter. -The acceptable values for this parameter are: WQL or CQL. -The default value is WQL. +Specifies the query language used for the **Query** parameter. The acceptable values for this +parameter are: **WQL** or **CQL**. The default value is **WQL**. ```yaml Type: String -Parameter Sets: QueryExpressionComputerSet, QueryExpressionSessionSet +Parameter Sets: QueryExpressionSessionSet, QueryExpressionComputerSet Aliases: Required: False Position: Named -Default value: None +Default value: WQL Accept pipeline input: False Accept wildcard characters: False ``` ### -SourceIdentifier -Specifies a name for the subscription. -The name that you specify must be unique in the current session. -The default value is a GUID that PowerShell assigns. - -The value of this parameter appears in the value of the SourceIdentifier property of the subscriber object and of all event objects associated with this subscription. +Specifies a name for the subscription. The name that you specify must be unique in the current +session. The default value is a GUID that PowerShell assigns. This value appears in the value of the +**SourceIdentifier** property of the subscriber object and of all event objects associated with this +subscription. ```yaml Type: String @@ -316,16 +338,16 @@ Parameter Sets: (All) Aliases: Required: False -Position: 101 +Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` ### -SupportEvent -Indicates that the event subscription is hidden. -Use this parameter when the current subscription is part of a more complex event registration mechanism and it should not be discovered independently. +Indicates that the event subscription is hidden. Use this parameter when the current subscription is +part of a more complex event registration mechanism and it should not be discovered independently. ```yaml Type: SwitchParameter @@ -340,18 +362,22 @@ Accept wildcard characters: False ``` ### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. -For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, +-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, +-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS ### None + This cmdlet accepts no input objects. ## OUTPUTS ### System.Object -This cmdlet outputs a PS EventSubscription object. + +This cmdlet outputs an **EventSubscription** object. ## NOTES diff --git a/reference/3.0/CimCmdlets/Remove-CimInstance.md b/reference/3.0/CimCmdlets/Remove-CimInstance.md index e27b87259a32..8cfd5cca9cfc 100644 --- a/reference/3.0/CimCmdlets/Remove-CimInstance.md +++ b/reference/3.0/CimCmdlets/Remove-CimInstance.md @@ -4,7 +4,6 @@ Module Name: CimCmdlets online version: schema: 2.0.0 --- - # Remove-CimInstance ## SYNOPSIS @@ -13,49 +12,62 @@ Removes a CIM instance from a computer. ## SYNTAX ### CimInstanceComputerSet (Default) + ``` Remove-CimInstance [-ResourceUri ] [-ComputerName ] [-OperationTimeoutSec ] [-InputObject] [-WhatIf] [-Confirm] [] ``` ### CimInstanceSessionSet + ``` Remove-CimInstance -CimSession [-ResourceUri ] [-OperationTimeoutSec ] [-InputObject] [-WhatIf] [-Confirm] [] ``` ### QuerySessionSet + ``` Remove-CimInstance -CimSession [[-Namespace] ] [-OperationTimeoutSec ] [-Query] [-QueryDialect ] [-WhatIf] [-Confirm] [] ``` ### QueryComputerSet + ``` Remove-CimInstance [-ComputerName ] [[-Namespace] ] [-OperationTimeoutSec ] [-Query] [-QueryDialect ] [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION + The Remove-CimInstance cmdlet removes a CIM instance from a CIM server. -You can specify the CIM instance to remove by using either a CIM instance object retrieved by the Get-CimInstance cmdlet, or by specifying a query. +You can specify the CIM instance to remove by using either a CIM instance object retrieved by the +Get-CimInstance cmdlet, or by specifying a query. -If the InputObject parameter is not specified, the cmdlet works in one of the following ways: +If the InputObject parameter is not specified, the cmdlet works in one of the following ways: ---If neither the ComputerName parameter nor the CimSession parameter is specified, then this cmdlet works on local Windows Management Instrumentation (WMI) using a Component Object Model (COM) session. ---If either the ComputerName parameter or the CimSession parameter is specified, then this cmdlet works against the CIM server specified by either the ComputerName parameter or the CimSession parameter. +- If neither the ComputerName parameter nor the CimSession parameter is specified, then this cmdlet +works on local Windows Management Instrumentation (WMI) using a Component Object Model (COM) +session. +- If either the ComputerName parameter or the CimSession parameter is specified, then this cmdlet +works against the CIM server specified by either the ComputerName parameter or the CimSession +parameter. ## EXAMPLES ### Example 1: Remove the CIM instance + ``` -PS C:\>Remove-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"ꞌ +PS C:\>Remove-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' ``` -This command removes the CIM instances that start with the character string testvar from the class named Win32_Environment using the Query parameter. +This command removes the CIM instances that start with the character string testvar from the class +named Win32_Environment using the Query parameter. ### Example 2: Remove the CIM instance using CIM instance object + ``` PS C:\>calc.exe @@ -68,15 +80,18 @@ PS C:\>$var = Get-CimInstance -Query 'Select * from Win32_Process where name LIK PS C:\>Remove-CimInstance -InputObject $var ``` -This set of commands retrieves the CIM instance objects filtered by the Query parameter and stores them in variable named $var using the Get-CimInstance cmdlet. -The contents of the variable are then passed to the Remove-CimInstance cmdlet, which removes the CIM instances. +This set of commands retrieves the CIM instance objects filtered by the Query parameter and stores +them in variable named $var using the Get-CimInstance cmdlet. +The contents of the variable are then passed to the Remove-CimInstance cmdlet, which removes the CIM +instances. ## PARAMETERS ### -CimSession + Runs the command using the specified CIM session. -Enter a variable that contains the CIM session, or a command that creates or gets the CIM session, such as the New-CimSession or Get-CimSession cmdlets. -For more information, see about_CimSessions. +Enter a variable that contains the CIM session, or a command that creates or gets the CIM session, +such as the New-CimSession or Get-CimSession cmdlets. For more information, see about_CimSessions. ```yaml Type: CimSession[] @@ -91,42 +106,35 @@ Accept wildcard characters: False ``` ### -ComputerName + Specifies the name of the computer on which you want to run the CIM operation. You can specify a fully qualified domain name (FQDN) or a NetBIOS name. -If you specify this parameter, the cmdlet creates a temporary session to the specified computer using the WsMan protocol. +If you specify this parameter, the cmdlet creates a temporary session to the specified computer +using the WsMan protocol. -If you do not specify this parameter, the cmdlet performs the operation on the local computer using Component Object Model (COM). +If you do not specify this parameter, the cmdlet performs the operation on the local computer using +Component Object Model (COM). -If multiple operations are being performed on the same computer, connecting using a CIM session gives better performance. +If multiple operations are being performed on the same computer, connecting using a CIM session +gives better performance. ```yaml -Type: String[] -Parameter Sets: CimInstanceComputerSet -Aliases: CN, ServerName - -Required: False -Position: Named -Default value: None Accept pipeline input: False +Position: Named Accept wildcard characters: False -``` - -```yaml -Type: String[] -Parameter Sets: QueryComputerSet -Aliases: CN, ServerName - +Parameter Sets: CimInstanceComputerSet, QueryComputerSet Required: False -Position: Named Default value: None -Accept pipeline input: False -Accept wildcard characters: False +Aliases: CN, ServerName +Type: String[] ``` ### -InputObject -Specifies a CIM instance object to be removed from the CIM server. -Note: The input object passed to the cmdlet is not changed, only the instance in the CIM server is removed. + +Specifies a CIM instance object to be removed from the CIM server. +Note: The input object passed to the cmdlet is not changed, only the instance in the CIM server is +removed. ```yaml Type: CimInstance @@ -141,10 +149,12 @@ Accept wildcard characters: False ``` ### -Namespace + Specifies the namespace for the CIM operation. -The default namespace is root/cimv2. -NOTE: You can use tab completion to browse the list of namespaces, because PowerShell gets a list of namespaces from the local WMI server to provide the list of namespaces. +The default namespace is root/cimv2. +NOTE: You can use tab completion to browse the list of namespaces, because PowerShell gets a list of +namespaces from the local WMI server to provide the list of namespaces. ```yaml Type: String @@ -159,11 +169,15 @@ Accept wildcard characters: False ``` ### -OperationTimeoutSec + Specifies the amount of time that the cmdlet waits for a response from the computer. -By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout value for the server. +By default, the value of this parameter is 0, which means that the cmdlet uses the default timeout +value for the server. -If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter are not recoverable, because the operation on the server times out before the client can reconnect. +If the OperationTimeoutSec parameter is set to a value less than the robust connection retry timeout +of 3 minutes, network failures that last more than the value of the OperationTimeoutSec parameter +are not recoverable, because the operation on the server times out before the client can reconnect. ```yaml Type: UInt32 @@ -178,11 +192,15 @@ Accept wildcard characters: False ``` ### -Query + Specifies a query to run on the CIM server. You can specify the query dialect using the QueryDialect parameter. -If the value specified contains double quotes ("), single quotes ('), or a backslash (\\), you must escape those characters by prefixing them with the backslash (\\) character. -If the value specified uses the WQL LIKE operator, then you must escape the following characters by enclosing them in square brackets (\[\]): percent (%), underscore (_), or opening square bracket (\[). +If the value specified contains double quotes ("), single quotes ('), or a backslash (\\), you must +escape those characters by prefixing them with the backslash (\\) character. +If the value specified uses the WQL LIKE operator, then you must escape the following characters by +enclosing them in square brackets (\[\]): percent (%), underscore (_), or opening square bracket +(\[). ```yaml Type: String @@ -197,6 +215,7 @@ Accept wildcard characters: False ``` ### -QueryDialect + Specifies the query language used for the Query parameter. The acceptable values for this parameter are: WQL or CQL. @@ -216,23 +235,27 @@ Accept wildcard characters: False ``` ### -ResourceUri + Specifies the resource uniform resource identifier (URI) of the resource class or instance. The URI is used to identify a specific type of resource, such as disks or processes, on a computer. A URI consists of a prefix and a path to a resource. -For example: - -http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk -http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings +For example: +- `http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk` +- `http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings` - -By default, if you do not specify this parameter, the DMTF standard resource URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ is used and the class name is appended to it. +By default, if you do not specify this parameter, the DMTF standard resource URI +http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ is used and the class name is appended to it. -ResourceURI can only be used with CIM sessions created using the WSMan protocol, or when specifying the ComputerName parameter, which creates a CIM session using WSMan. -If you specify this parameter without specifying the ComputerName parameter, or if you specify a CIM session created using DCOM protocol, you will get an error, because the DCOM protocol does not support the ResourceURI parameter. +ResourceURI can only be used with CIM sessions created using the WSMan protocol, or when specifying +the ComputerName parameter, which creates a CIM session using WSMan. +If you specify this parameter without specifying the ComputerName parameter, or if you specify a CIM +session created using DCOM protocol, you will get an error, because the DCOM protocol does not +support the ResourceURI parameter. -If both the ResourceUri parameter and the Filter parameter are specified, the Filter parameter is ignored. +If both the ResourceUri parameter and the Filter parameter are specified, the Filter parameter is +ignored. ```yaml Type: Uri @@ -247,6 +270,7 @@ Accept wildcard characters: False ``` ### -Confirm + Prompts you for confirmation before running the cmdlet. ```yaml @@ -262,6 +286,7 @@ Accept wildcard characters: False ``` ### -WhatIf + Shows what would happen if the cmdlet runs. The cmdlet is not run. @@ -278,17 +303,22 @@ Accept wildcard characters: False ``` ### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. + +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, +-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, +-WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS ### None + This cmdlet accepts no input objects. ## OUTPUTS ### None + This cmdlet produces no outputs. ## NOTES @@ -299,4 +329,4 @@ This cmdlet produces no outputs. [Get-CimInstance](get-ciminstance.md) -[Set-CimInstance](Set-CimInstance.md) +[Set-CimInstance](Set-CimInstance.md) \ No newline at end of file diff --git a/reference/3.0/CimCmdlets/Set-CimInstance.md b/reference/3.0/CimCmdlets/Set-CimInstance.md index 7a3a1c4ec41e..e3777dfc077a 100644 --- a/reference/3.0/CimCmdlets/Set-CimInstance.md +++ b/reference/3.0/CimCmdlets/Set-CimInstance.md @@ -4,11 +4,9 @@ Module Name: CimCmdlets online version: schema: 2.0.0 --- - # Set-CimInstance ## SYNOPSIS - Modifies a CIM instance on a CIM server by calling the ModifyInstance method of the CIM class. ## SYNTAX @@ -271,27 +269,14 @@ properties specified using this parameter are changed. Other properties of the C changed. ```yaml -Type: IDictionary -Parameter Sets: CimInstanceComputerSet, CimInstanceSessionSet -Aliases: Arguments - -Required: False -Position: Named -Default value: None Accept pipeline input: True (ByPropertyName) -Accept wildcard characters: False -``` - -```yaml -Type: IDictionary -Parameter Sets: QuerySessionSet, QueryComputerSet -Aliases: Arguments - -Required: True Position: Named -Default value: None -Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False +Parameter Sets: CimInstanceComputerSet, CimInstanceSessionSet, QuerySessionSet, QueryComputerSet +Required: True (QuerySessionSet, QueryComputerSet), False (CimInstanceComputerSet, CimInstanceSessionSet) +Default value: None +Aliases: Arguments +Type: IDictionary ``` ### -Query diff --git a/reference/3.0/ISE/ISE.md b/reference/3.0/ISE/ISE.md index 44e0b12c8ec5..59eb597441bb 100644 --- a/reference/3.0/ISE/ISE.md +++ b/reference/3.0/ISE/ISE.md @@ -12,19 +12,17 @@ Module Name: ISE # ISE Module ## Description -This section contains the help topics for the cmdlets that are installed with the Windows PowerShell ISE module. The ISE module contains cmdlets that add features to Windows PowerShell Integrated Scripting Environment (ISE). + +This section contains the help topics for the cmdlets that are installed with the Windows PowerShell Integrated Scripting Environment (ISE) module. +The Windows PowerShell ISE module contains cmdlets that add features to Windows PowerShell ISE. ## ISE Cmdlets -### Get-IseSnippet.md +### [Get-IseSnippet](Get-IseSnippet.md) Gets snippets that the user created. - -### Import-IseSnippet.md - +### [Import-IseSnippet](Import-IseSnippet.md) Imports ISE snippets into the current session - -### New-IseSnippet.md - +### [New-IseSnippet](New-IseSnippet.md) Creates a Windows PowerShell ISE code snippet. \ No newline at end of file diff --git a/reference/3.0/ISE/Import-IseSnippet.md b/reference/3.0/ISE/Import-IseSnippet.md index 7a2e1434501b..2c45b996c4b5 100644 --- a/reference/3.0/ISE/Import-IseSnippet.md +++ b/reference/3.0/ISE/Import-IseSnippet.md @@ -30,7 +30,7 @@ Import-IseSnippet [-Recurse] -Module [-ListAvailable] [ Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse +```powershell +Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse ``` This command imports the snippets from the \\\\Server01\Public\Snippets directory into the current session. @@ -59,8 +59,8 @@ It uses the Recurse parameter to get snippets from all subdirectories of the Sni ### Example 2: Import snippets from a module -``` -PS> Import-IseSnippet -Module SnippetModule -ListAvailable +```powershell +Import-IseSnippet -Module SnippetModule -ListAvailable ``` This command imports the snippets from the SnippetModule module. @@ -68,16 +68,16 @@ The command uses the **ListAvailable** parameter to import the snippets even if ### Example 3: Find snippets in modules -``` -PS> ($env:PSModulePath).split(";") | foreach {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | foreach {$_.fullname} +```powershell +($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$_.fullname} ``` This command gets snippets in all installed modules in the PSModulePath environment variable. ### Example 4: Import all module snippets -``` -PS> ($env:PSModulePath).split(";") | foreach {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | foreach {$psise.CurrentPowerShellTab.Snippets.Load($_)} +```powershell +($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)} ``` This command imports all snippets from all installed modules into the current session. @@ -85,8 +85,8 @@ Typically, you don't need to run a command like this because modules that have s ### Example 5: Copy all module snippets -``` -PS> ($env:PSModulePath).split(";") | foreach {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | Copy-Item -Destination $home\Documents\WindowsPowerShell\Snippets +```powershell +($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | Copy-Item -Destination $home\Documents\WindowsPowerShell\Snippets ``` This command copies the snippet files from all installed modules into the Snippets directory of the current user. diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/About.md b/reference/3.0/Microsoft.PowerShell.Core/About/About.md new file mode 100644 index 000000000000..9360e62d930f --- /dev/null +++ b/reference/3.0/Microsoft.PowerShell.Core/About/About.md @@ -0,0 +1,353 @@ +--- +ms.date: 02/25/2019 +schema: 2.0.0 +locale: en-us +keywords: powershell,cmdlet +Help Version: 6.0 +Download Help Link: http://Please-enter-FwLink-manually +Module Guid: 00000000-0000-0000-0000-000000000000 +Module Name: About +--- +# About Module + +## Description + +About topics cover a ranges of concepts about PowerShell. + +## About Topics + +### [about_Alias_Provider](about_Alias_Provider.md) +Describes the features of the Alias provider. + +### [about_Aliases](about_Aliases.md) +Describes how to use alternate names for cmdlets and commands in PowerShell. + +### [about_Arithmetic_Operators](about_Arithmetic_Operators.md) +Describes the operators that perform arithmetic in PowerShell. + +### [about_Arrays](about_Arrays.md) +Describes arrays, which are data structures designed to store collections of items. + +### [about_Assignment_Operators](about_Assignment_Operators.md) +Describes how to use operators to assign values to variables. + +### [about_Automatic_Variables](about_Automatic_Variables.md) +Describes variables that store state information for PowerShell. These variables are created and maintained by PowerShell. + +### [about_Break](about_Break.md) +Describes a statement you can use to immediately exit Foreach, For, While, Do, or Switch statements. + +### [about_CimSession](about_CimSession.md) +Describes a CimSession object and the difference between CIM sessions and PowerShell sessions. + +### [about_Command_Precedence](about_Command_Precedence.md) +Describes how PowerShell determines which command to run. + +### [about_Command_Syntax](about_Command_Syntax.md) +Describes the syntax diagrams that are used in PowerShell. + +### [about_Comment_Based_Help](about_Comment_Based_Help.md) +Describes how to write comment-based help topics for functions and scripts. + +### [about_CommonParameters](about_CommonParameters.md) +Describes the parameters that can be used with any cmdlet. + +### [about_Comparison_Operators](about_Comparison_Operators.md) +Describes the operators that compare values in PowerShell. + +### [about_Continue](about_Continue.md) +Describes how the `Continue` statement immediately returns the program flow to the top of a program loop. + +### [about_Core_Commands](about_Core_Commands.md) +Lists the cmdlets that are designed for use with PowerShell providers. + +### [about_Data_Sections](about_Data_Sections.md) +Explains Data sections, which isolate text strings and other read-only data from script logic. + +### [about_Debuggers](about_Debuggers.md) +Describes the PowerShell debugger. + +### [about_Do](about_Do.md) +Runs a statement list one or more times, subject to a While or Until condition. + +### [about_Environment_Provider](about_Environment_Provider.md) +Describes the features of the Environment provider. + +### [about_Environment_Variables](about_Environment_Variables.md) +Describes how to access Windows environment variables in PowerShell. + +### [about_Eventlogs](about_Eventlogs.md) +Windows PowerShell creates a Windows event log that is named "Windows PowerShell" to record Windows PowerShell events. + +### [about_Execution_Policies](about_Execution_Policies.md) +Describes the PowerShell execution policies and explains how to manage them. + +### [about_FileSystem_Provider](about_FileSystem_Provider.md) +Describes the features of the FileSystem provider. + +### [about_For](about_For.md) +Describes a language command you can use to run statements based on a conditional test. + +### [about_Foreach](about_Foreach.md) +Describes a language command you can use to traverse all the items in a collection of items. + +### [about_Format.ps1xml](about_Format.ps1xml.md) +The `Format.ps1xml` files in PowerShell define the default display of objects in the PowerShell console. + +### [about_Function_Provider](about_Function_Provider.md) +Describes the features of the Function provider. + +### [about_Functions](about_Functions.md) +Describes how to create and use functions in PowerShell. + +### [about_Functions_Advanced](about_Functions_Advanced.md) +Introduces advanced functions that act similar to cmdlets. + +### [about_Functions_Advanced_Methods](about_Functions_Advanced_Methods.md) +Describes how functions that specify the `CmdletBinding` attribute can use the methods and properties that are available to compiled cmdlets. + +### [about_Functions_Advanced_Parameters](about_Functions_Advanced_Parameters.md) +Explains how to add parameters to advanced functions. + +### [about_Functions_CmdletBindingAttribute](about_Functions_CmdletBindingAttribute.md) +Describes the attribute that makes a function work like a compiled cmdlet. + +### [about_Functions_OutputTypeAttribute](about_Functions_OutputTypeAttribute.md) +Describes an attribute that reports the type of object that the function returns. + +### [about_Group_Policy_Settings](about_Group_Policy_Settings.md) +Describes the Group Policy settings for PowerShell. + +### [about_Hash_Tables](about_Hash_Tables.md) +Describes how to create, use, and sort hash tables in PowerShell. + +### [about_History](about_History.md) +Describes how to get and run commands in the command history. + +### [about_If](about_If.md) +Describes a language command you can use to run statement lists based on the results of one or more conditional tests. + +### [about_Job_Details](about_Job_Details.md) +Provides details about background jobs on local and remote computers. + +### [about_Jobs](about_Jobs.md) +Provides information about how PowerShell background jobs run a command or expression in the background without interacting with the current session. + +### [about_Join](about_Join.md) +Describes how the join operator (-join) combines multiple strings into a single string. + +### [about_Language_Keywords](about_Language_Keywords.md) +Describes the keywords in the PowerShell scripting language. + +### [about_Language_Modes](about_Language_Modes.md) +Explains language modes and their effect on PowerShell sessions. + +### [about_Line_Editing](about_Line_Editing.md) +Describes how to edit commands at the PowerShell command prompt. + +### [about_locations](about_locations.md) +Describes how to access items from the working location in PowerShell. + +### [about_logical_operators](about_logical_operators.md) +Describes the operators that connect statements in PowerShell. + +### [about_Methods](about_Methods.md) +Describes how to use methods to perform actions on objects in PowerShell. + +### [about_Modules](about_Modules.md) +Explains how to install, import, and use PowerShell modules. + +### [about_Object_Creation](about_Object_Creation.md) +Explains how to create objects in PowerShell. + +### [about_Objects](about_Objects.md) +Provides essential information about objects in PowerShell. + +### [about_Operator_Precedence](about_Operator_Precedence.md) +Lists the PowerShell operators in precedence order. + +### [about_Operators](about_Operators.md) +Describes the operators that are supported by PowerShell. + +### [about_Parameters](about_Parameters.md) +Describes how to work with command parameters in PowerShell. + +### [about_Parameters_Default_Values](about_Parameters_Default_Values.md) +Describes how to set custom default values for the parameters of cmdlets and advanced functions. + +### [about_Parsing](about_Parsing.md) +Describes how PowerShell parses commands. + +### [about_Path_Syntax](about_Path_Syntax.md) +Describes the full and relative path name formats in PowerShell. + +### [about_pipelines](about_pipelines.md) +Combining commands into pipelines in the PowerShell. + +### [about_PowerShell_exe](about_PowerShell_exe.md) +Explains how to use the PowerShell.exe command-line tool. Displays the syntax and describes the command-line switches. + +### [about_PowerShell_Ise_exe](about_PowerShell_Ise_exe.md) +Explains how to use the PowerShell_Ise.exe command-line tool. + +### [about_Preference_Variables](about_Preference_Variables.md) +Variables that customize the behavior of PowerShell. + +### [about_Profiles](about_Profiles.md) +Describes how to create and use a PowerShell profile. + +### [about_Prompts](about_Prompts.md) +Describes the Prompt function and demonstrates how to create a custom Prompt function. + +### [about_Properties](about_Properties.md) +Describes how to use object properties in PowerShell. + +### [about_Providers](about_Providers.md) +Describes how PowerShell providers provide access to data and components that would not otherwise be easily accessible at the command line. + +### [about_PSSession_Details](about_PSSession_Details.md) +Provides detailed information about PowerShell sessions and the role they play in remote commands. + +### [about_PSSessions](about_PSSessions.md) +Describes PowerShell sessions (PSSessions) and explains how to establish a persistent connection to a remote computer. + +### [about_PSSnapins](about_PSSnapins.md) +Describes PowerShell snap-ins and shows how to use and manage them. + +### [about_Quoting_Rules](about_Quoting_Rules.md) +Describes rules for using single and double quotation marks in PowerShell. + +### [about_Redirection](about_Redirection.md) +Explains how to redirect output from PowerShell to text files. + +### [about_Ref](about_Ref.md) +Describes how to create and use a reference type variable. You can use reference type variables to permit a function to change the value of a variable that is passed to it. + +### [about_Registry_Provider](about_Registry_Provider.md) +Describes the features of the Registry provider. + +### [about_Regular_Expressions](about_Regular_Expressions.md) +Describes regular expressions in PowerShell. + +### [about_Remote](about_Remote.md) +Describes how to run remote commands in PowerShell. + +### [about_Remote_Disconnected_Sessions](about_Remote_Disconnected_Sessions.md) +Explains how to disconnect from and reconnect to a PSSession. + +### [about_Remote_FAQ](about_Remote_FAQ.md) +Contains questions and answers about running remote commands in PowerShell. + +### [about_Remote_Jobs](about_Remote_Jobs.md) +Describes how to run background jobs on remote computers. + +### [about_Remote_Output](about_Remote_Output.md) +Describes how to interpret and format the output of remote commands. + +### [about_Remote_Requirements](about_Remote_Requirements.md) +Describes the system requirements and configuration requirements for running remote commands in PowerShell. + +### [about_Remote_Troubleshooting](about_Remote_Troubleshooting.md) +Describes how to troubleshoot remote operations in PowerShell. + +### [about_Remote_Variables](about_Remote_Variables.md) +Explains how to use local and remote variables in remote commands. + +### [about_Requires](about_Requires.md) +Prevents a script from running without the required elements. + +### [about_Reserved_Words](about_Reserved_Words.md) +Lists the reserved words that cannot be used as identifiers because they have a special meaning in PowerShell. + +### [about_Return](about_Return.md) +Exits the current scope, which can be a function, script, or script block. + +### [about_Run_With_PowerShell](about_Run_With_PowerShell.md) +Explains how to use the "Run with PowerShell" feature to run a script from a file system drive. + +### [about_Scopes](about_Scopes.md) +Explains the concept of scope in PowerShell and shows how to set and change the scope of elements. + +### [about_Script_Blocks](about_Script_Blocks.md) +Defines what a script block is and explains how to use script blocks in the PowerShell programming language. + +### [about_Script_Internationalization](about_Script_Internationalization.md) +Describes the script internationalization features that make it easy for scripts to display messages and instructions to users in their user interface (UI) language. + +### [about_Scripts](about_Scripts.md) +Describes how to run and write scripts in PowerShell. + +### [about_Session_Configuration_Files](about_Session_Configuration_Files.md) +Describes session configuration files, which are used in a session configuration (also known as an "endpoint") to define the environment of sessions that use the session configuration. + +### [about_Session_Configurations](about_Session_Configurations.md) +Describes session configurations, which determine the users who can connect to the computer remotely and the commands they can run. + +### [about_Signing](about_Signing.md) +Explains how to sign scripts so that they comply with the PowerShell execution policies. + +### [about_simplified_syntax](about_simplified_syntax.md) +Describes easier, more natural-language ways of scripting filters for collections of objects. + +### [about_Special_Characters](about_Special_Characters.md) +Describes the special characters that you can use to control how PowerShell interprets the next character in a command or parameter. + +### [about_Splatting](about_Splatting.md) +Describes how to use splatting to pass parameters to commands in PowerShell. + +### [about_Split](about_Split.md) +Explains how to use the Split operator to split one or more strings into substrings. + +### [about_Switch](about_Switch.md) +Explains how to use a switch to handle multiple If statements. + +### [about_Throw](about_Throw.md) +Describes the Throw keyword, which generates a terminating error. + +### [about_Transactions](about_Transactions.md) +Describes how to manage transacted operations in PowerShell. + +### [about_Trap](about_Trap.md) +Describes a keyword that handles a terminating error. + +### [about_Try_Catch_Finally](about_Try_Catch_Finally.md) +Describes how to use the `Try`, `Catch`, and `Finally` blocks to handle terminating errors. + +### [about_Type_Operators](about_Type_Operators.md) +Describes the operators that work with Microsoft .NET Framework types. + +### [about_Types.ps1xml](about_Types.ps1xml.md) +Explains how to use Types.ps1xml files to extend the types of objects that are used in PowerShell. + +### [about_Updatable_Help](about_Updatable_Help.md) +Describes the updatable help system in PowerShell. + +### [about_Variable_Provider](about_Variable_Provider.md) +Describes the features of the Variable provider. + +### [about_Variables](about_Variables.md) +Describes how variables store values that can be used in PowerShell. + +### [about_While](about_While.md) +Describes a language statement that you can use to run a command block based on the results of a conditional test. + +### [about_Wildcards](about_Wildcards.md) +Describes how to use wildcard characters in PowerShell. + +### [about_Windows_PowerShell_ISE](about_Windows_PowerShell_ISE.md) +Describes the features and system requirements of Windows PowerShell Integrated Scripting Environment (ISE). + +### [about_Windows_RT](about_Windows_RT.md) +Explains limitations of PowerShell 4.0 on Windows RT 8.1. + +### [about_WMI](about_WMI.md) +Windows Management Instrumentation (WMI) uses the Common Information Model (CIM) to represent systems, applications, networks, devices, and other manageable components of the modern enterprise. + +### [about_WMI_Cmdlets](about_WMI_Cmdlets.md) +Provides background information about Windows Management Instrumentation (WMI) and PowerShell. + +### [about_WQL](about_WQL.md) +Describes WMI Query Language (WQL), which can be used to get WMI objects in PowerShell. + +### [about_WS-Management_Cmdlets](about_WS-Management_Cmdlets.md) +Provides an overview of Web Services for Management (WS-Management) as background for using the WS-Management cmdlets in PowerShell. diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Alias_Provider.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Alias_Provider.md new file mode 100644 index 000000000000..d49cc9450a72 --- /dev/null +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Alias_Provider.md @@ -0,0 +1,316 @@ +--- +ms.date: 10/18/2018 +schema: 2.0.0 +locale: en-us +keywords: powershell,cmdlet +title: Alias Provider +--- +# Alias provider + +## Provider name + +Alias + +## Drives + +`Alias:` + +## Capabilities + +**ShouldProcess** + +## Short description + +Provides access to the PowerShell aliases and the values that they represent. + +## Detailed description + +The PowerShell **Alias** provider lets you get, add, change, clear, and delete +aliases in PowerShell. + +An alias is an alternate name for a cmdlet, function, executable file, +including scripts. PowerShell includes a set of built-in aliases. You can add +your own aliases to the current session and to your PowerShell profile. + +The **Alias** drive is a flat namespace that contains only the alias objects. +The aliases have no child items. + +The **Alias** provider supports the following cmdlets, which are covered +in this article. + +- [Get-Location](../../Microsoft.PowerShell.Management/Get-Location.md) +- [Set-Location](../../Microsoft.PowerShell.Management/Set-Location.md) +- [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md) +- [New-Item](../../Microsoft.PowerShell.Management/New-Item.md) +- [Remove-Item](../../Microsoft.PowerShell.Management/Remove-Item.md) +- [Clear-Item](../../Microsoft.PowerShell.Management/Clear-Item.md) + +PowerShell includes a set of cmdlets that are designed to view and to change aliases. When you use **Alias** cmdlets, you do not need to specify the `Alias:` drive in the name. This article does not cover working with +**Alias** cmdlets. + +- [Export-Alias](../../Microsoft.PowerShell.Utility/Export-Alias.md) +- [Get-Alias](../../Microsoft.PowerShell.Utility/Get-Alias.md) +- [Import-Alias](../../Microsoft.PowerShell.Utility/Import-Alias.md) +- [New-Alias](../../Microsoft.PowerShell.Utility/New-Alias.md) +- [Set-Alias](../../Microsoft.PowerShell.Utility/Set-Alias.md) + +## Types exposed by this provider + +Each alias is an instance of the +[System.Management.Automation.AliasInfo](/dotnet/api/system.management.automation.aliasinfo) class. + +## Navigating the Alias drive + +The **Alias** provider exposes its data store in the `Alias:` drive. To work +with aliases, you can change your location to the `Alias:` drive by using the +following command: + +```powershell +Set-Location Alias: +``` + +To return to a file system drive, type the drive name. For example, type: + +```powershell +Set-Location C: +``` + +You can also work with the Alias provider from any other PowerShell drive. To +reference an alias from another location, use the `Alias:` drive name in the +path. + +> [!NOTE] +> PowerShell uses aliases to allow you a familiar way to work with provider +> paths. Commands such as `dir` and `ls` are now aliases for +> [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md), +> `cd` is an alias for [Set-Location](../../Microsoft.PowerShell.Management/Set-Location.md). and `pwd` is +> an alias for [Get-Location](../../Microsoft.PowerShell.Management/Get-Location.md). + +### Displaying the Contents of the Alias: drive + +This command gets the list of all the aliases when the current location is the +`Alias:` drive. It uses a wildcard character `*` to indicate all the contents +of the current location. + +```powershell +PS Alias:\> Get-Item -Path * +``` + +In the `Alias:` drive, a dot `.`, which represents the current location, and a +wildcard character `*`, which represents all items in the current location, +have the same effect. For example, `Get-Item -Path .` or `Get-Item \*` produce +the same result. + +The Alias provider has no containers, so the above command has the +same effect when used with `Get-ChildItem`. + +```powershell +Get-ChildItem -Path Alias: +``` + +### Get a selected alias + +This command gets the `ls` alias. +Because it includes the path, you can use it in any PowerShell drive. + +```powershell +Get-Item -Path Alias:ls +``` + +If you are in the `Alias:` drive, you can omit the drive name from the path. + +### Get all aliases for a specific cmdlet + +This command gets a list of the aliases that are associated with the +`Get-ChildItem` cmdlet. It uses the **Definition** property, which stores +the cmdlet name. + +```powershell +Get-Item -Path Alias:* | Where-Object {$_.Definition -eq "Get-ChildItem"} +``` + +## Creating aliases + +### Create an alias from the Alias: drive + +This command creates the `serv` alias for the `Get-Service` cmdlet. Because the +current location is in the `Alias:` drive, the `-Path` parameter is not +needed. + +This command also uses the `-Options` dynamic parameter to set the **AllScope** +option on the alias. The `-Options` parameter is available in +the `New-Item` cmdlet only when you are in the `Alias:` drive. The dot (`.`) +indicates the current directory, which is the alias drive. + +```powershell +PS Alias:\> New-Item -Path . ` + -Name serv ` + -Value Get-Service ` + -Options "AllScope" +``` + +### Create an alias with an absolute path + +You can create an alias for any item that invokes a command. +This command creates the `np` alias for `Notepad.exe`. + +```powershell +New-Item -Path Alias:np -Value c:\windows\notepad.exe +``` + +### Create an alias to a new function + +You can create an alias for any function. You can use this feature to create an +alias that includes both a cmdlet and its parameters. + +The first command creates the `CD32` function, which changes the current +directory to the `System32` directory. The second command creates the `go` +alias for the `CD32` function. + +When the command is complete, you can use either `CD32` or `go` to invoke the +function. + +```powershell +function CD32 {Set-Location -Path c:\windows\system32} +Set-Item -Path Alias:go -Value CD32 +``` + +## Changing aliases + +### Change the options of an alias + +You can use the `Set-Item` cmdlet with the `-Options` dynamic parameter to +change the value of the `-Options` property of an alias. + +This command sets the **AllScope** and **ReadOnly** options for the `dir` +alias. The command uses the `-Options` dynamic parameter of the `Set-Item` +cmdlet. The `-Options` parameter is available in `Set-Item` when you use it +with the **Alias** or **Function** provider. + +```powershell +Set-Item -Path Alias:dir -Options "AllScope,ReadOnly" +``` + +### Change an aliases referenced command + +This command uses the `Set-Item` cmdlet to change the `gp` alias so that it +represents the `Get-Process` cmdlet instead of the `Get-ItemProperty` cmdlet. +The `-Force` parameter is required because the value of the **Options** +property of the `gp` alias is set to `ReadOnly`. Because the command is +submitted from within the `Alias:` drive, the drive is not specified in the +path. + +```powershell +Set-Item -Path gp -Value Get-Process -Force +``` + +The change affects the four properties that define the association between the +alias and the command. To view the effect of the change, type the following +command: + +```powershell +Get-Item -Path gp | Format-List -Property * +``` + +### Rename an alias + +This command uses the `Rename-Item` cmdlet to change the `popd` alias to `pop`. + +```powershell +Rename-Item -Path Alias:popd -NewName pop +``` + +## Copying an alias + +This command copies the `pushd` alias so that a new `push` alias is created for +the `Push-Location` cmdlet. + +When the new alias is created, its **Description** property has a null value. +And, its **Option** property has a value of `None`. If the command is issued +from within the `Alias:` drive, you can omit the drive name from the value of +the `-Path` parameter. + +```powershell +Copy-Item -Path Alias:pushd -Destination Alias:push +``` + +## Deleting an alias + +This command deletes the `serv` alias from the current session. +You can use this command in any PowerShell drive. + +```powershell +Remove-Item -Path Alias:serv +``` + +This command deletes aliases that begin with "s". +It does not delete read-only aliases. + +```powershell +Clear-Item -Path Alias:s* +``` + +### Delete read-only aliases + +This command deletes all aliases from the current session, except those with a +value of `Constant` for their **Options** property. The `-Force` +parameter allows the command to delete aliases whose **Options** property has a +value of `ReadOnly`. + +```powershell +Remove-Item Alias:* -Force +``` + +## Dynamic parameters + +Dynamic parameters are cmdlet parameters that are added by a PowerShell +provider and are available only when the cmdlet is being used in the +provider-enabled drive. + +### Options [System.Management.Automation.ScopedItemOptions] + +Determines the value of the **Options** property of an alias. + +- `None`: No options. This value is the default. +- `Constant`:The alias cannot be deleted and its properties cannot be changed. + `Constant` is available only when you create an alias. You cannot change the option of an existing alias to `Constant`. +- `Private`:The alias is visible only in the current scope, not in the child + scopes. +- `ReadOnly`:The properties of the alias cannot be changed except by using the + `-Force` parameter. You can use `Remove-Item` to delete the alias. +- `AllScope`:The alias is copied to any new scopes that are created. + +#### Cmdlets supported + +- [New-Item](../../Microsoft.PowerShell.Management/New-Item.md) +- [Set-Item](../../Microsoft.PowerShell.Management/Set-Item.md) + +## Using the pipeline + +Provider cmdlets accept pipeline input. You can use the pipeline to simplify +task by sending provider data from one cmdlet to another provider cmdlet. +To read more about how to use the pipeline with provider cmdlets, see the +cmdlet references provided throughout this article. + +## Getting help + +Beginning in Windows PowerShell 3.0, you can get customized help topics for +provider cmdlets that explain how those cmdlets behave in a file system drive. + +To get the help topics that are customized for the file system drive, run a +[Get-Help](../Get-Help.md) command in a file system drive or use the `-Path` +parameter of [Get-Help](../Get-Help.md) to specify a file system drive. + +```powershell +Get-Help Get-ChildItem +``` + +```powershell +Get-Help Get-ChildItem -Path alias: +``` + +## See also + +[about_Aliases](../About/about_Aliases.md) + +[about_Providers](../About/about_Providers.md) \ No newline at end of file diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Arithmetic_Operators.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Arithmetic_Operators.md index e914c6f46864..a2d646af043f 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Arithmetic_Operators.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Arithmetic_Operators.md @@ -66,7 +66,7 @@ PowerShell processes arithmetic operators in the following order: |----------|---------------|---------------------------------------| |1 | `()` |Parentheses | |2 | `-` |For a negative number or unary operator| -|3 | `*`, `/`, `%` |For muliplication and division | +|3 | `*`, `/`, `%` |For multiplication and division | |4 | `+`, `-` |For addition and subtraction | PowerShell processes the expressions from left to right according to the diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Arrays.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Arrays.md index 97ff0333d2fb..6dd0f516abdd 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Arrays.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Arrays.md @@ -8,7 +8,6 @@ title: about_Arrays # About Arrays ## Short Description - Describes arrays, which are data structures designed to store collections of items. @@ -43,7 +42,7 @@ $B = 5..8 As a result, $B contains four values: 5, 6, 7, and 8. -When no data type is specified, Windows PowerShell creates each array as an +When no data type is specified, PowerShell creates each array as an object array (type: System.Object[]). To determine the data type of an array, use the GetType() method. For example, to determine the data type of the $a array, type: @@ -421,8 +420,8 @@ using `.` notation from any collection. To get the properties and methods of an array, such as the Length property and the SetValue method, use the InputObject parameter of the Get-Member cmdlet. -When you pipe an array to `Get-Member`, Windows PowerShell sends the items one -at a time and Get-Member returns the type of each item in the array (ignoring +When you pipe an array to `Get-Member`, PowerShell sends the items one +at a time and `Get-Member` returns the type of each item in the array (ignoring duplicates). When you use the *-InputObject* parameter, `Get-Member` returns the members of diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Assignment_Operators.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Assignment_Operators.md index ac0f1b34c5e6..c26f5f5fbdff 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Assignment_Operators.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Assignment_Operators.md @@ -4,6 +4,7 @@ schema: 2.0.0 keywords: powershell,cmdlet title: about_Assignment_Operators --- + # About Assignment Operators ## SHORT DESCRIPTION @@ -15,7 +16,7 @@ Describes how to use operators to assign values to variables. Assignment operators assign one or more values to a variable. They can perform numeric operations on the values before the assignment. -Windows PowerShell supports the following assignment operators. +PowerShell supports the following assignment operators. |Operator|Description | |--------|-------------------------------------------------------------| @@ -59,14 +60,14 @@ replace the existing value of the variable, or you can append a new value to the existing value. The basic assignment operator is the equal sign `=` `(ASCII 61)`. For -example, the following statement assigns the value Windows PowerShell to +example, the following statement assigns the value PowerShell to the $MyShell variable: ```powershell -$MyShell = "Windows PowerShell" +$MyShell = "PowerShell" ``` -When you assign a value to a variable in Windows PowerShell, the variable +When you assign a value to a variable in PowerShell, the variable is created if it did not already exist. For example, the first of the following two assignement statements creates the $a variable and assigns a value of 6 to $a. The second assignment statement assigns a value of 12 to @@ -78,7 +79,7 @@ $a = 6 $a = 12 ``` -Variables in Windows PowerShell do not have a specific data type unless you +Variables in PowerShell do not have a specific data type unless you cast them. When a variable contains only one object, the variable takes the data type of that object. When a variable contains a collection of objects, the variable has the System.Object data type. Therefore, you can assign any @@ -141,7 +142,7 @@ $a = "apple", "orange", "lemon", "grape" ``` To assign a hash table to a variable, use the standard hash table notation -in Windows PowerShell. Type an at sign `@` followed by key/value pairs that +in PowerShell. Type an at sign `@` followed by key/value pairs that are separated by semicolons `;` and enclosed in braces `{ }`. For example, to assign a hash table to the $a variable, type: @@ -150,7 +151,7 @@ $a = @{one=1; two=2; three=3} ``` To assign hexadecimal values to a variable, precede the value with `0x`. -Windows PowerShell converts the hexadecimal value (0x10) to a decimal value +PowerShell converts the hexadecimal value (0x10) to a decimal value (in this case, 16) and assigns that value to the $a variable. For example, to assign a value of 0x10 to the $a variable, type: @@ -166,7 +167,7 @@ assign a value of 3.1415 to the power of 1,000 to the $a variable, type: $a = 3.1415e3 ``` -Windows PowerShell can also convert kilobytes `KB`, megabytes `MB`, and +PowerShell can also convert kilobytes `KB`, megabytes `MB`, and gigabytes `GB` into bytes. For example, to assign a value of 10 kilobytes to the $a variable, type: @@ -411,7 +412,7 @@ $a *= 2 $a = ($a * 2) ``` -When a variable contains a string value, Windows PowerShell appends the +When a variable contains a string value, PowerShell appends the specified number of strings to the value, as follows: ```powershell @@ -498,7 +499,7 @@ $a 3 ``` -# THE INCREMENT AND DECREMENT OPERATORS +## THE INCREMENT AND DECREMENT OPERATORS The increment operator `++` increases the value of a variable by 1. When you use the increment operator in a simple statement, no value is returned. @@ -689,7 +690,7 @@ $a file3 ``` -If the first value is an integer, Windows PowerShell treats all operations +If the first value is an integer, PowerShell treats all operations as integer operations and casts new values to integers. This occurs in the following example: @@ -753,7 +754,7 @@ In addition, when you precede a variable name with a data type, the type of that variable is locked unless you explicitly override the type by specifying another data type. If you try to assign a value that is incompatible with the existing type, and you do not explicitly override the -type, Windows PowerShell displays an error, as shown in the following +type, PowerShell displays an error, as shown in the following example: ```powershell @@ -774,7 +775,7 @@ At line:1 char:3 [string]$a = "string" ``` -In Windows PowerShell, the data types of variables that contain multiple +In PowerShell, the data types of variables that contain multiple items in an array are handled differently from the data types of variables that contain a single item. Unless a data type is specifically assigned to an array variable, the data type is always `System.Object []`. This data @@ -788,7 +789,7 @@ array type: [string []] $a = "one", "two", "three" ``` -Windows PowerShell variables can be any .NET Framework data type. In +PowerShell variables can be any .NET Framework data type. In addition, you can assign any fully qualified .NET Framework data type that is available in the current process. For example, the following command specifies a `System.DateTime` data type: @@ -805,9 +806,9 @@ following: Tuesday, May 31, 2005 12:00:00 AM ``` -# ASSIGNING MULTIPLE VARIABLES +## ASSIGNING MULTIPLE VARIABLES -In Windows PowerShell, you can assign values to multiple variables by using +In PowerShell, you can assign values to multiple variables by using a single command. The first element of the assignment value is assigned to the first variable, the second element is assigned to the second variable, the third element to the third variable, and so on. For example, the @@ -826,7 +827,7 @@ following command contains three variables and five values: $a, $b, $c = 1, 2, 3, 4, 5 ``` -Therefore, Windows PowerShell assigns the value 1 to the $a variable and +Therefore, PowerShell assigns the value 1 to the $a variable and the value 2 to the $b variable. It assigns the values 3, 4, and 5 to the $c variable. To assign the values in the $c variable to three other variables, use the following format: diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md index beef82762869..d2ed5273f19d 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md @@ -1,5 +1,5 @@ ---- -ms.date: 12/21/2017 +--- +ms.date: 2/27/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet @@ -7,15 +7,15 @@ title: about_Automatic_Variables --- # About Automatic Variables -## SHORT DESCRIPTION - +## Short description Describes variables that store state information for PowerShell. These variables are created and maintained by PowerShell. -## LONG DESCRIPTION +## Long description -Conceptually, these variables are considered to be read-only. -Even though they **can** be written to, for backward compatibility they **should not** be written to. +Conceptually, these variables are considered to be read-only. Even though they +**can** be written to, for backward compatibility they **should not** be +written to. Here is a list of the automatic variables in PowerShell: @@ -34,192 +34,209 @@ Contains the first token in the last line received by the session. ### $_ -Same as $PSItem. Contains the current object in the pipeline object. You +Same as `$PSItem`. Contains the current object in the pipeline object. You can use this variable in commands that perform an action on every object or on selected objects in a pipeline. -### $ARGS +### $args -Contains an array of the undeclared parameters and\/or parameter values -that are passed to a function, script, or script block. When you create a -function, you can declare the parameters by using the param keyword or by -adding a comma-separated list of parameters in parentheses after the -function name. +Contains an array of values for undeclared parameters that are passed to a +function, script, or script block. When you create a function, you can declare +the parameters by using the `param` keyword or by adding a comma-separated list +of parameters in parentheses after the function name. -In an event action, the $Args variable contains objects that represent the +In an event action, the `$Args` variable contains objects that represent the event arguments of the event that is being processed. This variable is -populated only within the Action block of an event registration command. -The value of this variable can also be found in the SourceArgs property of -the PSEventArgs object (System.Management.Automation.PSEventArgs) that -Get-Event returns. +populated only within the `Action` block of an event registration command. +The value of this variable can also be found in the **SourceArgs** property of +the **PSEventArgs** object that `Get-Event` returns. -### $CONSOLEFILENAME +### $ConsoleFileName -Contains the path of the console file (.psc1) that was most recently used +Contains the path of the console file (`.psc1`) that was most recently used in the session. This variable is populated when you start PowerShell with -the PSConsoleFile parameter or when you use the Export-Console cmdlet to +the **PSConsoleFile** parameter or when you use the `Export-Console` cmdlet to export snap-in names to a console file. -When you use the Export-Console cmdlet without parameters, it automatically +When you use the `Export-Console` cmdlet without parameters, it automatically updates the console file that was most recently used in the session. You can use this automatic variable to determine which file will be updated. -### $ERROR +### $Error Contains an array of error objects that represent the most recent errors. -The most recent error is the first error object in the array ($Error[0]). +The most recent error is the first error object in the array `$Error[0]`. -To prevent an error from being added to the $Error array, use the -ErrorAction common parameter with a value of Ignore. For more information, -see [about_CommonParameters](about_CommonParameters.md). +To prevent an error from being added to the `$Error` array, use the +**ErrorAction** common parameter with a value of **Ignore**. For more +information, see [about_CommonParameters](about_CommonParameters.md). -### $EVENT +### $Event -Contains a PSEventArgs object that represents the event that is being -processed. This variable is populated only within the Action block of an -event registration command, such as Register-ObjectEvent. The value of this -variable is the same object that the Get-Event cmdlet returns. Therefore, -you can use the properties of the $Event variable, such as -$Event.TimeGenerated , in an Action script block. +Contains a **PSEventArgs** object that represents the event that is being +processed. This variable is populated only within the `Action` block of an +event registration command, such as `Register-ObjectEvent`. The value of this +variable is the same object that the `Get-Event` cmdlet returns. Therefore, +you can use the properties of the `Event` variable, such as +`$Event.TimeGenerated`, in an `Action` script block. -### $EVENTARGS +### $EventArgs Contains an object that represents the first event argument that derives -from EventArgs of the event that is being processed. This variable is -populated only within the Action block of an event registration command. -The value of this variable can also be found in the SourceEventArgs -property of the PSEventArgs (System.Management.Automation.PSEventArgs) -object that Get-Event returns. +from **EventArgs** of the event that is being processed. This variable is +populated only within the `Action` block of an event registration command. +The value of this variable can also be found in the **SourceEventArgs** +property of the **PSEventArgs** object that `Get-Event` returns. -### $EVENTSUBSCRIBER +### $EventSubscriber -Contains a PSEventSubscriber object that represents the event subscriber of +Contains a **PSEventSubscriber** object that represents the event subscriber of the event that is being processed. This variable is populated only within -the Action block of an event registration command. The value of this -variable is the same object that the Get-EventSubscriber cmdlet returns. +the `Action` block of an event registration command. The value of this +variable is the same object that the `Get-EventSubscriber` cmdlet returns. -### $EXECUTIONCONTEXT +### $ExecutionContext -Contains an EngineIntrinsics object that represents the execution context +Contains an **EngineIntrinsics** object that represents the execution context of the PowerShell host. You can use this variable to find the execution objects that are available to cmdlets. -### $FALSE +### $false -Contains FALSE. You can use this variable to represent FALSE in commands +Contains **FALSE**. You can use this variable to represent **FALSE** in commands and scripts instead of using the string "false". The string can be -interpreted as TRUE if it is converted to a non-empty string or to a +interpreted as **TRUE** if it is converted to a non-empty string or to a non-zero integer. -### $FOREACH +### $foreach -Contains the enumerator (not the resulting values) of a ForEach loop. You -can use the properties and methods of enumerators on the value of the -$ForEach variable. This variable exists only while the ForEach loop is -running; it is deleted after the loop is completed. For detailed -information, see [about_ForEach](about_ForEach.md). +Contains the enumerator (not the resulting values) of a +[ForEach](about_ForEach.md) loop. The `$ForEach` variable exists only while +the `ForEach` loop is running; it is deleted after the loop is completed. + +Enumerators contain properties and methods you can use to retrieve loop values +and change the current loop iteration. For more information, see +[Using Enumerators](#using-enumerators). ### $HOME Contains the full path of the user's home directory. This variable is the -equivalent of the `%homedrive%%homepath%` Windows environment variables, -typically C:\\Users\\. +equivalent of the `"$env:homedrive$env:homepath"` Windows environment variables, +typically `C:\Users\`. -### $HOST +### $Host Contains an object that represents the current host application for PowerShell. You can use this variable to represent the current host in commands or to display or change the properties of the host, such as -$Host.version or $Host.CurrentCulture, or -$host.ui.rawui.setbackgroundcolor("Red"). +`$Host.version` or `$Host.CurrentCulture`, or +`$host.ui.rawui.setbackgroundcolor("Red")`. -### $INPUT +### $input Contains an enumerator that enumerates all input that is passed to a -function. The $input variable is available only to functions and script -blocks (which are unnamed functions). In the Process block of a function, -the $input variable enumerates the object that is currently in the -pipeline. When the Process block completes, there are no objects left in -the pipeline, so the $input variable enumerates an empty collection. If the -function does not have a Process block, then in the End block, the $input -variable enumerates the collection of all input to the function. +function. The `$input` variable is available only to functions and script +blocks (which are unnamed functions). + +- In a function without a `Begin`, `Process`, or `End` block, the `$input` + variable enumerates the collection of all input to the function. + +- In the `Begin` block, the `$input` variable contains no data. + +- In the `Process` block, the `$input` variable contains the + object that is currently in the pipeline. + +- In the `End` block, the `$input` variable enumerates the collection of all + input to the function. + + > [!NOTE] + > You cannot use the `$input` variable inside both the Process block and the + > End block in the same function or script block. -### $LASTEXITCODE +Enumerators contain properties and methods you can use to retrieve loop values +and change the current loop iteration. For more information, see +[Using Enumerators](#using-enumerators). + +### $LastExitCode Contains the exit code of the last Windows-based program that was run. -### $MATCHES +### $Matches -The $Matches variable works with the `-match` and `-notmatch` operators. +The `Matches` variable works with the `-match` and `-notmatch` operators. When you submit scalar input to the `-match` or `-notmatch` operator, and either one detects a match, they return a Boolean value and populate the -$Matches automatic variable with a hash table of any string values that -were matched. For more information about the -match operator, see -[about_comparison_operators](about_comparison_operators.md). +`$Matches` automatic variable with a hash table of any string values that +were matched. The `$Matches` hash table can also be populated with captures +when you use regular expressions with the `-match` operator. + +For more information about the `-match` operator, see +[about_comparison_operators](about_comparison_operators.md). For more +information on regular expressions, see [about_Regular_Expressions](about_Regular_Expressions.md). -### $MYINVOCATION +### $MyInvocation Contains an information about the current command, such as the name, parameters, parameter values, and information about how the command was started, called, or "invoked," such as the name of the script that called the current command. -\$MyInvocation is populated only for scripts, function, and script blocks. -You can use the information in the System.Management.Automation.InvocationInfo -object that \$MyInvocation returns in the current script, such as the path and -file name of the script (\$MyInvocation.MyCommand.Path) or the name of a -function (\$MyInvocation.MyCommand.Name) to identify the current command. This +`$MyInvocation` is populated only for scripts, function, and script blocks. You +can use the information in the **System.Management.Automation.InvocationInfo** +object that `$MyInvocation` returns in the current script, such as the path and +file name of the script (`$MyInvocation.MyCommand.Path`) or the name of a +function (`$MyInvocation.MyCommand.Name`) to identify the current command. This is particularly useful for finding the name of the current script. -Beginning in PowerShell 3.0, $MyInvocation has the following new +Beginning in PowerShell 3.0, `MyInvocation` has the following new properties. | Property | Description | | ------------- | --------------------------------------------------- | -| PSScriptRoot | Contains the full path to the script that invoked | +| **PSScriptRoot** | Contains the full path to the script that invoked | | | the current command. The value of this property is | | | populated only when the caller is a script. | -| PSCommandPath | Contains the full path and file name of the script | +| **PSCommandPath** | Contains the full path and file name of the script | | | that invoked the current command. The value of this | | | property is populated only when the caller is a | | | script. | -Unlike the $PSScriptRoot and $PSCommandPath automatic variables, the -PSScriptRoot and PSCommandPath properties of the $MyInvocation automatic -variable contain information about the invoker or calling script, not the -current script. +Unlike the `$PSScriptRoot` and `$PSCommandPath` automatic variables, the +**PSScriptRoot** and **PSCommandPath** properties of the `$MyInvocation` +automatic variable contain information about the invoker or calling script, +not the current script. -### $NESTEDPROMPTLEVEL +### $NestedPromptLevel Contains the current prompt level. A value of 0 indicates the original prompt level. The value is incremented when you enter a nested level and decremented when you exit it. For example, PowerShell presents a nested command prompt when you use the -$Host.EnterNestedPrompt method. PowerShell also presents a nested command +`$Host.EnterNestedPrompt` method. PowerShell also presents a nested command prompt when you reach a breakpoint in the PowerShell debugger. When you enter a nested prompt, PowerShell pauses the current command, saves the execution context, and increments the value of the -$NestedPromptLevel variable. To create additional nested command prompts +`$NestedPromptLevel` variable. To create additional nested command prompts (up to 128 levels) or to return to the original command prompt, complete -the command, or type "exit". +the command, or type `exit`. -The $NestedPromptLevel variable helps you track the prompt level. You can +The `$NestedPromptLevel` variable helps you track the prompt level. You can create an alternative PowerShell command prompt that includes this value so that it is always visible. ### $NULL -$null is an automatic variable that contains a NULL or empty value. You can -use this variable to represent an absent or undefined value in commands and +`$null` is an automatic variable that contains a **NULL** or empty value. You +can use this variable to represent an absent or undefined value in commands and scripts. -PowerShell treats $null as an object with a value, that is, as an explicit -placeholder, so you can use $null to represent an empty value in a series +PowerShell treats `$null` as an object with a value, that is, as an explicit +placeholder, so you can use `$null` to represent an empty value in a series of values. -For example, when $null is included in a collection, it is counted as one +For example, when `$null` is included in a collection, it is counted as one of the objects. ```powershell @@ -231,8 +248,8 @@ $a.count 3 ``` -If you pipe the $null variable to the ForEach-Object cmdlet, it generates a -value for $null, just as it does for the other objects +If you pipe the `$null` variable to the `ForEach-Object` cmdlet, it generates a +value for `$null`, just as it does for the other objects ```powershell "one", $null, "three" | ForEach-Object { "Hello " + $_} @@ -244,15 +261,15 @@ Hello Hello three ``` -As a result, you cannot use $null to mean "no parameter value." A parameter -value of $null overrides the default parameter value. +As a result, you cannot use `$null` to mean "no parameter value." A parameter +value of `$null` overrides the default parameter value. -However, because PowerShell treats the $null variable as a placeholder, you -can use it in scripts like the following one, which would not work if $null +However, because PowerShell treats the `$null` variable as a placeholder, you +can use it in scripts like the following one, which would not work if `$null` were ignored. ```powershell -$calendar = @($null, $null, “Meetingâ€, $null, $null, “Team Lunchâ€, $null) +$calendar = @($null, $null, "Meeting", $null, $null, "Team Lunch", $null) $days = "Sunday","Monday","Tuesday","Wednesday","Thursday", "Friday","Saturday" $currentDay = 0 @@ -285,22 +302,22 @@ profile in commands. For example, you can use it in a command to determine whether a profile has been created: ```powershell -Test-Path $profile +Test-Path $PROFILE ``` Or, you can use it in a command to create a profile: ```powershell -New-Item -ItemType file -Path $pshome -Force +New-Item -ItemType file -Path $PSHOME -Force ``` You can also use it in a command to open the profile in Notepad: -``` +```powershell notepad $profile ``` -### $PSBOUNDPARAMETERS +### $PSBoundParameterValues Contains a dictionary of the parameters that are passed to a script or function and their current values. This variable has a value only in a @@ -322,48 +339,48 @@ function Test { } ``` -### $PSCMDLET +### $PSCmdlet Contains an object that represents the cmdlet or advanced function that is being run. You can use the properties and methods of the object in your cmdlet or function code to respond to the conditions of use. For example, the -ParameterSetName property contains the name of the parameter set that is -being used, and the ShouldProcess method adds the WhatIf and Confirm -parameters to the cmdlet dynamically. +**ParameterSetName** property contains the name of the parameter set that is +being used, and the **ShouldProcess** method adds the **WhatIf** and +**Confirm** parameters to the cmdlet dynamically. -For more information about the $PSCmdlet automatic variable, see +For more information about the `$PSCmdlet` automatic variable, see [about_Functions_Advanced](about_Functions_Advanced.md). -### $PSCOMMANDPATH +### $PSCommandPath Contains the full path and file name of the script that is being run. This variable is valid in all scripts. -### $PSCULTURE +### $PSCulture Contains the name of the culture currently in use in the operating system. The culture determines the display format of items such as numbers, currency, and dates. This is the value of the -System.Globalization.CultureInfo.CurrentCulture.Name property of the -system. To get the System.Globalization.CultureInfo object for the system, -use the Get-Culture cmdlet. +**System.Globalization.CultureInfo.CurrentCulture.Name** property of the +system. To get the **System.Globalization.CultureInfo** object for the system, +use the `Get-Culture` cmdlet. -### $PSDEBUGCONTEXT +### $PSDebugContext While debugging, this variable contains information about the debugging -environment. Otherwise, it contains a NULL value. As a result, you can use -it to indicate whether the debugger has control. When populated, it -contains a PsDebugContext object that has Breakpoints and InvocationInfo -properties. The InvocationInfo property has several useful properties, -including the Location property. The Location property indicates the path -of the script that is being debugged. +environment. Otherwise, it contains a NULL value. As a result, you can use it +to indicate whether the debugger has control. When populated, it contains a +**PsDebugContext** object that has **Breakpoints** and **InvocationInfo** +properties. The **InvocationInfo** property has several useful properties, +including the **Location** property. The **Location** property indicates the +path of the script that is being debugged. ### $PSHOME Contains the full path of the installation directory for PowerShell, -typically, `%windir%\System32\PowerShell\v1.0` in Windows systems. You can +typically, `$env:windir\System32\PowerShell\v1.0` in Windows systems. You can use this variable in the paths of PowerShell files. For example, the following command searches the conceptual Help topics for the word "variable": @@ -374,7 +391,7 @@ Select-String -Pattern Variable -Path $pshome\*.txt ### $PSITEM -Same as $_. Contains the current object in the pipeline object. You can use +Same as `$_`. Contains the current object in the pipeline object. You can use this variable in commands that perform an action on every object or on selected objects in a pipeline. @@ -391,20 +408,20 @@ Contains information about the user who started the PSSession, including the user identity and the time zone of the originating computer. This variable is available only in PSSessions. -The $PSSenderInfo variable includes a user-configurable property, -ApplicationArguments, which, by default, contains only the $PSVersionTable -from the originating session. To add data to the ApplicationArguments -property, use the ApplicationArguments parameter of the New-PSSessionOption -cmdlet. +The `$PSSenderInfo` variable includes a user-configurable property, +**ApplicationArguments**, which, by default, contains only the +`$PSVersionTable` from the originating session. To add data to the +**ApplicationArguments** property, use the **ApplicationArguments** parameter +of the `New-PSSessionOption` cmdlet. ### $PSUICULTURE -Contains the name of the user interface (UI) culture that is currently in -use in the operating system. The UI culture determines which text strings -are used for user interface elements, such as menus and messages. This is -the value of the System.Globalization.CultureInfo.CurrentUICulture.Name -property of the system. To get the System.Globalization.CultureInfo object -for the system, use the Get-UICulture cmdlet. +Contains the name of the user interface (UI) culture that is currently in use +in the operating system. The UI culture determines which text strings are used +for user interface elements, such as menus and messages. This is the value of +the **System.Globalization.CultureInfo.CurrentUICulture.Name** property of the +system. To get the **System.Globalization.CultureInfo** object for the system, +use the `Get-UICulture` cmdlet. ### $PSVERSIONTABLE @@ -434,13 +451,12 @@ following items: ### $PWD -Contains a path object that represents the full path of the current -directory. +Contains a path object that represents the full path of the current directory. ### REPORTERRORSHOW VARIABLES -The "ReportErrorShow" variables are defined in PowerShell, but they are not -implemented. Get-Variable gets them, but they do not contain valid data. +The **ReportErrorShow** variables are defined in PowerShell, but they are not +implemented. `Get-Variable` gets them, but they do not contain valid data. - $REPORTERRORSHOWEXCEPTIONCLASS - $REPORTERRORSHOWINNEREXCEPTION @@ -451,8 +467,8 @@ implemented. Get-Variable gets them, but they do not contain valid data. Contains the object that generated this event. This variable is populated only within the Action block of an event registration command. The value of -this variable can also be found in the Sender property of the PSEventArgs -(System.Management.Automation.PSEventArgs) object that Get-Event returns. +this variable can also be found in the Sender property of the **PSEventArgs** +object that `Get-Event` returns. ### $SHELLID @@ -462,18 +478,370 @@ Contains the identifier of the current shell. Contains a stack trace for the most recent error. +### $SWITCH + +Contains the enumerator (not the resulting values) of a [Switch](about_Switch.md) +statement. The `$Switch` variable exists only while the `switch` statement is +running; it is deleted when the `switch` statement +completes execution. + +Enumerators contain properties and methods you can use to retrieve loop values +and change the current loop iteration. For more information, see +[Using Enumerators](#using-enumerators). + ### $THIS In a script block that defines a script property or script method, the -$This variable refers to the object that is being extended. +`$This` variable refers to the object that is being extended. ### $TRUE Contains TRUE. You can use this variable to represent TRUE in commands and scripts. +## Using Enumerators + +The `$input`, `$foreach`, and `$switch` variables are all enumerators used +to iterate through the values processed by their containing code block. + +An enumerator contains properties and methods you can use to advance or reset +iteration, or retrieve iteration values. Directly manipulating enumerators is not +considered best practice. + +- Within loops, flow control keywords [break](about_Break.md) and [continue](about_Continue.md) + should be preferred. +- Within functions that accepts pipeline input, it is best practice to + use Parameters with the **ValueFromPipeline** or + **ValueFromPipelineByPropertyName** attributes. + + For more information, see [about_Functions_Advanced_Parameters](about_Functions_Advanced_Parameters.md). + +### MoveNext + +The [MoveNext](/dotnet/api/system.collections.ienumerator.movenext) method +advances the enumerator to the next element of the collection. **MoveNext** +returns **True** if the enumerator was successfully advanced, **false** if +the enumerator has passed the end of the collection. + +> [!NOTE] +> The **Boolean** value returned my **MoveNext** is sent to the output stream. +> You can suppress the output by typecasting it to `[void]` or piping it to +> [Out-Null](../Out-Null.md). +> +> ```powershell +> $input.MoveNext() | Out-Null +> ``` +> +> ```powershell +> [void]$input.MoveNext() +> ``` + +### Reset + +The [Reset](/dotnet/api/system.collections.ienumerator.reset) method sets +the enumerator to its initial position, which is **before** the first element +in the collection. + +### Current + +The [Current](/dotnet/api/system.collections.ienumerator.current) property +gets the element in the collection, or pipeline, at the current position of +the enumerator. + +The **Current** property continues to return the same property until +**MoveNext** is called. + +### Examples + +#### Example 1: Using the Input variable + +In the following example, accessing the `$input` variable clears the variable +until the next time the process block executes. Using the **Reset** method +resets the `$input` variable to the current pipeline value. + +```powershell +function Test +{ + begin + { + $i = 0 + } + + process + { + "Iteration: $i" + $i++ + "`tInput: $input" + "`tAccess Again: $input" + $input.Reset() + "`tAfter Reset: $input" + } +} + +"one","two" | Test +``` + +```Output +Iteration: 0 + Input: one + Access Again: + After Reset: one +Iteration: 1 + Input: two + Access Again: + After Reset: two +``` + +The process block automatically advances the `$input` variable even if you +do not access it. + +```powershell +$skip = $true +function Skip +{ + begin + { + $i = 0 + } + + process + { + "Iteration: $i" + $i++ + if ($skip) + { + "`tSkipping" + $skip = $false + } + else + { + "`tInput: $input" + } + } +} + +"one","two" | Skip +``` + +```Output +Iteration: 0 + Skipping +Iteration: 1 + Input: two +``` + +### Example 2: Using $input outside the Process block + +Outside of the process block the `$input` variable represents all the values +piped into the function. + +- Accessing the `$input` variable clears all values. +- The **Reset** method resets the entire collection. +- The **Current** property is never populated. +- The **MoveNext** method returns false because the collection cannot be + advanced. + - Calling **MoveNext** clears out the `$input` variable. + +```powershell +Function All +{ + "All Values: $input" + "Access Again: $input" + $input.Reset() + "After Reset: $input" + $input.MoveNext() | Out-Null + "After MoveNext: $input" +} + +"one","two","three" | All +``` + +```Output +All Values: one two three +Access Again: +After Reset: one two three +After MoveNext: +``` + +### Example 3: Using the $input.Current property + +By using the **Current** property, the current pipeline value can be accessed +multiple times without using the **Reset** method. The Process block does not +automatically call the **MoveNext** method. + +The **Current** property will never be populated unless you explicitly call +**MoveNext**. The **Current** property can be accessed multiple times inside +the process block without clearing its value. + +```powershell +function Current +{ + begin + { + $i = 0 + } + + process + { + "Iteration: $i" + $i++ + "`tBefore MoveNext: $($input.Current)" + $input.MoveNext() | Out-Null + "`tAfter MoveNext: $($input.Current)" + "`tAccess Again: $($input.Current)" + } +} + +"one","two" | Current +``` + +```Output +Iteration: 0 + Before MoveNext: + After MoveNext: one + Access Again: one +Iteration: 1 + Before MoveNext: + After MoveNext: two + Access Again: two +``` + +### Example 4: Using the $foreach variable + +Unlike the `$input` variable, the `$foreach` variable always represents all +items in the collection when accessed directly. Use the **Current** property +to access the current collection element, and the **Reset** and **MoveNext** +methods to change its value. + +> [!NOTE] +> Each iteration of the `foreach` loop will automatically call the **MoveNext** +> method. + +The following loop only executes twice. In the second iteration, the collection +is moved to the 3rd element before the iteration is complete. After the second +iteration, there are now no more values to iterate, and the loop terminates. + +The **MoveNext** property does not affect the variable chosen to iterate through +the collection (`$Num`). + +```powershell +$i = 0 +foreach ($num in ("one","two","three")) +{ + "Iteration: $i" + $i++ + "`tNum: $num" + "`tCurrent: $($foreach.Current)" + + if ($foreach.Current -eq "two") + { + "Before MoveNext (Current): $($foreach.Current)" + $foreach.MoveNext() | Out-Null + "After MoveNext (Current): $($foreach.Current)" + "Num has not changed: $num" + } +} +``` + +```Output +Iteration: 0 + Num: one + Current: one +Iteration: 1 + Num: two + Current: two +Before MoveNext (Current): two +After MoveNext (Current): three +Num has not changed: two +``` + +Using the **Reset** method resets the current element in the collection. The +following example loops through the first two elements **twice** because the +**Reset** method is called. After the first two loops, the `if` statement +fails and the loop iterates through all three elements normally. + +> [!IMPORTANT] +> This could result in an infinite loop. + +```powershell +$stopLoop = 0 +foreach ($num in ("one","two", "three")) +{ + ("`t" * $stopLoop) + "Current: $($foreach.Current)" + + if ($num -eq "two" -and $stopLoop -lt 2) + { + $foreach.Reset() | Out-Null + ("`t" * $stopLoop) + "Reset Loop: $stopLoop" + $stopLoop++ + } +} +``` + +```Output +Current: one +Current: two +Reset Loop: 0 + Current: one + Current: two + Reset Loop: 1 + Current: one + Current: two + Current: three +``` + +### Example 5: Using the $switch variable + +The `$switch` variable has the exact same rules as the `$foreach` variable. +The following example demonstrates all of the enumerator concepts. + +> [!NOTE] +> Note how the **NotEvaluated** case is never executed, even though there is +> no `break` statement after the **MoveNext** method. + +```powershell +$values = "Start", "MoveNext", "NotEvaluated", "Reset", "End" +$stopInfinite = $false +switch ($values) +{ + "MoveNext" { + "`tMoveNext" + $switch.MoveNext() | Out-Null + "`tAfter MoveNext: $($switch.Current)" + } + # This case is never evaluated. + "NotEvaluated" { + "`tAfterMoveNext: $($switch.Current)" + } + + "Reset" { + if (!$stopInfinite) + { + "`tReset" + $switch.Reset() + $stopInfinite = $true + } + } + + default { + "Default (Current): $($switch.Current)" + } +} +``` + +```Output +Default (Current): Start + MoveNext + After MoveNext: NotEvaluated + Reset +Default (Current): Start + MoveNext + After MoveNext: NotEvaluated +Default (Current): End +``` + ## SEE ALSO - [about_Hash_Tables](about_Hash_Tables.md) - [about_Preference_Variables](about_Preference_Variables.md) -- [about_Variables](about_Variables.md) \ No newline at end of file +- [about_Variables](about_Variables.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Precedence.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Precedence.md index 35f00b919c24..6d168be06b00 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Precedence.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Precedence.md @@ -1,5 +1,5 @@ ---- -ms.date: 08/28/2018 +--- +ms.date: 05/20/2019 schema: 2.0.0 keywords: powershell,cmdlet title: about_Command_Precedence @@ -7,7 +7,6 @@ title: about_Command_Precedence # About Command Precedence ## Short description - Describes how PowerShell determines which command to run. ## Long description @@ -20,54 +19,111 @@ command-name conflicts. ## Command precedence -When a PowerShell session includes more than one command that has the -same name, PowerShell determines which command to run by using the -following rules. +When a PowerShell session includes more than one command that has the same +name, PowerShell determines which command to run by using the following rules. + +If you specify the path to a command, PowerShell runs the command at the +location specified by the path. + +For example, the following command runs the FindDocs.ps1 script in the +"C:\\TechDocs" directory: + +``` +C:\TechDocs\FindDocs.ps1 +``` + +As a security feature, PowerShell does not run executable (native) commands, +including PowerShell scripts, unless the command is located in a path that is +listed in the Path environment variable `$env:path` or unless you specify the +path to the script file. + +To run a script that is in the current directory, specify the full path, or +type a dot `.\` to represent the current directory. -- If you specify the path to a command, PowerShell runs the command at the - location specified by the path. +For example, to run the FindDocs.ps1 file in the current directory, type: - For example, the following command runs the FindDocs.ps1 script in the - "C:\\TechDocs" directory: +``` +.\FindDocs.ps1 +``` + +### Using wildcards in execution - ``` - C:\TechDocs\FindDocs.ps1 - ``` +You may use wildcards in command execution. Using wildcard characters is +also known as *globbing*. - As a security feature, PowerShell does not run executable (native) commands, - including PowerShell scripts, unless the command is located in a path that is - listed in the Path environment variable `$env:path` or unless you specify the - path to the script file. +PowerShell executes a file that has a wildcard match, before a literal match. - To run a script that is in the current directory, specify the full path, or - type a dot `.` to represent the current directory. +For example, consider a directory with the following files: + +``` +Get-ChildItem C:\temp\test - For example, to run the FindDocs.ps1 file in the current directory, type: - ``` - .\FindDocs.ps1 - ``` + Directory: C:\temp\test + + +Mode LastWriteTime Length Name +---- ------------- ------ ---- +-a---- 5/20/2019 2:29 PM 28 a.ps1 +-a---- 5/20/2019 2:29 PM 28 [a1].ps1 +``` + +Both script files have the same content: `$MyInvocation.MyCommand.Path`. +This command displays the name of the script that is invoked. -- If you do not specify a path, PowerShell uses the following precedence order - when it runs commands: +When you run `[a1].ps1`, the file `a.ps1` is executed even though the file +`[a1].ps1` is a literal match. + +```powershell +C:\temp\test\[a1].ps1 +``` + +```Output +C:\temp\test\a.ps1 +``` + +Now let's delete the `a.ps1` file and attempt to run it again. + +```powershell +Remove-Item C:\temp\test\a.ps1 +C:\temp\test\[a1].ps1 +``` + +```Output +C:\temp\test\[a1].ps1 +``` + +You can see from the output that `[a1].ps1` runs this time because the literal +match is the only file match for that wildcard pattern. + +For more information about how PowerShell uses wildcards, see [about_Wildcards](about_Wildcards.md). + +> [!NOTE] +> To limit the search to a relative path, you must prefix the script name with +> the `.\` path. This limits the search for commands to files in that relative +> path. Without this prefix, other PowerShell syntax may conflict and there are +> few guarantees that the file will be found. + +If you do not specify a path, PowerShell uses the following precedence order +when it runs commands: 1. Alias 2. Function 3. Cmdlet 4. Native Windows commands - Therefore, if you type "help", PowerShell first looks for an alias named - `help`, then a function named `Help`, and finally a cmdlet named `Help`. It - runs the first `help` item that it finds. +Therefore, if you type "help", PowerShell first looks for an alias named +`help`, then a function named `Help`, and finally a cmdlet named `Help`. It +runs the first `help` item that it finds. - For example, if your session contains a cmdlet and a function, both named - `Get-Map`, when you type `Get-Map`, PowerShell runs the function. +For example, if your session contains a cmdlet and a function, both named +`Get-Map`, when you type `Get-Map`, PowerShell runs the function. - When the session contains items of the same type that have the same name, - PowerShell runs the newer item. +When the session contains items of the same type that have the same name, +PowerShell runs the newer item. - For example, if you import another `Get-Date` cmdlet from a module, when you - type `Get-Date`, PowerShell runs the imported version over the native one. +For example, if you import another `Get-Date` cmdlet from a module, when you +type `Get-Date`, PowerShell runs the imported version over the native one. ## Hidden and replaced items @@ -115,7 +171,7 @@ CommandType Name ModuleName Function Get-Date ``` -The following command uses the **All** parameter to get all "Get-Date" +The following command uses the **All** parameter to get all `Get-Date` commands. ```powershell @@ -140,7 +196,7 @@ commands. Using the module-qualified name of a cmdlet allows you to run commands hidden by an item with the same name. For example, you can run the `Get-Date` cmdlet -by qualifying it with its module name `Microsoft.PowerShell.Utility`. +by qualifying it with its module name **Microsoft.PowerShell.Utility**. Use this preferred method when writing scripts that you intend to distribute. You cannot predict which commands might be present in @@ -236,6 +292,7 @@ name acronym to the nouns in your commands. Also, when you import commands into your session from a PowerShell module or from another session, use the `Prefix` parameter of the [Import-Module](../../Microsoft.PowerShell.Core/Import-Module.md) or + [Import-PSSession](../../Microsoft.PowerShell.Utility/Import-PSSession.md) cmdlet to add a prefix to the nouns in the names of commands. @@ -254,8 +311,8 @@ For more information, see `Import-Module` and `Import-PSSession` below. - [about_Path_Syntax](about_Path_Syntax.md) - [about_Aliases](about_Aliases.md) - [about_Functions](about_Functions.md) -- [Alias-Provider](../../Microsoft.PowerShell.Core/Providers/Alias-Provider.md) -- [Function-Provider](../../Microsoft.PowerShell.Core/Providers/Function-Provider.md) +- [Alias-Provider](../../Microsoft.PowerShell.Core/About/about_Alias_Provider.md) +- [Function-Provider](../../Microsoft.PowerShell.Core/About/about_Function_Provider.md) - [Get-Command](../../Microsoft.PowerShell.Core/Get-Command.md) - [Import-Module](../../Microsoft.PowerShell.Core/Import-Module.md) -- [Import-PSSession](../../Microsoft.PowerShell.Utility/Import-PSSession.md) \ No newline at end of file +- [Import-PSSession](../../Microsoft.PowerShell.Utility/Import-PSSession.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Syntax.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Syntax.md index 4416c054a296..34795ffe9231 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Syntax.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Command_Syntax.md @@ -4,20 +4,21 @@ schema: 2.0.0 keywords: powershell,cmdlet title: about_Command_Syntax --- + # About Command Syntax -# SHORT DESCRIPTION +## SHORT DESCRIPTION -Describes the syntax diagrams that are used in Windows PowerShell. +Describes the syntax diagrams that are used in PowerShell. -# LONG DESCRIPTION +## LONG DESCRIPTION The [Get-Help](../../Microsoft.PowerShell.Core/Get-Help.md) and [Get-Command](../../Microsoft.PowerShell.Core/Get-Command.md) cmdlets display syntax diagrams to help you construct commands correctly. This topic explains how to interpret the syntax diagrams. -# SYNTAX DIAGRAMS +## SYNTAX DIAGRAMS Each paragraph in a command syntax diagram represents a valid form of the command. @@ -25,7 +26,7 @@ command. To construct a command, follow the syntax diagram from left to right. Select from among the optional parameters and provide values for the placeholders. -Windows PowerShell uses the following notation for syntax diagrams. +PowerShell uses the following notation for syntax diagrams. ```powershell - @@ -43,7 +44,7 @@ New-Alias [-Name] [-Value] [-Description ] [-PassThru] [-Scope ] [-Confirm] [-WhatIf] [] ``` -The syntax is capitalized for readability, but Windows PowerShell is +The syntax is capitalized for readability, but PowerShell is case-insensitive. The syntax diagram has the following elements. @@ -62,8 +63,8 @@ For example, the `Get-Help` command has a **Name** parameter that lets you specify the name of the topic for which help is displayed. The topic name is the value of the **Name** parameter. -In a Windows PowerShell command, parameter names always begin with a hyphen. -The hyphen tells Windows PowerShell that the item in the command is a +In a PowerShell command, parameter names always begin with a hyphen. +The hyphen tells PowerShell that the item in the command is a parameter name. For example, to use the Name parameter of `New-Alias`, you type the following: @@ -166,7 +167,7 @@ returns a random number. In each parameter set, the parameters appear in position order. The order of parameters in a command matters only when you omit the optional parameter -names. When parameter names are omitted, Windows PowerShell assigns values to +names. When parameter names are omitted, PowerShell assigns values to parameters by position and type. For more information about parameter position, see `about_Parameters`. @@ -309,7 +310,7 @@ In syntax examples, brackets are also used in naming and casting to .NET Framework types. In this context, brackets do not indicate an element is optional. -# SEE ALSO +## SEE ALSO - [about_Parameters](about_Parameters.md) - [Get-Command](../../Microsoft.PowerShell.Core/Get-Command.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Comment_Based_Help.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Comment_Based_Help.md index 597e9e6b86c6..518db3b4891a 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Comment_Based_Help.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Comment_Based_Help.md @@ -1,4 +1,4 @@ ---- +--- ms.date: 06/09/2017 schema: 2.0.0 keywords: powershell,cmdlet @@ -7,7 +7,6 @@ title: about_Comment_Based_Help # About Comment Based Help ## SHORT DESCRIPTION - Describes how to write comment-based help topics for functions and scripts. ## LONG DESCRIPTION @@ -100,7 +99,7 @@ function Get-Function #> - + # function logic } ``` @@ -109,7 +108,7 @@ or ```powershell function Get-Function { - + # function logic <# . @@ -285,8 +284,8 @@ Redirects to the help topic for the specified command. You can redirect users to any help topic, including help topics for a function, script, cmdlet, or provider. -``` -.FORWARDHELPTARGETNAME +```powershell +# .FORWARDHELPTARGETNAME ``` ### .FORWARDHELPCATEGORY @@ -296,8 +295,8 @@ values are "Alias", "Cmdlet", "HelpFile", "Function", "Provider", "General", "FAQ", "Glossary", "ScriptCommand", "ExternalScript", "Filter", or "All". Use this keyword to avoid conflicts when there are commands with the same name. -``` -.FORWARDHELPCATEGORY +```powershell +# .FORWARDHELPCATEGORY ``` ### .REMOTEHELPRUNSPACE @@ -307,16 +306,16 @@ contains a "PSSession". This keyword is used by the [Export-PSSession](../../Microsoft.PowerShell.Utility/Export-PSSession.md) cmdlet to find the help topics for the exported commands. -``` -.REMOTEHELPRUNSPACE +```powershell +# .REMOTEHELPRUNSPACE ``` ### .EXTERNALHELP Specifies an XML-based help file for the script or function. -``` -.EXTERNALHELP +```powershell +# .EXTERNALHELP ``` The "ExternalHelp" keyword is required when a function or script is documented @@ -470,7 +469,7 @@ The results are as follows: Get-Help -Name "Add-Extension" -Full ``` -``` +```Output NAME Add-Extension @@ -677,7 +676,7 @@ command that gets the script help must specify the script path. Get-Help -Path .\update-month.ps1 -Full ``` -``` +```Output # NAME C:\ps-test\Update-Month.ps1 @@ -762,7 +761,7 @@ Note that the value of the "ExternalHelp" keyword appears on the same line as the keyword. Any other placement is ineffective. ```powershell - .ExternalHelp C:\MyScripts\Update-Month-Help.xml +# .ExternalHelp C:\MyScripts\Update-Month-Help.xml param ([string]$InputPath, [string]$OutPutPath) function Get-Data { } @@ -775,7 +774,7 @@ keyword in a function. ```powershell function Add-Extension { -.ExternalHelp C:\ps-test\Add-Extension.xml +# .ExternalHelp C:\ps-test\Add-Extension.xml param ([string] $name, [string]$extension = "txt") $name = $name + "." + $extension @@ -790,12 +789,12 @@ param ([string] $name, [string]$extension = "txt") $name = $name + "." + $extension $name -.ExternalHelp C:\ps-test\Add-Extension.xml +# .ExternalHelp C:\ps-test\Add-Extension.xml } ``` ```powershell -.ExternalHelp C:\ps-test\Add-Extension.xml +# .ExternalHelp C:\ps-test\Add-Extension.xml function Add-Extension { param ([string] $name, [string]$extension = "txt") @@ -835,14 +834,14 @@ The following command uses this feature: Get-Help -Name help ``` -``` +```Output NAME Get-Help SYNOPSIS -Displays information about Windows PowerShell cmdlets and concepts. +Displays information about PowerShell cmdlets and concepts. ... ``` diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_CommonParameters.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_CommonParameters.md index 4b3090302318..bf2197da8dc5 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_CommonParameters.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_CommonParameters.md @@ -188,7 +188,7 @@ Valid values: - Suspend: Automatically suspends a workflow job after a Write-Information command is carried out, to allow users to see the messages before - continuing. The workflow can be resumed at the user’s discretion. + continuing. The workflow can be resumed at the user's discretion. - SilentlyContinue: No effect. The informational messages are not (Default) displayed, and the script continues without interruption. diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md index ad8049a42e1f..04ee9cac354c 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md @@ -1,5 +1,5 @@ --- -ms.date: 06/09/2017 +ms.date: 01/18/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet @@ -7,11 +7,11 @@ title: about_Comparison_Operators --- # About Comparison Operators -## SHORT DESCRIPTION +## Short description Describes the operators that compare values in PowerShell. -## LONG DESCRIPTION +## Long description Comparison operators let you specify conditions for comparing values and finding values that match specified patterns. To use a comparison operator, @@ -138,7 +138,7 @@ PS> 7, 8, 9 -gt 8 ``` > [!NOTE] -> This should not to be confused with `>`, the greater-than operator in many other programming languages. In PowerShell, `>` is used for redirection. For more information, see [About_redirection](about_Redirection.md#potential-confusion-with-comparison-operators). +> This should not to be confused with `>`, the greater-than operator in many other programming languages. In PowerShell, `>` is used for redirection. For more information, see [About_redirection](about_Redirection.md#potential-confusion-with-comparison-operators). #### -ge @@ -261,25 +261,61 @@ that match. It does not populate the `$Matches` automatic variable. PS> "Sunday", "Monday", "Tuesday" -match "sun" Sunday -PS> $matches +PS> $Matches PS> ``` In contrast, the following command submits a single string to the `-match` operator. The `-match` operator returns a Boolean value and populates the -`$Matches` automatic variable. +`$Matches` automatic variable. The `$Matches` automatic variable is a +**Hashtable**. If no grouping or capturing is used, only one key is populated. +The `0` key represents all text that was matched. For more information about +grouping and capturing using regular expressions, see +[about_Regular_Expressions](about_Regular_Expressions.md). ```powershell PS> "Sunday" -match "sun" True -PS> $matches +PS> $Matches Name Value ---- ----- 0 Sun ``` +It is important to note that the `$Matches` hashtable will only contain the +first occurrence of any matching pattern. + +```powershell +PS> "Banana" -match "na" +True + +PS> $Matches + +Name Value +---- ----- +0 na +``` + +> [!IMPORTANT] +> The `0` key is an **Integer**. You can use any **Hashtable** method to access +> the value stored. +> +> ```powershell +> PS> "Good Dog" -match "Dog" +> True +> +> PS> $Matches[0] +> Dog +> +> PS> $Matches.Item(0) +> Dog +> +> PS> $Matches.0 +> Dog +> ``` + The `-notmatch` operator populates the `$Matches` automatic variable when the input is scalar and the result is False, that it, when it detects a match. @@ -501,7 +537,7 @@ Where The `-replace` operator replaces all or part of a value with the specified value using regular expressions. You can use the `-replace` operator for many administrative tasks, such as renaming files. For example, the following -command changes the file name extensions of all .gif files to .jpg: +command changes the file name extensions of all .txt files to .log: ```powershell Get-ChildItem *.txt | Rename-Item -NewName { $_.name -replace '\.txt$','.log' } @@ -543,57 +579,8 @@ Cook book ``` -#### Substitutions in Regular Expressions - -Additionally, capturing groups can be referenced in the \ string. -This is done by using the `$` character before the group identifier. - -Two of the ways to reference capturing groups is by **Number** and by **Name** - -- By **Number** - - Capturing Groups are numbered from left to right. - - ```powershell - "John D. Smith" -replace "(\w+) (\w+)\. (\w+)", '$1.$2.$3@contoso.com' - ``` - - ```output - John.D.Smith@contoso.com - ``` - -- By **Name** - - Capturing Groups can also be referenced by name. - - ```powershell - "CONTOSO\Administrator" -replace '\w+\\(?\w+)', 'FABRIKAM\${user}' - ``` - - ```output - FABRIKOM\Administrator - ``` - -> [!WARNING] -> Since the `$` character is used in string expansion, you will need to use -> literal strings with substitution, or escape the `$` character. -> ```powershell -> 'Hello World' -replace '(\w+) \w+', "`$1 Universe" -> ``` -> -> ```output -> Hello Universe -> ``` -> -> Additionally, sicne the `$` character is used in substitution, you will need -> to escape any instances in your string. -> -> ```powershell -> '5.72' -replace '(.+)', '$$$1' -> ``` -> ```output -> $5.72 -> ``` - -To learn more see [Substitutions in Regular Expressions](/dotnet/standard/base-types/substitutions-in-regular-expressions) +It is also possible to use capturing groups, and substitutions with the +`-replace` operator. For more information, see [about_Regular_Expressions](about_Regular_Expressions.md). ### Type comparison diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Continue.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Continue.md index 5f55a5db4023..3996b539e3cc 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Continue.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Continue.md @@ -1,5 +1,5 @@ ---- -ms.date: 06/25/2017 +--- +ms.date: 5/9/2019 schema: 2.0.0 keywords: powershell,cmdlet title: about_Continue @@ -22,30 +22,51 @@ statement in a script. For information about labels, see [about_Break](about_Break.md). In the following example, program flow returns to the top of the While loop -if the $ctr variable is equal to 5. As a result, all the numbers between 1 +if the `$ctr` variable is equal to 5. As a result, all the numbers between 1 and 10 are displayed except for 5: ```powershell while ($ctr -lt 10) { $ctr += 1 - if ($ctr -eq 5) {Continue} + if ($ctr -eq 5) + { + Continue + } + Write-Host -Object $ctr } ``` -Note that in a `For` loop, execution continues at the first line in the -loop. If the arguments of the `For` statement test a value that is modified -by the `For` statement, an infinite loop may result. +When using a `For` loop, execution continues at the `` statement, +followed by the `` test. In the example below, an infinite loop +will not occur because the decrement of `$i` occurs after the `Continue` +keyword. + +```powershell +# +for ($i = 0; $i -lt 10; $i++) +{ + Write-Host -Object $i + if ($i -eq 5) + { + continue + # Will not result in an infinite loop. + $i--; + } +} +``` ## SEE ALSO [about_Break](about_Break.md) +[about_For](about_For.md) + [about_Comparison_Operators](about_Comparison_Operators.md) [about_Throw](about_Throw.md) [about_Trap](about_Trap.md) -[about_Try_Catch_Finally](about_Try_Catch_Finally.md) \ No newline at end of file +[about_Try_Catch_Finally](about_Try_Catch_Finally.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Data_Sections.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Data_Sections.md index 8828248661ae..8be7e342f8c3 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Data_Sections.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Data_Sections.md @@ -1,5 +1,5 @@ --- -ms.date: 06/09/2017 +ms.date: 04/23/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet @@ -7,110 +7,80 @@ title: about_Data_Sections --- # About Data Sections -### Short Description - +## Short Description Explains Data sections, which isolate text strings and other read-only data from script logic. -### Long Description +## Long Description -Scripts that are designed for Windows PowerShell can have one or more -Data sections that contain only data. You can include one or more Data -sections in any script, function, or advanced function. The content of -the Data section is restricted to a specified subset of the Windows -PowerShell scripting language. +Scripts that are designed for PowerShell can have one or more Data sections +that contain only data. You can include one or more Data sections in any +script, function, or advanced function. The content of the Data section is +restricted to a specified subset of the PowerShell scripting language. -Separating data from code logic makes it easier to identify and manage -both logic and data. It lets you have separate string resource files for -text, such as error messages and Help strings. It also isolates the code -logic, which facilitates security and validation tests. +Separating data from code logic makes it easier to identify and manage both +logic and data. It lets you have separate string resource files for text, such +as error messages and Help strings. It also isolates the code logic, which +facilitates security and validation tests. -In Windows PowerShell, the Data section is used to support script -internationalization. You can use Data sections to make it easier to -isolate, locate, and process strings that will be translated into many -user interface (UI) languages. +In PowerShell, the Data section is used to support script internationalization. +You can use Data sections to make it easier to isolate, locate, and process +strings that will be translated into many user interface (UI) languages. -The Data section is a Windows PowerShell 2.0 feature. Scripts with Data -sections will not run in Windows PowerShell 1.0 without revision. +The Data section is a PowerShell 2.0 feature. Scripts with Data sections will +not run in PowerShell 1.0 without revision. ### Syntax The syntax for a Data section is as follows: -```powershell -DATA [-supportedCommand ] { +``` +DATA [] [-supportedCommand ] { } ``` -The Data keyword is required. It is not case-sensitive. - -The permitted content is limited to the following elements: - -- All Windows PowerShell operators, except `-match` +The Data keyword is required. It is not case-sensitive. The permitted content +is limited to the following elements: +- All PowerShell operators, except `-match` - `If`, `Else`, and `ElseIf` statements - -- The following automatic variables: `$PsCulture`, `$PsUICulture`, `$True`, -`$False`, and `$Null` - +- The following automatic variables: `$PsCulture`, `$PsUICulture`, `$True`, + `$False`, and `$Null` - Comments - - Pipelines - - Statements separated by semicolons (`;`) - - Literals, such as the following: -```powershell -a -``` - -```powershell -1 -``` - -```powershell -1,2,3 -``` - -```powershell -"Windows PowerShell 2.0" -``` - -```powershell -@( "red", "green", "blue" ) -``` - - -```powershell -@{ a = 0x1; b = "great"; c ="script" } -``` - -```powershell -[XML] @' -

Hello, World

-'@ -``` + ```powershell + a + 1 + 1,2,3 + "PowerShell 2.0" + @( "red", "green", "blue" ) + @{ a = 0x1; b = "great"; c ="script" } + [XML] @' +

Hello, World

+ '@ + ``` - Cmdlets that are permitted in a Data section. By default, only the -`ConvertFrom-StringData` cmdlet is permitted. - -- Cmdlets that you permit in a Data section by using the -`-SupportedCommand` parameter. + `ConvertFrom-StringData` cmdlet is permitted. +- Cmdlets that you permit in a Data section by using the `-SupportedCommand` + parameter. When you use the `ConvertFrom-StringData` cmdlet in a Data section, you can -enclose the key/value pairs in single-quoted or double-quoted strings or in +enclose the key-value pairs in single-quoted or double-quoted strings or in single-quoted or double-quoted here-strings. However, strings that contain -variables and subexpressions must be enclosed in single-quoted strings or -in single-quoted here-strings so that the variables are not expanded and the +variables and subexpressions must be enclosed in single-quoted strings or in +single-quoted here-strings so that the variables are not expanded and the subexpressions are not executable. ### -SupportedCommand The `-SupportedCommand` parameter allows you to indicate that a cmdlet or -function generates only data. It is designed to allow users to include -cmdlets and functions in a data section that they have written or tested. +function generates only data. It is designed to allow users to include cmdlets +and functions in a data section that they have written or tested. The value of `-SupportedCommand` is a comma-separated list of one or more cmdlet or function names. @@ -127,12 +97,12 @@ DATA -supportedCommand Format-Xml ### Using a Data Section -To use the content of a Data section, assign it to a variable and use -variable notation to access the content. +To use the content of a Data section, assign it to a variable and use variable +notation to access the content. For example, the following data section contains a `ConvertFrom-StringData` -command that converts the here-string into a hash table. The hash table -is assigned to the `$TextMsgs` variable. +command that converts the here-string into a hash table. The hash table is +assigned to the `$TextMsgs` variable. The `$TextMsgs` variable is not part of the data section. @@ -145,21 +115,43 @@ Text002 = Windows Server 2008 R2 } ``` -To access the keys and values in hash table in $TextMsgs, use the -following commands. +To access the keys and values in hash table in `$TextMsgs`, use the following +commands. ```powershell $TextMsgs.Text001 $TextMsgs.Text002 ``` +Alternately, you can put the variable name in the definition of the Data section. For example: + +```powershell +DATA TextMsgs { + ConvertFrom-StringData -StringData @' +Text001 = Windows 7 +Text002 = Windows Server 2008 R2 +'@ +} + +$TextMsgs +``` + +The result is the same as the previous example. + +```Output +Name Value +---- ----- +Text001 Windows 7 +Text002 Windows Server 2008 R2 +``` + ### Examples Simple data strings. ```powershell DATA { - "Thank you for using my Windows PowerShell Organize.pst script." + "Thank you for using my PowerShell Organize.pst script." "It is provided free of charge to the community." "I appreciate your comments and feedback." } @@ -175,22 +167,22 @@ DATA { } ``` -A single-quoted here-string that uses the ConvertFrom-StringData cmdlet: +A single-quoted here-string that uses the `ConvertFrom-StringData` cmdlet: ```powershell DATA { - ConvertFrom-StringData -StringData @' + ConvertFrom-StringData -stringdata @' Text001 = Windows 7 Text002 = Windows Server 2008 R2 '@ } ``` -A double-quoted here-string that uses the ConvertFrom-StringData cmdlet: +A double-quoted here-string that uses the `ConvertFrom-StringData` cmdlet: ```powershell DATA { - ConvertFrom-StringData -StringData @" + ConvertFrom-StringData -stringdata @" Msg1 = To start, press any key. Msg2 = To exit, type "quit". "@ @@ -205,7 +197,7 @@ DATA -supportedCommand Format-XML { } ``` -# See Also +## See Also [about_Automatic_Variables](about_Automatic_Variables.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Do.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Do.md index 858bfb241a7a..b0c311ab0a91 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Do.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Do.md @@ -44,7 +44,7 @@ The following shows the syntax of the **Do-Until** statement: do {} until () ``` -The statment list contains one or more statements that run each time the +The statement list contains one or more statements that run each time the loop is entered or repeated. The condition portion of the statement resolves to true or false. diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Provider.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Provider.md new file mode 100644 index 000000000000..7831e6cae545 --- /dev/null +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Provider.md @@ -0,0 +1,214 @@ +--- +ms.date: 10/18/2018 +schema: 2.0.0 +locale: en-us +keywords: powershell,cmdlet +title: Environment Provider +--- +# Environment provider + +## Provider name + +Environment + +## Drives + +`Env:` + +## Capabilities + +**ShouldProcess** + +## Short description + +Provides access to the Windows environment variables. + +## Detailed description + +The PowerShell **Environment** provider lets you get, add, change, clear, and delete environment +variables and values in PowerShell. + +**Environment** variables are dynamically named variables that describe the environment in which your programs run. Windows and PowerShell use environment variables to store persistent information that affect system +and process execution. Unlike PowerShell variables, environment variables are not subject to scope constraints. + +The **Environment** drive is a flat namespace containing the environment variables specific to the current user's session. The environment variables +have no child items. + +The **Environment** provider supports the following cmdlets, which are covered +in this article. + +- [Get-Location](../../Microsoft.PowerShell.Management/Get-Location.md) +- [Set-Location](../../Microsoft.PowerShell.Management/Set-Location.md) +- [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md) +- [New-Item](../../Microsoft.PowerShell.Management/New-Item.md) +- [Remove-Item](../../Microsoft.PowerShell.Management/Remove-Item.md) +- [Clear-Item](../../Microsoft.PowerShell.Management/Clear-Item.md) + +## Types exposed by this provider + +Each environment variable is an instance of the +[System.Collections.DictionaryEntry](/dotnet/api/system.collections.dictionaryentry) +class. The name of the variable is the dictionary key. The value of the +environment variable is the dictionary value. + +## Navigating the Environment drive + +The **Environment** provider exposes its data store in the `Env:` drive. To +work with environment variables, change your location to the `Env:` drive +(`Set-Location Env:`), or work from another PowerShell drive. To reference an +environment variable from another location, use the `Env:` drive name in the +path. + +```powershell +Set-Location Env: +``` + +To return to a file system drive, type the drive name. For example, type: + +```powershell +Set-Location C: +``` + +You can also work with the **Environment** provider from any other PowerShell +drive. To reference an environment variable from another location, use the drive name `Env:` in the path. + +The **Environment** provider also exposes environment variables using a variable +prefix of `$env:`. The following command views the contents of the +**ProgramFiles** environment variable. The `$env:` variable prefix can +be used from any PowerShell drive. + +``` +PS C:\> $env:ProgramFiles +C:\Program Files +``` + +You can also change the value of an environment variable using the `$env:` +variable prefix. Any changes made only pertain to the current PowerShell +session for as long as it is active. + +> [!NOTE] +> PowerShell uses aliases to allow you a familiar way to work with provider +> paths. Commands such as `dir` and `ls` are now aliases for +> [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md), +> `cd` is an alias for [Set-Location](../../Microsoft.PowerShell.Management/Set-Location.md). and `pwd` is +> an alias for [Get-Location](../../Microsoft.PowerShell.Management/Get-Location.md). + +## Getting environment variables + +This command lists all the environment variables in the current session. + +```powershell +Get-Item -Path Env: +``` + +You can use this command from any PowerShell drive. + +The Environment provider has no containers, so the above command has the +same effect when used with `Get-ChildItem`. + +```powershell +Get-ChildItem -Path Env: +``` + +### Get a selected environment variable + +This command gets the `WINDIR` environment Variable. + +```powershell +Get-ChildItem -Path Env:windir +``` + +You can also use the variable prefix format as well. + +```powershell +$env:windir +``` + +## Create an environment variable + +This command creates the `USERMODE` environment variable with a value of +"Non-Admin". The `-Path` parameter value creates the new item in the `Env:` +drive. The new environment variable is only usable in the current PowerShell +session for as long as it is active. + +```powershell +PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin +``` + +## Changing an environment variable + +### Rename an environment variable + +This command uses the `Rename-Item` cmdlet to change the name of the `USERMODE` +environment variable that you created to `USERROLE`. Do not change the name of +an environment variable that the system uses. Although these changes affect +only the current session, they might cause the system or a program to operate +incorrectly. + +```powershell +Rename-Item -Path Env:USERMODE -NewName USERROLE +``` + +### Change an environment variable + +This command uses the `Set-Item` cmdlet to change the value of the `USERROLE` +environment variable to "Administrator". + +```powershell +Set-Item -Path Env:USERROLE -Value Administrator +``` + +## Copy an environment variable + +This command copies the value of the `USERROLE` environment variable to the +`USERROLE2` environment Variable. + +```powershell +Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2 +``` + +## Remove an environment variable + +This command deletes the `USERROLE2` environment variable from the current +session. + +```powershell +Remove-Item -Path Env:USERROLE2 +``` + +## Remove an environment variable with Clear-Item + +This command deletes the `USERROLE` environment variable by clearing its +value. + +```powershell +Clear-Item -Path Env:USERROLE +``` + +## Using the pipeline + +Provider cmdlets accept pipeline input. You can use the pipeline to simplify +task by sending provider data from one cmdlet to another provider cmdlet. +To read more about how to use the pipeline with provider cmdlets, see the +cmdlet references provided throughout this article. + +## Getting help + +Beginning in Windows PowerShell 3.0, you can get customized help topics for +provider cmdlets that explain how those cmdlets behave in a file system drive. + +To get the help topics that are customized for the file system drive, run a +[Get-Help](../Get-Help.md) command in a file system drive or use the `-Path` +parameter of [Get-Help](../Get-Help.md) to specify a file system drive. + +```powershell +Get-Help Get-ChildItem +``` + +```powershell +Get-Help Get-ChildItem -Path env: +``` + +## See also + +[about_Providers](../About/about_Providers.md) \ No newline at end of file diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Variables.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Variables.md index cedb91b2524d..742f07f39fc3 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Variables.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Environment_Variables.md @@ -25,21 +25,21 @@ location of the Windows installation directory. Programs can query the value of this variable to determine where Windows operating system files are located. -Windows PowerShell lets you view and change Windows environment variables, +PowerShell lets you view and change Windows environment variables, including the variables set in the registry, and those set for a particular -session. The Windows PowerShell environment provider simplifies this process +session. The PowerShell environment provider simplifies this process by making it easy to view and change the environment variables. -Unlike other types of variables in Windows PowerShell, environment variables +Unlike other types of variables in PowerShell, environment variables and their values are inherited by child sessions, such as local background jobs and the sessions in which module members run. This makes environment variables well suited to storing values that are needed in both parent and child sessions. -### Windows PowerShell Environment Provider +### PowerShell Environment Provider -The Windows PowerShell environment provider lets you access Windows -environment variables in Windows PowerShell in a Windows PowerShell drive (the +The PowerShell environment provider lets you access Windows +environment variables in PowerShell in a PowerShell drive (the Env: drive). This drive looks much like a file system drive. To go to the Env: drive, type: @@ -54,24 +54,24 @@ Get-ChildItem ``` You can view the environment variables in the Env: drive from any other -Windows PowerShell drive, and you can go into the Env: drive to view and +PowerShell drive, and you can go into the Env: drive to view and change the environment variables. ### Environment Variable Objects -In Windows PowerShell, each environment variable is represented by an object +In PowerShell, each environment variable is represented by an object that is an instance of the System.Collections.DictionaryEntry class. In each DictionaryEntry object, the name of the environment variable is the dictionary key. The value of the variable is the dictionary value. -To display an environment variable in Windows PowerShell, get an object that +To display an environment variable in PowerShell, get an object that represents the variable, and then display the values of the object properties. -When you change an environment variable in Windows PowerShell, use the methods +When you change an environment variable in PowerShell, use the methods that are associated with the DictionaryEntry object. To display the properties and methods of the object that represents an -environment variable in Windows PowerShell, use the Get-Member cmdlet. For +environment variable in PowerShell, use the Get-Member cmdlet. For example, to display the methods and properties of all the objects in the Env: drive, type: @@ -100,10 +100,10 @@ To display the values of all the environment variables, type: Get-ChildItem Env: ``` -By default, Windows PowerShell displays the environment variables in the order +By default, PowerShell displays the environment variables in the order in which it retrieves them. To sort the list of environment variables by variable name, pipe the output of a Get-ChildItem command to the Sort-Object -cmdlet. For example, from any Windows PowerShell drive, type: +cmdlet. For example, from any PowerShell drive, type: ```powershell Get-ChildItem Env: | Sort Name @@ -130,7 +130,7 @@ Get-ChildItem ComputerName ``` You can also display and change the values of environment variables without -using a cmdlet by using the expression parser in Windows PowerShell. To +using a cmdlet by using the expression parser in PowerShell. To display the value of an environment variable, use the following syntax: ```powershell @@ -138,7 +138,7 @@ $Env: ``` For example, to display the value of the WINDIR environment variable, type the -following command at the Windows PowerShell command prompt: +following command at the PowerShell command prompt: ```powershell $Env:windir @@ -153,14 +153,14 @@ To make a persistent change to an environment variable, use System in Control Panel (Advanced tab or the Advanced System Settings item) to store the change in the registry. -When you change environment variables in Windows PowerShell, the change +When you change environment variables in PowerShell, the change affects only the current session. This behavior resembles the behavior of the Set command in Windows-based environments and the Setenv command in UNIX-based environments. You must also have permission to change the values of the variables. If you try to change a value without sufficient permission, the command fails, and -Windows PowerShell displays an error. +PowerShell displays an error. You can change the values of variables without using a cmdlet by using the following syntax: @@ -191,10 +191,10 @@ interpreted as a unit. ### Saving Changes to Environment Variables To create or change the value of an environment variable in every Windows -PowerShell session, add the change to your Windows PowerShell profile. +PowerShell session, add the change to your PowerShell profile. For example, to add the C:\\Temp directory to the Path environment variable in -every Windows PowerShell session, add the following command to your Windows +every PowerShell session, add the following command to your Windows PowerShell profile. ```powershell @@ -211,7 +211,7 @@ $Env:Path + ";C:\Temp"' ### Environment Variables That Store Preferences -Windows PowerShell features can use environment variables to store user +PowerShell features can use environment variables to store user preferences. These variables work like preference variables, but they are inherited by child sessions of the sessions in which they are created. For more information about preference variables, see @@ -236,7 +236,7 @@ The environment variables that store preferences include: - PSModulePath - Stores the paths to the default module directories. Windows PowerShell looks + Stores the paths to the default module directories. PowerShell looks for modules in the specified directories when you do not specify a full path to a module. @@ -246,9 +246,9 @@ The environment variables that store preferences include: $HOME\Documents\WindowsPowerShell\Modules; $PSHOME\Modules ``` -Windows PowerShell sets the value of "\$PSHOME\\Modules" in the registry. It +PowerShell sets the value of "\$PSHOME\\Modules" in the registry. It sets the value of "\$HOME\\Documents\\WindowsPowerShell\\Modules" each time you -start Windows PowerShell. +start PowerShell. In addition, setup programs that install modules in other directories, such as the Program Files directory, can append their locations to the value of @@ -269,7 +269,7 @@ The semi-colon (;) in the command separates the new path from the path that precedes it in the list. To change the value of PSModulePath in every session, add the previous command -to your Windows PowerShell profile or use the SetEnvironmentVariable method of +to your PowerShell profile or use the SetEnvironmentVariable method of the Environment class. The following command uses the GetEnvironmentVariable method to get the @@ -293,7 +293,7 @@ $path = [System.Environment]::GetEnvironmentVariable("PSModulePath", ``` For more information about the methods of the System.Environment class, see -[Environment Methods](https://go.microsoft.com/fwlink/?LinkId=242783) in +[Environment Methods](/dotnet/api/system.environment) in MSDN. You can add also add a command that changes the value to your profile or use @@ -304,5 +304,5 @@ For more information, see [about_Modules](about_Modules.md). ## SEE ALSO -- [Environment (provider)](../Providers/Environment-Provider.md) +- [Environment (provider)](../About/about_Environment_Provider.md) - [about_Modules](about_Modules.md) \ No newline at end of file diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Eventlogs.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Eventlogs.md index 40917a15d595..e627fffdc4bc 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Eventlogs.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Eventlogs.md @@ -64,7 +64,7 @@ Get-EventLog -List ``` You can also use the `Get-WmiObject` cmdlet to use the event-related Windows -Management Instumentation (WMI) classes to examine the event log. For example, +Management Instrumentation (WMI) classes to examine the event log. For example, to view all the properties of the event log file, type: ```powershell diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Execution_Policies.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Execution_Policies.md index 99b79446a7f8..fb3ac44995d4 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Execution_Policies.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Execution_Policies.md @@ -1,175 +1,155 @@ --- -ms.date: 06/09/2017 +ms.date: 04/01/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet title: about_Execution_Policies --- + # About Execution Policies ## Short Description -Describes the Windows PowerShell execution policies and explains -how to manage them. +Describes the PowerShell execution policies and explains how to manage them. ## Long Description -Windows PowerShell execution policies let you determine the -conditions under which Windows PowerShell loads configuration files -and runs scripts. - -You can set an execution policy for the local computer, for the current -user, or for a particular session. You can also use a Group Policy -setting to set execution policy for computers and users. - -Execution policies for the local computer and current user are stored -in the registry. You do not need to set execution policies in your -Windows PowerShell profile. The execution policy for a particular session -is stored only in memory and is lost when the session is closed. - -The execution policy is not a security system that restricts user actions. -For example, users can easily circumvent a policy by typing the script -contents at the command line when they cannot run a script. Instead, the -execution policy helps users to set basic rules and prevents them from -violating them unintentionally. - -## Windows PowerShell Execution Policies +PowerShell's execution policy is a safety feature that controls the conditions +under which PowerShell loads configuration files and runs scripts. This feature +helps prevent the the execution of malicious scripts. -The Windows PowerShell execution policies are as follows: +On a Windows computer you can set an execution policy for the local computer, +for the current user, or for a particular session. You can also use a Group +Policy setting to set execution policies for computers and users. -"Restricted" is the default policy. +Execution policies for the local computer and current user are stored in the +registry. You don't need to set execution policies in your PowerShell profile. +The execution policy for a particular session is stored only in memory and is +lost when the session is closed. -### Restricted - -- Default execution policy in Windows 8, -Windows Server 2012, and Windows 8.1. +The execution policy isn't a security system that restricts user actions. For +example, users can easily bypass a policy by typing the script contents at +the command line when they cannot run a script. Instead, the execution policy +helps users to set basic rules and prevents them from violating them +unintentionally. -- Permits individual commands, but will not run -scripts. +## PowerShell Execution Policies -- Prevents running of all script files, including -formatting and configuration files (.ps1xml), module -script files (.psm1), and Windows PowerShell -profiles (.ps1). +The PowerShell execution policies are as follows: ### AllSigned - Scripts can run. +- Requires that all scripts and configuration files be signed by a trusted + publisher, including scripts that you write on the local computer. +- Prompts you before running scripts from publishers that you haven't yet + classified as trusted or untrusted. +- Risks running signed, but malicious, scripts. -- Requires that all scripts and configuration files -be signed by a trusted publisher, including scripts -that you write on the local computer. +### Bypass -- Prompts you before running scripts from publishers -that you have not yet classified as trusted or -untrusted. +- Nothing is blocked and there are no warnings or prompts. +- This execution policy is designed for configurations in which a PowerShell + script is built in to a larger application or for configurations in which + PowerShell is the foundation for a program that has its own security model. -- Risks running signed, but malicious, scripts. +### Default + +- Sets the default execution policy. +- **Restricted** for Windows clients. +- **RemoteSigned** for Windows servers. ### RemoteSigned -- Scripts can run. This is the default execution -policy in Windows Server 2012 R2. +- The default execution policy for Windows server computers. +- Scripts can run. +- Requires a digital signature from a trusted publisher on scripts and + configuration files that are downloaded from the internet which includes + email and instant messaging programs. +- Doesn't require digital signatures on scripts that are written on the local + computer and not downloaded from the internet. +- Runs scripts that are downloaded from the internet and not signed, if the + scripts are unblocked, such as by using the `Unblock-File` cmdlet. +- Risks running unsigned scripts from sources other than the internet and + signed, but malicious, scripts. -- Requires a digital signature from a trusted -publisher on scripts and configuration files that -are downloaded from the Internet (including -e-mail and instant messaging programs). +### Restricted -- Does not require digital signatures on scripts that -you have written on the local computer (not -downloaded from the Internet). +- The default execution policy for Windows client computers. +- Permits individual commands, but will not run scripts. +- Prevents running of all script files, including formatting and configuration + files (`.ps1xml`), module script files (`.psm1`), and PowerShell profiles + (`.ps1`). -- Runs scripts that are downloaded from the Internet -and not signed, if the scripts are unblocked, such -as by using the Unblock-File cmdlet. +### Undefined -- Risks running unsigned scripts from sources other -than the Internet and signed, but malicious, scripts. +- There is no execution policy set in the current scope. +- If the execution policy in all scopes is **Undefined**, the effective + execution policy is **Restricted**, which is the default execution policy. ### Unrestricted -- Unsigned scripts can run. (This risks running malicious -scripts.) +- Unsigned scripts can run. There is a risk of running malicious scripts. +- Warns the user before running scripts and configuration files that are + downloaded from the internet. -- Warns the user before running scripts and configuration -files that are downloaded from the Internet. +> [!NOTE] +> On systems that do not distinguish Universal Naming Convention (UNC) paths +> from internet paths, scripts that are identified by a UNC path might not be +> permitted to run with the **RemoteSigned** execution policy. -### Bypass +## Execution Policy Scope -- Nothing is blocked and there are no warnings or -prompts. +You can set an execution policy that is effective only in a particular scope. -- This execution policy is designed for configurations -in which a Windows PowerShell script is built in to a -a larger application or for configurations in which -Windows PowerShell is the foundation for a program -that has its own security model. +The valid values for **Scope** are **MachinePolicy**, **UserPolicy**, +**Process**, **CurrentUser**, and **LocalMachine**. **LocalMachine** is the +default when setting an execution policy. -### Undefined - -- There is no execution policy set in the current scope. +The **Scope** values are listed in precedence order. The policy that takes +precedence is effective in the current session, even if a more restrictive +policy was set at a lower level of precedence. -- If the execution policy in all scopes is Undefined, the -effective execution policy is Restricted, which is the -default execution policy. +For more information, see [Set-ExecutionPolicy](../../Microsoft.PowerShell.Security/Set-ExecutionPolicy.md). -Note: On systems that do not distinguish Universal Naming Convention (UNC) -paths from Internet paths, scripts that are identified by a UNC path -might not be permitted to run with the RemoteSigned execution policy. +### MachinePolicy -## Execution Policy Scope +Set by a Group Policy for all users of the computer. -You can set an execution policy that is effective only in a -particular scope. +### UserPolicy -The valid values for Scope are Process, CurrentUser, and -LocalMachine. LocalMachine is the default when setting an -execution policy. - -The Scope values are listed in precedence order. +Set by a Group Policy for the current user of the computer. ### Process -The execution policy affects only the current session -(the current Windows PowerShell process). - -The execution policy is stored in the -$env:PSExecutionPolicyPreference environment variable, -not in the registry, and it is deleted when the -session is closed. You cannot change the policy by -editing the variable value. +The **Process** scope only affects the current PowerShell session. The +execution policy is saved in the environment variable +`$env:PSExecutionPolicyPreference`, rather than the registry. When the +PowerShell session is closed, the variable and value are deleted. ### CurrentUser -The execution policy affects only the current user. It -is stored in the HKEY_CURRENT_USER registry subkey. +The execution policy affects only the current user. It's stored in the +**HKEY_CURRENT_USER** registry subkey. ### LocalMachine -The execution policy affects all users on the current -computer. It is stored in the HKEY_LOCAL_MACHINE -registry subkey. - -The policy that takes precedence is effective in the current -session, even if a more restrictive policy was set at a lower -level of precedence. - -For more information, see [Set-ExecutionPolicy](../../Microsoft.PowerShell.Security/Set-ExecutionPolicy.md). +The execution policy affects all users on the current computer. It's stored in +the **HKEY_LOCAL_MACHINE** registry subkey. ## Get Your Execution Policy -To get the Windows PowerShell execution policy that is in -effect in the current session, use the `Get-ExecutionPolicy` cmdlet. +To get the effective execution policy for the current PowerShell session, use +the `Get-ExecutionPolicy` cmdlet. -The following command gets the current execution policy: +The following command gets the effective execution policy: ```powershell Get-ExecutionPolicy ``` -To get all of the execution policies that affect the current -session and displays them in precedence order, type: +To get all of the execution policies that affect the current session and +display them in precedence order: ```powershell Get-ExecutionPolicy -List @@ -177,7 +157,7 @@ Get-ExecutionPolicy -List The result will look similar to the following sample output: -``` +```Output Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined @@ -187,15 +167,15 @@ MachinePolicy Undefined LocalMachine AllSigned ``` -In this case, the effective execution policy is RemoteSigned -because the execution policy for the current user takes precedence -over the execution policy set for the local computer. +In this case, the effective execution policy is **RemoteSigned** because the +execution policy for the current user takes precedence over the execution +policy set for the local computer. -To get the execution policy set for a particular scope, use the -**Scope** parameter of `Get-ExecutionPolicy`. +To get the execution policy set for a particular scope, use the **Scope** +parameter of `Get-ExecutionPolicy`. -For example, the following command gets the execution policy for -the current user scope. +For example, the following command gets the execution policy for the +**CurrentUser** scope: ```powershell Get-ExecutionPolicy -Scope CurrentUser @@ -203,26 +183,24 @@ Get-ExecutionPolicy -Scope CurrentUser ## Change Your Execution Policy -To change the Windows PowerShell execution policy on your -computer, use the `Set-ExecutionPolicy` cmdlet. - -The change is effective immediately; you do not need to restart -Windows PowerShell. +To change the PowerShell execution policy on your Windows computer, use the +`Set-ExecutionPolicy` cmdlet. The change is effective immediately. You don't +need to restart PowerShell. -If you set the execution policy for the local computer (the default) -or the current user, the change is saved in the registry and remains -effective until you change it again. +If you set the execution policy for the scopes **LocalMachine** or the +**CurrentUser**, the change is saved in the registry and remains effective +until you change it again. -If you set the execution policy for the current process, it is -not saved in the registry. It is retained until the current -process and any child processes are closed. +If you set the execution policy for the **Process** scope, it's not saved in +the registry. The execution policy is retained until the current process and +any child processes are closed. -Note: In Windows Vista and later versions of Windows, to run -commands that change the execution policy for the local -computer (the default), start Windows PowerShell with the -"Run as administrator" option. +> [!NOTE] +> In Windows Vista and later versions of Windows, to run commands that +> change the execution policy for the local computer, **LocalMachine** scope, +> start PowerShell with the **Run as administrator** option. -To change your execution policy, type: +To change your execution policy: ```powershell Set-ExecutionPolicy -ExecutionPolicy @@ -234,7 +212,7 @@ For example: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ``` -To set the execution policy in a particular scope, type: +To set the execution policy in a particular scope: ```powershell Set-ExecutionPolicy -ExecutionPolicy -Scope @@ -243,46 +221,45 @@ Set-ExecutionPolicy -ExecutionPolicy -Scope For example: ```powershell -Set-ExecutionPolicy RemoteSigned -Scope CurrentUser +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ``` -A command to change an execution policy can succeed but -still not change the effective execution policy. +A command to change an execution policy can succeed but still not change the +effective execution policy. -For example, a command that sets the execution policy for -the local computer can succeed but be overridden by the -execution policy for the current user. +For example, a command that sets the execution policy for the local computer +can succeed but be overridden by the execution policy for the current user. ## Remove Your Execution Policy -To remove the execution policy for a particular scope, set -the value of the value of the execution policy to Undefined. +To remove the execution policy for a particular scope, set the execution policy +to **Undefined**. -For example, to remove the execution policy for all the users of -the local computer, type: +For example, to remove the execution policy for all the users of the local +computer: ```powershell -Set-ExecutionPolicy Undefined +Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine ``` -Or, type: +To remove the execution policy for a **Scope**: ```powershell -Set-ExecutionPolicy Undefined -Scope LocalMachine +Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser ``` -If no execution policy is set in any scope, the effective -execution policy is Restricted, which is the default. +If no execution policy is set in any scope, the effective execution policy is +**Restricted**, which is the default for Windows clients. ## Set a Different Execution Policy for One Session -You can use the **ExecutionPolicy** parameter of powershell.exe to -set an execution policy for a new Windows PowerShell session. -The policy affects only the current session and child sessions. +You can use the **ExecutionPolicy** parameter of **powershell.exe** to set an +execution policy for a new PowerShell session. The policy affects only the +current session and child sessions. -To set the execution policy for a new session, start Windows PowerShell -at the command line (such as Cmd.exe or Windows PowerShell), and then use -the **ExecutionPolicy** parameter of powershell.exe to set the execution +To set the execution policy for a new session, start PowerShell at the command +line, such as **cmd.exe** or from PowerShell, and then use the +**ExecutionPolicy** parameter of **powershell.exe** to set the execution policy. For example: @@ -291,104 +268,99 @@ For example: powershell.exe -ExecutionPolicy AllSigned ``` -The execution policy that you set is not stored in the registry. -Instead, it is stored in the $env:PSExecutionPolicyPreference -environment variable. The variable is deleted when you close -the session in which the policy is set. You cannot change the -policy by editing the variable value. +The execution policy that you set isn't stored in the registry. Instead, it's +stored in the `$env:PSExecutionPolicyPreference` environment variable. The +variable is deleted when you close the session in which the policy is set. You +cannot change the policy by editing the variable value. During the session, the execution policy that is set for the session takes -precedence over an execution policy that is set in the registry for the -local computer or current user. However, it does not take precedence over -the execution policy set by using a Group Policy setting (discussed below). +precedence over an execution policy that is set in the registry for the local +computer or current user. However, it doesn't take precedence over the +execution policy set by using a Group Policy. ## Use Group Policy to Manage Execution Policy -You can use the "Turn on Script Execution" Group Policy setting -to manage the execution policy of computers in your enterprise. -The Group Policy setting overrides the execution policies set in Windows -PowerShell in all scopes. +You can use the **Turn on Script Execution** Group Policy setting to manage the +execution policy of computers in your enterprise. The Group Policy setting +overrides the execution policies set in PowerShell in all scopes. -The "Turn on Script Execution" policy settings are as follows: +The **Turn on Script Execution** policy settings are as follows: -- If you disable "Turn on Script Execution", scripts do not run. -This is equivalent to the "Restricted" execution policy. +- If you disable **Turn on Script Execution**, scripts do not run. This is + equivalent to the **Restricted** execution policy. +- If you enable **Turn on Script Execution**, you can select an execution + policy. The Group Policy settings are equivalent to the following execution + policy settings: -- If you enable "Turn on Script Execution", you can select an -execution policy. The Group Policy settings are equivalent to -the following execution policy settings. + | Group Policy | Execution Policy | + | ---------------------------------------------- | ---------------- | + | Allow all scripts. | Unrestricted | + | Allow local scripts and remote signed scripts. | RemoteSigned | + | Allow only signed scripts. | AllSigned | -| Group Policy | Execution Policy | -| ---------------------------------------------- | ---------------- | -| Allow all scripts. | Unrestricted | -| Allow local scripts and remote signed scripts. | RemoteSigned | -| Allow only signed scripts. | AllSigned | +- If **Turn on Script Execution** is not configured, it has no effect. The + execution policy set in PowerShell is effective. -- If "Turn on Script Execution" is not configured, it has no -effect. The execution policy set in Windows PowerShell is -effective. - -The PowerShellExecutionPolicy.adm and PowerShellExecutionPolicy.admx -files add the "Turn on Script Execution" policy to the Computer -Configuration and User Configuration nodes in Group Policy Editor in -the following paths. +The PowerShellExecutionPolicy.adm and PowerShellExecutionPolicy.admx files add +the **Turn on Script Execution** policy to the Computer Configuration and User +Configuration nodes in Group Policy Editor in the following paths. For Windows XP and Windows Server 2003: + Administrative Templates\Windows Components\Windows PowerShell For Windows Vista and later versions of Windows: + Administrative Templates\Classic Administrative Templates\ Windows Components\Windows PowerShell -Policies set in the Computer Configuration node take precedence -over policies set in the User Configuration node. +Policies set in the Computer Configuration node take precedence over policies +set in the User Configuration node. For more information, see [about_Group_Policy_Settings](about_Group_Policy_Settings.md). ## Execution Policy Precedence -When determining the effective execution policy for a -session, Windows PowerShell evaluates the execution policies -in the following precedence order: +When determining the effective execution policy for a session, PowerShell +evaluates the execution policies in the following precedence order: -- Group Policy: Computer Configuration -- Group Policy: User Configuration +- Group Policy: MachinePolicy +- Group Policy: UserPolicy - Execution Policy: Process (or `powershell.exe -ExecutionPolicy`) - Execution Policy: CurrentUser - Execution Policy: LocalMachine ## Manage Signed and Unsigned Scripts -If your Windows PowerShell execution policy is RemoteSigned, -Windows PowerShell will not run unsigned scripts that are -downloaded from the Internet (including e-mail and instant -messaging programs). +If your PowerShell execution policy is **RemoteSigned**, PowerShell won't run +unsigned scripts that are downloaded from the internet which includes email and +instant messaging programs. -You can sign the script or elect to run an unsigned script -without changing the execution policy. +You can sign the script or elect to run an unsigned script without changing the +execution policy. -Beginning in Windows PowerShell 3.0, you can use the **Stream** -parameter of the `Get-Item` cmdlet to detect files that are -blocked because they were downloaded from the Internet, and -you can use the `Unblock-File` cmdlet to unblock the scripts -so that you can run them in Windows PowerShell. +Beginning in PowerShell 3.0, you can use the **Stream** parameter of the +`Get-Item` cmdlet to detect files that are blocked because they were downloaded +from the internet. Use the `Unblock-File` cmdlet to unblock the scripts so that +you can run them in PowerShell. -For more information, see [about_Signing](about_Signing.md), -[Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md), and -[Unblock-File](../../Microsoft.PowerShell.Utility/Unblock-File.md). +For more information, see [about_Signing](about_Signing.md), [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md), +and [Unblock-File](../../Microsoft.PowerShell.Utility/Unblock-File.md). ## See Also [about_Environment_Variables](about_Environment_Variables.md) +[about_Group_Policy_Settings](about_Group_Policy_Settings.md) + [about_Signing](about_Signing.md) [Get-ExecutionPolicy](../../Microsoft.PowerShell.Security/Get-ExecutionPolicy.md) -[Set-ExecutionPolicy](../../Microsoft.PowerShell.Security/Set-ExecutionPolicy.md) - [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md) -[Unblock-File](../../Microsoft.PowerShell.Utility/Unblock-File.md) +[PowerShell.exe Command-Line Help](/powershell/scripting/components/console/powershell.exe-command-line-help) + +[Set-ExecutionPolicy](../../Microsoft.PowerShell.Security/Set-ExecutionPolicy.md) -[PowerShell.exe Console Help](http://go.microsoft.com/fwlink/?LinkID=113439) \ No newline at end of file +[Unblock-File](../../Microsoft.PowerShell.Utility/Unblock-File.md) \ No newline at end of file diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_FileSystem_Provider.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_FileSystem_Provider.md new file mode 100644 index 000000000000..3757a9e3f23e --- /dev/null +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_FileSystem_Provider.md @@ -0,0 +1,664 @@ +--- +ms.date: 10/18/2018 +schema: 2.0.0 +locale: en-us +keywords: powershell,cmdlet +title: FileSystem Provider +--- +# FileSystem provider + +## Provider name + +FileSystem + +## Drives + +`C:`, `D:` ... + +## Capabilities + +**Filter**, **ShouldProcess** + +## Short description + +Provides access to files and directories. + +## Detailed description + +The PowerShell **FileSystem** provider lets you get, add, change, clear, and +delete files and directories in PowerShell. + +The **FileSystem** drives are a hierarchical namespace containing the +directories and files on your computer. A **FileSystem** drive can be a logical +or phsyical drive, directory, or mapped network share. + +The **FileSystem** provider supports the following cmdlets, which are covered +in this article. + +- [Get-Location](../../Microsoft.PowerShell.Management/Get-Location.md) +- [Set-Location](../../Microsoft.PowerShell.Management/Set-Location.md) +- [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md) +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) +- [Invoke-Item](../../Microsoft.PowerShell.Management/Invoke-Item.md) +- [Move-Item](../../Microsoft.PowerShell.Management/Move-Item.md) +- [New-Item](../../Microsoft.PowerShell.Management/New-Item.md) +- [Remove-Item](../../Microsoft.PowerShell.Management/Remove-Item.md) +- [Get-ItemProperty](../../Microsoft.PowerShell.Management/Get-ItemProperty.md) +- [Set-ItemProperty](../../Microsoft.PowerShell.Management/Set-ItemProperty.md) +- [Clear-Item](../../Microsoft.PowerShell.Management/Clear-Item.md) +- [Clear-ItemProperty](../../Microsoft.PowerShell.Management/Clear-ItemProperty.md) +- [Remove-Item](../../Microsoft.PowerShell.Management/Remove-Item.md) +- [Remove-ItemProperty](../../Microsoft.PowerShell.Management/Remove-ItemProperty.md) +- [Get-Acl](../../Microsoft.PowerShell.Security/Get-Acl.md) +- [Set-Acl](../../Microsoft.PowerShell.Security/Set-Acl.md) +- [Get-AuthenticodeSignature](../../Microsoft.PowerShell.Security/Get-AuthenticodeSignature.md) +- [Set-AuthenticodeSignature](../../Microsoft.PowerShell.Security/Set-AuthenticodeSignature.md) + +## Types exposed by this provider + +Files are instances of the [System.IO.FileInfo](/dotnet/api/system.io.fileinfo) class. Directories are +instances of the [System.IO.DirectoryInfo](/dotnet/api/system.io.directoryinfo) class. + +## Navigating the FileSystem drives + +The **FileSystem** provider exposes its data stores by mapping any logical +drives on the computer as PowerShell drives. To work with a **FileSystem** +drive you can change your location to a drive uing the drive name followed +by a colon (`:`). + +```powershell +Set-Location C: +``` + +You can also work with the **FileSystem** provider from any other PowerShell +drive. To reference a file or directory from another location, use the drive name (`C:`, `D:`, ...) in the path. + +> [!NOTE] +> PowerShell uses aliases to allow you a familiar way to work with provider +> paths. Commands such as `dir` and `ls` are now aliases for +> [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md), +> `cd` is an alias for [Set-Location](../../Microsoft.PowerShell.Management/Set-Location.md). and `pwd` is +> an alias for [Get-Location](../../Microsoft.PowerShell.Management/Get-Location.md). + +## Getting files and directories + +The `Get-ChildItem` cmdlet returns all files and directories in the +current location. You can specify a different path to search and use built +in parameters to filter and control the recursion depth. + +```powershell +Get-ChildItem +``` + +To read more about cmdlet usage, see [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md). + +## Copying files and directories + +The `Copy-Item` cmdlet copies files and directories to a location you specify. +Parameters are available to filter and recurse, similar to `Get-ChildItem`. + +The following command copies all of the files and directories under the path +"C:\temp\" to the folder "C:\Windows\Temp". + +```powershell +Copy-Item -Path C:\temp\* -Destination C:\Windows\Temp -Recurse -File +``` + +`Copy-Item` overwrites files in the destination directory without prompting for +confirmation. + +This command copies the `a.txt` file from the `C:\a` directory to the `C:\a\bb` +directory. + +```powershell +Copy-Item -Path C:\a\a.txt -Destination C:\a\bb\a.txt +``` + +Copies all the directories and files in the `C:\a` directory to the `C:\c` +directory. If any of the directories to copy already exist in the destination +directory, the command will fail unless you specify the Force parameter. + +```powershell +Copy-Item -Path C:\a\* -Destination C:\c -Recurse +``` + +For more information, see [Copy-Item](../../Microsoft.PowerShell.Management/Copy-Item.md). + +## Moving files and directories + +This command moves the `c.txt` file in the `C:\a` directory to the `C:\a\aa` +directory: + +```powershell +Move-Item -Path C:\a\c.txt -Destination C:\a\aa +``` + +The command will not automatically overwrite an existing file that has the same +name. To force the cmdlet to overwrite an existing file, specify the Force +parameter. + +You cannot move a directory when that directory is the current location. When +you use `Move-Item` to move the directory at the current location, you see +this error. + +``` +C:\temp> Move-Item -Path C:\temp\ -Destination C:\Windows\Temp + +Move-Item : Cannot move item because the item at 'C:\temp\' is in use. +At line:1 char:1 ++ Move-Item C:\temp\ C:\temp2\ ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo : InvalidOperation: (:) [Move-Item], PSInvalidOperationException + + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.MoveItemCommand +``` + +## Managing file content + +### Get the content of a file + +This command gets the contents of the "Test.txt" file and displays them in the +console. + +```powershell +Get-Content -Path Test.txt +``` + +You can pipe the contents of the file to another cmdlet. For example, the +following command reads the contents of the `Test.txt` file and then supplies +them as input to the +[ConvertTo-Html](../../Microsoft.PowerShell.Utility/ConvertTo-Html.md) cmdlet: + +```powershell +Get-Content -Path Test.txt | ConvertTo-Html +``` + +### Add content to a file + +This command appends the "test content" string to the `Test.txt` file: + +```powershell +Add-Content -Path test.txt -Value "test content" +``` + +The existing content in the `Test.txt` file is not deleted. + +### Replace the content of a file + +This command replaces the contents of the `Test.txt` file with the "test +content" string: + +```powershell +Set-Content -Path test.txt -Value "test content" +``` + +It overwrites the contents of `Test.txt`. You can use the **Value** parameter +of the [New-Item](../../Microsoft.PowerShell.Management/New-Item.md) cmdlet to +add content to a file when you create it. + +### Loop through the contents of a file + +By default, the `Get-Content` cmdlet uses the end-of-line character as its +delimiter, so it gets a file as a collection of strings, with each line as one +string in the file. + +You can use the `-Delimiter` parameter to specify an alternate delimiter. If +you set it to the characters that denote the end of a section or the beginning +of the next section, you can split the file into logical parts. + +The first command gets the `Employees.txt` file and splits it into sections, +each of which ends with the words "End of Employee Record" and it saves it in +the `$e` variable. + +The second command uses array notation to get the first item in the collection +in `$e`. It uses an index of 0, because PowerShell arrays are zero-based. + +For more information about `Get-Content` cmdlet, see the help topic for the +[Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md). + +For more information about arrays, see [about_Arrays](../About/about_Arrays.md). + +```powershell +$e = Get-Content c:\test\employees.txt -Delimited "End Of Employee Record" +$e[0] +``` + +## Managing security descriptors + +### View the ACL for a file + +This command returns a +[System.Security.AccessControl.FileSecurity](/dotnet/api/system.security.accesscontrol.filesecurity) +object: + +```powershell +Get-Acl -Path test.txt | Format-List -Property * +``` + +For more information about this object, pipe the command to the +[Get-Member](../../Microsoft.PowerShell.Utility/Get-Member.md) cmdlet. Or, see +"[FileSecurity](/dotnet/api/system.security.accesscontrol.filesecurity) Class" in the +MSDN (Microsoft Developer Network) library. + +### Modify the ACL for a file + +### Create and set an ACL for a file + +## Creating files and directories + +### Create a directory + +This command creates the `logfiles` directory on the `C` drive: + +```powershell +New-Item -Path c:\ -Name logfiles -Type directory +``` + +PowerShell also includes a `mkdir` function (alias `md`) that uses the +[New-Item](../../Microsoft.PowerShell.Management/New-Item.md) cmdlet to +create a new directory. + +### Create a file + +This command creates the `log2.txt` file in the `C:\logfiles` directory and +then adds the "test log" string to the file: + +```powershell +New-Item -Path c:\logfiles -Name log2.txt -Type file +``` + +### Create a file with content + +Creates a file called `log2.txt` in the `C:\logfiles` directory and adds the +string "test log" to the file. + +```powershell +New-Item -Path c:\logfiles -Name log2.txt -Type file -Value "test log" +``` + +## Renaming files and directories + +### Rename a file + +This command renames the `a.txt` file in the `C:\a` directory to `b.txt`: + +```powershell +Rename-Item -Path c:\a\a.txt -NewName b.txt +``` + +### Rename a directory + +This command renames the `C:\a\cc` directory to `C:\a\dd`: + +```powershell +Rename-Item -Path c:\a\cc -NewName dd +``` + +## Deleting files and directories + +### Delete a file + +This command deletes the `Test.txt` file in the current directory: + +```powershell +Remove-Item -Path test.txt +``` + +### Delete files using wildcards + +This command deletes all the files in the current directory that have the +`.xml` file name extension: + +```powershell +Remove-Item -Path *.xml +``` + +## Starting a program by invoking an associated file + +### Invoke a file + +The first command uses the +[Get-Service](../../Microsoft.PowerShell.Management/Get-Service.md) cmdlet to +get information about local services. + +It pipes the information to the +[Export-Csv](../../Microsoft.PowerShell.Utility/Export-Csv.md) cmdlet and then +stores that information in the `Services.csv` file. + +The second command uses +[Invoke-Item](../../Microsoft.PowerShell.Management/Invoke-Item.md) to open the +`services.csv` file in the program associated with the `.csv` extension: + +```powershell +Get-Service | Export-Csv -Path services.csv +Invoke-Item -Path services.csv +``` + +## Getting files and folders with specified attributes + +### Get System files + +This command gets system files in the current directory and its subdirectories. + +It uses the `-File` parameter to get only files (not directories) and the +`-System` parameter to get only items with the "system" attribute. + +It uses the `-Recurse` parameter to get the items in the current directory and +all subdirectories. + +```powershell +Get-ChildItem -File -System -Recurse +``` + +### Get Hidden files + +This command gets all files, including hidden files, in the current directory. + +It uses the **Attributes** parameter with two values, `!Directory+Hidden`, +which gets hidden files, and `!Directory`, which gets all other files. + +```powershell +Get-ChildItem -Attributes !Directory,!Directory+Hidden +``` + +`dir -att !d,!d+h` is the equivalent of this command. + +### Get Compressed and Encrypted files + +This command gets files in the current directory that are either compressed or +encrypted. + +It uses the `-Attributes` parameter with two values, `Compressed` and +`Encrypted`. The values are separated by a comma `,` which represents the "OR" +operator. + +```powershell +Get-ChildItem -Attributes Compressed,Encrypted +``` + +## Dynamic parameters + +Dynamic parameters are cmdlet parameters that are added by a PowerShell +provider and are available only when the cmdlet is being used in the +provider-enabled drive. + +### Encoding \ + +Specifies the file encoding. The default is ASCII. + +- **ASCII**: Uses the encoding for the ASCII (7-bit) character set. +- **BigEndianUnicode**: Encodes in UTF-16 format using the big-endian byte order. +- **String**: Uses the encoding type for a string. +- **Unicode**: Encodes in UTF-16 format using the little-endian byte order. +- **UTF7**: Encodes in UTF-7 format. +- **UTF8**: Encodes in UTF-8 format. +- **UTF8BOM**: Encodes in UTF-8 format with Byte Order Mark (BOM) +- **UF8NOBOM**: Encodes in UTF-8 format without Byte Order Mark (BOM) +- **UTF32**: Encodes in UTF-32 format. +- **Default**: Encodes in the default installed code page. +- **OEM**: Uses the default encoding for MS-DOS and console programs. +- **Unknown**: The encoding type is unknown or invalid. The data can be treated + as binary. + +#### Cmdlets supported + +- [Add-Content](../../Microsoft.PowerShell.Management/Add-Content.md) +- [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) +- [Set-Content](../../Microsoft.PowerShell.Management/Set-Content.md) + +### Delimiter \ + +Specifies the delimiter that +[Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) uses to +divide the file into objects while it reads. + +The default is `\n`, the end-of-line character. + +When reading a text file, +[Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) returns a +collection of string objects, each of which ends with the delimiter character. + +Entering a delimiter that does not exist in the file, +[Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) returns the +entire file as a single, un-delimited object. + +You can use this parameter to split a large file into smaller files by +specifying a file separator, such as "End of Example", as the delimiter. The +delimiter is preserved (not discarded) and becomes the last item in each file +section. + +> [!NOTE] +> Currently, when the value of the `-Delimiter` parameter is an empty string, +> [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) does not return anything. +> This is a known issue. To force [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) to return the entire +> file as a single, undelimited string, enter a value that does not exist in +> the file. + +#### Cmdlets supported + +- [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) + +### Wait \ + +Waits for content to be appended to the file. If content is appended, it +returns the appended content. If the content has changed, it returns the entire +file. + +When waiting, +[Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) checks the +file once each second until you interrupt it, such as by pressing CTRL+C. + +#### Cmdlets supported + +- [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) + +### Attributes \ + +Gets files and folders with the specified attributes. This parameter supports +all attributes and lets you specify complex combinations of attributes. + +The `-Attributes` parameter was introduced in Windows PowerShell 3.0. + +The `-Attributes` parameter supports the following attributes: + +- **Archive** +- **Compressed** +- **Device** +- **Directory** +- **Encrypted** +- **Hidden** +- **Normal** +- **NotContentIndexed** +- **Offline** +- **ReadOnly** +- **ReparsePoint** +- **SparseFile** +- **System** +- **Temporary** + +For a description of these attributes, see the +[FileAttributes](/dotnet/api/system.io.fileattributes) enumeration. + +Use the following operators to combine attributes. + +- `!` - NOT +- `+` - AND +- `,` - OR + +No spaces are permitted between an operator and its attribute. However, spaces +are permitted before commas. + +#### Cmdlets supported + +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) + +### Directory \ + +Gets directories (folders). + +The `-Directory` parameter was introduced in Windows PowerShell 3.0. + +To get only directories, use the `-Directory` parameter and omit the `-File` +parameter. To exclude directories, use the `-File` parameter and omit the +`-Directory` parameter, or use the `-Attributes` parameter. + +#### Cmdlets supported + +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) + +### File \ + +Gets files. + +The `-File` parameter was introduced in Windows PowerShell 3.0. + +To get only files, use the `-File` parameter and omit the `-Directory` +parameter. To exclude files, use the `-Directory` parameter and omit the +`-File` parameter, or use the `-Attributes` parameter. + +#### Cmdlets supported + +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) + +### Hidden \ + +Gets only hidden files and directories (folders). By default, [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) gets only non-hidden items. + +The `-Hidden` parameter was introduced in Windows PowerShell 3.0. + +To get only hidden items, use the `-Hidden` parameter, its `h` or `ah` aliases, +or the **Hidden** value of the `-Attributes` parameter. To exclude hidden +items, omit the `-Hidden` parameter or use the `-Attributes` parameter. + +#### Cmdlets supported + +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) + +### ReadOnly \ + +Gets only read-only files and directories (folders). + +The `-ReadOnly` parameter was introduced in Windows PowerShell 3.0. + +To get only read-only items, use the `-ReadOnly` parameter, its `ar` alias, or +the **ReadOnly** value of the `-Attributes` parameter. To exclude read-only +items, use the `-Attributes` parameter. + +#### Cmdlets supported + +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) + +### System \ + +Gets only system files and directories (folders). + +The `-System` parameter was introduced in Windows PowerShell 3.0. + +To get only system files and folders, use the `-System` parameter, its `as` +alias, or the **System** value of the `-Attributes` parameter. To exclude +system files and folders, use the `-Attributes` parameter. + +#### Cmdlets supported + +- [Get-ChildItem](../../Microsoft.PowerShell.Management/Get-ChildItem.md) + +### NewerThan \ + +Returns `$True` when the `LastWriteTime` value of a file is greater than the +specified date. Otherwise, it returns `$False`. + +Enter a [DateTime](/dotnet/api/system.datetime) object, +such as one that the [Get-Date](../../Microsoft.PowerShell.Utility/Get-Date.md) +cmdlet returns, or a string that can be converted to a +[DateTime](/dotnet/api/system.datetime) object, such as +`"August 10, 2011 2:00 PM"`. + +#### Cmdlets supported + +- [Test-Path](../../Microsoft.PowerShell.Management/Test-Path.md) + +### OlderThan \ + +Returns `$True` when the `LastWriteTime` value of a file is less than the +specified date. Otherwise, it returns `$False`. + +Enter a [DateTime](/dotnet/api/system.datetime) object, +such as one that the [Get-Date](../../Microsoft.PowerShell.Utility/Get-Date.md) +cmdlet returns, or a string that can be converted to a +[DateTime](/dotnet/api/system.datetime) object, such as +`"August 10, 2011 2:00 PM"`. + +#### Cmdlets supported + +- [Test-Path](../../Microsoft.PowerShell.Management/Test-Path.md) + +### Stream \ + +Manages alternate data streams. Enter the stream name. Wildcards are permitted +only in [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md) for and [Remove-Item](../../Microsoft.PowerShell.Management/Remove-Item.md) commands +in a file system drive. + +#### Cmdlets supported + +- [Add-Content](../../Microsoft.PowerShell.Management/Add-Content.md) +- [Clear-Content](../../Microsoft.PowerShell.Management/Clear-Content.md) +- [Get-Item](../../Microsoft.PowerShell.Management/Get-Item.md) +- [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) +- [Remove-Item](../../Microsoft.PowerShell.Management/Remove-Item.md) +- [Set-Content](../../Microsoft.PowerShell.Management/Set-Content.md) + +### Raw \ + +Ignores newline characters. Returns contents as a single item. + +#### Cmdlets supported + +- [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) + +#### Cmdlets supported + +- [Get-Content](../../Microsoft.PowerShell.Management/Get-Content.md) + +### ItemType \ + +This parameter allows you to specify the tye of item to create with `New-Item` + +The available values of this parameter depend on the current provider you are using. + +In a `FileSystem` drive, the following values are allowed: + +- File +- Directory +- Junction +- HardLink + +### Cmdlets supported + +- [New-Item](../../Microsoft.PowerShell.Management/New-Item.md) + +## Using the pipeline + +Provider cmdlets accept pipeline input. You can use the pipeline to simplify +task by sending provider data from one cmdlet to another provider cmdlet. +To read more about how to use the pipeline with provider cmdlets, see the +cmdlet references provided throughout this article. + +## Getting help + +Beginning in Windows PowerShell 3.0, you can get customized help topics for +provider cmdlets that explain how those cmdlets behave in a file system drive. + +To get the help topics that are customized for the file system drive, run a +[Get-Help](../Get-Help.md) command in a file system drive or use the `-Path` +parameter of [Get-Help](../Get-Help.md) to specify a file system drive. + +```powershell +Get-Help Get-ChildItem +``` + +```powershell +Get-Help Get-ChildItem -Path c: +``` + +## See also + +[about_Providers](../About/about_Providers.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_For.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_For.md index c1a6a940a662..1272615f9750 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_For.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_For.md @@ -1,5 +1,5 @@ ---- -ms.date: 06/09/2017 +--- +ms.date: 3/4/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet @@ -7,156 +7,230 @@ title: about_For --- # About For -## SHORT DESCRIPTION - +## Short description Describes a language command you can use to run statements based on a conditional test. -## LONG DESCRIPTION +## Long description -The For statement (also known as a For loop) is a language construct you +The `For` statement (also known as a `For` loop) is a language construct you can use to create a loop that runs commands in a command block while a -specified condition evaluates to true. +specified condition evaluates to `$true`. -A typical use of the For loop is to iterate an array of values and to +A typical use of the `For` loop is to iterate an array of values and to operate on a subset of these values. In most cases, if you want to iterate -all the values in an array, consider using a Foreach statement. +all the values in an array, consider using a `Foreach` statement. ### Syntax -The following shows the For statement syntax. +The following shows the `For` statement syntax. -```powershell -for (; ; ) -{} ``` - -The <init> placeholder represents one or more commands, separated by -commas, that are run before the loop begins. You typically use the -<init> portion of the statement to create and initialize a variable -with a starting value. Note that the comma syntax doesn't work with -assignment statements, such as the following example: - -```powershell -$ofs=",";$rs = "rs"; $cs = "cs"; for ($r = $rs, $c = $cs; $true;) -{ "r is '$r' and c is '$c'"; break } +for (; ; ) +{ + +} ``` +The **Init** placeholder represents one or more commands that are run before +the loop begins. You typically use the **Init** portion of the statement to +create and initialize a variable with a starting value. + This variable will then be the basis for the condition to be tested in the -next portion of the For statement. +next portion of the `For` statement. -The <condition> placeholder represents the portion of the For -statement that resolves to a true or false Boolean value. Windows -PowerShell evaluates the condition each time the For loop runs. If the -statement is true, the commands in the command block run, and the statement -is evaluated again. If the condition is still true, the commands in the -statement list run again. The loop is repeated until the condition becomes -false. +The **Condition** placeholder represents the portion of the `For` statement +that resolves to a `$true` or `$false` **Boolean** value. PowerShell evaluates +the condition each time the `For` loop runs. If the statement is `$true`, the +commands in the command block run, and the statement is evaluated again. If the +condition is still `$true`, the commands in the **Statement list** run again. The loop +is repeated until the condition becomes `$false`. -The <repeat> placeholder represents one or more commands, separated +The **Repeat** placeholder represents one or more commands, separated by commas, that are executed each time the loop repeats. Typically, this is -used to modify a variable that is tested inside the <condition> part +used to modify a variable that is tested inside the **Condition** part of the statement. -The <statement list> placeholder represents a set of one or more +The **Statement list** placeholder represents a set of one or more commands that are run each time the loop is entered or repeated. The -contents of the statement list are surrounded by braces. +contents of the **Statement list** are surrounded by braces. + +### Support for multiple operations + +The following syntaxes are supported for multiple assignment operations in the +**Init** statement: + +```powershell +# Comma separated assignment expressions enclosed in parenthesis. +for (($i = 0), ($j = 0); $i -lt 10; $i++) +{ + "`$i:$i" + "`$j:$j" +} + +# Sub-expression using the semicolon to separate statements. +for ($($i = 0;$j = 0); $i -lt 10; $i++) +{ + "`$i:$i" + "`$j:$j" +} +``` + +The following syntaxes are supported for multiple assignment operations in the +**Repeat** statement: + +```powershell +# Comma separated assignment expressions. +for (($i = 0), ($j = 0); $i -lt 10; $i++) +{ + "`$i:$i" + "`$j:$j" +} + +# Comma separated assignment expressions enclosed in parenthesis. +for (($i = 0), ($j = 0); $i -lt 10; ($i++), ($j++)) +{ + "`$i:$i" + "`$j:$j" +} + +# Sub-expression using the semicolon to separate statements. +for ($($i = 0;$j = 0); $i -lt 10; $($i++;$j++)) +{ + "`$i:$i" + "`$j:$j" +} +``` + +> [!NOTE] +> Operations other than pre or post increment may not work with all syntaxes. + +For multiple **Conditions** use logical operators as demonstrated by the +following example. + +```powershell +for (($i = 0), ($j = 0); $i -lt 10 -and $j -lt 10; $i++,$j++) +{ + "`$i:$i" + "`$j:$j" +} +``` + +For more information, see [about_Logical_Operators](about_Logical_Operators.md). ### Examples -At a minimum, a For statement requires the parenthesis surrounding the -<init>, <condition>, and <repeat> part of the statement -and a command surrounded by braces in the <statement list> part of +At a minimum, a `For` statement requires the parenthesis surrounding the +**Init**, **Condition**, and **Repeat** part of the statement +and a command surrounded by braces in the **Statement list** part of the statement. -Note that the upcoming examples intentionally show code outside the For -statement. In later examples, code is integrated into the for statement. +Note that the upcoming examples intentionally show code outside the `For` +statement. In later examples, code is integrated into the `For` statement. -For example, the following For statement continually displays the value of -the $i variable until you manually break out of the command by pressing +For example, the following `For` statement continually displays the value of +the `$i` variable until you manually break out of the command by pressing CTRL+C. ```powershell $i = 1 -for (;;){Write-Host $i} +for (;;) +{ + Write-Host $i +} ``` You can add additional commands to the statement list so that the value of -$i is incremented by 1 each time the loop is run, as the following example +`$i` is incremented by 1 each time the loop is run, as the following example shows. ```powershell -for (;;){$i++; Write-Host $i} +for (;;) +{ + $i++; Write-Host $i +} ``` Until you break out of the command by pressing CTRL+C, this statement will -continually display the value of the $i variable as it is incremented by 1 +continually display the value of the `$i` variable as it is incremented by 1 each time the loop is run. Rather than change the value of the variable in the statement list part of -the For statement, you can use the <repeat> portion of the For +the `For` statement, you can use the **Repeat** portion of the `For` statement instead, as follows. ```powershell $i=1 -for (;;$i++){Write-Host $i} +for (;;$i++) +{ + Write-Host $i +} ``` - This statement will still repeat indefinitely until you break out of the -command by pressing CTRL\+C. +command by pressing CTRL+C. + +You can terminate the `For` loop using a *condition*. You can place a condition +using the **Condition** portion of the `For` statement. The `For` +loop terminates when the condition evaluates to `$false`. -By setting a condition (using the <condition> portion of the For -statement), you can end the For loop when the condition evaluates to false. -In the following example, the For loop runs while the value of $i is less +In the following example, the `For` loop runs while the value of `$i` is less than or equal to 10. ```powershell $i=1 -for(;$i -le 10;$i++){Write-Host $i} +for(;$i -le 10;$i++) +{ + Write-Host $i +} ``` - -Instead of creating and initializing the variable outside the For -statement, you can perform this task inside the For loop by using the -<init> portion of the For statement. +Instead of creating and initializing the variable outside the `For` +statement, you can perform this task inside the `For` loop by using the +**Init** portion of the `For` statement. ```powershell for($i=1; $i -le 10; $i++){Write-Host $i} ``` - You can use carriage returns instead of semicolons to delimit the -<init>, <condition>, and <repeat> portions of the For -statement. The following example shows the For statement syntax in this -alternative form. - +**Init**, **Condition**, and **Repeat** portions of the `For` +statement. The following example shows a `For` that uses this alternative +syntax. ```powershell -for ( - - ){ - +for ($i = 0 + $i -lt 10 + $i++){ + $i } ``` -This alternative form of the For statement works in PowerShell script files -and at the Windows PowerShell command prompt. However, it is easier to use -the For statement syntax with semicolons when you enter interactive +This alternative form of the `For` statement works in PowerShell script files +and at the PowerShell command prompt. However, it is easier to use +the `For` statement syntax with semicolons when you enter interactive commands at the command prompt. -The For loop is more flexible than the Foreach loop because it allows you +The `For` loop is more flexible than the `Foreach` loop because it allows you to increment values in an array or collection by using patterns. In the -following example, the $i variable is incremented by 2 in the -<repeat> portion of the for statement. +following example, the `$i` variable is incremented by 2 in the +**Repeat** portion of the `For` statement. + +```powershell +for ($i = 0; $i -ile 20; $i += 2) +{ + Write-Host $i +} +``` +The `For` loop can also be written on one line as in the following example. ```powershell -for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i} +for ($i = 0; $i -lt 10; $i++) { Write-Host $i } ``` ## SEE ALSO [about_Comparison_Operators](about_Comparison_Operators.md) -[about_Foreach](about_Foreach.md) \ No newline at end of file +[about_Foreach](about_Foreach.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Foreach.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Foreach.md index 50114bff138e..b4bfd224b2c3 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Foreach.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Foreach.md @@ -1,5 +1,5 @@ ---- -ms.date: 11/28/2017 +--- +ms.date: 2/27/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet @@ -7,25 +7,24 @@ title: about_Foreach --- # About ForEach -## SHORT DESCRIPTION - +## Short description Describes a language command you can use to traverse all the items in a collection of items. -## LONG DESCRIPTION +## Long description -The Foreach statement (also known as a Foreach loop) is a language construct +The `Foreach` statement (also known as a `Foreach` loop) is a language construct for stepping through (iterating) a series of values in a collection of items. The simplest and most typical type of collection to traverse is an array. -Within a Foreach loop, it is common to run one or more commands against each +Within a `Foreach` loop, it is common to run one or more commands against each item in an array. ## Syntax -The following shows the ForEach syntax: +The following shows the `ForEach` syntax: -```syntax +``` foreach ($ in $){} ``` @@ -54,7 +53,7 @@ string values `"a"`, `"b"`, `"c"`, and `"d"`. The first time the `Foreach` statement runs, it sets the `$letter` variable equal to the first item in `$letterArray` (`"a"`). Then, it uses the `Write-Host` cmdlet to display the letter a. The next time through the loop, `$letter` is set to `"b"`, and so -on. After the `Foreach` loop displays the letter d, Windows PowerShell exits +on. After the `Foreach` loop displays the letter d, PowerShell exits the loop. The entire `Foreach` statement must appear on a single line to run it as a @@ -158,6 +157,8 @@ variable inside of a foreach script block. The example function can find functions in a script even if there are unusually- or inconsistently-spaced function definitions that span multiple lines. +For more information, see [Using Enumerators](about_Automatic_Variables.md#using-enumerators). + ```powershell function Get-FunctionPosition { [CmdletBinding()] @@ -226,4 +227,4 @@ function Get-FunctionPosition { [about_If](about_If.md) -[ForEach-Object](../ForEach-Object.md) \ No newline at end of file +[ForEach-Object](../ForEach-Object.md) diff --git a/reference/3.0/Microsoft.PowerShell.Core/About/about_Format.ps1xml.md b/reference/3.0/Microsoft.PowerShell.Core/About/about_Format.ps1xml.md index 585fa8113c05..e35b55f8078f 100644 --- a/reference/3.0/Microsoft.PowerShell.Core/About/about_Format.ps1xml.md +++ b/reference/3.0/Microsoft.PowerShell.Core/About/about_Format.ps1xml.md @@ -1,5 +1,5 @@ --- -ms.date: 11/28/2017 +ms.date: 02/19/2019 schema: 2.0.0 locale: en-us keywords: powershell,cmdlet @@ -9,89 +9,95 @@ title: about_Format.ps1xml ## Short Description -The Format.ps1xml files in Windows PowerShell define the default display of -objects in the Windows PowerShell console. You can create your own -Format.ps1xml files to change the display of objects or to define default -displays for new object types that you create in Windows PowerShell. +The `Format.ps1xml` files in PowerShell define the default display of +objects in the PowerShell console. You can create your own +`Format.ps1xml` files to change the display of objects or to define default +displays for new object types that you create in PowerShell. ## Long Description -The Format.ps1xml files in Windows PowerShell define the default display of -objects in Windows PowerShell. You can create your own Format.ps1xml files to +The `Format.ps1xml` files in PowerShell define the default display of +objects in PowerShell. You can create your own `Format.ps1xml` files to change the display of objects or to define default displays for new object -types that you create in Windows PowerShell. +types that you create in PowerShell. -When Windows PowerShell displays an object, it uses the data in structured +When PowerShell displays an object, it uses the data in structured formatting files to determine the default display of the object. The data in the formatting files determines whether the object is rendered in a table or in a list, and it determines which properties are displayed by default. The formatting affects the display only. It does not affect which object -properties are passed down the pipeline or how they are passed. Format.ps1xml +properties are passed down the pipeline or how they are passed. `Format.ps1xml` files cannot be used to customize the output format for hashtables. -Windows PowerShell includes seven formatting files. These files are located in +PowerShell includes seven formatting files. These files are located in the installation directory (`$PSHOME`). Each file defines the display of a group of Microsoft .NET Framework objects: -1. Certificate.Format.ps1xml +1. `Certificate.Format.ps1xml` Objects in the Certificate store, such as X.509 certificates and certificate stores. -2. DotNetTypes.Format.ps1xml +2. `DotNetTypes.Format.ps1xml` Other .NET Framework types, such as CultureInfo, FileVersionInfo, and EventLogEntry objects. -3. FileSystem.Format.ps1xml +3. `FileSystem.Format.ps1xml` File system objects, such as files and directories. -4. Help.Format.ps1xml +4. `Help.Format.ps1xml` Help views, such as detailed and full views, parameters, and examples. -5. PowerShellCore.format.ps1xml +5. `PowerShellCore.format.ps1xml` - Objects generated by Windows PowerShell core cmdlets, such as + Objects generated by PowerShell core cmdlets, such as `Get-Member` and `Get-History`. -6. PowerShellTrace.format.ps1xml +6. `PowerShellTrace.format.ps1xml` Trace objects, such as those generated by the `Trace-Command` cmdlet. -7. Registry.format.ps1xml +7. `Registry.format.ps1xml` Registry objects, such as keys and entries. -A formatting file can define four different views of each object: table, list, -wide, and custom. For example, when the output of a `Get-ChildItem` command is +A formatting file can define four different views of each object: + +- Table +- List +- Wide +- Custom. + +For example, when the output of a `Get-ChildItem` command is piped to a `Format-List` command, `Format-List` uses the view in the -FileSystem.format.ps1xml file to determine how to display the file and folder +"FileSystem.format.ps1xml" file to determine how to display the file and folder objects as a list. -When a formatting file includes more than one view of an object, Windows -PowerShell applies the first view that it finds. +When a formatting file includes more than one view of an object, PowerShell applies the first view +that it finds. -In a Format.ps1xml file, a view is defined by a set of XML tags that describe +In a `Format.ps1xml` file, a view is defined by a set of XML tags that describe the name of the view, the type of object to which it can be applied, the column headers, and the properties that are displayed in the body of the view. -The format in Format.ps1xml files is applied just before the data is presented +The format in `Format.ps1xml` files is applied just before the data is presented to the user. ## Creating New Format.ps1xml Files -The .ps1xml files that are installed with Windows PowerShell are digitally +The `.ps1xml` files that are installed with PowerShell are digitally signed to prevent tampering because the formatting can include script blocks. Therefore, to change the display format of an existing object view, or to add -views for new objects, create your own Format.ps1xml files, and then add them -to your Windows PowerShell session. +views for new objects, create your own `Format.ps1xml` files, and then add them +to your PowerShell session. -To create a new file, copy an existing Format.ps1xml file. The new file can -have any name, but it must have a .ps1xml file name extension. You can place -the new file in any directory that is accessible to Windows PowerShell, but it -is useful to place the files in the Windows PowerShell installation directory +To create a new file, copy an existing `Format.ps1xml` file. The new file can +have any name, but it must have a `.ps1xml` file name extension. You can place +the new file in any directory that is accessible to PowerShell, but it +is useful to place the files in the PowerShell installation directory (`$PSHOME`) or in a subdirectory of the installation directory. To change the formatting of a current view, locate the view in the formatting @@ -102,20 +108,20 @@ other views in the file so that the changes are obvious to anyone examining the file. When you have saved the changes, use the `Update-FormatData` cmdlet to add the -new file to your Windows PowerShell session. If you want your view to take +new file to your PowerShell session. If you want your view to take precedence over a view defined in the built-in files, use the **PrependPath** -parameter of `Update-FormatData`. `Update-FormatData` affects only the current +parameter. `Update-FormatData` affects only the current session. To make the change to all future sessions, add the -`Update-FormatData` command to your Windows PowerShell profile. +`Update-FormatData` command to your PowerShell profile. ### Example: Adding Calendar Data to Culture Objects This example shows how to change the formatting of the culture objects -(System.Globalization.CultureInfo) generated by the `Get-Culture` cmdlet. The -commands in the example add the calendar property to the default table view +**System.Globalization.CultureInfo** generated by the `Get-Culture` cmdlet. The +commands in the example add the **Calendar** property to the default table view display of culture objects. -The first step is to find the Format.ps1xml file that contains the current +The first step is to find the `Format.ps1xml` file that contains the current view of the culture objects. The following `Select-String` command finds the file: @@ -124,20 +130,20 @@ Select-String -Path $PSHOME\*format.ps1xml ` -Pattern System.Globalization.CultureInfo ``` -This command reveals that the definition is in the DotNetTypes.Format.ps1xml +This command reveals that the definition is in the `DotNetTypes.Format.ps1xml` file. The next command copies the file contents to a new file, -MyDotNetTypes.Format.ps1xml. +`MyDotNetTypes.Format.ps1xml`. ```powershell -Copy-Item DotNetTypes.Format.ps1xml MyDotNetTypes.Format.ps1xml +Copy-Item $PSHome\DotNetTypes.Format.ps1xml MyDotNetTypes.Format.ps1xml ``` -Next, open the MyDotNetTypes.Format.ps1xml file in any XML or text editor, -such as Notepad. Find the System.Globalization.CultureInfo object section. The -following XML defines the views of the CultureInfo object. The object has only -a TableControl view. +Next, open the `MyDotNetTypes.Format.ps1xml` file in any XML or text editor, +such as **Notepad.exe**. Find the **System.Globalization.CultureInfo** object +section. The following XML defines the views of the **CultureInfo** object. The +object has only a **TableControl** view. ```xml @@ -154,7 +160,6 @@ a TableControl view. 16 - @@ -177,9 +182,11 @@ a TableControl view. Delete the remainder of the file, except for the opening ``, ``, and `` tags and the closing -`` and `` tags. You must also delete the +`` and `` tags. You must also delete the digital signature whenever you change the file. +The `MyDotNetTypes.Format.ps1xml` file should now look like the one below. + ```xml @@ -221,9 +228,9 @@ digital signature whenever you change the file. ``` -Next, create a new column for the Calendar property by adding a new set of -`` tags. The value of the Calendar property can be long, so -a value of 45 characters is used, as follows: +Next, create a new column for the **Calendar** property by adding a new set of +`` tags. The value of the **Calendar** property can be long, so +specify a value of 45 characters as the ``. ```xml @@ -263,11 +270,11 @@ Now, add a new column item in the table rows, as follows: ``` -After saving the file and closing it, use an `Update-FormatData` command, such -as the following command, to add the new format file to the current session. -The command uses the **PrependPath** parameter to place the new file in a -higher precedence order than the original file. For more information about -`Update-FormatData`, see +After saving the file and closing it, use the `Update-FormatData` cmdlet to +add the new format file to the current session. + +This example uses the **PrependPath** parameter to place the new file in a +higher precedence order than the original file. For more information, see [Update-FormatData](../../Microsoft.PowerShell.Utility/Update-FormatData.md). ```powershell @@ -278,8 +285,10 @@ To test the change, type `Get-Culture`, and then review the output, which includes the Calendar property. ```powershell -PS> Get-Culture +Get-Culture +``` +```Output LCID Name Calendar DisplayName ---- ---- -------- ----------- 1033 en-US System.Globalization.GregorianCalendar English (United States) @@ -287,9 +296,9 @@ LCID Name Calendar DisplayName ## The XML in Format.ps1xml Files -The ViewDefinitions section of each Format.ps1xml file contains the `` -tags that define each view. A typical `` tag includes the following -tags: +The **ViewDefinitions** section of each `Format.ps1xml` file contains the +`` tags that define each view. A typical `` tag includes the +following tags: - `` identifies the name of the view - `` specifies the object type or types to which the view @@ -298,11 +307,15 @@ tags: - ``, ``, ``, and `` contain the tags that specify how each item will be displayed +### ViewSelectedBy tag + The `` tag can contain a `` tag for each object type to which the view applies. Or, it can contain a `` tag that references a selection set that is defined elsewhere by using a `` tag. +### GroupBy tag + The `` tag contains a `` tag that specifies the object property by which items are to be grouped. It also contains either a `