Resolved merge conflict
@ -6503,7 +6503,7 @@
|
||||
{
|
||||
"source_path": "store-for-business/app-inventory-management-windows-store-for-business.md",
|
||||
"redirect_url": "/microsoft-store/app-inventory-management-microsoft-store-for-business",
|
||||
"redirect_document_id": true
|
||||
"redirect_document_id": false
|
||||
},
|
||||
{
|
||||
"source_path": "windows/manage/application-development-for-windows-as-a-service.md",
|
||||
|
@ -10,15 +10,25 @@
|
||||
## [Enroll HoloLens in MDM](hololens-enroll-mdm.md)
|
||||
## [Manage updates to HoloLens](hololens-updates.md)
|
||||
## [Restore HoloLens 2 using Advanced Recovery Companion](hololens-recovery.md)
|
||||
## [Use the HoloLens Clicker](hololens-clicker.md)
|
||||
## [Restart, reset, or recover the HoloLens](hololens-restart-recover.md)
|
||||
## [Restart or recover the HoloLens clicker](hololens-clicker-restart-recover.md)
|
||||
|
||||
# Application Management
|
||||
## [Install apps on HoloLens](hololens-install-apps.md)
|
||||
## [Share HoloLens with multiple people](hololens-multiple-users.md)
|
||||
## [Cortana on HoloLens](hololens-cortana.md)
|
||||
## [Get apps for HoloLens](hololens-get-apps.md)
|
||||
## [Use apps on HoloLens](hololens-use-apps.md)
|
||||
## [Use HoloLens offline](hololens-offline.md)
|
||||
## [Spaces on HoloLens](hololens-spaces-on-hololens.md)
|
||||
|
||||
# User/Access Management
|
||||
## [Set up single application access](hololens-kiosk.md)
|
||||
## [Enable Bitlocker device encryption for HoloLens](hololens-encryption.md)
|
||||
## [How HoloLens stores data for spaces](hololens-spaces.md)
|
||||
## [Find and save files](hololens-find-and-save-files.md)
|
||||
|
||||
# [Insider preview for Microsoft HoloLens](hololens-insider.md)
|
||||
# [Change history for Microsoft HoloLens documentation](change-history-hololens.md)
|
||||
# [Change history for Microsoft HoloLens documentation](change-history-hololens.md)
|
||||
|
||||
|
47
devices/hololens/hololens-clicker-restart-recover.md
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
title: Restart or recover the HoloLens clicker
|
||||
description: Things to try if the HoloLens clicker is unresponsive or isn’t working well.
|
||||
ms.assetid: 13406eca-e2c6-4cfc-8ace-426ff8f837f4
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Restart or recover the HoloLens clicker
|
||||
|
||||
Here are some things to try if the HoloLens clicker is unresponsive or isn’t working well.
|
||||
|
||||
## Restart the clicker
|
||||
|
||||
Use the tip of a pen to press and hold the [pairing button](https://support.microsoft.com/en-us/help/12646).
|
||||
|
||||

|
||||
|
||||
At the same time, click and hold the clicker for 15 seconds. If the clicker was already paired with your HoloLens, it will stay paired after it restarts.
|
||||
|
||||

|
||||
|
||||
If the clicker won't turn on or restart, try charging it using the HoloLens charger. If the battery is very low, it might take a few minutes for the white indicator light to turn on.
|
||||
|
||||
## Re-pair the clicker
|
||||
|
||||
Go to Settings > Devices and select the clicker. Select Remove, wait a few seconds, then pair the clicker again.
|
||||
|
||||
## Recover the clicker
|
||||
|
||||
If restarting and re-pairing the clicker don’t fix the problem, the Windows Device Recovery Tool can help you recover it. The recovery process may take some time, and the latest version of the clicker software will be installed. To use the tool, you’ll need a computer running Windows 10 or later with at least 4 GB of free storage space.
|
||||
|
||||
To recover the clicker:
|
||||
|
||||
1. Download and install the [Windows Device Recovery Tool](https://dev.azure.com/ContentIdea/ContentIdea/_queries/query/8a004dbe-73f8-4a32-94bc-368fc2f2a895/) on your computer.
|
||||
1. Connect the clicker to your computer using the Micro USB cable that came with your HoloLens.
|
||||
1. Run the Windows Device Recovery Tool and follow the instructions.
|
||||
|
||||
If the clicker isn’t automatically detected, select **My device was not detected** and follow the instructions to put your device into recovery mode.
|
65
devices/hololens/hololens-clicker.md
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
title: Use the HoloLens Clicker
|
||||
description:
|
||||
ms.assetid: 7d4a30fd-cf1d-4c9a-8eb1-1968ccecbe59
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Use the HoloLens Clicker
|
||||
|
||||
The clicker was designed specifically for HoloLens and gives you another way to interact with holograms. It comes with HoloLens, in a separate box. Use it in place of hand gestures to select, scroll, move, and resize.
|
||||
|
||||

|
||||
|
||||
## Hold the clicker
|
||||
|
||||
To put on the clicker, slide the loop over your ring or middle finger with the Micro USB port toward your wrist. Rest your thumb in the indentation.
|
||||
|
||||

|
||||
|
||||
## Clicker gestures
|
||||
|
||||
Clicker gestures are small wrist rotations, not the larger movements used for HoloLens hand gestures. And HoloLens will recognize your gestures and clicks even if the clicker is outside the [gesture frame](https://support.microsoft.com/help/12644), so you can hold the clicker in the position that's most comfortable for you.
|
||||
|
||||
- **Select**. To select a hologram, button, or other element, gaze at it, then click.
|
||||
|
||||
- **Click and hold**. Click and hold your thumb down on the button to do some of the same things you would with tap and hold, like move or resize a hologram.
|
||||
|
||||
- **Scroll**. On the app bar, select **Scroll Tool**. Click and hold, then rotate the clicker up, down, left, or right. To scroll faster, move your hand farther from the center of the scroll tool.
|
||||
|
||||
- **Zoom**. On the app bar, select **Zoom Tool**. Click and hold, then rotate the clicker up to zoom in, or down to zoom out.
|
||||
|
||||
>[!TIP]
|
||||
>In Microsoft Edge, gaze at a page and double-click to zoom in or out.
|
||||
|
||||
## Pair and charge the clicker
|
||||
|
||||
To pair the clicker with your HoloLens, see [Pair Bluetooth devices](https://support.microsoft.com/help/12636).
|
||||
|
||||
When the clicker battery is low, the battery indicator will blink amber. Plug the Micro USB cable into a USB power supply to charge the device.
|
||||
|
||||
## Indicator lights
|
||||
|
||||
Here's what the lights on the clicker mean.
|
||||
|
||||
- **Blinking white**. The clicker is in pairing mode.
|
||||
|
||||
- **Fast-blinking white**. Pairing was successful.
|
||||
|
||||
- **Solid white**. The clicker is charging.
|
||||
|
||||
- **Blinking amber**. The battery is low.
|
||||
|
||||
- **Solid amber**. The clicker ran into an error and you'll need to restart it. While pressing the pairing button, click and hold for 15 seconds.
|
||||
|
||||
>[!NOTE]
|
||||
>If the clicker doesn't respond or won't start, see [Restart or recover the HoloLens clicker](https://support.microsoft.com/help/15555/hololens-restart-or-recover-the-hololens-clicker).
|
50
devices/hololens/hololens-cortana.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
title: Cortana on HoloLens
|
||||
description: Cortana can help you do all kinds of things on your HoloLens
|
||||
ms.assetid: fd96fb0e-6759-4dbe-be1f-58bedad66fed
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Cortana on HoloLens
|
||||
|
||||
Cortana can help you do all kinds of things on your HoloLens, from searching the web to shutting down your device. To get her attention, select Cortana on Start or say "Hey Cortana" anytime.
|
||||
|
||||

|
||||
|
||||
## What do I say to Cortana
|
||||
|
||||
Here are some things you can try saying (remember to say "Hey Cortana" first):
|
||||
|
||||
- What can I say?
|
||||
- Increase the volume.
|
||||
- Decrease the brightness.
|
||||
- Shut down.
|
||||
- Restart.
|
||||
- Go to sleep.
|
||||
- Mute.
|
||||
- Launch <app name>.
|
||||
- Move <app name> here (gaze at the spot you want the app to move to).
|
||||
- Go to Start.
|
||||
- Take a picture.
|
||||
- Start recording. (Starts recording a video.)
|
||||
- Stop recording. (Stops recording a video.)
|
||||
- Call <contact>. (Requires Skype.)
|
||||
- What time is it?
|
||||
- Show me the latest NBA scores.
|
||||
- How much battery do I have left?
|
||||
- Tell me a joke.
|
||||
|
||||
>[!NOTE]
|
||||
>- Some Cortana features you're used to from Windows on your PC or phone (for example, reminders and notifications) aren't supported in Microsoft HoloLens Development Edition. Cortana on HoloLens is English only, and the Cortana experience may vary among regions.
|
||||
>- Cortana is on the first time you use HoloLens. You can turn her off in Cortana's settings. In the All apps list, select Cortana > Settings. Then turn off Cortana can give you suggestions, ideas, reminders, alerts, and more.
|
||||
>- If Cortana isn't responding to "Hey Cortana," go to Cortana's settings and check to make sure she's on.
|
||||
>- If you turn Cortana off, "Hey Cortana" voice commands won't be available, but you'll still be able to use other commands (like "Select" and "Place").
|
44
devices/hololens/hololens-find-and-save-files.md
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Find and save files on HoloLens
|
||||
description: Use File Explorer on HoloLens to view and manage files on your device
|
||||
ms.assetid: 77d2e357-f65f-43c8-b62f-6cd9bf37070a
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Find and save files on HoloLens
|
||||
|
||||
Files you create on HoloLens, including Office documents, photos, and videos, are saved to your HoloLens. To view and manage them, you can use the File Explorer app on HoloLens or File Explorer on your PC. To sync photos and other files to the cloud, use the OneDrive app on HoloLens.
|
||||
|
||||
## View files on HoloLens
|
||||
|
||||
Use File Explorer on HoloLens to view and manage files on your device, including 3D objects, documents, and pictures. Go to Start > All apps > File Explorer on HoloLens to get started.
|
||||
|
||||
>[!TIP]
|
||||
>If there are no files listed in File Explorer, select **This Device** in the top left pane.
|
||||
|
||||
## View HoloLens files on your PC
|
||||
|
||||
To see your HoloLens files in File Explorer on your PC:
|
||||
|
||||
1. Sign in to HoloLens, then plug it into the PC using the USB cable that came with the HoloLens.
|
||||
|
||||
1. Select **Open Device to view files with File Explorer**, or open File Explorer on the PC and navigate to the device.
|
||||
|
||||
>[!TIP]
|
||||
>To see info about your HoloLens, right-click the device name in File Explorer on your PC, then select **Properties**.
|
||||
|
||||
## Sync to the cloud
|
||||
|
||||
To sync photos and other files from your HoloLens to the cloud, install and set up OneDrive on HoloLens. To get OneDrive, search for it in the Microsoft Store on your HoloLens.
|
||||
|
||||
>[!TIP]
|
||||
>HoloLens doesn't back up app files and data, so it's a good idea to save your important stuff to OneDrive. That way, if you reset your device or uninstall an app, your info will be backed up.
|
37
devices/hololens/hololens-get-apps.md
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
title: Get apps for HoloLens
|
||||
description: The Microsoft Store is your source for apps and games that work with HoloLens.
|
||||
ms.assetid: cbe9aa3a-884f-4a92-bf54-8d4917bc3435
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Get apps for HoloLens
|
||||
|
||||
The Microsoft Store is your source for apps and games that work with HoloLens. When you go to the Store on your HoloLens, any apps you see there will run on it.
|
||||
|
||||
Apps on HoloLens use either 2D view or holographic view. Apps with 2D view look like windows and can be positioned all around you. Apps that use holographic view surround you and become the only app you see.
|
||||
|
||||
## Get apps
|
||||
|
||||
Open the Microsoft Store from the Start menu. Then browse for apps and games (or use your voice to search), select the microphone on the HoloLens keyboard, and start talking.
|
||||
|
||||
To download apps, you'll need to be signed in with a Microsoft account. To buy them, you'll need a payment method associated with the Microsoft account you use on your HoloLens. To set up a payment method, go to [account.microsoft.com](http://account.microsoft.com/) and select **Payment & billing** > **Payment options** > **Add a payment option**.
|
||||
|
||||
## Find your apps
|
||||
|
||||
Once you've installed an app, you'll find it in the All apps list (Start > All apps ). Keep apps handy by [pinning them to Start](https://support.microsoft.com/help/12638).
|
||||
|
||||
App updates are automatic, and they're free.
|
||||
|
||||
>[!NOTE]
|
||||
>- To purchase apps in the Store, the billing address for your payment method must match the country or region your HoloLens is set to.
|
||||
>- Some apps may not be available in all countries and regions.
|
@ -16,9 +16,6 @@ manager: dansimp
|
||||
|
||||
Welcome to the latest Insider Preview builds for HoloLens! It’s simple to get started and provide valuable feedback for our next major operating system update for HoloLens.
|
||||
|
||||
|
||||
|
||||
<span id="get-insider" />
|
||||
## How do I install the Insider builds?
|
||||
|
||||
On a device running the Windows 10 April 2018 Update, go to <strong>Settings -> Update & Security -> Windows Insider Program</strong> and select <strong>Get started</strong>. Link the account you used to register as a Windows Insider.
|
||||
|
@ -16,7 +16,7 @@ manager: dansimp
|
||||
|
||||
|
||||
|
||||
In Windows 10, version 1803, you can configure your HoloLens devices to run as multi-app or single-app kiosks. You can also configure guest access for a HoloLens kiosk device by [designating a SpecialGroup account in your XML file.](#guest)
|
||||
In Windows 10, version 1803, you can configure your HoloLens devices to run as multi-app or single-app kiosks. You can also configure guest access for a HoloLens kiosk device by [designating a SpecialGroup account in your XML file.](#add-guest-access-to-the-kiosk-configuration-optional)
|
||||
|
||||
When HoloLens is configured as a multi-app kiosk, only the allowed apps are available to the user. The benefit of a multi-app kiosk, or fixed-purpose device, is to provide an easy-to-understand experience for individuals by putting in front of them only the things they need to use, and removing from their view the things they don’t need to access.
|
||||
|
||||
@ -40,21 +40,19 @@ The [AssignedAccess Configuration Service Provider (CSP)](https://docs.microsoft
|
||||
>Be aware that voice commands are enabled for kiosk mode configured in Microsoft Intune or provisioning packages, even if the Cortana app is not selected as a kiosk app.
|
||||
|
||||
For HoloLens devices running Windows 10, version 1803, there are three methods that you can use to configure the device as a kiosk:
|
||||
- You can use [Microsoft Intune or other mobile device management (MDM) service](#intune-kiosk) to configure single-app and multi-app kiosks.
|
||||
- You can [use a provisioning package](#ppkg-kiosk) to configure single-app and multi-app kiosks.
|
||||
- You can [use the Windows Device Portal](#portal-kiosk) to configure single-app kiosks. This method is recommended only for demonstrations, as it requires that developer mode be enabled on the device.
|
||||
- You can use [Microsoft Intune or other mobile device management (MDM) service](#set-up-kiosk-mode-using-microsoft-intune-or-mdm-windows-10-version-1803) to configure single-app and multi-app kiosks.
|
||||
- You can [use a provisioning package](#setup-kiosk-mode-using-a-provisioning-package-windows-10-version-1803) to configure single-app and multi-app kiosks.
|
||||
- You can [use the Windows Device Portal](#set-up-kiosk-mode-using-the-windows-device-portal-windows-10-version-1607-and-version-1803) to configure single-app kiosks. This method is recommended only for demonstrations, as it requires that developer mode be enabled on the device.
|
||||
|
||||
For HoloLens devices running Windows 10, version 1607, you can [use the Windows Device Portal](#portal-kiosk) to configure single-app kiosks.
|
||||
For HoloLens devices running Windows 10, version 1607, you can [use the Windows Device Portal](#set-up-kiosk-mode-using-the-windows-device-portal-windows-10-version-1607-and-version-1803) to configure single-app kiosks.
|
||||
|
||||
<span id="start-kiosk"/>
|
||||
## Start layout for HoloLens
|
||||
## Start layout for HoloLens
|
||||
|
||||
If you use [MDM, Microsoft Intune](#intune-kiosk), or a [provisioning package](#ppkg-kiosk) to configure a multi-app kiosk, the procedure requires a Start layout. Start layout customization isn't supported in Holographic for Business, so you'll need to use a placeholder Start layout.
|
||||
If you use [MDM, Microsoft Intune](#set-up-kiosk-mode-using-microsoft-intune-or-mdm-windows-10-version-1803), or a [provisioning package](#setup-kiosk-mode-using-a-provisioning-package-windows-10-version-1803) to configure a multi-app kiosk, the procedure requires a Start layout. Start layout customization isn't supported in Holographic for Business, so you'll need to use a placeholder Start layout.
|
||||
|
||||
>[!NOTE]
|
||||
>Because a single-app kiosk launches the kiosk app when a user signs in, there is no Start screen displayed.
|
||||
|
||||
<span id="start-layout-file-for-intune" />
|
||||
### Start layout file for MDM (Intune and others)
|
||||
|
||||
Save the following sample as an XML file. You will select this file when you configure the kiosk in Microsoft Intune (or in another MDM service that provides a kiosk profile).
|
||||
@ -80,7 +78,7 @@ Save the following sample as an XML file. You will select this file when you con
|
||||
|
||||
### Start layout for a provisioning package
|
||||
|
||||
You will [create an XML file](#ppkg-kiosk) to define the kiosk configuration to be included in a provisioning package. Use the following sample in the `StartLayout` section of your XML file.
|
||||
You will [create an XML file](#setup-kiosk-mode-using-a-provisioning-package-windows-10-version-1803) to define the kiosk configuration to be included in a provisioning package. Use the following sample in the `StartLayout` section of your XML file.
|
||||
|
||||
```xml
|
||||
<!-- This section is required for parity with Desktop Assigned Access. It is not currently used on HoloLens -->
|
||||
@ -100,34 +98,28 @@ You will [create an XML file](#ppkg-kiosk) to define the kiosk configuration to
|
||||
]]>
|
||||
</StartLayout>
|
||||
<!-- This section is required for parity with Desktop Assigned Access. It is not currently used on HoloLens -->
|
||||
```
|
||||
```
|
||||
|
||||
<span id="intune-kiosk"/>
|
||||
## Set up kiosk mode using Microsoft Intune or MDM (Windows 10, version 1803)
|
||||
|
||||
For HoloLens devices that are managed by Microsoft Intune, you [create a device profile](https://docs.microsoft.com/intune/device-profile-create) and configure the [Kiosk settings](https://docs.microsoft.com/intune/kiosk-settings).
|
||||
|
||||
For other MDM services, check your provider's documentation for instructions. If you need to use a custom setting and full XML configuration to set up a kiosk in your MDM service, [create an XML file that defines the kiosk configuration](#create-xml-file), and make sure to include the [Start layout](#start-layout-for-a-provisioning-package) in the XML file.
|
||||
For other MDM services, check your provider's documentation for instructions. If you need to use a custom setting and full XML configuration to set up a kiosk in your MDM service, [create an XML file that defines the kiosk configuration](#create-a-kiosk-configuration-xml-file), and make sure to include the [Start layout](#start-layout-for-a-provisioning-package) in the XML file.
|
||||
|
||||
|
||||
|
||||
<span id="ppkg-kiosk"/>
|
||||
## Setup kiosk mode using a provisioning package (Windows 10, version 1803)
|
||||
|
||||
Process:
|
||||
1. [Create an XML file that defines the kiosk configuration.](#create-xml-file)
|
||||
2. [Add the XML file to a provisioning package.](#add-xml)
|
||||
3. [Apply the provisioning package to HoloLens.](#apply-ppkg)
|
||||
1. [Create an XML file that defines the kiosk configuration.](#create-a-kiosk-configuration-xml-file)
|
||||
2. [Add the XML file to a provisioning package.](#add-the-kiosk-configuration-xml-file-to-a-provisioning-package)
|
||||
3. [Apply the provisioning package to HoloLens.](#apply-the-provisioning-package-to-hololens)
|
||||
|
||||
<span id="create-xml-file"/>
|
||||
### Create a kiosk configuration XML file
|
||||
|
||||
Follow [the instructions for creating a kiosk configuration XML file for desktop](https://docs.microsoft.com/windows/configuration/lock-down-windows-10-to-specific-apps#configure-a-kiosk-using-a-provisioning-package), with the following exceptions:
|
||||
|
||||
- Do not include Classic Windows applications (Win32) since they aren't supported on HoloLens.
|
||||
- Use the [placeholder Start XML](#start-kiosk) for HoloLens.
|
||||
- Use the [placeholder Start XML](#start-layout-for-hololens) for HoloLens.
|
||||
|
||||
<span id="guest" />
|
||||
#### Add guest access to the kiosk configuration (optional)
|
||||
|
||||
In the [Configs section of the XML file](https://docs.microsoft.com/windows/configuration/lock-down-windows-10-to-specific-apps#configs), you can configure a special group named **Visitor** to allow guests to use the kiosk. When the kiosk is configured with the **Visitor** special group, a "**Guest**" option is added to the sign-in page. The **Guest** account does not require a password, and any data associated with the account is deleted when the account signs out.
|
||||
@ -143,8 +135,6 @@ Use the following snippet in your kiosk configuration XML to enable the **Guest*
|
||||
</Configs>
|
||||
```
|
||||
|
||||
|
||||
<span id="add-xml"/>
|
||||
### Add the kiosk configuration XML file to a provisioning package
|
||||
|
||||
1. Open [Windows Configuration Designer](https://www.microsoft.com/store/apps/9nblggh4tx22).
|
||||
@ -174,8 +164,6 @@ Use the following snippet in your kiosk configuration XML to enable the **Guest*
|
||||
16. Click **Build** to start building the package. The provisioning package doesn't take long to build. The project information is displayed in the build page and the progress bar indicates the build status.
|
||||
|
||||
|
||||
|
||||
<span id="apply-ppkg"/>
|
||||
### Apply the provisioning package to HoloLens
|
||||
|
||||
1. Connect HoloLens via USB to a PC and start the device, but do not continue past the **Fit** page of OOBE (the first page with the blue box).
|
||||
@ -191,7 +179,6 @@ Use the following snippet in your kiosk configuration XML to enable the **Guest*
|
||||
7. You will see whether the package was applied successfully or not. If it failed, you can fix your package and try again. If it succeeded, proceed with OOBE.
|
||||
|
||||
|
||||
<span id="portal-kiosk"/>
|
||||
## Set up kiosk mode using the Windows Device Portal (Windows 10, version 1607 and version 1803)
|
||||
|
||||
1. [Set up the HoloLens to use the Windows Device Portal](https://developer.microsoft.com/windows/mixed-reality/using_the_windows_device_portal#setting_up_hololens_to_use_windows_device_portal). The Device Portal is a web server on your HoloLens that you can connect to from a web browser on your PC.
|
||||
|
23
devices/hololens/hololens-offline.md
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Use HoloLens offline
|
||||
description: To set up HoloLens, you'll need to connect to a Wi-Fi network
|
||||
ms.assetid: b86f603c-d25f-409b-b055-4bbc6edcd301
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Use HoloLens offline
|
||||
|
||||
To set up HoloLens, you'll need to connect to a Wi-Fi network—the setup tutorial will show you how.
|
||||
|
||||
## HoloLens limitations
|
||||
|
||||
After your HoloLens is set up, you can use it without a Wi-Fi connection, but apps that use Internet connections may have limited capabilities when you use HoloLens offline.
|
55
devices/hololens/hololens-restart-recover.md
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
title: Restart, reset, or recover HoloLens
|
||||
description: Restart, reset, or recover HoloLens
|
||||
ms.assetid: 9a546416-1648-403c-9e0c-742171b8812e
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Restart, reset, or recover HoloLens
|
||||
|
||||
Here are some things to try if your HoloLens is unresponsive, isn’t running well, or is experiencing software or update problems.
|
||||
|
||||
## Restart your HoloLens
|
||||
|
||||
If your HoloLens isn’t running well or is unresponsive, try the following things.
|
||||
|
||||
First, try restarting the device: say, "Hey Cortana, restart the device."
|
||||
|
||||
If you’re still having problems, press the power button for 4 seconds, until all of the battery indicators fade out. Wait 1 minute, then press the power button again to turn on the device.
|
||||
|
||||
If neither of those things works, force restart the device. Hold down the power button for 10 seconds. Release it and wait 30 seconds, then press the power button again to turn on the device.
|
||||
|
||||
## Reset or recover your HoloLens
|
||||
|
||||
If restarting your HoloLens doesn’t help, another option is to reset it. If resetting it doesn’t fix the problem, the Windows Device Recovery Tool can help you recover your device.
|
||||
|
||||
>[!IMPORTANT]
|
||||
>Resetting or recovering your HoloLens will erase all of your personal data, including apps, games, photos, and settings. You won’t be able to restore a backup once the reset is complete.
|
||||
|
||||
## Reset
|
||||
|
||||
Resetting your HoloLens keeps the version of the Windows Holographic software that’s installed on it and returns everything else to factory settings.
|
||||
|
||||
To reset your HoloLens, go to **Settings** > **Update** > **Reset** and select **Reset device**. The battery will need to have at least a 40 percent charge remaining to reset.
|
||||
|
||||
## Recover using the Windows Device Recovery Tool
|
||||
|
||||
Before you use this tool, determine if restarting or resetting your HoloLens fixes the problem. The recovery process may take some time, and the latest version of the Windows Holographic software approved for your HoloLens will be installed.
|
||||
|
||||
To use the tool, you’ll need a computer running Windows 10 or later, with at least 4 GB of free storage space. Please note that you can’t run this tool on a virtual machine.
|
||||
To recover your HoloLens
|
||||
|
||||
1. Download and install the [Windows Device Recovery Tool](https://dev.azure.com/ContentIdea/ContentIdea/_queries/query/8a004dbe-73f8-4a32-94bc-368fc2f2a895/) on your computer.
|
||||
1. Connect the clicker to your computer using the Micro USB cable that came with your HoloLens.
|
||||
1. Run the Windows Device Recovery Tool and follow the instructions.
|
||||
|
||||
If the clicker isn’t automatically detected, select **My device was not detected** and follow the instructions to put your device into recovery mode.
|
@ -1,46 +1,75 @@
|
||||
---
|
||||
title: Set up HoloLens (HoloLens)
|
||||
description: The first time you set up HoloLens, you'll need a Wi-Fi network and either a Microsoft or Azure Active Directory account.
|
||||
title: Set up a new HoloLens
|
||||
description: This guide walks through first time set up. You'll need a Wi-Fi network and either a Microsoft (MSA) or Azure Active Directory (AAD) account.
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
author: scooley
|
||||
ms.author: scooley
|
||||
ms.topic: quickstart
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 07/27/2017
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.date: 07/14/2019
|
||||
---
|
||||
|
||||
# Set up HoloLens
|
||||
# Set up HoloLens for the first time
|
||||
|
||||
Before you get started setting up your HoloLens, make sure you have a Wi-Fi network and a Microsoft account or an Azure Active Directory (Azure AD) account.
|
||||
Follow along to set up a HoloLens for the first time. At the end of this quickstart, you'll be able to use HoloLens and navigate HoloLens settings on-device.
|
||||
|
||||
## Network connectivity requirements
|
||||
This is a high level unboxing guide to become familiar with HoloLens.
|
||||
See [Set up HoloLens in the enterprise](hololens-requirements.md) to configure HoloLens for scale enterprise deployment and ongoing device management.
|
||||
|
||||
The first time you use your HoloLens, you'll be guided through connecting to a Wi-Fi network. You need to connect HoloLens to a Wi-Fi network with Internet connectivity so that the user account can be authenticated.
|
||||
## Prerequisites
|
||||
|
||||
- It can be an open Wi-Fi or password-protected Wi-Fi network.
|
||||
- The Wi-Fi network cannot require certificates to connect.
|
||||
- The Wi-Fi network does not need to provide access to enterprise resources or intranet sites.
|
||||
- Internet access.
|
||||
- Wi-Fi is the easiest way to do first set up on both HoloLens and HoloLens 2. It can be an open Wi-Fi or password-protected Wi-Fi network; the Wi-Fi network does not need to provide access to enterprise resources or intranet sites.
|
||||
- HoloLens 2 can connect to the internet via ethernet and a USB-C adapter.
|
||||
- a user account - Microsoft (MSA) or Azure Active Directory (AAD)
|
||||
|
||||
## HoloLens setup
|
||||
## Prepare for first-boot
|
||||
|
||||
The HoloLens setup process combines a quick tutorial on using HoloLens with the steps needed to connect to the network and add an account.
|
||||
Become familiar with the HoloLens hardware and prepare to turn your HoloLens on for the first time.
|
||||
|
||||
1. Be sure your HoloLens is [charged](https://support.microsoft.com/help/12627), then [adjust it](https://support.microsoft.com/help/12632) for a comfortable fit.
|
||||
2. [Turn on HoloLens](https://support.microsoft.com/help/12642). You will be guided through a calibration procedure and how to perform [the gestures](https://support.microsoft.com/help/12644/hololens-use-gestures) that you will use to operate HoloLens.
|
||||
3. Next, you'll be guided through connecting to a Wi-Fi network.
|
||||
4. After HoloLens connects to the Wi-Fi network, you select between **My work or school owns it** and **I own it**.
|
||||
1. Be sure your HoloLens is [charged](https://support.microsoft.com/help/12627)
|
||||
1. [Adjust fit](https://support.microsoft.com/help/12632) for a comfortable fit.
|
||||
1. [Turn on HoloLens](https://support.microsoft.com/help/12642). You will be guided through a calibration procedure and how to perform [the gestures](https://support.microsoft.com/help/12644/hololens-use-gestures) that you will use to operate HoloLens.
|
||||
|
||||
## Set up your HoloLens
|
||||
|
||||
Set up your HoloLens and your user account.
|
||||
|
||||
1. Connect to the internet (select Wi-Fi).
|
||||
1. Sign in to your user account. You'll choose between **My work or school owns it** and **I own it**.
|
||||
- When you choose **My work or school owns it**, you sign in with an Azure AD account. If your organization uses Azure AD Premium and has configured automatic MDM enrollment, HoloLens will be enrolled in MDM. If your organization does not use Azure AD Premium, automatic MDM enrollment isn't available, so you will need to [enroll HoloLens in device management manually](hololens-enroll-mdm.md#enroll-through-settings-app).
|
||||
1. Enter your organizational account.
|
||||
1. Enter your organizational account.
|
||||
2. Accept privacy statement.
|
||||
3. Sign in using your Azure AD credentials. This may redirect to your organization's sign-in page.
|
||||
4. Continue with device setup.
|
||||
- When you choose **I own it**, you sign in with a Microsoft account. After setup is complete, you can [enroll HoloLens in device management manually](hololens-enroll-mdm.md#enroll-through-settings-app).
|
||||
1. Enter your Microsoft account.
|
||||
2. Enter your password. If your Microsoft account requires [two-step verification (2FA)](https://blogs.technet.microsoft.com/microsoft_blog/2013/04/17/microsoft-account-gets-more-secure/), complete the verification process.
|
||||
5. The device sets your time zone based on information obtained from the Wi-Fi network.
|
||||
6. Next, you learn how to perform the bloom gesture and how to select and place the Start screen. After you place the Start screen, setup is complete and you can begin using HoloLens.
|
||||
1. Enter your Microsoft account.
|
||||
2. Enter your password. If your Microsoft account requires [two-step verification (2FA)](https://blogs.technet.microsoft.com/microsoft_blog/2013/04/17/microsoft-account-gets-more-secure/), complete the verification process.
|
||||
1. The device sets your time zone based on information obtained from the Wi-Fi network.
|
||||
1. Follow the first-start guides to learn how to interact with holograms, control the HoloLens with your voice, and access the start menu.
|
||||
|
||||
Congratulations! Setup is complete and you can begin using HoloLens.
|
||||
|
||||
## Explore HoloLens
|
||||
|
||||
### Check out on-device settings and desktop
|
||||
|
||||
HoloLens doesn't have an on-device command line. With that in mind, the settings section in HoloLens plays an important role in diagnosing problems on-device. Understanding the information available to HoloLens users will pay dividends when troubleshooting or configuring the device.
|
||||
|
||||
Open settings by opening the start menu and clicking on the **Settings** in the top bar. You can also ask Cortana to open settings.
|
||||
|
||||
Follow [this guide](https://docs.microsoft.com/en-us/windows/mixed-reality/navigating-the-windows-mixed-reality-home) to navigate around the HoloLens home.
|
||||
|
||||
### Connect bluetooth devices
|
||||
|
||||
Connecting a bluetooth keyboard makes typing on HoloLens as efficient as a Windows PC.
|
||||
|
||||
[Connect a bluetooth keyboard or clicker](https://support.microsoft.com/en-us/help/12636).
|
||||
|
||||
## Next steps
|
||||
|
||||
Start planning for HoloLens at scale with HoloLens' enterprise management features.
|
||||
|
||||
> [!div class="nextstepaction"]
|
||||
> [HoloLens in the enterprise](hololens-requirements.md)
|
40
devices/hololens/hololens-spaces-on-hololens.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Spaces on HoloLens
|
||||
description: HoloLens blends holograms with your world
|
||||
ms.assetid: bd55ecd1-697a-4b09-8274-48d1499fcb0b
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Spaces on HoloLens
|
||||
|
||||
HoloLens blends holograms with your world, mapping your surroundings to remember where you place your apps and content.
|
||||
|
||||
>[!NOTE]
|
||||
>For your HoloLens to work properly, HoloLens Wi-Fi needs to be turned on, though it doesn't have to be connected to a network.
|
||||
|
||||
## Tips for setting up your space
|
||||
|
||||
HoloLens works best in certain kinds of environments. Choose a room with adequate light and plenty of space. Avoid dark spaces and rooms with a lot of dark, shiny, or translucent surfaces (for instance, mirrors or gauzy curtains).
|
||||
|
||||
>[!NOTE]
|
||||
>HoloLens is optimized for indoor use. Use it in a safe place with no tripping hazards. [More on safety](https://support.microsoft.com/help/4023454/safety-information).
|
||||
|
||||
## Mapping your space
|
||||
|
||||
When HoloLens starts mapping your surroundings, you'll see a mesh graphic spreading over the space.
|
||||
|
||||
To help HoloLens learn a space, walk around the space and gaze around you. Air tap in a space to light up the mesh and see what's been mapped.
|
||||
|
||||
If your space changes significantly—for example, if a piece of furniture is moved—you might need to walk around the space and gaze around you so HoloLens can relearn it.
|
||||
|
||||
>[!NOTE]
|
||||
>If HoloLens is having trouble mapping your space or you're have difficulty placing holograms, see [HoloLens and holograms: FAQ](https://support.microsoft.com/help/13456/hololens-and-holograms-faq).
|
40
devices/hololens/hololens-use-apps.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Use apps on HoloLens
|
||||
description: Apps on HoloLens use either 2D view or holographic view.
|
||||
ms.assetid: 6bd124c4-731c-4bcc-86c7-23f9b67ff616
|
||||
ms.reviewer: jarrettrenshaw
|
||||
ms.date: 07/01/2019
|
||||
manager: v-miegge
|
||||
keywords: hololens
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: v-miegge
|
||||
ms.author: v-miegge
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Use apps on HoloLens
|
||||
|
||||
Apps on HoloLens use either 2D view or holographic view. Apps with 2D view look like windows, and apps with holographic view surround you and become the only app you see.
|
||||
|
||||
## Open apps
|
||||
|
||||
You'll find your apps either pinned to Start or in the All apps list. To get to the All apps list, use the bloom gesture to go to Start, then select **All apps**.
|
||||
|
||||
On Start or in the All apps list, select an app. It will open in a good position for viewing.
|
||||
|
||||
>[!NOTE]
|
||||
>- Up to three 2D app windows can be active at a time. You can open more, but only three will remain active.
|
||||
>- Each open app can have one active window at a time, except Microsoft Edge, which can have up to three.
|
||||
>- If you're having problems with apps, make sure there's enough light in your space, and walk around so HoloLens has a current scan. If you keep having trouble, see [HoloLens and holograms: FAQ](https://support.microsoft.com/help/13456/hololens-and-holograms-faq) for more info.
|
||||
|
||||
## Move, resize, and rotate apps
|
||||
|
||||
After opening an app, you can [change its position and size](https://support.microsoft.com/help/12634).
|
||||
|
||||
## Close apps
|
||||
|
||||
To close an app that uses 2D view, gaze at it, then select **Close**.
|
||||
|
||||
To close an app that uses holographic view, use the bloom gesture to leave holographic view, then select **Close**.
|
BIN
devices/hololens/images/cortana-on-hololens.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
devices/hololens/images/hololens2-side-render.png
Normal file
After Width: | Height: | Size: 3.8 MiB |
BIN
devices/hololens/images/recover-clicker-1.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
devices/hololens/images/recover-clicker-2.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
devices/hololens/images/use-hololens-clicker-1.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
devices/hololens/images/use-hololens-clicker-2.png
Normal file
After Width: | Height: | Size: 18 KiB |
@ -1,46 +1,51 @@
|
||||
---
|
||||
title: Microsoft HoloLens (HoloLens)
|
||||
description: HoloLens provides extra features designed for business in the Commercial Suite.
|
||||
description: Landing page for HoloLens commercial and enterprise management.
|
||||
ms.prod: hololens
|
||||
ms.sitesec: library
|
||||
author: jdeckerms
|
||||
ms.author: jdecker
|
||||
author: scooley
|
||||
ms.author: scooley
|
||||
ms.topic: article
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 07/27/2018
|
||||
ms.date: 07/14/2019
|
||||
---
|
||||
|
||||
# Microsoft HoloLens
|
||||
|
||||
|
||||
<table><tbody>
|
||||
<tr><td style="border: 0px;width: 75%;valign= top"><p>Microsoft HoloLens is the first fully self-contained holographic computer running Windows 10.</p><p> Microsoft HoloLens is available in the <strong>Development Edition</strong>, which runs Windows Holographic (an edition of Windows 10 designed for HoloLens), and in the <strong>Commercial Suite</strong>, which runs Windows Holographic for Business when you apply the Enterprise license file to the device.</p></td><td align="left" style="border: 0px"><img src="images/hololens.png" alt="Hololens"/></td></tr>
|
||||
<tr><td style="border: 0px;width: 75%;valign= top">
|
||||
<p>Microsoft HoloLens is the first fully self-contained holographic computer running Windows 10.</p>
|
||||
|
||||
<p>Now, with the introduction of HoloLens 2, every device provides commercial ready management enhanced by the reliability, security, and scalability of cloud and AI services from Microsoft.</p>
|
||||
|
||||
</td><td align="left" style="border: 0px"></td></tr>
|
||||
</tbody></table>
|
||||
|
||||
## In this section
|
||||
## Guides in this section
|
||||
|
||||
| Guide | Description |
|
||||
| --- | --- |
|
||||
| [Get started with HoloLens](hololens-setup.md) | Set up HoloLens for the first time. |
|
||||
| [Set up HoloLens in the enterprise](hololens-requirements.md) | Configure HoloLens for scale enterprise deployment and ongoing device management. |
|
||||
| [Install and manage applications on HoloLens](hololens-install-apps.md) |Install and manage important applications on HoloLens at scale. |
|
||||
| [Recover and troubleshoot HoloLens issues](https://support.microsoft.com/products/hololens) | Learn how to gather logs from HoloLens, recover a misbehaving device, or reset HoloLens when necessary. |
|
||||
| [Get support](https://support.microsoft.com/products/hololens) |Connect with Microsoft support resources for HoloLens in enterprise. |
|
||||
|
||||
## Quick reference by topic
|
||||
|
||||
| Topic | Description |
|
||||
| --- | --- |
|
||||
| [What's new in Microsoft HoloLens](hololens-whats-new.md) | Discover the new features in the latest update. |
|
||||
| [HoloLens in the enterprise: requirements](hololens-requirements.md) | Lists requirements for general use, Wi-Fi, and device management |
|
||||
| [Set up HoloLens](hololens-setup.md) | How to set up HoloLens for the first time |
|
||||
[Install localized version of HoloLens](hololens-install-localized.md) | Install the Chinese or Japanese version of HoloLens
|
||||
| [Unlock Windows Holographic for Business features](hololens-upgrade-enterprise.md) | How to upgrade your Development Edition HoloLens to Windows Holographic for Business |
|
||||
| [Enroll HoloLens in MDM](hololens-enroll-mdm.md) | Manage multiple HoloLens devices simultaneously using solutions like Microsoft Intune |
|
||||
| [Manage updates to HoloLens](hololens-updates.md) | Use mobile device management (MDM) policies to configure settings for updates. |
|
||||
| [Set up HoloLens in kiosk mode](hololens-kiosk.md) | Enable kiosk mode for HoloLens, which limits the user's ability to launch new apps or change the running app |
|
||||
[Share HoloLens with multiple people](hololens-multiple-users.md) | Multiple users can shared a HoloLens device by using their Azure Active Directory accounts. |
|
||||
| [What's new in Microsoft HoloLens](hololens-whats-new.md) | Discover new features in the latest updates. |
|
||||
| [Configure HoloLens using a provisioning package](hololens-provisioning.md) | Provisioning packages make it easy for IT administrators to configure HoloLens devices without imaging |
|
||||
| [Install apps on HoloLens](hololens-install-apps.md) | Use Microsoft Store for Business, mobile device management (MDM), or the Windows Device Portal to install apps on HoloLens |
|
||||
| [Enable Bitlocker device encryption for HoloLens](hololens-encryption.md) | Learn how to use Bitlocker device encryption to protect files and information stored on the HoloLens |
|
||||
| [Change history for Microsoft HoloLens documentation](change-history-hololens.md) | See new and updated topics in the HoloLens documentation library. |
|
||||
| [HoloLens MDM support](hololens-enroll-mdm.md) | Manage multiple HoloLens devices simultaneously using Mobile Device Management (MDM) solutions like Microsoft Intune. |
|
||||
| [HoloLens update management](hololens-updates.md) | Use mobile device management (MDM) policies to configure settings for updates. |
|
||||
| [HoloLens user management](hololens-multiple-users.md) | Multiple users can shared a HoloLens device by using their Azure Active Directory accounts. |
|
||||
| [HoloLens application access management](hololens-kiosk.md) | Manage application access for different user groups. |
|
||||
| [Enable Bitlocker device encryption for HoloLens](hololens-encryption.md) | Learn how to use Bitlocker device encryption to protect files and information stored on the HoloLens. |
|
||||
| [Install localized version of HoloLens](hololens-install-localized.md) | Configure HoloLens for different locale. |
|
||||
|
||||
## Related resources
|
||||
|
||||
- [Help for using HoloLens](https://support.microsoft.com/products/hololens)
|
||||
|
||||
- [Documentation for Holographic app development](https://developer.microsoft.com/windows/mixed-reality/development)
|
||||
|
||||
- [HoloLens Commercial Suite](https://www.microsoft.com/microsoft-hololens/hololens-commercial)
|
||||
|
||||
- [HoloLens release notes](https://developer.microsoft.com/en-us/windows/mixed-reality/release_notes)
|
||||
* [Documentation for Holographic app development](https://developer.microsoft.com/windows/mixed-reality/development)
|
||||
* [HoloLens Commercial Suite](https://www.microsoft.com/microsoft-hololens/hololens-commercial)
|
||||
* [HoloLens release notes](https://developer.microsoft.com/en-us/windows/mixed-reality/release_notes)
|
||||
|
@ -6,6 +6,7 @@
|
||||
### [What's new in Surface Hub 2S for IT admins](surface-hub-2s-whats-new.md)
|
||||
### [Surface Hub 2S tech specs](surface-hub-2s-techspecs.md)
|
||||
### [Operating system essentials (Surface Hub) ](differences-between-surface-hub-and-windows-10-enterprise.md)
|
||||
### [Adjust Surface Hub 2S brightness, volume, and input](surface-hub-2s-onscreen-display.md)
|
||||
|
||||
## Plan
|
||||
### [Surface Hub 2S Site Readiness Guide](surface-hub-2s-site-readiness-guide.md)
|
||||
@ -20,6 +21,8 @@
|
||||
### [Configure Easy Authentication for Surface Hub 2S](surface-hub-2s-phone-authenticate.md)
|
||||
|
||||
## Deploy
|
||||
### [Surface Hub 2S adoption toolkit](surface-hub-2s-adoption-kit.md)
|
||||
### [First time setup for Surface Hub 2S](surface-hub-2s-setup.md)
|
||||
### [Surface Hub 2S deployment checklist](surface-hub-2s-deploy-checklist.md)
|
||||
### [Create Surface Hub 2S device account](surface-hub-2s-account.md)
|
||||
### [Create provisioning packages for Surface Hub 2S](surface-hub-2s-deploy.md)
|
||||
@ -75,11 +78,11 @@
|
||||
|
||||
## Manage
|
||||
### [Manage Microsoft Surface Hub](manage-surface-hub.md)
|
||||
### [PowerShell for Surface Hub](appendix-a-powershell-scripts-for-surface-hub.md)
|
||||
### [Remote Surface Hub management](remote-surface-hub-management.md)
|
||||
#### [Manage settings with an MDM provider](manage-settings-with-mdm-for-surface-hub.md)
|
||||
#### [Monitor your Surface Hub](monitor-surface-hub.md)
|
||||
#### [Windows updates](manage-windows-updates-for-surface-hub.md)
|
||||
|
||||
### [Manage Surface Hub settings](manage-surface-hub-settings.md)
|
||||
#### [Local management for Surface Hub settings](local-management-surface-hub-settings.md)
|
||||
#### [Accessibility](accessibility-surface-hub.md)
|
||||
@ -87,33 +90,37 @@
|
||||
#### [Device reset](device-reset-surface-hub.md)
|
||||
#### [Use fully qualified domain name with Surface Hub](use-fully-qualified-domain-name-surface-hub.md)
|
||||
#### [Wireless network management](wireless-network-management-for-surface-hub.md)
|
||||
### [Implement Quality of Service on Surface Hub](surface-hub-qos.md)
|
||||
### [Install apps on your Surface Hub](install-apps-on-surface-hub.md)
|
||||
### [Configure Surface Hub Start menu](surface-hub-start-menu.md)
|
||||
### [Set up and use Microsoft Whiteboard](whiteboard-collaboration.md)
|
||||
### [End a Surface Hub meeting with End session](i-am-done-finishing-your-surface-hub-meeting.md)
|
||||
### [Sign in to Surface Hub with Microsoft Authenticator](surface-hub-authenticator-app.md)
|
||||
### [Save your BitLocker key](save-bitlocker-key-surface-hub.md)
|
||||
### [Connect other devices and display with Surface Hub](connect-and-display-with-surface-hub.md)
|
||||
### [Miracast on existing wireless network or LAN](miracast-over-infrastructure.md)
|
||||
### [Enable 802.1x wired authentication](enable-8021x-wired-authentication.md)
|
||||
### [Using a room control system](use-room-control-system-with-surface-hub.md)
|
||||
### [Implement Quality of Service on Surface Hub](surface-hub-qos.md)
|
||||
|
||||
## Secure
|
||||
### [Sign in to Surface Hub with Microsoft Authenticator](surface-hub-authenticator-app.md)
|
||||
### [Save your BitLocker key](save-bitlocker-key-surface-hub.md)
|
||||
### [How Surface Hub addresses Wi-Fi Direct security issues](surface-hub-wifi-direct.md)
|
||||
|
||||
## Support
|
||||
### [Using the Surface Hub Recovery Tool](surface-hub-recovery-tool.md)
|
||||
### [Surface Hub SSD replacement](surface-hub-ssd-replacement.md)
|
||||
## [PowerShell for Surface Hub](appendix-a-powershell-scripts-for-surface-hub.md)
|
||||
## [How Surface Hub addresses Wi-Fi Direct security issues](surface-hub-wifi-direct.md)
|
||||
## [Top support solutions for Surface Hub](support-solutions-surface-hub.md)
|
||||
## [Troubleshoot Microsoft Surface Hub](troubleshoot-surface-hub.md)
|
||||
## [Surface Hub Update History](surface-hub-update-history.md)
|
||||
## [Known issues and additional information about Microsoft Surface Hub](known-issues-and-additional-info-about-surface-hub.md)
|
||||
## [How to use cloud recovery for BitLocker on a Surface Hub](use-cloud-recovery-for-bitlocker-on-surfacehub.md)
|
||||
## [Using the Surface Hub Hardware Diagnostic Tool to test a device account](use-surface-hub-diagnostic-test-device-account.md)
|
||||
## [Surface Hub Miracast channels 149-165 not supported in Europe, Japan, Israel](surfacehub-miracast-not-supported-europe-japan-israel.md)
|
||||
## [What to do if the Connect app in Surface Hub exits unexpectedly](connect-app-in-surface-hub-unexpectedly-exits.md)
|
||||
## [Surface Hub may install updates and restart outside maintenance hours](surface-hub-installs-updates-and-restarts-outside-maintenance-hours.md)
|
||||
## [General Data Privacy Regulation and Surface Hub](general-data-privacy-regulation-and-surface-hub.md)
|
||||
## [Troubleshoot Miracast on Surface Hub](miracast-troubleshooting.md)
|
||||
## [Useful downloads for Surface Hub administrators](surface-hub-downloads.md)
|
||||
## [Technical information for 55” Microsoft Surface Hub](surface-hub-technical-55.md)
|
||||
## [Technical information for 84” Microsoft Surface Hub](surface-hub-technical-84.md)
|
||||
## [Change history for Surface Hub](change-history-surface-hub.md)
|
||||
|
||||
### [Top support solutions for Surface Hub](support-solutions-surface-hub.md)
|
||||
### [Troubleshoot Microsoft Surface Hub](troubleshoot-surface-hub.md)
|
||||
### [Surface Hub Update History](surface-hub-update-history.md)
|
||||
### [Known issues and additional information about Microsoft Surface Hub](known-issues-and-additional-info-about-surface-hub.md)
|
||||
### [How to use cloud recovery for BitLocker on a Surface Hub](use-cloud-recovery-for-bitlocker-on-surfacehub.md)
|
||||
### [Using the Surface Hub Hardware Diagnostic Tool to test a device account](use-surface-hub-diagnostic-test-device-account.md)
|
||||
### [Troubleshoot Miracast on Surface Hub](miracast-troubleshooting.md)
|
||||
### [Surface Hub Miracast channels 149-165 not supported in Europe, Japan, Israel](surfacehub-miracast-not-supported-europe-japan-israel.md)
|
||||
### [What to do if the Connect app in Surface Hub exits unexpectedly](connect-app-in-surface-hub-unexpectedly-exits.md)
|
||||
### [Surface Hub may install updates and restart outside maintenance hours](surface-hub-installs-updates-and-restarts-outside-maintenance-hours.md)
|
||||
### [General Data Privacy Regulation and Surface Hub](general-data-privacy-regulation-and-surface-hub.md)
|
||||
### [Useful downloads for Surface Hub administrators](surface-hub-downloads.md)
|
||||
### [Technical information for 55” Microsoft Surface Hub](surface-hub-technical-55.md)
|
||||
### [Technical information for 84” Microsoft Surface Hub](surface-hub-technical-84.md)
|
||||
### [Change history for Surface Hub](change-history-surface-hub.md)
|
||||
|
@ -14,7 +14,9 @@
|
||||
"resource": [
|
||||
{
|
||||
"files": [
|
||||
"**/images/**"
|
||||
"**/images/**",
|
||||
"**/*.pptx",
|
||||
"**/*.pdf"
|
||||
],
|
||||
"exclude": [
|
||||
"**/obj/**"
|
||||
|
BIN
devices/surface-hub/downloads/Guide-SurfaceHub2S-Navigation.pptx
Normal file
BIN
devices/surface-hub/downloads/Guide-SurfaceHub2S-Office365.pptx
Normal file
BIN
devices/surface-hub/downloads/Guide-SurfaceHub2S-Teams.pptx
Normal file
BIN
devices/surface-hub/downloads/Guide-SurfaceHub2S-Whiteboard.pptx
Normal file
BIN
devices/surface-hub/downloads/Outline-SurfaceHub2S-EndUser.pdf
Normal file
BIN
devices/surface-hub/downloads/Outline-SurfaceHub2S-HelpDesk.pdf
Normal file
BIN
devices/surface-hub/downloads/Outline-SurfaceHub2S-PowerUser.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCConnectYourPC.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCJoinTeamsMeeting.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCManageTeamsMeeting.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCNavigationBasics.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCScheduleTeamsMeeting.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCShareSendFile.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCSignInToViewMeetingsFiles.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCStartNewTeamsMeeting.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCWhiteboardAdvanced.pdf
Normal file
BIN
devices/surface-hub/downloads/QRCWhiteboardTools.pdf
Normal file
BIN
devices/surface-hub/downloads/SurfaceHubAdoptionToolKit.pdf
Normal file
BIN
devices/surface-hub/images/sh2-onscreen-display.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
devices/surface-hub/images/sh2-run1.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
devices/surface-hub/images/sh2-run10.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
devices/surface-hub/images/sh2-run11.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
devices/surface-hub/images/sh2-run12.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
devices/surface-hub/images/sh2-run13.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
devices/surface-hub/images/sh2-run14.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
devices/surface-hub/images/sh2-run2.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
devices/surface-hub/images/sh2-run3.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
devices/surface-hub/images/sh2-run4.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
devices/surface-hub/images/sh2-run5.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
devices/surface-hub/images/sh2-run6.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
devices/surface-hub/images/sh2-run7.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
devices/surface-hub/images/sh2-run8.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
devices/surface-hub/images/sh2-run9.png
Normal file
After Width: | Height: | Size: 19 KiB |
@ -21,7 +21,7 @@ You can install additional apps on your Surface Hub to fit your team or organiza
|
||||
A few things to know about apps on Surface Hub:
|
||||
- Surface Hub only runs [Universal Windows Platform (UWP) apps](https://msdn.microsoft.com/windows/uwp/get-started/whats-a-uwp). Apps created using the [Desktop App Converter](https://docs.microsoft.com/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter) will not run on Surface Hub.
|
||||
- Apps must be targeted for the [Universal device family](https://msdn.microsoft.com/library/windows/apps/dn894631) or Windows Team device family.
|
||||
- Surface Hub only supports [offline-licensed apps](https://docs.microsoft.com/microsoft-store/distribute-offline-apps) from Microsoft Store for Business.
|
||||
- Surface Hub only supports [offline-licensed apps](https://docs.microsoft.com/microsoft-store/distribute-offline-apps) from [Microsoft Store for Business](https://businessstore.microsoft.com/store).
|
||||
- By default, apps must be Store-signed to be installed. During testing and development, you can also choose to run developer-signed UWP apps by placing the device in developer mode.
|
||||
- When submitting an app to the Microsoft Store, developers need to set Device family availability and Organizational licensing options to make sure an app will be available to run on Surface Hub.
|
||||
- You need admin credentials to install apps on your Surface Hub. Since the device is designed to be used in communal spaces like meeting rooms, people can't access the Microsoft Store to download and install apps.
|
||||
|
@ -7,7 +7,7 @@ ms.sitesec: library
|
||||
author: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.date: 06/20/2019
|
||||
ms.date: 07/08/2019
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.localizationpriority: medium
|
||||
@ -29,7 +29,6 @@ Surface Hubs have many settings that are common to other Windows devices, but al
|
||||
| Change admin account password | Surface Hub > Accounts | Change the password for the local admin account. This is only available if you configured the device to use a local admin during first run. |
|
||||
| Device Management | Surface Hub > Device management | Manage policies and business applications using mobile device management (MDM). |
|
||||
| Provisioning packages | Surface Hub > Device management | Set or change provisioning packages installed on the Surface Hub. |
|
||||
| Configure Operations Management Suite (OMS) | Surface Hub > Device management | Set up monitoring for your Surface Hub using OMS. |
|
||||
| Open the Microsoft Store app | Surface Hub > Apps & features | The Microsoft Store app is only available to admins through the Settings app. |
|
||||
| Skype for Business domain name | Surface Hub > Calling & Audio | Configure a domain name for your Skype for Business server. |
|
||||
| Default Speaker volume | Surface Hub > Calling & Audio | Configure the default speaker volume for the Surface Hub when it starts a session. |
|
||||
|
@ -10,7 +10,7 @@ ms.sitesec: library
|
||||
author: levinec
|
||||
ms.author: ellevin
|
||||
ms.topic: article
|
||||
ms.date: 06/20/2019
|
||||
ms.date: 07/08/2019
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
@ -27,7 +27,7 @@ There are several ways to manage your BitLocker key on the Surface Hub.
|
||||
|
||||
2. If you’ve joined the Surface Hub to Azure Active Directory (Azure AD), the BitLocker key will be stored under the account that was used to join the device.
|
||||
|
||||
3. If you’re using an admin account to manage the device, you can save the BitLocker key by going to the **Settings** app and navigating to **Update & security** > **Recovery**. Insert a USB drive and select the option to save the BitLocker key. The key will be saved to a text file on the USB drive.
|
||||
3. If you’re using a local admin account to manage the device, you can save the BitLocker key by going to the **Settings** app and navigating to **Update & security** > **Recovery**. Insert a USB drive and select the option to save the BitLocker key. The key will be saved to a text file on the USB drive.
|
||||
|
||||
|
||||
## Related topics
|
||||
|
50
devices/surface-hub/surface-hub-2s-adoption-kit.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
title: "Surface Hub 2S adoption toolkit"
|
||||
description: "Microsoft has developed downloadable materials that you can make available for your users to aid in adoption of Surface Hub 2S."
|
||||
keywords: separate values with commas
|
||||
ms.prod: surface-hub
|
||||
ms.sitesec: library
|
||||
author: robmazz
|
||||
ms.author: robmazz
|
||||
manager: laurawi
|
||||
audience: Admin
|
||||
ms.topic: article
|
||||
ms.date: 07/08/2019
|
||||
ms.localizationpriority: Normal
|
||||
---
|
||||
|
||||
# Surface Hub 2S adoption toolkit
|
||||
|
||||
Microsoft has developed downloadable materials that you can make available for your users to aid in adoption of Surface Hub 2S.
|
||||
|
||||
## Training guides
|
||||
|
||||
- [Surface Hub adoption toolkit](downloads/SurfaceHubAdoptionToolKit.pdf)
|
||||
- [Training guide – end user](downloads/TrainingGuide-SurfaceHub2S-EndUser.pdf)
|
||||
- [Training guide – power user](downloads/TrainingGuide-SurfaceHub2S-PowerUser.pdf)
|
||||
- [Training guide – help desk](downloads/TrainingGuide-SurfaceHub2S-HelpDesk.pdf)
|
||||
- [Training guide – Microsoft Teams desktop](downloads/Guide-SurfaceHub2S-Teams.pptx)
|
||||
|
||||
[Download all training guides](http://download.microsoft.com/download/2/2/3/2234F70E-E65A-4790-93DF-F4C373A75B8E/SurfaceHub2S-TrainerGuides-July2019.zip)
|
||||
|
||||
## End user guides
|
||||
|
||||
- [Guide to Navigation on Surface Hub](downloads/Guide-SurfaceHub2S-Navigation.pptx)
|
||||
- [Guide to Office 365 on Surface Hub](downloads/Guide-SurfaceHub2S-Office365.pptx)
|
||||
- [Guide to Microsoft Whiteboard on Surface Hub](downloads/Guide-SurfaceHub2S-Whiteboard.pptx)
|
||||
- [Guide to Microsoft Teams on Surface Hub](downloads/Guide-SurfaceHub2S-Teams.pptx)
|
||||
|
||||
## Quick reference cards
|
||||
|
||||
- [Connect your PC](downloads/QRCConnectYourPC.pdf)
|
||||
- [Join a Teams Meeting](downloads/QRCJoinTeamsMeeting.pdf)
|
||||
- [Manage a Teams meeting](downloads/QRCManageTeamsMeeting.pdf)
|
||||
- [Navigation basics](downloads/QRCNavigationBasics.pdf)
|
||||
- [Schedule a Teams meeting](downloads/QRCScheduleTeamsMeeting.pdf)
|
||||
- [Start a new Teams meeting](downloads/QRCStartNewTeamsMeeting.pdf)
|
||||
- [Share or send a file](downloads/QRCShareSendFile.pdf)
|
||||
- [Sign in to view meetings and files](downloads/QRCSignInToViewMeetingsFiles.pdf)
|
||||
- [Whiteboard advanced](downloads/QRCWhiteboardAdvanced.pdf)
|
||||
- [Whiteboard tools](downloads/QRCWhiteboardTools.pdf)
|
||||
|
||||
[Download all user guides and quick reference cards](http://download.microsoft.com/download/E/7/F/E7FC6611-BB55-43E1-AF36-7BD5CE6E0FE0/SurfaceHub2S-EndUserGuides-July2019.zip)
|
@ -20,7 +20,7 @@ You can install additional apps to fit your team or organization's needs.
|
||||
|
||||
- Surface Hub only runs [Universal Windows Platform (UWP) apps](https://msdn.microsoft.com/windows/uwp/get-started/whats-a-uwp). Apps created using the [Desktop App Converter](https://docs.microsoft.com/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter) will not run on Surface Hub.
|
||||
- Apps must be targeted for the [Universal device family](https://msdn.microsoft.com/library/windows/apps/dn894631) or Windows Team device family.
|
||||
- Surface Hub only supports [offline-licensed apps](https://docs.microsoft.com/microsoft-store/distribute-offline-apps) from Microsoft Store for Business.
|
||||
- Surface Hub only supports [offline-licensed apps](https://docs.microsoft.com/microsoft-store/distribute-offline-apps) from [Microsoft Store for Business](https://businessstore.microsoft.com/store).
|
||||
- By default, apps must be Store-signed to be installed. During testing and development, you can also choose to run developer-signed UWP apps by placing the device in developer mode.
|
||||
- When developing and submitting apps to the Microsoft Store, set Device family availability and Organizational licensing options to ensure that apps are available to run on Surface Hub.
|
||||
- You need admin credentials to install apps on Surface Hub. Designed for use in meeting rooms and other shared spaces, Surface Hub prevents regular users from accessing the Microsoft Store to download and install apps.
|
||||
|
37
devices/surface-hub/surface-hub-2s-onscreen-display.md
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "Adjust Surface Hub 2S brightness, volume, and input"
|
||||
description: "Learn how to use the onscreen display to adjust brightness and other settings in Surface Hub 2S."
|
||||
keywords: separate values with commas
|
||||
ms.prod: surface-hub
|
||||
ms.sitesec: library
|
||||
author: robmazz
|
||||
ms.author: robmazz
|
||||
audience: Admin
|
||||
ms.topic: article
|
||||
ms.date: 07/09/2019
|
||||
ms.localizationpriority: Normal
|
||||
---
|
||||
# Adjust Surface Hub 2S brightness, volume, and input
|
||||
Surface Hub 2S provides an on-screen display for volume, brightness, and input control. The Source button functions as a toggle key to switch between the volume, brightness, and input control menus.
|
||||
|
||||
**To show the on-screen display:**
|
||||
|
||||
- Press and hold the **Source** button for 4 seconds.
|
||||
|
||||
<br>
|
||||
|
||||
When the on-screen display is visible, use one or more buttons to reach desired settings.
|
||||
|
||||
**To adjust volume:**
|
||||
|
||||
- Use the **Volume up/down** button to increase or decrease volume.
|
||||
|
||||
**To adjust brightness:**
|
||||
|
||||
1. Press the **Source** button again to switch to the brightness menu.
|
||||
2. Use the **Volume up/down** button to increase or decrease brightness.
|
||||
|
||||
**To adjust input:**
|
||||
|
||||
1. Press the **Source** button twice to switch to the Source menu.
|
||||
2. Use the **Volume up/down** button to switch between PC, HDMI, and USB-C inputs.
|
@ -19,15 +19,9 @@ If you replace your Surface Hub 2S, one of its components, or a related accessor
|
||||
>[!IMPORTANT]
|
||||
>When packing your device for shipment, make sure that you use the packaging in which your replacement device arrived.
|
||||
|
||||
This article contains the following procedures:
|
||||
## How to pack your Surface Hub 2S 50”
|
||||
|
||||
- [How to pack your Surface Hub 2S 55”](#how-to-pack-your-surface-hub-2s-55)
|
||||
- [How to replace and pack your Surface Hub 2S Compute Cartridge](#how-to-replace-and-pack-your-surface-hub-2s-compute-cartridge)
|
||||
- [How to replace your Surface Hub 2S Camera](#how-to-replace-your-surface-hub-2s-camera)
|
||||
|
||||
## How to pack your Surface Hub 2S 55”
|
||||
|
||||
Use the following steps to pack your Surface Hub 2S 55" for shipment.
|
||||
Use the following steps to pack your Surface Hub 2S 50" for shipment.
|
||||
|
||||

|
||||
|
||||
|
100
devices/surface-hub/surface-hub-2s-setup.md
Normal file
@ -0,0 +1,100 @@
|
||||
---
|
||||
title: "First time Setup for Surface Hub 2S"
|
||||
description: "Learn how to complete first time Setup for Surface Hub 2S."
|
||||
keywords: separate values with commas
|
||||
ms.prod: surface-hub
|
||||
ms.sitesec: library
|
||||
author: robmazz
|
||||
ms.author: robmazz
|
||||
audience: Admin
|
||||
ms.topic: article
|
||||
ms.date: 07/03/2019
|
||||
ms.localizationpriority: Normal
|
||||
---
|
||||
|
||||
# First time Setup for Surface Hub 2S
|
||||
|
||||
When you first start Surface Hub 2S, the device automatically enters first time Setup mode to guide you through account configuration and related settings.
|
||||
|
||||
## Configuring Surface Hub 2S account
|
||||
|
||||
1. **Configure your locale.** Enter region, language, keyboard layout and time zone information. Select **Next**.
|
||||
|
||||
 <br>
|
||||
1. **Connect to a wireless network.** Choose your preferred wireless network and select **Next.**
|
||||
|
||||
- This option is not shown if connected using an Ethernet cable.
|
||||
- You cannot connect to a wireless network in hotspots (captive portals) that redirect sign-in requests to a provider’s website.
|
||||
|
||||
3. **Enter device account info.** Use **domain\user** for on-premises and hybrid environments and **user@example.com** for online environments. Select **Next.**
|
||||
|
||||
 <br>
|
||||
1. **Enter additional info.** If requested, provide your Exchange server address and then select **Next.**
|
||||
|
||||
 <br>
|
||||
|
||||
1. **Name this device.** Enter a name for your device or use the suggested one based on your account’s display name and user principle name [UPN]. **Select Next**.
|
||||
|
||||
- The **Friendly name** is visible on the bottom left corner of Surface Hub 2S and is shown when projecting to the device.
|
||||
|
||||
- The **Device name** identifies the device when affiliated with Active Directory or Azure Active Directory, and when enrolling the device with Intune.
|
||||
|
||||
 <br>
|
||||
|
||||
## Configuring device admin accounts
|
||||
|
||||
You can only set up device admins during first time Setup. For more information, refer to [Surface Hub 2S device affiliation](https://docs.microsoft.com/en-us/surface-hub/surface-hub-2s-prepare-environment#device-affiliation).
|
||||
|
||||
In the **Setup admins for this device** window, select one of the following options: Active Directory Domain Services, Azure Active Directory, or Local admin.
|
||||
|
||||
 <br>
|
||||
|
||||
### Active Directory Domain Services
|
||||
|
||||
1. Enter the credentials of a user who has permissions to join the device to Active Directory.
|
||||
|
||||
 <br>
|
||||
|
||||
2. Select the Active Directory Security Group containing members allowed to log on to the Settings app on Surface Hub 2S.
|
||||
|
||||
 <br>
|
||||
1. Select **Finish**. The device will restart.
|
||||
|
||||
### Azure Active Directory
|
||||
|
||||
When choosing to affiliate your device with Azure Active Directory, the device will immediately restart and display the following page. Select **Next**.
|
||||
|
||||
 <br>
|
||||
|
||||
1. Enter the email address or UPN of an account **with Intune Plan 1** or greater and then select **Next.**
|
||||
|
||||
 <br>
|
||||
|
||||
2. If redirected, authenticate using your organization’s sign-in page and provide additional logon information if requested. The device will restart.
|
||||
|
||||
## Local Administrator account
|
||||
|
||||
- Enter a username and password for your local admin. The device will restart.
|
||||
|
||||
 <br>
|
||||
|
||||
## Using provisioning packages
|
||||
|
||||
If you insert a USB thumb drive with a provisioning package into one of the USB ports when you start Surface Hub 2S, the device displays the following page.
|
||||
|
||||
1. Enter the requested settings and select **Set up**.
|
||||
|
||||
 <br>
|
||||
|
||||
 <br>
|
||||
2. Choose the provisioning package you’d like to use.
|
||||
|
||||
 <br>
|
||||
|
||||
3. If you created a multiple devices CSV file, you will be able to choose a device configuration. For more information, refer to [Create provisioning packages for Surface Hub 2S](https://docs.microsoft.com/en-us/surface-hub/surface-hub-2s-deploy#provisioning-multiple-devices-csv-file).
|
||||
|
||||
|
||||
 <br>
|
||||
|
||||
4. Follow the instructions to complete first time Setup.
|
||||
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
title: "Out-of-box startup for Surface Hub 2S"
|
||||
description: "Learn about starting Surface Hub 2S for the first time."
|
||||
keywords: separate values with commas
|
||||
ms.prod: surface-hub
|
||||
ms.sitesec: library
|
||||
author: robmazz
|
||||
ms.author: robmazz
|
||||
audience: Admin
|
||||
ms.topic: article
|
||||
ms.localizationpriority: Normal
|
||||
ROBOTS: NOINDEX, NOFOLLOW
|
||||
---
|
||||
|
||||
# Out-of-box startup for Surface Hub 2S
|
@ -30,7 +30,7 @@
|
||||
### [Surface System SKU reference](surface-system-sku-reference.md)
|
||||
|
||||
## Manage
|
||||
### [Maintain optimal power settings on Surface devices](maintain-optimal-power-settings-on-Surface-devices.md)
|
||||
### [Best practice power settings for Surface devices](maintain-optimal-power-settings-on-Surface-devices.md)
|
||||
### [Battery Limit setting](battery-limit.md)
|
||||
### [Surface Brightness Control](microsoft-surface-brightness-control.md)
|
||||
### [Surface Asset Tag](assettag.md)
|
||||
@ -48,7 +48,8 @@
|
||||
### [Unenroll Surface devices from SEMM](unenroll-surface-devices-from-semm.md)
|
||||
|
||||
## Support
|
||||
### [Surface Diagnostic Toolkit for Business](surface-diagnostic-toolkit-business.md)
|
||||
### [Fix common Surface problems using the Surface Diagnostic Toolkit for Business](surface-diagnostic-toolkit-for-business-intro.md)
|
||||
### [Deploy Surface Diagnostic Toolkit for Business](surface-diagnostic-toolkit-business.md)
|
||||
### [Use Surface Diagnostic Toolkit for Business in desktop mode](surface-diagnostic-toolkit-desktop-mode.md)
|
||||
### [Run Surface Diagnostic Toolkit for Business using commands](surface-diagnostic-toolkit-command-line.md)
|
||||
### [Surface Data Eraser](microsoft-surface-data-eraser.md)
|
||||
|
@ -15,19 +15,27 @@ ms.topic: article
|
||||
|
||||
This topic lists new and updated topics in the Surface documentation library.
|
||||
|
||||
## July 2019
|
||||
|
||||
| **New or changed topic** | **Description** |
|
||||
| ------------------------ | --------------- |
|
||||
| [Deploy Surface Diagnostic Toolkit for Business](surface-diagnostic-toolkit-business.md) | Renamed to reflect focus on deployment guidance for IT professionals. Covers minor changes in Version 2.41.139.0. |
|
||||
|
||||
|
||||
|
||||
## June 2019
|
||||
|
||||
New or changed topic | Description
|
||||
--- | ---
|
||||
| **New or changed topic** | **Description** |
|
||||
| ------------------------ | --------------- |
|
||||
|[Fix common Surface problems using the Surface Diagnostic Toolkit for Business](surface-diagnostic-toolkit-for-business-intro.md) | New introductory page for the Surface Diagnostic Toolkit for Business. |
|
||||
| [Best practice power settings for Surface devices](maintain-optimal-power-settings-on-Surface-devices.md) |Updated with summary of recommendations for managing power settings and optimizing battery life. |
|
||||
|
||||
[Fix common Surface problems using the Surface Diagnostic Toolkit for Business](surface-diagnostic-toolkit-for-business-intro.md) | New
|
||||
|
||||
## March 2019
|
||||
|
||||
New or changed topic | Description
|
||||
--- | ---
|
||||
|
||||
[Surface System SKU reference](surface-system-sku-reference.md) | New
|
||||
| **New or changed topic** | **Description** |
|
||||
| ------------------------ | --------------- |
|
||||
| [Surface System SKU reference](surface-system-sku-reference.md) | New |
|
||||
|
||||
|
||||
## February 2019
|
||||
|
@ -1 +1,25 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 140"><defs><style>.cls-1{fill:#939393;}.cls-2{fill:#d8d8d8;}.cls-3{fill:#2f2f2f;}</style></defs><title>Surface-Devices-400x140</title><g id="Layer_2" data-name="Layer 2"><rect class="cls-1" x="75.66" y="15.04" width="128" height="88" rx="5"/><rect class="cls-1" x="116.66" y="119.14" width="50" height="4.81"/><path class="cls-1" d="M167.66,101l-.8,13.08a3.69,3.69,0,0,1-3.3,2.92h-45.2a2.8,2.8,0,0,1-2.8-2.8h0l-.9-13.2h-3v19h59V101Z"/><rect class="cls-2" x="79.66" y="19.04" width="120" height="80"/><path class="cls-1" d="M315.66,122V62.5A2.46,2.46,0,0,0,313.2,60H226.12a2.46,2.46,0,0,0-2.46,2.46h0V122Z"/><rect class="cls-2" x="226.66" y="63.04" width="86" height="53"/><path class="cls-1" d="M322.56,124H216.78c-3.53,0-4.1-5-4.1-5h114S325.29,124,322.56,124Z"/><rect class="cls-3" x="268.66" y="62.04" width="1" height="1"/></g></svg>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 400 140" style="enable-background:new 0 0 400 140;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#939393;}
|
||||
.st1{fill:#2F2F2F;}
|
||||
.st2{fill:#C2C2C2;}
|
||||
.st3{opacity:0.25;fill:#E6E6E6;enable-background:new ;}
|
||||
.st4{opacity:0.25;fill:#F3F3F3;enable-background:new ;}
|
||||
</style>
|
||||
<title>Surface-Devices-400x140</title>
|
||||
<path class="st0" d="M80.7,15h118c2.8,0,5,2.2,5,5v78c0,2.8-2.2,5-5,5h-118c-2.8,0-5-2.2-5-5V20C75.7,17.3,77.9,15,80.7,15z"/>
|
||||
<rect x="116.7" y="119.1" class="st0" width="50" height="4.8"/>
|
||||
<path class="st0" d="M167.7,101l-0.8,13.1c-0.3,1.6-1.7,2.8-3.3,2.9h-45.2c-1.5,0-2.8-1.3-2.8-2.8v0l0,0l-0.9-13.2h-3v19h59v-19
|
||||
H167.7z"/>
|
||||
<path class="st0" d="M315.7,122V62.5c0-1.4-1.1-2.5-2.4-2.5c0,0,0,0,0,0h-87.1c-1.4,0-2.5,1.1-2.5,2.5c0,0,0,0,0,0l0,0V122H315.7z"
|
||||
/>
|
||||
<path class="st0" d="M322.6,124H216.8c-3.5,0-4.1-5-4.1-5h114C326.7,119,325.3,124,322.6,124z"/>
|
||||
<rect x="268.7" y="62" class="st1" width="1" height="1"/>
|
||||
<rect x="79.3" y="19" class="st2" width="120" height="80"/>
|
||||
<polygon class="st3" points="199.3,19 151.3,19 199.3,63.9 "/>
|
||||
<rect x="226.3" y="63" class="st2" width="86" height="53"/>
|
||||
<polygon class="st4" points="311.3,63 273,63 311.3,98.9 "/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 1.4 KiB |
@ -1,59 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 400 140" style="enable-background:new 0 0 400 140;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#939393;}
|
||||
.st1{fill:#C2C2C2;}
|
||||
.st2{fill:#D8D8D8;}
|
||||
.st3{opacity:0.2;fill:#2F2F2F;enable-background:new ;}
|
||||
.st4{opacity:0.2;enable-background:new ;}
|
||||
.st2{opacity:0.2;fill:#2F2F2F;enable-background:new ;}
|
||||
.st3{opacity:0.2;enable-background:new ;}
|
||||
.st4{opacity:0.25;fill:#FFFFFF;enable-background:new ;}
|
||||
.st5{fill:#2F2F2F;}
|
||||
.st6{fill:#808080;}
|
||||
.st7{fill:#0078D4;}
|
||||
</style>
|
||||
<g id="Layer_1">
|
||||
</g>
|
||||
<g id="Layer_2">
|
||||
<g>
|
||||
<title>win_it-pro-6</title>
|
||||
<g>
|
||||
<rect x="84.5" y="8.5" class="st0" width="231" height="123"/>
|
||||
<rect x="303.5" y="50.5" class="st1" width="11" height="80"/>
|
||||
<rect x="85.5" y="50.5" class="st1" width="11" height="80"/>
|
||||
<rect x="102.5" y="14.5" class="st2" width="195" height="111"/>
|
||||
<rect x="303.5" y="8.5" class="st1" width="1" height="42"/>
|
||||
<rect x="95.5" y="8.5" class="st1" width="1" height="42"/>
|
||||
<circle class="st3" cx="90.5" cy="44.5" r="2"/>
|
||||
<circle class="st3" cx="90.5" cy="55.5" r="2"/>
|
||||
<circle class="st4" cx="309.5" cy="44.5" r="2"/>
|
||||
<circle class="st4" cx="309.5" cy="55.5" r="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<title>DevicesLaptopTablet-blue</title>
|
||||
<path class="st1" d="M371.9-633v10h4v-2.5c0-0.9,0.5-1.8,1.2-2.4l-0.2,0.1l0,0v-2.6h2v1.4l0,0l-0.2,0.1c0.3-0.1,0.6-0.2,0.9-0.2
|
||||
h0.3v-2.4h2v2.4h8v-4L371.9-633z M375.9-624.5h-2v-5h2V-624.5z"/>
|
||||
<path class="st5" d="M365.9-616.9c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.4,0.4,0.6c0.2,0.2,0.4,0.3,0.6,0.4
|
||||
c0.2,0.1,0.5,0.2,0.7,0.2h8.1v-8h-4v-10h18v4h2v-6h-22v12.6l-3.3,3.5c-0.3,0.3-0.4,0.6-0.6,1C366-617.6,365.9-617.3,365.9-616.9z"
|
||||
/>
|
||||
<rect x="371.9" y="-623" class="st5" width="4" height="0"/>
|
||||
<polygon class="st5" points="371.9,-633 389.9,-633 389.9,-633 "/>
|
||||
<path class="st5" d="M397.3-611.6c0.2-0.2,0.3-0.4,0.4-0.6c0.1-0.3,0.2-0.5,0.2-0.8v-12c0-0.3-0.1-0.5-0.2-0.8
|
||||
c-0.1-0.2-0.3-0.4-0.4-0.6c-0.2-0.2-0.4-0.3-0.6-0.4c-0.2-0.1-0.5-0.2-0.8-0.2h-16c-0.4,0-0.7,0.1-1,0.3c-0.6,0.3-1,0.9-1,1.6
|
||||
v10.1l0,0v2c0,0.3,0,0.5,0.2,0.8c0.1,0.2,0.2,0.5,0.4,0.6c0.2,0.2,0.4,0.3,0.6,0.4c0.2,0.1,0.5,0.2,0.8,0.2h16
|
||||
c0.3,0,0.5,0,0.8-0.2C396.9-611.2,397.1-611.4,397.3-611.6z M395.9-613h-16v-12h16V-613z"/>
|
||||
<path class="st1" d="M379.9-613h16v-12h-16V-613z M387.9-621.2h2v6.3h-2V-621.2z M384.9-618h2v3.2h-2V-618z M381.9-619.8h2v5h-2
|
||||
V-619.8z"/>
|
||||
<path class="st6" d="M378.9-630.3h-2v2.6l0,0l0.1-0.1l0.2-0.1c0.1-0.1,0.3-0.2,0.5-0.3h0.1c0.2-0.1,0.3-0.2,0.5-0.3l0.4-0.2h0.1
|
||||
l0.2-0.2V-630.3z"/>
|
||||
<path class="st6" d="M378.9-628.9l-0.2,0.1L378.9-628.9z"/>
|
||||
<rect x="381.9" y="-619.8" class="st6" width="2" height="5"/>
|
||||
<rect x="384.9" y="-618" class="st6" width="2" height="3.2"/>
|
||||
<rect x="387.9" y="-621.2" class="st7" width="2" height="6.3"/>
|
||||
<rect x="373.9" y="-629.5" class="st6" width="2" height="5"/>
|
||||
<polygon class="st7" points="381.9,-631.3 379.9,-631.3 379.9,-629 379.9,-629 381.9,-629 381.9,-629 381.9,-629 "/>
|
||||
<rect x="379.9" y="-631.4" class="st7" width="2" height="0"/>
|
||||
</g>
|
||||
<title>win_it-pro-6</title>
|
||||
<rect x="84.5" y="8.5" class="st0" width="231" height="123"/>
|
||||
<rect x="303.5" y="50.5" class="st1" width="11" height="80"/>
|
||||
<rect x="85.5" y="50.5" class="st1" width="11" height="80"/>
|
||||
<rect x="303.5" y="8.5" class="st1" width="1" height="42"/>
|
||||
<rect x="95.5" y="8.5" class="st1" width="1" height="42"/>
|
||||
<circle class="st2" cx="90.5" cy="44.5" r="2"/>
|
||||
<circle class="st2" cx="90.5" cy="55.5" r="2"/>
|
||||
<circle class="st3" cx="309.5" cy="44.5" r="2"/>
|
||||
<circle class="st3" cx="309.5" cy="55.5" r="2"/>
|
||||
<rect x="102" y="15" class="st1" width="195" height="111"/>
|
||||
<polygon class="st4" points="297,15 229.7,15 297,78 "/>
|
||||
<g>
|
||||
<title>DevicesLaptopTablet-blue</title>
|
||||
<path class="st1" d="M371.9-633v10h4v-2.5c0-0.9,0.5-1.8,1.2-2.4l-0.2,0.1l0,0v-2.6h2v1.4l0,0l-0.2,0.1c0.3-0.1,0.6-0.2,0.9-0.2
|
||||
h0.3v-2.4h2v2.4h8v-4L371.9-633z M375.9-624.5h-2v-5h2V-624.5z"/>
|
||||
<path class="st5" d="M365.9-616.9c0,0.3,0.1,0.5,0.2,0.7s0.2,0.4,0.4,0.6c0.2,0.2,0.4,0.3,0.6,0.4c0.2,0.1,0.5,0.2,0.7,0.2h8.1v-8
|
||||
h-4v-10h18v4h2v-6h-22v12.6l-3.3,3.5c-0.3,0.3-0.4,0.6-0.6,1C366-617.6,365.9-617.3,365.9-616.9z"/>
|
||||
<polygon class="st5" points="371.9,-623 375.9,-623 375.9,-623 "/>
|
||||
<polygon class="st5" points="371.9,-633 389.9,-633 389.9,-633 "/>
|
||||
<path class="st5" d="M397.3-611.6c0.2-0.2,0.3-0.4,0.4-0.6c0.1-0.3,0.2-0.5,0.2-0.8v-12c0-0.3-0.1-0.5-0.2-0.8
|
||||
c-0.1-0.2-0.3-0.4-0.4-0.6c-0.2-0.2-0.4-0.3-0.6-0.4c-0.2-0.1-0.5-0.2-0.8-0.2h-16c-0.4,0-0.7,0.1-1,0.3c-0.6,0.3-1,0.9-1,1.6v10.1
|
||||
l0,0v2c0,0.3,0,0.5,0.2,0.8c0.1,0.2,0.2,0.5,0.4,0.6c0.2,0.2,0.4,0.3,0.6,0.4c0.2,0.1,0.5,0.2,0.8,0.2h16c0.3,0,0.5,0,0.8-0.2
|
||||
C396.9-611.2,397.1-611.4,397.3-611.6z M395.9-613h-16v-12h16V-613z"/>
|
||||
<path class="st1" d="M379.9-613h16v-12h-16V-613z M387.9-621.2h2v6.3h-2V-621.2z M384.9-618h2v3.2h-2V-618z M381.9-619.8h2v5h-2
|
||||
V-619.8z"/>
|
||||
<path class="st6" d="M378.9-630.3h-2v2.6l0,0l0.1-0.1l0.2-0.1c0.1-0.1,0.3-0.2,0.5-0.3h0.1c0.2-0.1,0.3-0.2,0.5-0.3l0.4-0.2h0.1
|
||||
l0.2-0.2v-1.4H378.9z"/>
|
||||
<path class="st6" d="M378.9-628.9l-0.2,0.1L378.9-628.9z"/>
|
||||
<rect x="381.9" y="-619.8" class="st6" width="2" height="5"/>
|
||||
<rect x="384.9" y="-618" class="st6" width="2" height="3.2"/>
|
||||
<rect x="387.9" y="-621.2" class="st7" width="2" height="6.3"/>
|
||||
<rect x="373.9" y="-629.5" class="st6" width="2" height="5"/>
|
||||
<polygon class="st7" points="381.9,-631.3 379.9,-631.3 379.9,-629 379.9,-629 381.9,-629 381.9,-629 381.9,-629 "/>
|
||||
<polygon class="st7" points="379.9,-631.4 381.9,-631.4 381.9,-631.4 "/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
@ -33,7 +33,7 @@ To run SDT for Business, download the components listed in the following table.
|
||||
Mode | Primary scenarios | Download | Learn more
|
||||
--- | --- | --- | ---
|
||||
Desktop mode | Assist users in running SDT on their Surface devices to troubleshoot issues.<br>Create a custom package to deploy on one or more Surface devices allowing users to select specific logs to collect and analyze. | SDT distributable MSI package:<br>Microsoft Surface Diagnostic Toolkit for Business Installer<br>[Surface Tools for IT](https://www.microsoft.com/download/details.aspx?id=46703) | [Use Surface Diagnostic Toolkit in desktop mode](surface-diagnostic-toolkit-desktop-mode.md)
|
||||
Command line | Directly troubleshoot Surface devices remotely without user interaction, using standard tools such as Configuration Manager. It includes the following commands:<br>`-DataCollector` collects all log files<br>`-bpa` runs health diagnostics using Best Practice Analyzer.<br>`-windowsupdate` checks Windows update for missing firmware or driver updates.<br>`-warranty` checks warranty information. <br><br>| SDT console app:<br>Microsoft Surface Diagnostics App Console<br>[Surface Tools for IT](https://www.microsoft.com/download/details.aspx?id=46703) | [Run Surface Diagnostic Toolkit using commands](surface-diagnostic-toolkit-command-line.md)
|
||||
Command line | Directly troubleshoot Surface devices remotely without user interaction, using standard tools such as Configuration Manager. It includes the following commands:<br>`-DataCollector` collects all log files<br>`-bpa` runs health diagnostics using Best Practice Analyzer.<br>`-windowsupdate` checks Windows Update for missing firmware or driver updates.<br>`-warranty` checks warranty information. <br><br>| SDT console app:<br>Microsoft Surface Diagnostics App Console<br>[Surface Tools for IT](https://www.microsoft.com/download/details.aspx?id=46703) | [Run Surface Diagnostic Toolkit using commands](surface-diagnostic-toolkit-command-line.md)
|
||||
|
||||
## Supported devices
|
||||
|
||||
@ -123,21 +123,22 @@ Creating a custom package allows you to target the tool to specific known issues
|
||||
|
||||
*Figure 3. Create custom package*
|
||||
|
||||
### Language and telemetry page
|
||||
### Language and telemetry settings
|
||||
|
||||
|
||||
When you start creating the custom package, you’re asked whether you agree to send data to Microsoft to help improve the application. For more information,see the [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement). Sharing is on by default, so uncheck the box if you wish to decline.
|
||||
When creating a package, you can select language settings or opt out of sending telemetry information to Microsoft. By default, SDT sends telemetry to Microsoft that is used to improve the application in accordance with the [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement). If you wish to decline, clear the check box when creating a custom package, as shown below. Or clear the **Send telemetry to Microsoft** check box on the **Install Options** page during SDT Setup.
|
||||
|
||||
>[!NOTE]
|
||||
>This setting is limited to only sharing data generated while running packages.
|
||||
>This setting does not affect the minimal telemetry automatically stored on Microsoft servers when running tests and repairs that require an Internet connection, such as Windows Update and Software repair, or providing feedback using the Smile or Frown buttons in the app toolbar.
|
||||
|
||||
|
||||

|
||||
|
||||
*Figure 4. Select language and telemetry settings*
|
||||
|
||||
|
||||
### Windows Update page
|
||||
|
||||
Select the option appropriate for your organization. Most organizations with multiple users will typically select to receive updates via Windows Server Update Services (WSUS), as shown in figure 5. If using local Windows update packages or WSUS, enter the path as appropriate.
|
||||
Select the option appropriate for your organization. Most organizations with multiple users will typically select to receive updates via Windows Server Update Services (WSUS), as shown in figure 5. If using local Windows Update packages or WSUS, enter the path as appropriate.
|
||||
|
||||

|
||||
|
||||
@ -170,8 +171,8 @@ You can select to run a wide range of logs across applications, drivers, hardwar
|
||||
*Release date: June 24, 2019*<br>
|
||||
This version of Surface Diagnostic Toolkit for Business adds support for the following:
|
||||
- Driver version information included in logs and report.
|
||||
- Ability to provide feedback about the app <br>
|
||||
Please note that even though you turn off telemtry, windows update and feedback still connect to the internet.
|
||||
- Ability to provide feedback about the app.<br>
|
||||
|
||||
|
||||
### Version 2.36.139.0
|
||||
*Release date: April 26, 2019*<br>
|
||||
@ -180,11 +181,3 @@ This version of Surface Diagnostic Toolkit for Business adds support for the fol
|
||||
- Accessibility improvements.
|
||||
- Surface brightness control settings included in logs.
|
||||
- External monitor compatibility support link in report generator.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@ Before you run the diagnostic tool, make sure you have the latest Windows update
|
||||
|
||||
**To run the Surface Diagnostic Toolkit for Business:**
|
||||
|
||||
1. Download the [Surface Diagnostic Toolkit for Business](https://aka.ms/checkmysurface).
|
||||
1. Download the [Surface Diagnostic Toolkit for Business](https://aka.ms/SDT4B).
|
||||
2. Select Run and follow the on-screen instructions.
|
||||
|
||||
The diagnosis and repair time averages 15 minutes but could take an hour or longer, depending on internet connection speed and the number of updates or repairs required. For more detailed information on Surface Diagnostic Toolkit for Business, refer to [Deploy Surface Diagnostic Toolkit for Business](https://docs.microsoft.com/surface/surface-diagnostic-toolkit-business).
|
||||
|
@ -55,8 +55,8 @@ ms.prod: w10
|
||||
</div>
|
||||
</div>
|
||||
<div class="cardText">
|
||||
<h3>Deployment Overview</h3>
|
||||
<p>Learn how to deploy our suite of education offerings. Set up a cloud infrastructure for your school, acquire apps, and configure and manage Windows 10 devices.</p>
|
||||
<h3>Deployment Guidance</h3>
|
||||
<p>Dive right into the step-by-step process for the easiest deployment path to M365 EDU. We walk you through setting up cloud infrastructure, configuring and managing devices, and migrating on-premise servers for Sharepoint and Exchange to the cloud.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -76,7 +76,7 @@ ms.prod: w10
|
||||
</div>
|
||||
</div>
|
||||
<div class="cardText">
|
||||
<h3>1. Cloud deployment</h3>
|
||||
<h3>1. M365 EDU deployment</h3>
|
||||
<p>Get started by creating your Office 365 tenant, setting up a cloud infrastructure for your school, and creating, managing, and syncing user accounts.</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -104,7 +104,7 @@ ms.prod: w10
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/microsoft-365/education/index?branch=m365-integration#pivot=itpro&panel=itpro-atft" target="_blank">
|
||||
<a href="/microsoft-365/education/deploy/post-deployment-next-steps" target="_blank">
|
||||
<div class="cardSize">
|
||||
<div class="cardPadding">
|
||||
<div class="card">
|
||||
@ -114,8 +114,8 @@ ms.prod: w10
|
||||
</div>
|
||||
</div>
|
||||
<div class="cardText">
|
||||
<h3>3. Tools for Teachers</h3>
|
||||
<p>The latest classroom resources at teachers’ fingertips when you deploy Learning Tools, OneNote Class Notebooks, Teams, and more.</p>
|
||||
<h3>3. Post Deployment Next Steps</h3>
|
||||
<p>Migrate to Sharepoint Server Hybrid or Sharepoint Online, and Exchange Server Hybrid or Exchange Online. Configure settings in your Admin portals.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -118,11 +118,21 @@ The following table lists the SQL Server versions that are supported for the App
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Microsoft SQL Server 2014</p></td>
|
||||
<td align="left"><p>Microsoft SQL Server 2017</p></td>
|
||||
<td align="left"><p></p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Microsoft SQL Server 2016</p></td>
|
||||
<td align="left"><p>SP2</p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Microsoft SQL Server 2014</p></td>
|
||||
<td align="left"><p>SP2</p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Microsoft SQL Server 2012</p></td>
|
||||
<td align="left"><p>SP2</p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
@ -262,11 +272,21 @@ The following table lists the SQL Server versions that are supported for the App
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Microsoft SQL Server 2014</p></td>
|
||||
<td align="left"><p>Microsoft SQL Server 2017</p></td>
|
||||
<td align="left"><p></p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Microsoft SQL Server 2016</p></td>
|
||||
<td align="left"><p>SP2</p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Microsoft SQL Server 2014</p></td>
|
||||
<td align="left"><p>SP2</p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Microsoft SQL Server 2012</p></td>
|
||||
<td align="left"><p>SP2</p></td>
|
||||
<td align="left"><p>32-bit or 64-bit</p></td>
|
||||
|
@ -358,7 +358,7 @@ MBAM is a part of the Microsoft Desktop Optimization Pack (MDOP). MDOP is part o
|
||||
For more information and late-breaking news that is not included in this documentation, see [Release Notes for MBAM 2.5](release-notes-for-mbam-25.md).
|
||||
|
||||
## Got a suggestion for MBAM?
|
||||
- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring).
|
||||
- Send your feedback [here](https://support.microsoft.com/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub).
|
||||
- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).
|
||||
|
||||
## Related topics
|
||||
|
@ -51,11 +51,12 @@ The following table lists the SQL Server versions that the App-V Management data
|
||||
|
||||
|SQL Server version|Service pack|System architecture|
|
||||
|---|---|---|
|
||||
|Microsoft SQL Server 2017||32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2016|SP2|32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2014||32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2012|SP2|32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2008 R2|SP3|32-bit or 64-bit|
|
||||
|
||||
|
||||
### Publishing server operating system requirements
|
||||
|
||||
The App-V Publishing server can be installed on a server that runs Windows Server 2008 R2 with SP1 or later.
|
||||
@ -86,6 +87,8 @@ The following table lists the SQL Server versions that are supported for the App
|
||||
|
||||
|SQL Server version|Service pack|System architecture|
|
||||
|---|---|---|
|
||||
|Microsoft SQL Server 2017||32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2016|SP2|32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2014||32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2012|SP2|32-bit or 64-bit|
|
||||
|Microsoft SQL Server 2008 R2|SP3|32-bit or 64-bit|
|
||||
|
@ -22,10 +22,8 @@ ms.topic: article
|
||||
|
||||
[Windows Mixed Reality](https://blogs.windows.com/windowsexperience/2017/10/03/the-era-of-windows-mixed-reality-begins-october-17/) was introduced in Windows 10, version 1709 (also known as the Fall Creators Update), as a [Windows 10 Feature on Demand (FOD)](https://docs.microsoft.com/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). Features on Demand are Windows feature packages that can be added at any time. When a Windows 10 PC needs a new feature, it can request the feature package from Windows Update.
|
||||
|
||||
Organizations that use Windows Server Update Services (WSUS) must take action to [enable Windows Mixed Reality](#enable). Any organization that wants to prohibit use of Windows Mixed Reality can [block the installation of the Mixed Reality Portal](#block).
|
||||
Organizations that use Windows Server Update Services (WSUS) must take action to [enable Windows Mixed Reality](#enable-windows-mixed-reality-in-wsus). Any organization that wants to prohibit use of Windows Mixed Reality can [block the installation of the Mixed Reality Portal](#block-the-mixed-reality-portal).
|
||||
|
||||
|
||||
<span id="enable" />
|
||||
## Enable Windows Mixed Reality in WSUS
|
||||
|
||||
1. [Check your version of Windows 10.](https://support.microsoft.com/help/13443/windows-which-operating-system)
|
||||
@ -52,8 +50,6 @@ Organizations that use Windows Server Update Services (WSUS) must take action to
|
||||
|
||||
IT admins can also create [Side by side feature store (shared folder)](https://technet.microsoft.com/library/jj127275.aspx) to allow access to the Windows Mixed Reality FOD.
|
||||
|
||||
|
||||
<span id="block" />
|
||||
## Block the Mixed Reality Portal
|
||||
|
||||
You can use the [AppLocker configuration service provider (CSP)](https://docs.microsoft.com/windows/client-management/mdm/applocker-csp) to block the Mixed Reality software.
|
||||
|
@ -42,7 +42,7 @@ The name of the folder in which you store the mandatory profile must use the cor
|
||||
| Windows 8 | Windows Server 2012 | v3 |
|
||||
| Windows 8.1 | Windows Server 2012 R2 | v4 |
|
||||
| Windows 10, versions 1507 and 1511 | N/A | v5 |
|
||||
| Windows 10, versions 1607, 1703, 1709, 1803, and 1809 | Windows Server 2016 | v6 |
|
||||
| Windows 10, versions 1607, 1703, 1709, 1803, 1809 and 1903 | Windows Server 2016 and Windows Server 2019 | v6 |
|
||||
|
||||
For more information, see [Deploy Roaming User Profiles, Appendix B](https://technet.microsoft.com/library/jj649079.aspx) and [Roaming user profiles versioning in Windows 10 and Windows Server Technical Preview](https://support.microsoft.com/kb/3056198).
|
||||
|
||||
@ -150,6 +150,8 @@ When a user is configured with a mandatory profile, Windows 10 starts as though
|
||||
| Computer Configuration > Administrative Templates > Windows Components > Search > **Allow Cortana** = Disabled |  |  |  |  |
|
||||
| Computer Configuration > Administrative Templates > Windows Components > Cloud Content > **Turn off Microsoft consumer experience** = Enabled |  |  |  |  |
|
||||
|
||||
> [!Note]
|
||||
> The Group Policy settings above can be applied in Windows 10 Professional edition.
|
||||
|
||||
|
||||
|
||||
|
@ -45,28 +45,6 @@
|
||||
## [DMProcessConfigXMLFiltered](dmprocessconfigxmlfiltered.md)
|
||||
## [Using PowerShell scripting with the WMI Bridge Provider](using-powershell-scripting-with-the-wmi-bridge-provider.md)
|
||||
## [WMI providers supported in Windows 10](wmi-providers-supported-in-windows.md)
|
||||
## [Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
### [Design a custom configuration service provider](design-a-custom-windows-csp.md)
|
||||
### [IConfigServiceProvider2](iconfigserviceprovider2.md)
|
||||
#### [IConfigServiceProvider2::ConfigManagerNotification](iconfigserviceprovider2configmanagernotification.md)
|
||||
#### [IConfigServiceProvider2::GetNode](iconfigserviceprovider2getnode.md)
|
||||
### [ICSPNode](icspnode.md)
|
||||
#### [ICSPNode::Add](icspnodeadd.md)
|
||||
#### [ICSPNode::Clear](icspnodeclear.md)
|
||||
#### [ICSPNode::Copy](icspnodecopy.md)
|
||||
#### [ICSPNode::DeleteChild](icspnodedeletechild.md)
|
||||
#### [ICSPNode::DeleteProperty](icspnodedeleteproperty.md)
|
||||
#### [ICSPNode::Execute](icspnodeexecute.md)
|
||||
#### [ICSPNode::GetChildNodeNames](icspnodegetchildnodenames.md)
|
||||
#### [ICSPNode::GetProperty](icspnodegetproperty.md)
|
||||
#### [ICSPNode::GetPropertyIdentifiers](icspnodegetpropertyidentifiers.md)
|
||||
#### [ICSPNode::GetValue](icspnodegetvalue.md)
|
||||
#### [ICSPNode::Move](icspnodemove.md)
|
||||
#### [ICSPNode::SetProperty](icspnodesetproperty.md)
|
||||
#### [ICSPNode::SetValue](icspnodesetvalue.md)
|
||||
### [ICSPNodeTransactioning](icspnodetransactioning.md)
|
||||
### [ICSPValidate](icspvalidate.md)
|
||||
### [Samples for writing a custom configuration service provider](samples-for-writing-a-custom-configuration-service-provider.md)
|
||||
## [Configuration service provider reference](configuration-service-provider-reference.md)
|
||||
### [AccountManagement CSP](accountmanagement-csp.md)
|
||||
#### [AccountManagement DDF file](accountmanagement-ddf.md)
|
||||
@ -77,6 +55,8 @@
|
||||
### [AllJoynManagement CSP](alljoynmanagement-csp.md)
|
||||
#### [AllJoynManagement DDF](alljoynmanagement-ddf.md)
|
||||
### [APPLICATION CSP](application-csp.md)
|
||||
### [ApplicationControl CSP](applicationcontrol-csp.md)
|
||||
#### [ApplicationControl DDF file](applicationcontrol-csp-ddf.md)
|
||||
### [AppLocker CSP](applocker-csp.md)
|
||||
#### [AppLocker DDF file](applocker-ddf-file.md)
|
||||
#### [AppLocker XSD](applocker-xsd.md)
|
||||
|
274
windows/client-management/mdm/applicationcontrol-csp-ddf.md
Normal file
@ -0,0 +1,274 @@
|
||||
---
|
||||
title: ApplicationControl CSP
|
||||
description: ApplicationControl CSP
|
||||
ms.author: dansimp@microsoft.com
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: ManikaDhiman
|
||||
ms.date: 07/10/2019
|
||||
---
|
||||
|
||||
# ApplicationControl CSP DDF
|
||||
|
||||
|
||||
This topic shows the OMA DM device description framework (DDF) for the **ApplicationControl** configuration service provider. DDF files are used only with OMA DM provisioning XML.
|
||||
|
||||
Looking for the DDF XML files? See [CSP DDF files download](configuration-service-provider-reference.md#csp-ddf-files-download).
|
||||
|
||||
### ApplicationControl CSP
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE MgmtTree PUBLIC " -//OMA//DTD-DM-DDF 1.2//EN"
|
||||
"http://www.openmobilealliance.org/tech/DTD/DM_DDF-V1_2.dtd"
|
||||
[<?oma-dm-ddf-ver supported-versions="1.2"?>]>
|
||||
<MgmtTree xmlns:MSFT="http://schemas.microsoft.com/MobileDevice/DM">
|
||||
<VerDTD>1.2</VerDTD>
|
||||
<Node>
|
||||
<NodeName>ApplicationControl</NodeName>
|
||||
<Path>./Vendor/MSFT</Path>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Root Node of the ApplicationControl CSP</Description>
|
||||
<DFFormat>
|
||||
<node />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Permanent />
|
||||
</Scope>
|
||||
<DFType>
|
||||
<DDFName></DDFName>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
<NodeName>Policies</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Beginning of a Subtree that contains all policies.</Description>
|
||||
<DFFormat>
|
||||
<node />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Permanent />
|
||||
</Scope>
|
||||
<DFTitle>Policies</DFTitle>
|
||||
<DFType>
|
||||
<DDFName></DDFName>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
<NodeName></NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>The GUID of the Policy</Description>
|
||||
<DFFormat>
|
||||
<node />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<ZeroOrMore />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>Policy GUID</DFTitle>
|
||||
<DFType>
|
||||
<DDFName></DDFName>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
<NodeName>Policy</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
<Add />
|
||||
<Delete />
|
||||
<Replace />
|
||||
</AccessType>
|
||||
<Description>The policy binary encoded as base64</Description>
|
||||
<DFFormat>
|
||||
<b64 />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>Policy</DFTitle>
|
||||
<DFType>
|
||||
<DDFName></DDFName>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
<Node>
|
||||
<NodeName>PolicyInfo</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Information Describing the Policy indicated by the GUID</Description>
|
||||
<DFFormat>
|
||||
<node />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>PolicyInfo</DFTitle>
|
||||
<DFType>
|
||||
<DDFName></DDFName>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
<NodeName>Version</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Version of the Policy indicated by the GUID, as a string. When parsing use a uint64 as the containing data type</Description>
|
||||
<DFFormat>
|
||||
<chr />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>Version</DFTitle>
|
||||
<DFType>
|
||||
<MIME>text/plain</MIME>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
<Node>
|
||||
<NodeName>IsEffective</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Whether the Policy indicated by the GUID is Effective on the system (loaded by the enforcement engine and in effect)</Description>
|
||||
<DFFormat>
|
||||
<bool />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>IsEffective</DFTitle>
|
||||
<DFType>
|
||||
<MIME>text/plain</MIME>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
<Node>
|
||||
<NodeName>IsDeployed</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Whether the Policy indicated by the GUID is deployed on the system (on the physical machine)</Description>
|
||||
<DFFormat>
|
||||
<bool />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>IsDeployed</DFTitle>
|
||||
<DFType>
|
||||
<MIME>text/plain</MIME>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
<Node>
|
||||
<NodeName>IsAuthorized</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>Whether the Policy indicated by the GUID is authorized to be loaded by the enforcement engine on the system </Description>
|
||||
<DFFormat>
|
||||
<bool />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>IsAuthorized</DFTitle>
|
||||
<DFType>
|
||||
<MIME>text/plain</MIME>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
<Node>
|
||||
<NodeName>Status</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>The Current Status of the Policy Indicated by the Policy GUID</Description>
|
||||
<DFFormat>
|
||||
<int />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>Status</DFTitle>
|
||||
<DFType>
|
||||
<MIME>text/plain</MIME>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
<Node>
|
||||
<NodeName>FriendlyName</NodeName>
|
||||
<DFProperties>
|
||||
<AccessType>
|
||||
<Get />
|
||||
</AccessType>
|
||||
<Description>The FriendlyName of the Policy Indicated by the Policy GUID</Description>
|
||||
<DFFormat>
|
||||
<chr />
|
||||
</DFFormat>
|
||||
<Occurrence>
|
||||
<One />
|
||||
</Occurrence>
|
||||
<Scope>
|
||||
<Dynamic />
|
||||
</Scope>
|
||||
<DFTitle>FriendlyName</DFTitle>
|
||||
<DFType>
|
||||
<MIME>text/plain</MIME>
|
||||
</DFType>
|
||||
</DFProperties>
|
||||
</Node>
|
||||
</Node>
|
||||
</Node>
|
||||
</Node>
|
||||
</Node>
|
||||
</MgmtTree>
|
||||
```
|
236
windows/client-management/mdm/applicationcontrol-csp.md
Normal file
@ -0,0 +1,236 @@
|
||||
---
|
||||
title: ApplicationControl CSP
|
||||
description: ApplicationControl CSP
|
||||
ms.author: dansimp@microsoft.com
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: ManikaDhiman
|
||||
ms.date: 05/21/2019
|
||||
---
|
||||
|
||||
# ApplicationControl CSP
|
||||
|
||||
Windows Defender Application Control (WDAC) policies can be managed from an MDM server through ApplicationControl configuration service provider (CSP). This CSP provides expanded diagnostic capabilities and support for [multiple policies](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/deploy-multiple-windows-defender-application-control-policies) (introduced in Windows 10, version 1903). It also provides support for rebootless policy deployment (introduced in Windows 10, version 1709). Unlike [AppLocker CSP](applocker-csp.md), ApplicationControl CSP correctly detects the presence of no-reboot option and consequently does not schedule a reboot.
|
||||
Existing WDAC policies deployed using AppLocker CSP’s CodeIntegrity node can now be deployed using ApplicationControl CSP URI. Although WDAC policy deployment via AppLocker CSP will continue to be supported, all new feature work will be done in ApplicationControl CSP only.
|
||||
|
||||
ApplicationControl CSP was added in Windows 10, version 1903.
|
||||
|
||||
The following diagram shows ApplicationControl CSP in tree format.
|
||||
|
||||

|
||||
|
||||
<a href="" id="vendor-msft-applicationcontrol"></a>**./Vendor/MSFT/ApplicationControl**
|
||||
Defines the root node for ApplicationControl CSP.
|
||||
|
||||
Scope is permanent. Supported operation is Get.
|
||||
|
||||
<a href="" id="applicationcontrol-policies"></a>**ApplicationControl/Policies**
|
||||
An interior node that contains all the policies, each identified by their globally unique identifier (GUID).
|
||||
|
||||
Scope is permanent. Supported operation is Get.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid"></a>**ApplicationControl/Policies/_Policy GUID_**
|
||||
ApplicationControl CSP enforces that the “ID” segment of a given policy URI is the same GUID as the policy ID in the policy blob. Each *Policy GUID* node contains a Policy node and a corresponding PolicyInfo node.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policy"></a>**ApplicationControl/Policies/_Policy GUID_/Policy**
|
||||
This node is the policy binary itself, which is encoded as base64.
|
||||
|
||||
Scope is dynamic. Supported operations are Get, Add, Delete, and Replace.
|
||||
|
||||
Value type is b64. Supported value is any well-formed WDAC policy, i.e. the base64-encoded content output by the ConvertFrom-CIPolicy cmdlet.
|
||||
|
||||
Default value is empty.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo**
|
||||
An interior node that contains the nodes that describe the policy indicated by the GUID.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo-version"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo/Version**
|
||||
This node provides the version of the policy indicated by the GUID. Stored as a string, but when parsing use a uint64 as the containing data type.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
Value type is char.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo-iseffective"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsEffective**
|
||||
This node specifies whether a policy is actually loaded by the enforcement engine and is in effect on a system.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
Value type is bool. Supported values are as follows:
|
||||
- True — Indicates that the policy is actually loaded by the enforcement engine and is in effect on a system.
|
||||
- False — Indicates that the policy is not loaded by the enforcement engine and is not in effect on a system. This is the default.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo-isdeployed"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsDeployed**
|
||||
This node specifies whether a policy is deployed on the system and is present on the physical machine.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
Value type is bool. Supported values are as follows:
|
||||
- True — Indicates that the policy is deployed on the system and is present on the physical machine.
|
||||
- False — Indicates that the policy is not deployed on the system and is not present on the physical machine. This is the default.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo-isauthorized"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsAuthorized**
|
||||
This node specifies whether the policy is authorized to be loaded by the enforcement engine on the system. If not authorized, a policy cannot take effect on the system.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
Value type is bool. Supported values are as follows:
|
||||
- True — Indicates that the policy is authorized to be loaded by the enforcement engine on the system.
|
||||
- False — Indicates that the policy is not authorized to be loaded by the enforcement engine on the system. This is the default.
|
||||
|
||||
The following table provides the result of this policy based on different values of IsAuthorized, IsDeployed, and IsEffective nodes:
|
||||
|
||||
|IsAuthorized | IsDeployed | IsEffective | Resultant |
|
||||
|------------ | ---------- | ----------- | --------- |
|
||||
|True|True|True|Policy is currently running and in effect.|
|
||||
|True|True|False|Policy requires a reboot to take effect.|
|
||||
|True|False|True|Policy requires a reboot to unload from CI.|
|
||||
|False|True|True|Not Reachable.|
|
||||
|True|False|False|*Not Reachable.|
|
||||
|False|True|False|*Not Reachable.|
|
||||
|False|False|True|Not Reachable.|
|
||||
|False|False|False|*Not Reachable.|
|
||||
|
||||
`*` denotes a valid intermediary state; however, if an MDM transaction results in this state configuration, the END_COMMAND_PROCESSING will result in a fail.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo-status"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo/Status**
|
||||
This node specifies whether the deployment of the policy indicated by the GUID was successful.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
Value type is integer. Default value is 0 == OK.
|
||||
|
||||
<a href="" id="applicationcontrol-policies-policyguid-policyinfo-friendlyname"></a>**ApplicationControl/Policies/_Policy GUID_/PolicyInfo/FriendlyName**
|
||||
This node provides the friendly name of the policy indicated by the policy GUID.
|
||||
|
||||
Scope is dynamic. Supported operation is Get.
|
||||
|
||||
Value type is char.
|
||||
|
||||
## Usage guidance
|
||||
|
||||
To use ApplicationControl CSP, you must:
|
||||
- Know a generated policy’s GUID, which can be found in the policy xml as `<PolicyTypeID>`.
|
||||
- Convert the policies to binary format using the ConvertFrom-CIPolicy cmdlet in order to be deployed. The binary policy may be signed or unsigned.
|
||||
- Create a policy node (a Base64-encoded blob of the binary policy representation) using the [certutil -encode](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc732443(v=ws.11)#BKMK_encode) command line tool.
|
||||
|
||||
Here is a sample certutil invocation:
|
||||
```
|
||||
certutil -encode WinSiPolicy.p7b WinSiPolicy.cer
|
||||
```
|
||||
An alternative to using certutil would be to use the following PowerShell invocation:
|
||||
```
|
||||
[Convert]::ToBase64String($(Get-Content -Encoding Byte -ReadCount 0 -Path <bin file>))
|
||||
```
|
||||
If you are using hybrid MDM management with System Center Configuration Manager or using Intune, ensure that you are using Base64 as the Data type when using Custom OMA-URI
|
||||
functionality to apply the Code Integrity policy.
|
||||
|
||||
### Deploy policies
|
||||
To deploy a new base policy using the CSP, perform an ADD on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy** using the Base64-encoded policy node as {Data}. Refer to the the Format section in the Example 1 below.
|
||||
|
||||
To deploy base policy and supplemental policies:
|
||||
- Perform an ADD on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy** using the Base64-encoded policy node as {Data} with the GUID and policy data for the base policy.
|
||||
- Repeat for each base or supplemental policy (with its own GUID and data).
|
||||
|
||||
The following example shows the deployment of two base policies and a supplemental policy (which already specifies the base policy it supplements and does not need that reflected in the ADD).
|
||||
|
||||
**Example 1: Add first base policy**
|
||||
```xml
|
||||
<Add>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{Base1GUID}/Policy</LocURI>
|
||||
</Target>
|
||||
<Meta>
|
||||
<Format xmlns="syncml:metinf">b64</Format>
|
||||
</Meta>
|
||||
<Data> {Base1Data} </Data>
|
||||
</Item>
|
||||
</Add>
|
||||
```
|
||||
**Example 2: Add second base policy**
|
||||
```xml
|
||||
<Add>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{Base2GUID}/Policy</LocURI>
|
||||
</Target>
|
||||
<Meta>
|
||||
<Format xmlns="syncml:metinf">b64</Format>
|
||||
</Meta>
|
||||
<Data> {Base2Data} </Data>
|
||||
</Item>
|
||||
</Add>
|
||||
```
|
||||
**Example 3: Add supplemental policy**
|
||||
```xml
|
||||
<Add>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{Supplemental1GUID}/Policy</LocURI>
|
||||
</Target>
|
||||
<Meta>
|
||||
<Format xmlns="syncml:metinf">b64</Format>
|
||||
</Meta>
|
||||
<Data> {Supplemental1Data} </Data>
|
||||
</Item>
|
||||
</Add>
|
||||
```
|
||||
### Get policies
|
||||
|
||||
Perform a GET using a deployed policy’s GUID to interrogate/inspect the policy itself or information about it.
|
||||
|
||||
The following table displays the result of Get operation on different nodes:
|
||||
|
||||
|Nodes | Get Results|
|
||||
|------------- | ------|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy|raw p7b|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/Version|Policy version|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsEffective|Is the policy in effect|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsDeployed|Is the policy on the system|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsAuthorized|Is the policy authorized on the system|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/Status|Was the deployment successful|
|
||||
|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/FriendlyName|Friendly name per the policy|
|
||||
|
||||
The following is an example of Get command:
|
||||
```xml
|
||||
<Get>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{PolicyGUID}/Policy</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Get>
|
||||
```
|
||||
|
||||
### Delete policies
|
||||
To delete an unsigned policy, perform a DELETE on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy**.
|
||||
|
||||
> [!Note]
|
||||
> Only signed things should be able to update signed policies. Hence, performing a DELETE on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy** is not sufficient to delete a signed policy.
|
||||
|
||||
To delete a signed policy:
|
||||
1. Replace it with a signed update allowing unsigned policy.
|
||||
2. Deploy another update with unsigned policy.
|
||||
3. Perform delete.
|
||||
|
||||
The following is an example of Delete command:
|
||||
```xml
|
||||
<Delete>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{PolicyGUID}/Policy</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Delete>
|
||||
```
|
@ -172,6 +172,34 @@ Additional lists:
|
||||
<!--EndSKU-->
|
||||
<!--EndCSP-->
|
||||
|
||||
<!--StartCSP-->
|
||||
[ApplicationControl CSP](applicationcontrol-csp.md)
|
||||
|
||||
<!--StartSKU-->
|
||||
<table>
|
||||
<tr>
|
||||
<th>Home</th>
|
||||
<th>Pro</th>
|
||||
<th>Business</th>
|
||||
<th>Enterprise</th>
|
||||
<th>Education</th>
|
||||
<th>Mobile</th>
|
||||
<th>Mobile Enterprise</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
<td><img src="images/checkmark.png" alt="check mark" /><sup>6</sup></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!--EndSKU-->
|
||||
<!--EndCSP-->
|
||||
|
||||
<!--StartCSP-->
|
||||
[AppLocker CSP](applocker-csp.md)
|
||||
|
||||
|
@ -1,97 +0,0 @@
|
||||
---
|
||||
title: Create a custom configuration service provider
|
||||
description: Create a custom configuration service provider
|
||||
ms.assetid: 0cb37f03-5bf2-4451-8276-23f4a1dee33f
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# Create a custom configuration service provider
|
||||
|
||||
Mobile device OEMs can create custom configuration service providers to manage their devices. A configuration service provider includes an interface for creating, editing, and deleting nodes, and the nodes themselves. Each node contains data for one registry value and can optionally support get, set, and delete operations.
|
||||
|
||||
To design a custom configuration service provider, the OEM must perform the following steps:
|
||||
|
||||
1. Establish node semantics
|
||||
2. Shape the configuration service provider's subtree
|
||||
3. Choose a transactioning scheme for each node
|
||||
4. Determine node operations
|
||||
|
||||
For more information, see [Designing a custom configuration service provider](design-a-custom-windows-csp.md).
|
||||
|
||||
To write a custom configuration service provider, the OEM must implement the following interfaces:
|
||||
|
||||
- [IConfigServiceProvider2](iconfigserviceprovider2.md) (one per configuration service provider)
|
||||
|
||||
- [ICSPNode](icspnode.md) (one per node)
|
||||
|
||||
- [ICSPNodeTransactioning](icspnodetransactioning.md) (optional, for internally transactioned nodes only)
|
||||
|
||||
- [ICSPValidate](icspvalidate.md) (optional, for UI only)
|
||||
|
||||
This code must be compiled into a single .dll file and added to a package by using the instructions found in "Adding content to a package" in [Creating packages](https://msdn.microsoft.com/library/windows/hardware/dn756642). While writing this code, OEMs can store registry settings and files in the following locations.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p><strong>File location</strong></p></td>
|
||||
<td><p>%DataDrive%\SharedData\OEM\CSP</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><strong>Registry location</strong></p></td>
|
||||
<td><p>$(HKLM.SOFTWARE)\OEM\CSP</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
For examples of how to perform common tasks such as adding a node, replacing a node's value, querying a node's value, or enumerating a node's children, see [Samples for writing a custom configuration service provider](samples-for-writing-a-custom-configuration-service-provider.md).
|
||||
|
||||
To register the configuration service provider as a COM object, you must add the following registry setting to your package. This step is required. In the following sample, replace *uniqueCSPguid* with a new, unique CLSID generated for this purpose. Replace *dllName* with the name of the .dll file that contains the code for your configuration service provider.
|
||||
|
||||
``` syntax
|
||||
<RegKeys>
|
||||
<RegKey KeyName="$(HKCR.CLASSES)\CLSID\{uniqueCSPguid}\InprocServer32">
|
||||
<RegValue Name="@" Type="REG_SZ" Value="dllName.dll" />
|
||||
</RegKey>
|
||||
</RegKeys>
|
||||
```
|
||||
|
||||
To register the configuration service provider with ConfigManager2, you must add the following registry setting to your package. This step is required. In the following sample, replace *dllName* with the name of the configuration service provider (the name of the root node). Replace *uniqueCSPguid* with the same *uniqueCSPguid* value as in the preceding example.
|
||||
|
||||
``` syntax
|
||||
<RegKeys>
|
||||
<RegKey KeyName="$(HKLM.SOFTWARE)\Microsoft\Provisioning\CSPs\.\Vendor\OEM\{Name}">
|
||||
<RegValue Name="@" Value="{uniqueCSPguid}" Type="REG_SZ"/>
|
||||
</RegKey>
|
||||
</RegKeys>
|
||||
```
|
||||
|
||||
To make the configuration service provider accessible from WAP XML, you must register it with the WAP data processing unit by setting the following registry key in your package. Replace *Name* with the name of the configuration service provider. Leave the GUID value exactly as written here.
|
||||
|
||||
``` syntax
|
||||
<RegKeys>
|
||||
<RegKey KeyName="$(HKLM.SOFTWARE)\Classes\Name">
|
||||
<RegValue Name="WAPNodeProcessor" Value="{FB11047A-4051-4d1d-9DCA-C80C5DF98D70}"
|
||||
Type="REG_SZ"/>
|
||||
</RegKey>
|
||||
</RegKeys>
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,169 +0,0 @@
|
||||
---
|
||||
title: Design a custom configuration service provider
|
||||
description: Design a custom configuration service provider
|
||||
MS-HAID:
|
||||
- 'p\_phDeviceMgmt.designing\_a\_custom\_configuration\_service\_provider'
|
||||
- 'p\_phDeviceMgmt.design\_a\_custom\_windows\_csp'
|
||||
ms.assetid: 0fff9516-a71a-4036-a57b-503ef1a81a37
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# Design a custom configuration service provider
|
||||
|
||||
To design a custom configuration service provider, the OEM must perform the following steps:
|
||||
|
||||
1. Establish node semantics
|
||||
2. Shape the configuration service provider's subtree
|
||||
3. Choose a transactioning scheme for each node
|
||||
4. Determine node operations
|
||||
|
||||
For more information about the larger process of writing a new configuration service provider, see [Create a custom configuration service provider](create-a-custom-configuration-service-provider.md).
|
||||
|
||||
## Establish node semantics
|
||||
|
||||
First, determine the nodes you need based on the kind of data to be stored in the registry.
|
||||
|
||||
Nodes can represent anything from abstract concepts or collections (such as email accounts or connection settings) to more concrete objects (such as registry keys and values, directories, and files).
|
||||
|
||||
### Example
|
||||
|
||||
For example, a hypothetical Email configuration service provider might have these nodes:
|
||||
|
||||
- Account: The name of the email account (such as "Hotmail")
|
||||
|
||||
- Username: The user name or email address ("exampleAccount@hotmail.com")
|
||||
|
||||
- Password: The user's password
|
||||
|
||||
- Server: The DNS address of the server ("mail-serv1-example.mail.hotmail.com")
|
||||
|
||||
The `Account`, `Username`, and `Server` nodes would hold text-based information about the email account, the user's email address, and the server address associated with that account. The `Password` node, however, might hold a binary hash of the user's password.
|
||||
|
||||
## Shape the configuration service provider's subtree
|
||||
|
||||
After determining what the nodes represent, decide where each node fits in the settings hierarchy.
|
||||
|
||||
The root node of a configuration service provider's subtree must be the name of the configuration service provider. In this example, the root node is `Email`.
|
||||
|
||||
All of the nodes defined in the previous step must reside under the configuration service provider's root node. Leaf nodes should be used to store data, and interior nodes should be used to group the data into logical collections. Node URIs must be unique. In other words, no two nodes can have both the same parent and the same name.
|
||||
|
||||
There are three typical scenarios for grouping and structuring the nodes:
|
||||
|
||||
- If all of the data belongs to the same component and no further categorizing or grouping is required, you can build a flat tree in which all values are stored directly under the root node. For examples of this design, see [DevInfo configuration service provider](devinfo-csp.md), [HotSpot configuration service provider](hotspot-csp.md), and [w4 APPLICATION configuration service provider](w4-application-csp.md).
|
||||
|
||||
- If the configuration service provider's nodes represent a preexisting set of entities whose structure is well-defined (such as directories and files), the configuration service provider's nodes can simply mirror the existing structure.
|
||||
|
||||
- If the data must be grouped by type or component, a more complex structure is required. This is especially true when there can be multiple instances of the dataset on the device, and each set is indexed by an ID, account name, or account type. In this case, you must build a more complex tree structure. For examples, see [ActiveSync configuration service provider](activesync-csp.md), [CertificateStore configuration service provider](certificatestore-csp.md), and [CMPolicy configuration service provider](cmpolicy-csp.md).
|
||||
|
||||
### Example
|
||||
|
||||
The following image shows an incorrect way to structure the hypothetical `Email` configuration service provider. The interior `Account` nodes group the account data (server name, user name, and user password).
|
||||
|
||||

|
||||
|
||||
However, the account nodes in this design are not unique. Even though the nodes are grouped sensibly, the path for each of the leaf nodes is ambiguous. There is no way to disambiguate the two `Username` nodes, for example, or to reliably access the same node by using the same path. This structure will not work. The easiest solution to this problem is usually to replace an interior node (the grouping node) by:
|
||||
|
||||
1. Promoting a child node.
|
||||
|
||||
2. Using the node value as the name of the new interior node.
|
||||
|
||||
The following design conveys the same amount of information as the first design, but all nodes have a unique path, and therefore it will work.
|
||||
|
||||

|
||||
|
||||
In this case, the `Server` nodes have been promoted up one level to replace the `Account` nodes, and their values are now used as the node names. For example, you could have two different email accounts on the phone, with server names "www.hotmail.com" and "exchange.microsoft.com", each of which stores a user name and a password.
|
||||
|
||||
Note that the process of shaping the configuration service provider’s subtree influences the choice of transactioning schemes for each node. If possible, peer nodes should not have dependencies on each other. Internode dependencies other than parent/child relationships create mandatory groups of settings, which makes configuration service provider development more difficult.
|
||||
|
||||
## Choose a transactioning scheme for each node
|
||||
|
||||
For each node, decide whether to use *external transactioning* or *internal transactioning* to manage the transaction phases (rollback persistence, rollback, and commitment) for the node.
|
||||
|
||||
External transactioning is the simplest option because it allows ConfigManager2 to automatically handle the node's transactioning.
|
||||
|
||||
However, you must use internal transactioning for the following types of nodes:
|
||||
|
||||
- A node that supports the **Execute** method.
|
||||
|
||||
- A node that contains sensitive information (such as a password) that must not be saved in plain text in the ConfigManager2 rollback document.
|
||||
|
||||
- A node that has a dependency on another node that is not a parent. For example, if a parent node has two children that are both required, the configuration service provider could use internal transactioning to defer provisioning the account until both values are set.
|
||||
|
||||
You can choose to mix transactioning modes in your configuration service provider, using internal transactioning for some operations but external transactioning for others. For more information about writing an internally transactioned node, see the [ICSPNodeTransactioning](icspnodetransactioning.md) interface.
|
||||
|
||||
## Determine node operations
|
||||
|
||||
The operations available for each node can vary depending on the purpose of the configuration service provider. The configuration service provider will be easier to use if the operations are consistent. For more information about the supported operations, see the [ICSPNode](icspnode.md) interface.
|
||||
|
||||
For externally transactioned nodes, an operation implementation must include the contrary operations shown in the following table to allow rollback of the operation.
|
||||
|
||||
For internally transactioned nodes, the practice of implementing the contrary commands for each command is recommended, but not required.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Node operation</th>
|
||||
<th>Contrary node operation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p><strong>Add</strong></p></td>
|
||||
<td><p><strong>Clear</strong> and <strong>DeleteChild</strong></p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><strong>Copy</strong></p></td>
|
||||
<td><p>To copy to a new node: <strong>Clear</strong> and <strong>DeleteChild</strong></p>
|
||||
<p>To copy to an existing node: <strong>Add</strong> and <strong>SetValue</strong></p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><strong>Clear</strong></p></td>
|
||||
<td><p>To restore the state of the deleted node: <strong>SetValue</strong> and <strong>SetProperty</strong></p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><strong>DeleteChild</strong></p></td>
|
||||
<td><p>To restore the old node: <strong>Add</strong></p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><strong>DeleteProperty</strong></p></td>
|
||||
<td><p>To restore the deleted property: <strong>SetProperty</strong></p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><strong>Execute</strong></p></td>
|
||||
<td><p>Externally transactioned nodes do not support the <strong>Execute</strong> command.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><strong>GetValue</strong></p></td>
|
||||
<td><p>None</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><strong>Move</strong></p></td>
|
||||
<td><p>To restore a source node: <strong>Move</strong></p>
|
||||
<p>To restore an overwritten target node: <strong>Add</strong> and <strong>SetValue</strong></p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><strong>SetValue</strong></p></td>
|
||||
<td><p>To restore the previous value: <strong>SetValue</strong></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,57 +0,0 @@
|
||||
---
|
||||
title: IConfigServiceProvider2
|
||||
description: IConfigServiceProvider2
|
||||
ms.assetid: 8deec0fb-59a6-4d08-8ddb-6d0d3d868a10
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# IConfigServiceProvider2
|
||||
|
||||
|
||||
OEMs are required to implement this interface once per configuration service provider. ConfigManager2 clients use this interface to instantiate the configuration service provider, to communicate general state information to the configuration service provider, and often to access or create nodes.
|
||||
|
||||
The following table shows the methods defined by this interface that OEMs must implement.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Method</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p><a href="iconfigserviceprovider2configmanagernotification.md" data-raw-source="[IConfigServiceProvider2::ConfigManagerNotification](iconfigserviceprovider2configmanagernotification.md)">IConfigServiceProvider2::ConfigManagerNotification</a></p></td>
|
||||
<td><p>Enables ConfigManager2 to send notifications to a configuration service provider of events such as when the configuration service provider is loaded or unloaded, when rollbacks are performed, and when actions are called on nodes.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="iconfigserviceprovider2getnode.md" data-raw-source="[IConfigServiceProvider2::GetNode](iconfigserviceprovider2getnode.md)">IConfigServiceProvider2::GetNode</a></p></td>
|
||||
<td><p>Returns a node from the configuration service provider based on the path relative to the root node.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,146 +0,0 @@
|
||||
---
|
||||
title: IConfigServiceProvider2 ConfigManagerNotification
|
||||
description: IConfigServiceProvider2 ConfigManagerNotification
|
||||
ms.assetid: b1f0fe0f-afbe-4b36-a75d-34239a86a75c
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# IConfigServiceProvider2::ConfigManagerNotification
|
||||
|
||||
|
||||
This method enables ConfigManager2 to send notifications of events to a configuration service provider, such as when the configuration service provider is loaded or unloaded, when rollbacks are performed, and when actions are called on nodes.
|
||||
|
||||
## Syntax
|
||||
|
||||
|
||||
``` syntax
|
||||
HRESULT ConfigManagerNotification([in] CFGMGR_NOTIFICATION cmnfyState,
|
||||
[in] LPARAM lpParam);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
|
||||
<a href="" id="cmnfystate"></a>*cmnfyState*
|
||||
<ul style="list-style-type:none">
|
||||
<li>
|
||||
The following events are supported by all configuration service providers.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Event</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p>CFGMGR_NOTIFICATION_LOAD</p></td>
|
||||
<td><p>First time the configuration service provider is loaded/instantiated.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p>CFGMGR_NOTIFICATION_BEGINCOMMANDPROCESSING</p></td>
|
||||
<td><p>About to run the first command of a transaction.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p>CFGMGR_NOTIFICATION_ENDCOMMANDPROCESSING</p></td>
|
||||
<td><p>Last command of transaction has executed. This event is always raised if <code>BEGINCOMMANDPROCESSING</code> was raised, even if the handling of <code>BEGINCOMMANDPROCESSING</code> failed.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p>CFGMGR_NOTIFICATION_BEGINCOMMIT</p></td>
|
||||
<td><p>About to commit the first command of a transaction.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p>CFGMGR_NOTIFICATION_ENDCOMMIT</p></td>
|
||||
<td><p>Last command of a transaction has been committed. This event is always raised if <code>BEGINCOMMIT</code> was raised, even if the handling of <code>BEGINCOMMIT</code> failed.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p>CFGMGR_NOTIFICATION_BEGINROLLBACK</p></td>
|
||||
<td><p>About to roll back the first command of the transaction.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p>CFGMGR_NOTIFICATION_ENDROLLBACK</p></td>
|
||||
<td><p>Last command of the transaction has been rolled back. This event is always raised if <code>BEGINROLLBACK</code> was raised, even if the handling of <code>BEGINROLLBACK</code> failed.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p>CFGMGR_NOTIFICATION_UNLOAD</p></td>
|
||||
<td><p>The configuration service provider is about to be unloaded/deleted.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p>CFGMGR_NOTIFICATION_SETSESSIONOBJ</p></td>
|
||||
<td><p>Session object is available for use; <em>lpParam</em> can be cast to an IConfigSession2 pointer.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p>CFGMGR_NOTIFICATION_BEGINTRANSACTIONING</p></td>
|
||||
<td><p>Primarily used for compatibility with v1 configuration service providers. Signals the beginning of a transactioning sequence.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p>CFGMGR_NOTIFICATION_ENDTRANSACTIONING</p></td>
|
||||
<td><p>Primarily used for compatibility with v1 configuration service providers. Signals the end of a transactioning sequence.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<a href="" id="lpparam"></a>*lpParam*
|
||||
<ul style="list-style-type:none">
|
||||
<li>
|
||||
Normally NULL, but contains a pointer to an IConfigSession2 instance if <em>cmnfState</em> is CFGMGR_NOTIFICATION_SETSESSIONOBJ.
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates success.
|
||||
|
||||
## Remarks
|
||||
|
||||
ConfigManager2 guarantees that if it raised one of the BEGIN events
|
||||
|
||||
- CFGMGR\_NOTIFICATION\_BEGINCOMMANDPROCESSING
|
||||
- CFGMGR\_NOTIFICATION\_BEGINCOMMIT
|
||||
- CFGMGR\_NOTIFICATION\_BEGINROLLBACK
|
||||
|
||||
then the corresponding END event will be raised, even if the handling of the BEGIN notification failed.
|
||||
For each transaction, the sequence of notifications is:
|
||||
|
||||
1. BEGINCOMMANDPROCESSING
|
||||
|
||||
2. BEGINTRANSACTIONING
|
||||
|
||||
3. ENDTRANSACTIONING
|
||||
|
||||
4. ENDCOMMANDPROCESSING
|
||||
|
||||
5. Either BEGINCOMMIT or BEGINROLLBACK, depending on whether the transaction succeeded or failed.
|
||||
|
||||
6. Either ENDCOMMIT or ENDROLLBACK, depending on whether the transaction succeeded or failed.
|
||||
|
||||
Each configuration service provider will receive the relevant BEGIN/END notifications exactly once per each transaction that ConfigManager2 executes.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,106 +0,0 @@
|
||||
---
|
||||
title: IConfigServiceProvider2 GetNode
|
||||
description: IConfigServiceProvider2 GetNode
|
||||
ms.assetid: 4dc10a59-f6a2-45c0-927c-d594afc9bb91
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# IConfigServiceProvider2::GetNode
|
||||
|
||||
|
||||
This method returns a node from the configuration service provider based on the path that was passed in. The returned node is a descendent of the root node.
|
||||
|
||||
## Syntax
|
||||
|
||||
|
||||
``` syntax
|
||||
HRESULT GetNode([in] IConfigManager2URI* pURI,
|
||||
[out] ICSPNode** ppNode,
|
||||
[in, out] DWORD* pgrfNodeOptions);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="puri"></a>*pUri*
|
||||
<ul style="list-style-type:none">
|
||||
<li>
|
||||
URI of the child node, relative to the root node. For example, to access the "./Vendor/Contoso/SampleCSP/ContainerA/UserName" node, ConfigManager2 calls the configuration service provider's <code>GetNode</code> method and passes in an IConfigManager2URI instance representing the URI “SampleCSP/ContainerA/UserName”.
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="" id="ppnode"></a><em>ppNode</em>
|
||||
<ul style="list-style-type:none">
|
||||
<li>
|
||||
If the query is successful, this returns the ICSPNode instance at the <em>pUri</em> location in the configuration service provider's tree.
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="" id="pgrfnodeoptions"></a><em>pgrfNodeOptions</em>
|
||||
<ul style="list-style-type:none">
|
||||
<li>
|
||||
Nodes support the following features.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Feature name</th>
|
||||
<th>Bit value (in hex)</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p><code>CSPNODE_OPTION_NATIVESECURITY</code></p></td>
|
||||
<td><p>0x01</p></td>
|
||||
<td><p>The native security option signifies that the node handles its own security checking, and that ConfigManager2 does not have to manage security for this node.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><code>CSPNODE_OPTION_INTERNALTRANSACTION</code></p></td>
|
||||
<td><p>0x02</p></td>
|
||||
<td><p>The internal transactioning option tells ConfigManager2 that the configuration service provider handles the transactioning (rollback and commitment) for the node. To handle internal transactioning, the node must implement the <a href="icspnodetransactioning.md" data-raw-source="[ICSPNodeTransactioning](icspnodetransactioning.md)">ICSPNodeTransactioning</a>.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><code>CSPNODE_OPTION_HANDLEALLPROPERTIES</code></p></td>
|
||||
<td><p>0x04</p></td>
|
||||
<td><p>Unused.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><code>CSPNODE_OPTION_SECRETDATA</code></p></td>
|
||||
<td><p>0x08</p></td>
|
||||
<td><p>Unused.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
## Return Value
|
||||
|
||||
This method returns an ICSPNode. If the function returns null, call GetLastError to get the error value.
|
||||
|
||||
A value of S\_OK indicates that a node was successfully found. CFGMGR\_E\_NODENOTFOUND indicates that the node does not exist. Note that this may be normal, as in the case of optional nodes.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,104 +0,0 @@
|
||||
---
|
||||
title: ICSPNode
|
||||
description: ICSPNode
|
||||
ms.assetid: 023466e6-a8ab-48ad-8548-291409686ac2
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode
|
||||
|
||||
This interface does most of the work in a configuration service provider. Each individual node in a configuration service provider tree is represented by a separate implementation of this interface. The actions of a ConfigManager2 client are typically translated into calls to an instance of an ICSPNode.
|
||||
|
||||
These methods must be implemented so that, if they fail, the node's state at the end of the method matches the state before the method was called.
|
||||
|
||||
Some nodes will not be able to perform certain actions, and can return CFGMGR\_E\_COMMANDNOTALLOWED for those methods. For each method that is implemented for externally–transactioned nodes, the contrary method must also be implemented, as defined by "Determine node operations" in [Designing a custom configuration service provider](design-a-custom-windows-csp.md).
|
||||
|
||||
The following table shows the methods defined by this interface that OEMs must implement.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Method</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodeadd.md" data-raw-source="[ICSPNode::Add](icspnodeadd.md)">ICSPNode::Add</a></p></td>
|
||||
<td><p>Adds an immediate child to a configuration service provider node and returns a pointer to the new child node.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="icspnodeclear.md" data-raw-source="[ICSPNode::Clear](icspnodeclear.md)">ICSPNode::Clear</a></p></td>
|
||||
<td><p>Deletes the contents and children of the current configuration service provider node. Called before <a href="icspnodedeletechild.md" data-raw-source="[ICSPNode::DeleteChild](icspnodedeletechild.md)">ICSPNode::DeleteChild</a>.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodecopy.md" data-raw-source="[ICSPNode::Copy](icspnodecopy.md)">ICSPNode::Copy</a></p></td>
|
||||
<td><p>Makes a copy of the current node at the specified path within the configuration service provider. If the target node exists, it should be overwritten.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="icspnodedeletechild.md" data-raw-source="[ICSPNode::DeleteChild](icspnodedeletechild.md)">ICSPNode::DeleteChild</a></p></td>
|
||||
<td><p>Deletes the specified child node from the configuration service provider node.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodedeleteproperty.md" data-raw-source="[ICSPNode::DeleteProperty](icspnodedeleteproperty.md)">ICSPNode::DeleteProperty</a></p></td>
|
||||
<td><p>Deletes a property from a configuration service provider node.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="icspnodeexecute.md" data-raw-source="[ICSPNode::Execute](icspnodeexecute.md)">ICSPNode::Execute</a></p></td>
|
||||
<td><p>Runs a task on an internally-transactioned configuration service provider node by passing in the specified user data and returning a result.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodegetchildnodenames.md" data-raw-source="[ICSPNode::GetChildNodeNames](icspnodegetchildnodenames.md)">ICSPNode::GetChildNodeNames</a></p></td>
|
||||
<td><p>Returns the list of children for a configuration service provider node.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="icspnodegetproperty.md" data-raw-source="[ICSPNode::GetProperty](icspnodegetproperty.md)">ICSPNode::GetProperty</a></p></td>
|
||||
<td><p>Returns a property value from a configuration service provider node.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodegetpropertyidentifiers.md" data-raw-source="[ICSPNode::GetPropertyIdentifiers](icspnodegetpropertyidentifiers.md)">ICSPNode::GetPropertyIdentifiers</a></p></td>
|
||||
<td><p>Returns a list of non-standard properties supported by the node. The returned array must be allocated with <code>CoTaskMemAlloc</code>.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="icspnodegetvalue.md" data-raw-source="[ICSPNode::GetValue](icspnodegetvalue.md)">ICSPNode::GetValue</a></p></td>
|
||||
<td><p>Gets the value and data type for the node. Interior (non-leaf) nodes may not have a value.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodemove.md" data-raw-source="[ICSPNode::Move](icspnodemove.md)">ICSPNode::Move</a></p></td>
|
||||
<td><p>Moves this node to a new location within the configuration service provider. If the target node already exists, it should be overwritten.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><a href="icspnodesetproperty.md" data-raw-source="[ICSPNode::SetProperty](icspnodesetproperty.md)">ICSPNode::SetProperty</a></p></td>
|
||||
<td><p>Sets a property value for a configuration service provider node.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><a href="icspnodesetvalue.md" data-raw-source="[ICSPNode::SetValue](icspnodesetvalue.md)">ICSPNode::SetValue</a></p></td>
|
||||
<td><p>Sets the value for the configuration service provider node. It is an error to attempt to set the value of an interior node.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,118 +0,0 @@
|
||||
---
|
||||
title: ICSPNode Add
|
||||
description: ICSPNode Add
|
||||
ms.assetid: 5f03d350-c82b-4747-975f-385fd8b5b3a8
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::Add
|
||||
|
||||
This method adds an immediate child node to a configuration service provider node and returns a pointer to the new node.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT Add([in] IConfigManager2URI* pChildName,
|
||||
[in] CFG_DATATYPE DataType,
|
||||
[in] VARIANT varValue,
|
||||
[in, out] ICSPNode** ppNewNode,
|
||||
[in, out] DWORD* pgrfNodeOptions);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="pchildname"></a>*pChildName*
|
||||
Name of child node to add.
|
||||
|
||||
<a href="" id="datatype"></a>*DataType*
|
||||
Data type of the child node to add. Supported types include:
|
||||
- CFG\_DATATYPE\_NODE
|
||||
|
||||
- CFG\_DATATYPE\_NULL
|
||||
|
||||
- CFG\_DATATYPE\_BINARY
|
||||
|
||||
- CFG\_DATATYPE\_INTEGER
|
||||
|
||||
- CFG\_DATATYPE\_STRING
|
||||
|
||||
- CFG\_DATATYPE\_MULTIPLE\_STRING
|
||||
|
||||
<a href="" id="varvalue"></a>*varValue*
|
||||
Value of the child node to add.
|
||||
|
||||
<a href="" id="ppnewnode"></a>*ppNewNode*
|
||||
New child node to return.
|
||||
|
||||
<a href="" id="pgrfnodeoptions"></a>*pgrfNodeOptions*
|
||||
Features supported on the new child node.
|
||||
<table style="margin-left:26px">
|
||||
<colgroup>
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Feature name</th>
|
||||
<th>Bit value (in hex)</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="vertical-align:top"><p><code>CSPNODE_OPTION_NATIVESECURITY</code></p></td>
|
||||
<td style="vertical-align:top"><p>0x01</p></td>
|
||||
<td style="vertical-align:top"><p>The native security option signifies that the node handles its own security checking, and that ConfigManager2 does not have to manage security for this node.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="vertical-align:top"><p><code>CSPNODE_OPTION_INTERNALTRANSACTION</code></p></td>
|
||||
<td style="vertical-align:top"><p>0x02</p></td>
|
||||
<td style="vertical-align:top"><p>The internal transactioning option tells ConfigManager2 that the configuration service provider handles the transactioning (rollback and commitment) for the node. To handle internal transactioning, the node must implement the <a href="icspnodetransactioning.md" data-raw-source="[ICSPNodeTransactioning](icspnodetransactioning.md)">ICSPNodeTransactioning</a>.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="vertical-align:top"><p><code>CSPNODE_OPTION_HANDLEALLPROPERTIES</code></p></td>
|
||||
<td style="vertical-align:top"><p>0x04</p></td>
|
||||
<td style="vertical-align:top"><p>Unused.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="vertical-align:top"><p><code>CSPNODE_OPTION_SECRETDATA</code></p></td>
|
||||
<td style="vertical-align:top"><p>0x08</p></td>
|
||||
<td style="vertical-align:top"><p>Unused.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
## Return Value
|
||||
|
||||
This method returns an ICSPNode and the feature options supported on that child node. If the method returns null, call GetLastError to get the error value.
|
||||
|
||||
A value of S\_OK indicates that a node was successfully found. CMN\_E\_ALREADY\_EXISTS indicates that a child node with the same name already exists. CFGMGR\_E\_COMMANDNOTALLOWED indicates that this node does not support the **Add** method.
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, if this method is implemented, then [ICSPNode::Clear](icspnodeclear.md) and [ICSPNode::DeleteChild](icspnodedeletechild.md) must also be implemented or rollback will fail.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
---
|
||||
title: ICSPNode Clear
|
||||
description: ICSPNode Clear
|
||||
ms.assetid: b414498b-110a-472d-95c0-2d5b38cd78a6
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
|
||||
# ICSPNode::Clear
|
||||
|
||||
This method deletes the contents and child nodes of the current configuration service provider node. This method is always called on the child node before [ICSPNode::DeleteChild](icspnodedeletechild.md) is called on the parent node.
|
||||
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT Clear();
|
||||
```
|
||||
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that the node was successfully cleared. CFGMGR\_E\_COMMANDNOTALLOWED indicates that this node does not support the **Clear** method.
|
||||
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, if this method is implemented, then [ICSPNode::SetValue](icspnodesetvalue.md) and [ICSPNode::SetProperty](icspnodesetproperty.md) must also be implemented or rollback will fail.
|
||||
|
||||
Before calling **Clear** on the target node, ConfigManager2 attempts to gather the current state of the node; the parent node does not have to preserve the state of its child nodes if they are externally-transactioned.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,96 +0,0 @@
|
||||
---
|
||||
title: ICSPNode Copy
|
||||
description: ICSPNode Copy
|
||||
ms.assetid: cd5ce0bc-a08b-4f82-802d-c7ff8701b41f
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::Copy
|
||||
|
||||
This method makes a copy of the current node at the specified path within the configuration service provider. If the target node exists, it should be overwritten.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT Copy([in] IConfigManager2URI* puriDestination,
|
||||
[in, out] ICSPNode** ppNewNode,
|
||||
[in, out] DWORD* pgrfNodeOptions);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="puridestination"></a>*puriDestination*
|
||||
Path and name of new node's location, relative to the configuration service provider's root node.
|
||||
|
||||
<a href="" id="ppnewnode"></a>*ppNewNode*
|
||||
New node created by the copy operation.
|
||||
|
||||
<a href="" id="pgrfnodeoptions"></a>*pgrfNodeOptions*
|
||||
Features supported on the new node.
|
||||
|
||||
<table style="margin-left:26px">
|
||||
<colgroup>
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>Feature name</th>
|
||||
<th>Bit value (in hex)</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><p><code>CSPNODE_OPTION_NATIVESECURITY</code></p></td>
|
||||
<td><p>0x01</p></td>
|
||||
<td><p>The native security option signifies that the node handles its own security checking, and that ConfigManager2 does not have to manage security for this node.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><code>CSPNODE_OPTION_INTERNALTRANSACTION</code></p></td>
|
||||
<td><p>0x02</p></td>
|
||||
<td><p>The internal transactioning option tells ConfigManager2 that the configuration service provider handles the transactioning (rollback and commitment) for the node. To handle internal transactioning, the node must implement the <a href="icspnodetransactioning.md" data-raw-source="[ICSPNodeTransactioning](icspnodetransactioning.md)">ICSPNodeTransactioning</a>.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><p><code>CSPNODE_OPTION_HANDLEALLPROPERTIES</code></p></td>
|
||||
<td><p>0x04</p></td>
|
||||
<td><p>Unused.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><p><code>CSPNODE_OPTION_SECRETDATA</code></p></td>
|
||||
<td><p>0x08</p></td>
|
||||
<td><p>Unused.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that the node was successfully copied to the new location. CFGMGR\_E\_COMMANDNOTALLOWED indicates that this node does not support the **Copy** method.
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, if this method is implemented, then [ICSPNode::Add](icspnodeadd.md), [ICSPNode::SetValue](icspnodesetvalue.md), [ICSPNode::Clear](icspnodeclear.md), and [ICSPNode::DeleteChild](icspnodedeletechild.md) must also be implemented or rollback will fail.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,59 +0,0 @@
|
||||
---
|
||||
title: ICSPNode DeleteChild
|
||||
description: ICSPNode DeleteChild
|
||||
ms.assetid: 8cf3663d-a4cf-4d11-b03a-f1d096ad7f9c
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::DeleteChild
|
||||
|
||||
Deletes the specified child node from the configuration service provider node. [ICSPNode::Clear](icspnodeclear.md) must always be called first on the child node that is to be deleted.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT DeleteChild([in] IConfigManager2URI* puriChildToDelete);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="purichildtodelete"></a>*puriChildToDelete*
|
||||
The name of the child node to delete.
|
||||
|
||||
## Return Values
|
||||
|
||||
| Return Value | Description |
|
||||
|------------------------------|--------------------------------------------------|
|
||||
| CFGMGR\_E\_NODENOTFOUND | The child node does not exist |
|
||||
| CFGMGR\_E\_COMMANDNOTALLOWED | The child node to be deleted is a read-only node |
|
||||
| S\_OK | Success. |
|
||||
|
||||
|
||||
A value of S\_OK indicates that a node was successfully deleted. CFGMGR\_E\_NODENOTFOUND indicates that the child node does not exist. CFGMGR\_E\_COMMANDNOTALLOWED indicates that this node does not support the **ICSP::DeleteChild** method, or that the child node to be deleted is a read-only node.
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, if this method is implemented, then [ICSPNode::Add](icspnodeadd.md) must also be implemented or rollback will fail.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,52 +0,0 @@
|
||||
---
|
||||
title: ICSPNode DeleteProperty
|
||||
description: ICSPNode DeleteProperty
|
||||
ms.assetid: 7e21851f-d663-4558-b3e8-590d24b4f6c4
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::DeleteProperty
|
||||
|
||||
This method deletes a property from a configuration service provider node.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT DeleteProperty([in] REFGUID guidProperty);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="guidproperty"></a>*guidProperty*
|
||||
The GUID of the property to delete.
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that a node was successfully found. CFGMGR\_E\_PROPERTYNOTSUPPORTED indicates that this node does not manage or implement the property itself, but delegates it to ConfigManager2. E\_NOTIMPL indicates this method is not supported by this node.
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, if this method is implemented, then [ICSPNode::SetProperty](icspnodesetproperty.md) must also be implemented or rollback will fail.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
---
|
||||
title: ICSPNode Execute
|
||||
description: ICSPNode Execute
|
||||
ms.assetid: 5916e7b7-256d-49fd-82b6-db0547a215ec
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::Execute
|
||||
|
||||
This method runs a task on an internally-transactioned configuration service provider node by passing in the specified user data and returning a result. The exact meaning of **Execute** and whether it is even supported depends on the purpose of the node. For example, **Execute** called on a node that represents a file should probably **ShellExecute** the file, whereas calling **Execute** on a registry node generally does not make sense.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT Execute([in] VARIANT varUserData);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="varuserdata"></a>*varUserData*
|
||||
Data to pass into the execution.
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that the operation was performed successfully on the node. E\_NOTIMPL should be returned if this method is not implemented.
|
||||
|
||||
## Remarks
|
||||
|
||||
Externally–transactioned nodes do not support this method.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,56 +0,0 @@
|
||||
---
|
||||
title: ICSPNode GetChildNodeNames
|
||||
description: ICSPNode GetChildNodeNames
|
||||
ms.assetid: dc057f2b-282b-49ac-91c4-bb83bd3ca4dc
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::GetChildNodeNames
|
||||
|
||||
This method returns the list of child nodes for a configuration service provider node.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT GetChildNodeNames([out] ULONG* pulCount,
|
||||
[out,size_is(,*pulCount)] BSTR** pbstrNodeNames);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="pulcount"></a>*pulCount*
|
||||
<p style="margin-left: 25px">The number of child nodes to return.</p>
|
||||
|
||||
<a href="" id="pbstrnodenames"></a>*pbstrNodeNames*
|
||||
<p style="margin-left: 25px">The array of child node names. The returned array must be allocated with <code>CoTaskMemAlloc</code>. Each element of the array must be a valid, non-NULL <code>BSTR</code>, allocated by <code>SysAllocString</code> or <code>SysAllocStringLen</code>. The names returned must not be encoded in any way, including URI-encoding, for canonicalization reasons.</p>
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that a node was successfully found. CFGMGR\_E\_COMMANDNOTALLOWED indicates that this was called on a leaf node (no children will be returned).
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, no additional methods are required for successful rollback.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,58 +0,0 @@
|
||||
---
|
||||
title: ICSPNode GetProperty
|
||||
description: ICSPNode GetProperty
|
||||
ms.assetid: a2bdc158-72e0-4cdb-97ce-f5cf1a44b7db
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::GetProperty
|
||||
|
||||
This method returns a property value from a configuration service provider node.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT GetProperty([in] REFGUID guidProperty,
|
||||
[in,out] VARIANT* pvarValue);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="guidproperty"></a>*guidProperty*
|
||||
<p style="margin-left: 25px">GUID that specifies the property to return.</p>
|
||||
|
||||
<a href="" id="pvarvalue"></a>*pvarValue*
|
||||
<p style="margin-left: 25px">Value to return.</p>
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that the value was successfully returned. CFGMGR\_E\_COMMANDNOTSUPPORTED indicates that the node does not implement the property itself, but delegates the management of the property to ConfigManager2.
|
||||
|
||||
## Remarks
|
||||
|
||||
Every node must handle the CFGMGR\_PROPERTY\_DATATYPE property.
|
||||
|
||||
For externally–transactioned nodes, no additional methods are required for successful rollback.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,55 +0,0 @@
|
||||
---
|
||||
title: ICSPNode GetPropertyIdentifiers
|
||||
description: ICSPNode GetPropertyIdentifiers
|
||||
ms.assetid: 8a052cd3-d74c-40c4-845f-f804b920deb4
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::GetPropertyIdentifiers
|
||||
|
||||
This method returns a list of non-standard properties supported by the node. The returned array must be allocated with `CoTaskMemAlloc`.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT GetPropertyIdentifiers([out] ULONG* pulCount,
|
||||
[out,size_is(,*pulCount)] GUID** pguidProperties);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="pulcount"></a>*pulCount*
|
||||
<p style="margin-left: 25px">The number of non-standard properties to return.</p>
|
||||
|
||||
<a href="" id="pguidproperties"></a>*pguidProperties*
|
||||
<p style="margin-left: 25px">The array of property GUIDs to return. This array must be allocated with <code>CoTaskMemAlloc</code>.</p>
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that the properties were successfully returned. E\_NOTIMPL indicates that this method is not supported by the node.
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, no additional methods are required for successful rollback.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
---
|
||||
title: ICSPNode GetValue
|
||||
description: ICSPNode GetValue
|
||||
ms.assetid: c684036d-98be-4659-8ce8-f72436a39b90
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.author: dansimp
|
||||
ms.topic: article
|
||||
ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: manikadhiman
|
||||
ms.date: 06/26/2017
|
||||
---
|
||||
|
||||
# ICSPNode::GetValue
|
||||
|
||||
This method gets the value and data type for the node. Interior (non-leaf) nodes may not have a value.
|
||||
|
||||
## Syntax
|
||||
|
||||
``` syntax
|
||||
HRESULT GetValue([in,out] VARIANT* pvarValue);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
<a href="" id="pvarvalue"></a>*pvarValue*
|
||||
<p style="margin-left: 25px">Data value to return. A node containing a password value returns 16 asterisks (‘*’) for this method. A leaf node whose value has not been set returns a variant whose type is <code>VT_NULL</code>.
|
||||
</p>
|
||||
|
||||
## Return Value
|
||||
|
||||
A value of S\_OK indicates that a node was successfully found. CFGMGR\_E\_COMMANDNOTALLOWED indicates that this node does not support the **ICSP::GetValue** methods, or that this is an interior node.
|
||||
|
||||
## Remarks
|
||||
|
||||
For externally–transactioned nodes, this node is not required to implement any other methods for a successful rollback.
|
||||
|
||||
## Requirements
|
||||
|
||||
**Header:** None
|
||||
|
||||
## Related topics
|
||||
|
||||
[Create a custom configuration service provider](create-a-custom-configuration-service-provider.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|