Skip to content

Merging latest into Live #1925

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 86 commits into from
Dec 5, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
2a3ccf3
Update the example of `Where-Object -IsNot` (#1841)
matt9ucci Nov 7, 2017
f778a37
Update Example 5 in Group-Object.md (#1845)
matt9ucci Nov 8, 2017
1357977
removing @{Text=} tags
Nov 7, 2017
efba651
fixing UTF8 characters
Nov 7, 2017
b93a6ba
removed empty H3
Nov 7, 2017
ec505bf
added H3 for input and output types
Nov 7, 2017
c2abb44
removed mangled UTF8 character
Nov 8, 2017
bbffd77
updating Out-* commands with -NoNewLine per Issue 1739
Nov 9, 2017
2bdb9e6
Fix the example of `Format-Table -DisplayError` (#1848)
matt9ucci Nov 9, 2017
61cb77d
Fix the example of `Format-Wide -DisplayError` (#1850)
matt9ucci Nov 10, 2017
882b0e8
Fix the example of `Format-Custom -DisplayError` (#1849)
matt9ucci Nov 10, 2017
67db02a
updating set-acl docs per PR#901
Nov 7, 2017
9799c2b
using semantic link breaks
Nov 10, 2017
a5f21c5
Fix the example of `Format-Wide -ShowError` (#1851)
matt9ucci Nov 13, 2017
9467262
Fixed Test-ScriptFileInfo example (#1852)
alan-null Nov 13, 2017
b5d12a3
fixing issue 1768
Nov 7, 2017
b04197f
Formatting, example fix for Body parameter (#1847)
ebrucucen Nov 13, 2017
b6b156a
fixing style consistency across articles
Nov 13, 2017
e03a354
fixing conflicts
Nov 13, 2017
07b21b0
Fix example numbers in Resume-Job.md (#1857)
matt9ucci Nov 14, 2017
348ed70
Fixes typo $WebSiteName in separatingEnvData.md (#1856)
DexterPOSH Nov 14, 2017
b04a75a
Updates configurations.md (#1855)
DexterPOSH Nov 14, 2017
484d598
Fix typo in comment (#1854)
ciriarte Nov 14, 2017
e46d3a1
Merge pull request #1846 from sdwheeler/sdw-issue1739
zjalexander Nov 14, 2017
f42a62f
Updating the help content for v6. (#1853)
adityapatwardhan Nov 15, 2017
eade8e4
Fix example numbers in about_Transactions.md (#1859)
matt9ucci Nov 15, 2017
518fde2
Update Alias-Provider.md (#1831)
doctordns Nov 15, 2017
248e283
Add documentation of new -AsHashtable switch for ConvertFrom-Json int…
bergmeister Nov 15, 2017
bcedaf0
Fix example numbers in Invoke-WebRequest.md (#1862)
matt9ucci Nov 16, 2017
8e4ac81
Merge branch 'live' into staging
Nov 16, 2017
1f54577
reformatting and integrating changes from PR#1831 (#1860)
Nov 16, 2017
aeeb091
Fix example numbers in Get-Help.md (#1869)
matt9ucci Nov 17, 2017
83b1241
Fix example numbers in Import-Module.md (#1868)
matt9ucci Nov 17, 2017
99be9ad
Fix example number in ConvertTo-Html.html (#1867)
matt9ucci Nov 17, 2017
919d940
Update dscCiCd.md (#1865)
tomlarse Nov 17, 2017
cb00730
Web Cmdlets 6.0.0 Documentation Refresh (#1870)
markekraus Nov 18, 2017
6e31c85
Merge Example 4 and 5 in Get-Member.md (#1874)
matt9ucci Nov 18, 2017
cc018bf
Remove hash algorithms unsupported in v6.0 (#1873)
matt9ucci Nov 19, 2017
b98aa67
Update outputs of Get-Verb (#1872)
matt9ucci Nov 19, 2017
1b2889e
Fix typo in ConvertTo-Html.md (UTF-x) (#1879)
matt9ucci Nov 20, 2017
4fec39b
Fix "Accept wildcard characters" in Get-Service.md v6 (#1878)
matt9ucci Nov 20, 2017
061245d
Fixed Get-WindowsFeature cmdlet HyperLink (#1877)
keeratsingh Nov 20, 2017
496832f
Update Get-WinEvent.md (#1876)
doctordns Nov 20, 2017
c644c38
Update Example 8 in Get-Process.md (find the owner of a process) (#1875)
matt9ucci Nov 20, 2017
58b15dd
updated localmachine\Root to LocalMachine\My (#1880)
rchaganti Nov 20, 2017
69c037d
Update Group property example in Get-Verb.md (#1881)
matt9ucci Nov 21, 2017
d69465e
adding missing space (#1885)
mairaw Nov 21, 2017
a066c77
removing stray character (#1886)
mairaw Nov 21, 2017
bf70ac9
Update Example 9 in Get-Process.md (#1888)
matt9ucci Nov 22, 2017
6687a84
Remove "About ISE" files of v6.0 (#1891)
matt9ucci Nov 27, 2017
23afc78
Update Get-Process.md (#1890)
doctordns Nov 27, 2017
5a8d5f4
Update productincompat.md (#1892)
Cloud-Writer Nov 27, 2017
46d7c99
Update unapproved verbs examples in Get-Verb.md (#1896)
matt9ucci Nov 28, 2017
a88c947
Removing extra space in the Example 5A script (#1894)
vrnithinkumar Nov 28, 2017
a2d0e9b
fixing merge conflict
Nov 28, 2017
f0f0da0
resolving conflict
Nov 28, 2017
d395d0e
updates to style and contrib
Nov 16, 2017
d4d446d
tweak format
Nov 16, 2017
67ad296
tweak format 2
Nov 16, 2017
7883844
fix typo
Nov 16, 2017
b4877f3
fix number list example
Nov 16, 2017
9e6ebd0
adding review feedback
Nov 22, 2017
323e325
fix broken links
Nov 22, 2017
e6b4a53
incorporating feedback from zach
Nov 27, 2017
7514fcf
reformatting About_* for 80 columns - part 1
Nov 27, 2017
66ecafd
reformat about_*
Nov 28, 2017
56dc2df
reformatting About_* topics - Part 2
Nov 28, 2017
d310e14
fixing broken links
Nov 28, 2017
e084dc5
fixing more broken links
Nov 28, 2017
05ff294
more broken links fixed
Nov 28, 2017
a935671
Fix parameter's position in Get-Random.md (#1901)
matt9ucci Nov 29, 2017
9040d65
Fix parameter's position in Measure-Command.md (#1905)
matt9ucci Nov 30, 2017
c715ab2
Fix parameter's position in Trace-Command.md (#1904)
matt9ucci Nov 30, 2017
6824d85
Actually call the configuration in the example (#1906)
charlesbihis Nov 30, 2017
cece485
reformatting About_* for 80 columns - part 3 (#1902)
Nov 30, 2017
877c2cc
reformatting About_* for 80 columns - part 4
Nov 30, 2017
1e0c256
Adding PreRelease versioning info for PSGallery & PSGet (#1903)
Dec 1, 2017
38d64d4
Style tweaks in STYLE.md (#1913)
SamB Dec 2, 2017
c6f3f13
Fix YAML metadata on "Understanding Concepts" (#1911)
SamB Dec 2, 2017
92e1b1b
Fix parameter's position in Join-Path.md (#1909)
matt9ucci Dec 2, 2017
b71d428
typo correction on line 85 (#1916)
J0F3 Dec 4, 2017
4e6505f
Fix parameter's position in Get-TraceSource.md (#1917)
matt9ucci Dec 4, 2017
a935850
Changed required PSGet version to 1.6.0 (#1920)
Dec 4, 2017
96504e3
Update Example 5 in Get-Process.md (#1923)
matt9ucci Dec 5, 2017
f586a98
fixing backlashes reported in PR1921 (#1924)
Dec 5, 2017
a08dbd5
Merge branch 'live' into staging
Dec 5, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions contributing/STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ Basic formatting guidelines:

- Limit lines to 80 characters
- Code blocks should be limited to 76 characters
- Within a paragraph, the following characters must be escaped using a leading `\` character: $,\`,\<
- Within a paragraph, the following characters must be escaped using a leading `\` character:
<code>$</code>, <code>\`</code>, <code>\<</code>
- Tables need fit withing 76 characters
- Manually wrap contents of cells across multiple lines
- Use opening and closing `|` characters on each line
Expand Down Expand Up @@ -59,13 +60,13 @@ Remove extra spaces at the end of lines.

## Titles/Headings

Only use [ATX headings][atx] (as opposed to = or \- style headers).
Only use [ATX headings][atx] (# style, as opposed to = or \- style headers).

* Titles/headings should be surrounded by blank lines
* Only the first letter of a title and any proper nouns in that title should be capitalized
* Only one H1 per document

When editing reference content, the H2s are prescribed by platyPS and must not be added or removed.
When editing reference content, the H2s are prescribed by [platyPS][platyPS] and must not be added or removed.
Adding or removing H2 causes a build break.

## Formatting syntax elements
Expand All @@ -85,7 +86,7 @@ Adding or removing H2 causes a build break.

## Formatting code blocks

* All PowerShell syntax blocks should use &#96;&#96;&#96;powershell code fence marker.
* All PowerShell syntax blocks should use <code>\`\`\`powershell</code> &hellip; <code>\`\`\`</code> code fence markers.

* Do **NOT** start PowerShell commands with the PowerShell prompt ("`PS C:\>`").

Expand Down Expand Up @@ -168,4 +169,5 @@ There are special rules for linking to reference topics from conceptual topics.
[about-example]: https://github.com/PowerShell/PowerShell-Docs/blob/staging/reference/5.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md
[links]: https://help.github.com/articles/relative-links-in-readmes/
[gfm-spec]: https://github.github.com/gfm/
[semantics]: http://rhodesmill.org/brandon/2012/one-sentence-per-line/
[semantics]: http://rhodesmill.org/brandon/2012/one-sentence-per-line/
[platyPS]: https://github.com/PowerShell/platyPS
2 changes: 1 addition & 1 deletion dsc/bootstrapDsc.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Configuration 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:

```powershell
Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\Sytem32\Configuration\Pending.mof
Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\System32\Configuration\Pending.mof
```
6. Dismount the VHD by calling the [Dismount-VHD](https://technet.microsoft.com/library/hh848562.aspx) cmdlet. For example:

Expand Down
200 changes: 200 additions & 0 deletions gallery/psget/module/PreReleaseModule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
---
ms.date: 2017-09-26
contributor: keithb
ms.topic: reference
keywords: gallery,powershell,cmdlet,psget
title: PrereleaseModule
---

# 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 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 PowerShellGet. This topic focuses on the module-specific features. The equivalent features for scripts are in the [Prerelease Versions of Scripts](../script/PrereleaseScript.md) topic. Using these features, publishers can identify a module or script as version 2.5.0-alpha, and later release a production-ready version 2.5.0 that supersedes the prerelease version.

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 Find-Module, Install-Module, Update-Module, and Save-Module.
If the flag is not specified, prerelease items 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.

Details for the features are included below.

These changes do not affect the module version support that is built into PowerShell, and are compatible with PowerShell 3.0, 4.0, and 5.

## Identifying a module version as a prerelease

PowerShellGet support for prerelease versions requires the use of two fields within the Module Manifest:

* The ModuleVersion included in the module manifest must be a 3-part version if a prerelease version is used, and must comply with existing PowerShell versioning. The version format would be A.B.C, where A, B, and C are all integers.
* The Prerelease string is specified in the module manifest, in the PSData section of PrivateData.
Detailed requirements on the Prerelease string are below.

An example section of a module manifest that defines a module as a prerelease would look like the following:
```powershell
@{
ModuleVersion = '2.5.0'
#---
PrivateData = @{
PSData = @{
Prerelease = 'alpha'
}
}
}
```

The detailed requirements for Prerelease string are:

* Prerelease string may only be specified when the ModuleVersion is 3 segments for Major.Minor.Build. This aligns with SemVer v1.0.0.
* A hyphen is the delimiter between the Build number and the Prerelease string. A hyphen may be 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.
* 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

__Prerelease versioning impact on sort order and installation folders__

Sort order changes when using a prerelease version, which is important when publishing to the PowerShell Gallery, and when installing modules using PowerShellGet commands.
If the Prerelease string is specified for two modules, the sort order is based on the string portion following the hyphen. So, version 2.5.0-alpha is less than 2.5.0-beta, which is less than 2.5.0-gamma.
If two modules have the same ModuleVersion, and only one has a Prerelease string, the module without the Prerelease string is assumed to be the production-ready version and will be sorted as a greater version than the prerelease version (which includes the Prerelease string).
As an example, when comparing releases 2.5.0 and 2.5.0-beta, the 2.5.0 version will be considered the greater of the two.

When publishing to the PowerShell Gallery, by default the version of the module being published must have a greater version than any previously-published version that is in the PowerShell Gallery.

## Finding and acquiring prerelease items using PowerShellGet commands

Dealing with prerelease items 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.

The only exceptions to this in the PowerShellGet module commands are Get-InstalledModule, and some cases with Uninstall-Module.

* Get-InstalledModule always will automatically show the prerelease information in the version string for modules.
* Uninstall-Module will by default uninstall the most recent version of a module, if __no version__ is specified. That behavior has not changed. However, if a prerelease version is specified using -RequiredVersion, -AllowPrerelease will be required.

## Examples
```powershell
# Assume the PowerShell Gallery has TestPackage module versions 1.8.0 and 1.9.0-alpha. If -AllowPrerelease is not specified, only version 1.8.0 will be returned.
C:\windows\system32> find-module TestPackage

Version Name Repository Description
------- ---- ---------- -----------
1.8.0 TestPackage PSGallery Package used to validate changes to the PowerShe...

C:\windows\system32> find-module TestPackage -AllowPrerelease

Version Name Repository Description
------- ---- ---------- -----------
1.9.0-alpha TestPackage PSGallery Package used to validate changes to the PowerShe...

# To install a prerelease, always specify -AllowPrerelease. Specifying a prerelease version string is not sufficient.

C:\windows\system32> Install-module TestPackage -RequiredVersion 1.9.0-alpha
PackageManagement\Find-Package : No match was found for the specified search criteria and module name 'TestPackage'.
Try Get-PSRepository to see all available registered module repositories.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.6.0\PSModule.psm1:1455 char:3
+ PackageManagement\Find-Package @PSBoundParameters | Microsoft ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power...ets.FindPackage:FindPackage) [Find-Package], Exceptio
n
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage

# The previous command failed because -AllowPrerelease was not specified.
# Adding -AllowPrerelease will result in success.

C:\windows\system32> Install-module TestPackage -RequiredVersion 1.9.0-alpha -AllowPrerelease
C:\windows\system32> Get-InstalledModule TestPackage

Version Name Repository Description
------- ---- ---------- -----------
1.9.0-alpha TestPackage PSGallery Package used to validate changes to the PowerShe...

```

Side-by-side installation of versions of a module that differ only due to the prerelease specified is not supported.
When installing a module using PowerShellGet, different versions of the same module are installed side-by-side by creating a folder name using the ModuleVersion.
The ModuleVersion, without the prerelease string, is used for the folder name.
If a user installs MyModule version 2.5.0-alpha, it will be installed to the MyModule\2.5.0 folder.
If the user then installs 2.5.0-beta, the 2.5.0-beta version will __over-write__ the contents of the folder MyModule\2.5.0.
One advantage to this approach is that there is no need to un-install the prerelease version after installing the production-ready version.
The example below shows what to expect:


``` powershell
C:\windows\system32> Get-InstalledModule TestPackage -AllVersions

Version Name Repository Description
------- ---- ---------- -----------
1.9.0-alpha TestPackage PSGallery Package used to validate changes to the PowerShe...
1.8.0 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.1.3.2 TestPackage PSGallery Package used to validate changes to the PowerShe...

C:\windows\system32> find-module TestPackage -AllowPrerelease

Version Name Repository Description
------- ---- ---------- -----------
1.9.0-beta TestPackage PSGallery Package used to validate changes to the PowerShe...

C:\windows\system32> Update-Module TestPackage -AllowPrerelease
C:\windows\system32> Get-InstalledModule TestPackage -AllVersions

Version Name Repository Description
------- ---- ---------- -----------
1.9.0-beta TestPackage PSGallery Package used to validate changes to the PowerShe...
1.8.0 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.1.3.2 TestPackage PSGallery Package used to validate changes to the PowerShe...

```

Uninstall-Module will remove the latest version of a module when -RequiredVersion is not supplied.
If -RequiredVersion is specified, and is a prerelease, -AllowPrerelease must be added to the command.

``` powershell
C:\windows\system32> Get-InstalledModule TestPackage -AllVersions

Version Name Repository Description
------- ---- ---------- -----------
2.0.0-alpha1 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.9.0-beta TestPackage PSGallery Package used to validate changes to the PowerShe...
1.8.0 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.1.3.2 TestPackage PSGallery Package used to validate changes to the PowerShe...

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
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Uninstall-Module], ArgumentException
+ FullyQualifiedErrorId : AllowPrereleaseRequiredToUsePrereleaseStringInVersion,Uninnstall-Module



C:\windows\system32> Uninstall-Module TestPackage -RequiredVersion 1.9.0-beta -AllowPrerelease
C:\windows\system32> Get-InstalledModule TestPackage -AllVersions

Version Name Repository Description
------- ---- ---------- -----------
2.0.0-alpha1 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.8.0 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.1.3.2 TestPackage PSGallery Package used to validate changes to the PowerShe...

C:\windows\system32> Uninstall-Module TestPackage
C:\windows\system32> Get-InstalledModule TestPackage -AllVersions

Version Name Repository Description
------- ---- ---------- -----------
1.8.0 TestPackage PSGallery Package used to validate changes to the PowerShe...
1.1.3.2 TestPackage PSGallery Package used to validate changes to the PowerShe...


```



## More details
### [Prerelease Script Versions](../script/PrereleaseScript.md)
### [Find-Module](./psget_find-module.md)
### [Install-Module](./psget_install-module.md)
### [Save-Module](./psget_save-module.md)
### [Update-Module](./psget_update-module.md)
### [Get-InstalledModule](./psget_get-installedmodule.md)
### [UnInstall-Module](./psget_uninstall-module.md)
3 changes: 3 additions & 0 deletions gallery/psget/module/psget_find-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ Find-Module -Name PSReadline -MinimumVersion 1.0.0.12 -MaximumVersion 1.0.0.13
# Find a module with exact version
Find-Module -Name AzureRM -RequiredVersion 1.3.2

# Find a module with a specific prerelease version
Find-Module -Name AzureRM -RequiredVersion 1.3.2-alpha -AllowPrerelease

# Find a module from the specified repository
Find-Module -Name Contoso -Repository MyLocalRepo

Expand Down
6 changes: 6 additions & 0 deletions gallery/psget/module/psget_install-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,12 @@ Install-Module -Name ContosoServer -MinimumVersion 1.0
# Install a specific version of a module
Install-Module -Name ContosoServer -RequiredVersion 1.1.3

# Install a specific prerelease version of a module
Install-Module -Name ContosoServer -RequiredVersion 1.1.3-alpha -AllowPrerelease

# Install the latest version of a module by name, including prelrelease versions if one exists
Install-Module -Name ContosoServer -AllowPrerelease

# Install the latest version of a module to $home\Documents\WindowsPowerShell\Modules.
Install-Module -Name ContosoServer -Scope CurrentUser

Expand Down
9 changes: 9 additions & 0 deletions gallery/psget/module/psget_save-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,14 @@ Find-Command -Name "Get-NestedRequiredModule4" -Repository "INT" | Save-Module -
# Save the role capability modules by piping the Find-RoleCapability output to Save-Module cmdlet.
Find-RoleCapability -Name Maintenance,MyJeaRole | Save-Module -Path C:\MyModulesPath


# Save a specific prerelease version of a module to C:\MySavedModuleLocation
Save-Module -Name ContosoServer -RequiredVersion 1.1.3-alpha -Path C:\MySavedModuleLocation -AllowPrerelease

# Install the latest version of a module by name, including prelrelease versions if one exists
Install-Module -Name ContosoServer -Path C:\MySavedModuleLocation -AllowPrerelease



```

Loading