Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f6e8e3b
Fixed Example 2, and general cleanup.
invalid-email-address Mar 30, 2018
0f79b2c
Fixed Example 2, and general cleanup.
invalid-email-address Mar 30, 2018
b559da2
Fixed Example 2, and general cleanup.
invalid-email-address Mar 30, 2018
859aa33
Merge pull request #2286 from bobbytreed/btr-convertfromjson
Mar 31, 2018
2ba51e5
PSGallery GDPR documentation (#2287)
Mar 31, 2018
ea1a556
Updating Pull Server info
DCtheGeek Apr 4, 2018
1051a44
add stub topic for PowerShell Core on ARM (#2301)
joeyaiello Apr 5, 2018
b2d65c5
Merge pull request #2300 from DCtheGeek/dmc-pullserver
joeyaiello Apr 5, 2018
4feb496
Update AutoRemoveJob in Receive-Job.md (#2317)
matt9ucci Apr 9, 2018
ea0c787
Add link on about_Scopes to about_Scopes.md #2309 (#2314)
kiazhi Apr 9, 2018
9ca8eb0
Add link on about_Scopes to about_Scopes.md #2309 (#2313)
kiazhi Apr 9, 2018
6ad47eb
Add link on about_Scopes to about_Scopes.md #2309 (#2312)
kiazhi Apr 9, 2018
58baf57
Add link on about_Scopes to about_Scopes.md #2309 (#2311)
kiazhi Apr 9, 2018
45cff99
Add link on about_Scopes to about_Scopes.md #2309 (#2310)
kiazhi Apr 9, 2018
47fff6d
Fix typos in about_Comment_Based_Help.md (#2305)
sethvs Apr 9, 2018
1630203
Incorrectly documents -credential parameter (#2304)
DarwinJS Apr 9, 2018
1c458f9
Improve wording for -UseBasicParsing (#2303)
jawn Apr 9, 2018
9b739ea
C14191: Possible content blocked for localization (#2299)
carolinacmoravia Apr 9, 2018
1347930
Update Install-Script.md (#2296)
michha Apr 9, 2018
d04b3cb
Ensure should be "Present" or "Absent" (#2295)
VertigoRay Apr 9, 2018
d4e4a43
Update MacOS instructions to use brew cask upgrade (#2290)
bcdady Apr 9, 2018
ec587a8
Update Protect-CmsMessage.md (#2291)
athaynes Apr 9, 2018
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
8 changes: 6 additions & 2 deletions dsc/pullClient.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@ ms.topic: conceptual
keywords: dsc,powershell,configuration,setup
title: Setting up a DSC pull client
---

# Setting up a DSC pull client

> 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 or file location where it can contact the pull server to get configurations and resources, and where it should send report data.
> [!IMPORTANT]
> The Pull Server (Windows Feature *DSC-Service*) will be deprecated in a future version of Windows Server. 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 or file location where it can contact the pull server to get configurations and resources, and where it should send report data.

The following topics explain how to set up pull clients:

Expand Down
7 changes: 6 additions & 1 deletion dsc/pullClientConfigID.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ ms.topic: conceptual
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*) will be deprecated in a future version of Windows Server. 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)
Expand Down
7 changes: 6 additions & 1 deletion dsc/pullClientConfigNames.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ ms.topic: conceptual
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*) will be deprecated in a future version of Windows Server. 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.
Expand Down
214 changes: 122 additions & 92 deletions dsc/pullServer.md

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion dsc/pullServerSMB.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ ms.topic: conceptual
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*) will be deprecated in a future version of Windows Server. 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](https://technet.microsoft.com/library/hh831795.aspx) 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.

Expand Down
4 changes: 2 additions & 2 deletions dsc/registryResource.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Registry [string] #ResourceName
{
Key = [string]
ValueName = [string]
[ Ensure = [string] { Enable | Disable } ]
[ Ensure = [string] { Present | Absent } ]
[ Force = [bool] ]
[ Hex = [bool] ]
[ DependsOn = [string[]] ]
Expand Down Expand Up @@ -71,4 +71,4 @@ Configuration RegistryTest
```

>**Note:** 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)
>You can use the **PsDscRunAsCredential** property to specify user credentials for the configuration. For an example, see [Running DSC with user credentials](runAsUser.md)
7 changes: 6 additions & 1 deletion dsc/reportServer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ ms.topic: conceptual
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*) will be deprecated in a future version of Windows Server. 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
Expand Down
7 changes: 6 additions & 1 deletion dsc/secureServer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ ms.topic: conceptual
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*) will be deprecated in a future version of Windows Server. 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.

Expand Down
2 changes: 2 additions & 0 deletions gallery/TOC.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@
href: psgallery/psgallery_requires_license_acceptance.md
- name: Require License Acceptance on Deploy to Azure Automation
href: psgallery/psgallery_deploy_to_azure_automation_requireLicenseAcceptance.md
- name: PowerShell Gallery GDPR Compliance
href: psgallery/psgallery_gdpr_dsr.md
- name: PowerShellGet
href: psget/overview.md
items:
Expand Down
90 changes: 90 additions & 0 deletions gallery/psgallery/psgallery_gdpr_dsr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
ms.date: 03/27/2018
contributor: JKeithB
ms.topic: conceptual
keywords: gallery,powershell,psgallery,GDPR
title: PowerShell Gallery GDPR Compliance
---

# PowerShell Gallery GDPR Compliance

## Overview

In May 2018, a European privacy law, the General Data Protection Regulation (GDPR), will take 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. The GDPR applies no matter where you are located.

Microsoft products and services are available today to help you meet the GDPR requirements.
Read more about Microsoft Privacy policy at [Trust Center](https://www.microsoft.com/trustcenter).

The PowerShell Gallery meets GDPR requirements.

The Powershell Gallery stores the following information that may be provided by users, which may contain personal information:

* PowerShell Gallery account
* Items published to the PowerShell Gallery
* Email correspondence with the PowerShell Gallery team

Most users do not create a PowerShell Gallery account, as it is not required unless the user is going to publish an item, or use the "Contact Owner" feature in the PowerShell Gallery.
The PowerShell Gallery does not store EUII data for users who have not created a PowerShell Gallery account, other than email correspondence initiated by the user.

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.


## DSR Export of PowerShell Gallery Data

The following sections describe the PowerShell Gallery supports a GDPR Data Subject Request (DSR) by explaining how to export information stored in the PowerShell Gallery, and how to request deletion of this information.

__Email__

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 by anyone to the PowerShell Gallery team using the email address in the "Contact Us" page (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

Emails sent by or to the PowerShell Gallery have a retention policy of 90 days, in order to support possible security investigations should malicious code be discovered on the PowerShell Gallery.
Emails are deleted by policy after 90 days.

Users may request copies of all emails that sent within the previous 90 days to or from the PowerShell Gallery to their email account. This can be done by sending an email to cgadmin@microsoft.com, with the title: "DSR Request for emails relating to this account", and stating in the body what they are seeking (for example: Please send all emails sent to or received from this email address that you currently have.) All emails involving that email address within 90 days of the request will be sent to the requesting email account within 7 business days.


__PowerShell Gallery Account Information__

If you have created a PowerShell Gallery account, you can find all personal information that has been stored in PowerShell Gallery by taking the following steps:

1. Sign in to the PowerShell Gallery, then click on your username
2. The next page displayed is the Account page, which shows the email address used for the PowerShell Gallery account

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__

To facilitate exporting all versions of all items published to the PowerShell Gallery by an user, users may download the script "GetPSGalleryItemsForAuthor" from the PowerShell Gallery, or from https://github.com/powershell/powershellgallery. This script will export a copy of every version of every item put onto the PowerShell Gallery based on the author information stored in the item. It is important to note that the Author is stored in the item manifest when you publish your item,and is not guaranteed to be the same 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.

You may download the script by using the following PowerShell command:

```powershell
Save-Script GetPSGalleryItemsForAuthor -path <local folder location> -repository psgallery
```


You can then run the script directly, by running the following PowerShell commands:

```powershell
cd <local folder location supplied previously>
.\GetPSGalleryItemsForAuthor.ps1
```

You will be prompted to supply the Author and a folder on your system where you want the items to be saved.

## Deleting Personal Data From The PowerShell Gallery

Users who wish to delete either their PowerShell Gallery account or an item in the PowerShell Gallery must send email to cgadmin with the title: "GDPR Request for items relating to this account", and stating in the body what they are seeking, for example:

* Please delete version x.y.z of my item "item name" _or_
* Please delete all versions of my item "item name" _or_
* Please delete my PowerShell Gallery account

The PowerShell Gallery administrators will reply to the email within 7 business days, and items specified will be deleted within 30 days after the request is sent.

Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ or

```powershell
<#
.< help keyword>
< help content>
.<help keyword>
<help content>
#>
function Get-Function { }
```
Expand All @@ -138,7 +138,7 @@ locations in the script.
- At the beginning of the script file. Script help can be preceded in the
script only by comments and blank lines.

- If the first item in the script body (after the help) is a function
If the first item in the script body (after the help) is a function
declaration, there must be at least two blank lines between the end of the
script help and the function declaration. Otherwise, the help is interpreted
as being help for the function, not help for the script.
Expand All @@ -155,6 +155,7 @@ For example:
<help content>
#>


function Get-Function { }
```

Expand All @@ -164,8 +165,8 @@ or
function Get-Function { }

<#
.< help keyword>
< help content>
.<help keyword>
<help content>
#>
```

Expand All @@ -180,11 +181,10 @@ XML-based help files for the functions in a script module, you must add an
"ExternalHelp" comment to each function.

```powershell
.ExternalHelp <XML-file-name>
# .ExternalHelp <XML-file-name>
function <function-name>
{
# ...

...
}
```

Expand Down
2 changes: 2 additions & 0 deletions reference/3.0/Microsoft.PowerShell.Core/Receive-Job.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,8 @@ If the job has more results, the job is still deleted, but **Receive-Job** displ
This parameter works only on custom job types.
It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.

This parameter cannot be used without the **Wait** parameter.

This parameter is introduced in Windows PowerShell 3.0.

```yaml
Expand Down
40 changes: 29 additions & 11 deletions reference/3.0/Microsoft.PowerShell.Utility/ConvertFrom-Json.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,31 @@ online version: http://go.microsoft.com/fwlink/?LinkID=217031
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
title: ConvertFrom-Json
---

# ConvertFrom-Json

## SYNOPSIS

Converts a JSON-formatted string to a custom object.

## SYNTAX

```
ConvertFrom-Json [-InputObject] <String> [<CommonParameters>]
```

## DESCRIPTION

The **ConvertFrom-Json** cmdlet converts a JSON-formatted string to a custom object (PSCustomObject) that has a property for each field in the JSON string.
JSON is commonly used by web sites to provide a textual representation of objects.

To generate a JSON string from any object, use the **ConvertTo-Json** cmdlet.

This cmdlet is introduced in Windows PowerShell 3.0.
This cmdlet is introduced in PowerShell 3.0.

## EXAMPLES

### Example 1

```
PS C:\> Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json

Expand Down Expand Up @@ -65,29 +70,37 @@ This command uses the ConvertTo-Json and **ConvertFrom-Json** cmdlets to convert

The command uses the Select-Object cmdlet to get all of the properties of the **DateTime** object.
It uses the **ConvertTo-Json** cmdlet to convert the **DateTime** object to a JSON-formatted string and the **ConvertFrom-Json** cmdlet to convert the JSON-formatted string to a JSON object..
### Example 2
```
PS C:\> $j = Invoke-WebRequest -Uri http://search.twitter.com/search.json?q=PowerShell | ConvertFrom-Json

### Example 2: Get JSON strings from a web service and convert them to PowerShell objects

```powershell
# Ensures that Invoke-WebRequest uses TLS 1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$j = Invoke-WebRequest 'https://api.github.com/repos/PowerShell/PowerShell/issues' | ConvertFrom-Json
```

This command uses the Invoke-WebRequest cmdlet to get JSON strings from a web service and then it uses the **ConvertFrom-Json** cmdlet to convert JSON content to objects that can be managed in Windows PowerShell.
This command uses the Invoke-WebRequest cmdlet to get JSON strings from a web service and then it uses the **ConvertFrom-Json** cmdlet to convert JSON content to objects that can be managed in PowerShell.

You can also use the Invoke-RestMethod cmdlet, which automatically converts JSON content to objects.
### Example 3
```
PS C:\> (Get-Content JsonFile.JSON) -join "`n" | ConvertFrom-Json

### Example 3: Convert a JSON string to a custom object

```powershell
(Get-Content JsonFile.JSON) -join '`n' | ConvertFrom-Json
```

This example shows how to use the **ConvertFrom-Json** cmdlet to convert a JSON file to a Windows PowerShell custom object.
This example shows how to use the **ConvertFrom-Json** cmdlet to convert a JSON file to a PowerShell custom object.

The command uses Get-Content cmdlet to get the strings in a JSON file.
It uses the Join operator to join the strings in the file into a single string that is delimited by newline characters (\`n).
Then it uses the pipeline operator to send the delimited string to the **ConvertFrom-Json** cmdlet, which converts it to a custom object.

The Join operator is required, because the **ConvertFrom-Json** cmdlet expects a single string.

## PARAMETERS

### -InputObject

Specifies the JSON strings to convert to JSON objects.
Enter a variable that contains the string, or type a command or expression that gets the string.
You can also pipe a string to **ConvertFrom-Json**.
Expand All @@ -109,17 +122,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).

## INPUTS

### System.String

You can pipe a JSON string to **ConvertFrom-Json**.

## OUTPUTS

### PSCustomObject

## NOTES
* The **ConvertFrom-Json** cmdlet is implemented by using the [JavaScriptSerializer class](https://msdn.microsoft.com/library/system.web.script.serialization.javascriptserializer).

- The **ConvertFrom-Json** cmdlet is implemented by using the [JavaScriptSerializer class](https://msdn.microsoft.com/library/system.web.script.serialization.javascriptserializer).

## RELATED LINKS

Expand Down
Loading