From 851ab5ff05ef995e86326fe51f1ab4b5724e0cd3 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 9 Nov 2018 10:34:43 -0800 Subject: [PATCH 1/4] fix link --- ...ing-reference-windows-defender-advanced-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md index dcda5f43d8..9366ed298f 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md @@ -113,4 +113,4 @@ To effectively build queries that span multiple tables, you need to understand t ## Related topic - [Query data using Advanced hunting](advanced-hunting-windows-defender-advanced-threat-protection.md) -- [Advanced hunting query language best practices](/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) \ No newline at end of file +- [Advanced hunting query language best practices](advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) \ No newline at end of file From d1b4f83c1b26cd5105e7812387884f1274146193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=20Halfin=20=F0=9F=93=AC=F0=9F=94=A8?= Date: Fri, 9 Nov 2018 19:40:18 +0000 Subject: [PATCH 2/4] Merged PR 12726: Sediment updates --- ...ndows-diagnostic-events-and-fields-1703.md | 283 ++--------------- ...ndows-diagnostic-events-and-fields-1709.md | 186 ++--------- ...ndows-diagnostic-events-and-fields-1803.md | 298 ++++++++++++++++++ 3 files changed, 336 insertions(+), 431 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md index ada643a31a..c0acd3cd73 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md @@ -2791,7 +2791,7 @@ The following fields are available: ### Microsoft.Windows.Remediation.Applicable -This event indicates a remedial plug-in is applicable if/when such a plug-in is detected. This is used to ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -2814,7 +2814,7 @@ The following fields are available: - **HResult** The HRESULT for detection or perform action phases of the plugin. - **IsAppraiserLatestResult** The HRESULT from the appraiser task. - **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. -- **LastHresult** The HRESULT for detection or perform action phases of the plugin. +- **LastHresult** The HResult of the operation. - **LastRun** The date of the most recent SIH run. - **NextRun** Date of the next scheduled SIH run. - **PackageVersion** The version of the current remediation package. @@ -2875,7 +2875,7 @@ The following fields are available: ### Microsoft.Windows.Remediation.Completed -This event enables completion tracking of a process that remediates issues preventing security and quality updates. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -2964,123 +2964,9 @@ The following fields are available: - **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. -### Microsoft.Windows.Remediation.DiskCleanUnExpectedErrorEvent - -This event indicates that an unexpected error occurred during an update and provides information to help address the issue. - -The following fields are available: - -- **CV** The Correlation vector. -- **ErrorMessage** A description of any errors encountered while the plug-in was running. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **Hresult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. -- **SessionGuid** GUID associated with a given execution of sediment pack. - - -### Microsoft.Windows.Remediation.Error - -This event indicates a Sediment Pack error (update stack failure) has been detected and provides information to help address the issue. - -The following fields are available: - -- **HResult** The result of the event execution. -- **Message** A message containing information about the error that occurred. -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.Remediation.FallbackError - -This event indicates an error when Self Update results in a Fallback and provides information to help address the issue. - -The following fields are available: - -- **s0** Indicates the Fallback error level. See [Microsoft.Windows.Remediation.wilResult](#microsoftwindowsremediationwilresult). -- **wilResult** The result of the Windows Installer Logging. See [wilResult](#wilresult). - - -### Microsoft.Windows.Remediation.RemediationNotifyUserFixIssuesInvokeUIEvent - -This event occurs when the Notify User task executes and provides information about the cause of the notification. - -The following fields are available: - -- **CV** The Correlation vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **RemediationNotifyUserFixIssuesCallResult** The result of calling the USO (Update Session Orchestrator) sequence steps. -- **RemediationNotifyUserFixIssuesUsoDownloadCalledHr** The error code from the USO (Update Session Orchestrator) download call. -- **RemediationNotifyUserFixIssuesUsoInitializedHr** The error code from the USO (Update Session Orchestrator) initialize call. -- **RemediationNotifyUserFixIssuesUsoProxyBlanketHr** The error code from the USO (Update Session Orchestrator) proxy blanket call. -- **RemediationNotifyUserFixIssuesUsoSetSessionHr** The error code from the USO (Update Session Orchestrator) session call. - - -### Microsoft.Windows.Remediation.RemediationShellFailedAutomaticAppUpdateModifyEventId - -This event provides the modification of the date on which an Automatic App Update scheduled task failed and provides information about the failure. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **hResult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.Remediation.RemediationShellUnexpectedExceptionId - -This event identifies the remediation plug-in that returned an unexpected exception and provides information about the exception. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **RemediationShellUnexpectedExceptionId** The ID of the remediation plug-in that caused the exception. - - -### Microsoft.Windows.Remediation.RemediationUHEnableServiceFailed - -This event tracks the health of key update (Remediation) services and whether they are enabled. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **hResult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. -- **serviceName** The name associated with the operation. - - -### Microsoft.Windows.Remediation.RemediationUpgradeSucceededDataEventId - -This event returns information about the upgrade upon success to help ensure Windows is up to date. - -The following fields are available: - -- **AppraiserPlugin** TRUE / FALSE depending on whether the Appraiser plug-in task fix was successful. -- **ClearAUOptionsPlugin** TRUE / FALSE depending on whether the AU (Auto Updater) Options registry keys were successfully deleted. -- **CV** The Correlation Vector. -- **DatetimeSyncPlugin** TRUE / FALSE depending on whether the DateTimeSync plug-in ran successfully. -- **DiskCleanupPlugin** TRUE / FALSE depending on whether the DiskCleanup plug-in ran successfully. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **NoisyHammerPlugin** TRUE / FALSE depending on whether the NoisyHammer plug-in ran successfully. -- **PackageVersion** The version number of the current remediation package. -- **RebootRequiredPlugin** TRUE / FALSE depending on whether the Reboot plug-in ran successfully. -- **RemediationNotifyUserFixIssuesPlugin** TRUE / FALSE depending on whether the User Fix Issues plug-in ran successfully -- **RemediationPostUpgradeDiskSpace** The amount of disk space available after the upgrade. -- **RemediationPostUpgradeHibernationSize** The size of the Hibernation file after the upgrade. -- **ServiceHealthPlugin** A list of services updated by the plug-in. -- **SIHHealthPlugin** TRUE / FALSE depending on whether the SIH Health plug-in ran successfully. -- **StackDataResetPlugin** TRUE / FALSE depending on whether the update stack completed successfully. -- **TaskHealthPlugin** A list of tasks updated by the plug-in. -- **UpdateApplicabilityFixerPlugin** TRUE / FALSE depending on whether the update applicability fixer plug-in completed successfully. -- **WindowsUpdateEndpointPlugin** TRUE / FALSE depending on whether the Windows Update Endpoint was successful. - - ### Microsoft.Windows.Remediation.Started -This event reports whether a plug-in started, to help ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -3091,31 +2977,6 @@ The following fields are available: - **Result** This is the HRESULT for detection or perform action phases of the plugin. -### Microsoft.Windows.Remediation.wilResult - -This event provides Self Update information to help keep Windows up to date. - -The following fields are available: - -- **callContext** A list of diagnostic activities containing this error. -- **currentContextId** An identifier for the newest diagnostic activity containing this error. -- **currentContextMessage** A message associated with the most recent diagnostic activity containing this error (if any). -- **currentContextName** Name of the most recent diagnostic activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** The identifier assigned to this failure. -- **failureType** Indicates the type of failure observed (exception, returned, error, logged error, or fail fast). -- **fileName** The source code file name where the error occurred. -- **function** The name of the function where the error occurred. -- **hresult** The failure error code. -- **lineNumber** The Line Number within the source code file where the error occurred. -- **message** A message associated with the failure (if any). -- **module** The name of the binary module in which the error occurred. -- **originatingContextId** The identifier for the oldest diagnostic activity containing this error. -- **originatingContextMessage** A message associated with the oldest diagnostic activity containing this error (if any). -- **originatingContextName** The name of the oldest diagnostic activity containing this error. -- **threadId** The identifier of the thread the error occurred on. - - ## Sediment events ### Microsoft.Windows.Sediment.Info.AppraiserData @@ -3465,15 +3326,17 @@ The following fields are available: - **Time** The system time at which the event occurred. +## Sediment Launcher events + ### Microsoft.Windows.SedimentLauncher.Applicable -Indicates whether a given plugin is applicable. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. - **IsSelfUpdateNeeded** True if self update needed by device. - **PackageVersion** Current package version of Remediation. @@ -3483,97 +3346,43 @@ The following fields are available: ### Microsoft.Windows.SedimentLauncher.Completed -Indicates whether a given plugin has completed its work. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. - **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. -### Microsoft.Windows.SedimentLauncher.Error - -This event indicates an error occurred during the execution of the plug-in. The information provided helps ensure future upgrade/update attempts are more successful. - -The following fields are available: - -- **HResult** The result for the Detection or Perform Action phases of the plug-in. -- **Message** A message containing information about the error that occurred (if any). -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.SedimentLauncher.FallbackError - -This event indicates that an error occurred during execution of the plug-in fallback. - -The following fields are available: - -- **s0** Error occurred during execution of the plugin fallback. See [Microsoft.Windows.SedimentLauncher.wilResult](#microsoftwindowssedimentlauncherwilresult). - - -### Microsoft.Windows.SedimentLauncher.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Information message returned from a plugin containing only information internal to the plugins execution. -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentLauncher.Started -This event indicates that a given plug-in has started. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. -### Microsoft.Windows.SedimentLauncher.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - +## Sediment Service events ### Microsoft.Windows.SedimentService.Applicable -This event indicates whether a given plug-in is applicable. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. - **IsSelfUpdateNeeded** Indicates if self update is needed. - **PackageVersion** Current package version of Remediation. @@ -3583,13 +3392,13 @@ The following fields are available: ### Microsoft.Windows.SedimentService.Completed -This event indicates whether a given plug-in has completed its work. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. @@ -3603,40 +3412,9 @@ The following fields are available: - **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. -### Microsoft.Windows.SedimentService.Error - -This event indicates whether an error condition occurred in the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.FallbackError - -This event indicates whether an error occurred for a fallback in the plug-in. - -The following fields are available: - -- **s0** Event returned when an error occurs for a fallback in the plugin. See [Microsoft.Windows.SedimentService.wilResult](#microsoftwindowssedimentservicewilresult). - - -### Microsoft.Windows.SedimentService.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentService.Started -This event indicates a specified plug-in has started. This information helps ensure Windows is up to date. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: @@ -3647,31 +3425,6 @@ The following fields are available: - **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -### Microsoft.Windows.SedimentService.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - ## Setup events ### SetupPlatformTel.SetupPlatformTelActivityEvent diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index e6b7d5cbc6..7ed5621811 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -3004,7 +3004,7 @@ This event is triggered whenever the current app state is changed by: launch, sw ### Microsoft.Windows.Remediation.Applicable -This event indicates a remedial plug-in is applicable if/when such a plug-in is detected. This is used to ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -3022,7 +3022,7 @@ The following fields are available: - **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. - **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. - **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by the remediation system. +- **GlobalEventCounter** Client side counter that indicates ordering of events. - **HResult** The HRESULT for detection or perform action phases of the plugin. - **IsAppraiserLatestResult** The HRESULT from the appraiser task. - **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. @@ -3085,29 +3085,9 @@ The following fields are available: - **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. -### Microsoft.Windows.Remediation.ChangePowerProfileDetection - -Indicates whether the remediation system can put in a request to defer a system-initiated sleep to enable installation of security or quality updates. - -The following fields are available: - -- **ActionName** A descriptive name for the plugin action -- **CurrentPowerPlanGUID** The ID of the current power plan configured on the device -- **CV** Correlation vector -- **GlobalEventCounter** Counter that indicates the ordering of events on the device -- **PackageVersion** Current package version of remediation service -- **RemediationBatteryPowerBatteryLevel** Integer between 0 and 100 indicating % battery power remaining (if not on battery, expect 0) -- **RemediationFUInProcess** Result that shows whether the device is currently installing a feature update -- **RemediationFURebootRequred** Indicates that a feature update reboot required was detected so the plugin will exit. -- **RemediationScanInProcess** Result that shows whether the device is currently scanning for updates -- **RemediationTargetMachine** Result that shows whether this device is a candidate for remediation(s) that will fix update issues -- **SetupMutexAvailable** Result that shows whether setup mutex is available or not -- **SysPowerStatusAC** Result that shows whether system is on AC power or not - - ### Microsoft.Windows.Remediation.Completed -This event enables completion tracking of a process that remediates issues preventing security and quality updates. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -3129,7 +3109,7 @@ The following fields are available: - **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. - **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. - **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. -- **GlobalEventCounter** Client-side counter that indicates ordering of events sent by the active user. +- **GlobalEventCounter** Client-side counter that indicates ordering of events. - **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in Megabytes. - **hasRolledBack** Indicates whether the client machine has rolled back. - **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. @@ -3222,30 +3202,14 @@ The following fields are available: - **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. -### Microsoft.Windows.Remediation.RemediationShellMainExeEventId - -Enables tracking of completion of process that remediates issues preventing security and quality updates. - -The following fields are available: - -- **CV** Client side counter which indicates ordering of events sent by the remediation system. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by the remediation system. -- **PackageVersion** Current package version of Remediation. -- **RemediationShellCanAcquireSedimentMutex** True if the remediation was able to acquire the sediment mutex. False if it is already running. -- **RemediationShellExecuteShellResult** Indicates if the remediation system completed without errors. -- **RemediationShellFoundDriverDll** Result whether the remediation system found its component files to run properly. -- **RemediationShellLoadedShellDriver** Result whether the remediation system loaded its component files to run properly. -- **RemediationShellLoadedShellFunction** Result whether the remediation system loaded the functions from its component files to run properly. - - ### Microsoft.Windows.Remediation.Started -This event reports whether a plug-in started, to help ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. @@ -3315,15 +3279,17 @@ The following fields are available: - **Time** System timestamp the event was fired +## Sediment Launcher events + ### Microsoft.Windows.SedimentLauncher.Applicable -Indicates whether a given plugin is applicable. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. - **IsSelfUpdateNeeded** True if self update needed by device. - **PackageVersion** Current package version of Remediation. @@ -3333,98 +3299,43 @@ The following fields are available: ### Microsoft.Windows.SedimentLauncher.Completed -Indicates whether a given plugin has completed its work. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. - **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. -### Microsoft.Windows.SedimentLauncher.Error - -Error occurred during execution of the plugin. - -The following fields are available: - -- **HResult** The result for the Detection or Perform Action phases of the plug-in. -- **Message** A message containing information about the error that occurred (if any). -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.SedimentLauncher.FallbackError - -This event indicates that an error occurred during execution of the plug-in fallback. - -The following fields are available: - -- **s0** Error occurred during execution of the plugin fallback. See [Microsoft.Windows.SedimentLauncher.wilResult](#microsoftwindowssedimentlauncherwilresult). -- **wilResult** Result from executing wil based function. See [wilResult](#wilresult). - - -### Microsoft.Windows.SedimentLauncher.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Information message returned from a plugin containing only information internal to the plugins execution. -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentLauncher.Started -This event indicates that a given plug-in has started. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. -### Microsoft.Windows.SedimentLauncher.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - +## Sediment Service events ### Microsoft.Windows.SedimentService.Applicable -This event indicates whether a given plug-in is applicable. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. - **IsSelfUpdateNeeded** Indicates if self update is needed. - **PackageVersion** Current package version of Remediation. @@ -3434,13 +3345,13 @@ The following fields are available: ### Microsoft.Windows.SedimentService.Completed -This event indicates whether a given plug-in has completed its work. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. @@ -3454,41 +3365,9 @@ The following fields are available: - **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. -### Microsoft.Windows.SedimentService.Error - -This event indicates whether an error condition occurred in the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.FallbackError - -This event indicates whether an error occurred for a fallback in the plug-in. - -The following fields are available: - -- **s0** Event returned when an error occurs for a fallback in the plugin. See [Microsoft.Windows.SedimentService.wilResult](#microsoftwindowssedimentservicewilresult). -- **wilResult** Result for wil based function. See [wilResult](#wilresult). - - -### Microsoft.Windows.SedimentService.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentService.Started -This event indicates a specified plug-in has started. This information helps ensure Windows is up to date. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: @@ -3499,31 +3378,6 @@ The following fields are available: - **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -### Microsoft.Windows.SedimentService.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - ## Setup events ### SetupPlatformTel.SetupPlatformTelActivityEvent diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 945ae68322..1a5a1aa9c7 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -4208,6 +4208,222 @@ The following fields are available: - **userRegionCode** The current user's region setting +## Remediation events + +### Microsoft.Windows.Remediation.Applicable + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. + +The following fields are available: + +- **ActionName** The name of the action to be taken by the plug-in. +- **AppraiserBinariesValidResult** Indicates whether plug-in was appraised as valid. +- **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. +- **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. +- **AppraiserTaskDisabled** Indicates the appraiser task is disabled. +- **AppraiserTaskValidFailed** Indicates the Appraiser task did not function and requires intervention. +- **CV** Correlation vector +- **DateTimeDifference** The difference between local and reference clock times. +- **DateTimeSyncEnabled** Indicates whether the datetime sync plug-in is enabled. +- **DaysSinceLastSIH** The number of days since the most recent SIH executed. +- **DaysToNextSIH** The number of days until the next scheduled SIH execution. +- **DetectedCondition** Indicates whether detect condition is true and the perform action will be run. +- **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. +- **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. +- **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. +- **GlobalEventCounter** Client side counter that indicates ordering of events. +- **HResult** The HRESULT for detection or perform action phases of the plugin. +- **IsAppraiserLatestResult** The HRESULT from the appraiser task. +- **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. +- **LastHresult** The HRESULT for detection or perform action phases of the plugin. +- **LastRun** The date of the most recent SIH run. +- **NextRun** Date of the next scheduled SIH run. +- **PackageVersion** The version of the current remediation package. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Reload** True if SIH reload is required. +- **RemediationNoisyHammerAcLineStatus** Event that indicates the AC Line Status of the machine. +- **RemediationNoisyHammerAutoStartCount** The number of times hammer auto-started. +- **RemediationNoisyHammerCalendarTaskEnabled** Event that indicates Update Assistant Calendar Task is enabled. +- **RemediationNoisyHammerCalendarTaskExists** Event that indicates an Update Assistant Calendar Task exists. +- **RemediationNoisyHammerCalendarTaskTriggerEnabledCount** Event that indicates calendar triggers are enabled in the task. +- **RemediationNoisyHammerDaysSinceLastTaskRunTime** The number of days since the most recent hammer task ran. +- **RemediationNoisyHammerGetCurrentSize** Size in MB of the $GetCurrent folder. +- **RemediationNoisyHammerIsInstalled** TRUE if the noisy hammer is installed. +- **RemediationNoisyHammerLastTaskRunResult** The result of the last hammer task run. +- **RemediationNoisyHammerMeteredNetwork** TRUE if the machine is on a metered network. +- **RemediationNoisyHammerTaskEnabled** Indicates whether the Update Assistant Task (Noisy Hammer) is enabled. +- **RemediationNoisyHammerTaskExists** Indicates whether the Update Assistant Task (Noisy Hammer) exists. +- **RemediationNoisyHammerTaskTriggerEnabledCount** Indicates whether counting is enabled for the Update Assistant (Noisy Hammer) task trigger. +- **RemediationNoisyHammerUAExitCode** The exit code of the Update Assistant (Noisy Hammer) task. +- **RemediationNoisyHammerUAExitState** The code for the exit state of the Update Assistant (Noisy Hammer) task. +- **RemediationNoisyHammerUserLoggedIn** TRUE if there is a user logged in. +- **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. +- **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. +- **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). +- **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. +- **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. +- **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. +- **RemediationTaskHealthChkdskProactiveScan** True/False based on the health of the Check Disk task. +- **RemediationTaskHealthDiskCleanup_SilentCleanup** True/False based on the health of the Disk Cleanup task. +- **RemediationTaskHealthMaintenance_WinSAT** True/False based on the health of the Health Maintenance task. +- **RemediationTaskHealthServicing_ComponentCleanupTask** True/False based on the health of the Health Servicing Component task. +- **RemediationTaskHealthUSO_ScheduleScanTask** True/False based on the health of the USO (Update Session Orchestrator) Schedule task. +- **RemediationTaskHealthWindowsUpdate_ScheduledStartTask** True/False based on the health of the Windows Update Scheduled Start task. +- **RemediationTaskHealthWindowsUpdate_SihbootTask** True/False based on the health of the Sihboot task. +- **RemediationUHServiceBitsServiceEnabled** Indicates whether BITS service is enabled. +- **RemediationUHServiceDeviceInstallEnabled** Indicates whether Device Install service is enabled. +- **RemediationUHServiceDoSvcServiceEnabled** Indicates whether DO service is enabled. +- **RemediationUHServiceDsmsvcEnabled** Indicates whether DSMSVC service is enabled. +- **RemediationUHServiceLicensemanagerEnabled** Indicates whether License Manager service is enabled. +- **RemediationUHServiceMpssvcEnabled** Indicates whether MPSSVC service is enabled. +- **RemediationUHServiceTokenBrokerEnabled** Indicates whether Token Broker service is enabled. +- **RemediationUHServiceTrustedInstallerServiceEnabled** Indicates whether Trusted Installer service is enabled. +- **RemediationUHServiceUsoServiceEnabled** Indicates whether USO (Update Session Orchestrator) service is enabled. +- **RemediationUHServicew32timeServiceEnabled** Indicates whether W32 Time service is enabled. +- **RemediationUHServiceWecsvcEnabled** Indicates whether WECSVC service is enabled. +- **RemediationUHServiceWinmgmtEnabled** Indicates whether WMI service is enabled. +- **RemediationUHServiceWpnServiceEnabled** Indicates whether WPN service is enabled. +- **RemediationUHServiceWuauservServiceEnabled** Indicates whether WUAUSERV service is enabled. +- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. +- **RunAppraiserFailed** Indicates RunAppraiser failed to run correctly. +- **RunTask** TRUE if SIH task should be run by the plug-in. +- **TimeServiceNTPServer** The URL for the NTP time server used by device. +- **TimeServiceStartType** The startup type for the NTP time service. +- **TimeServiceSyncDomainJoined** True if device domain joined and hence uses DC for clock. +- **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. + + +### Microsoft.Windows.Remediation.Completed + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. + +The following fields are available: + +- **ActionName** Name of the action to be completed by the plug-in. +- **AppraiserTaskCreationFailed** TRUE if the appraiser task creation failed to complete successfully. +- **AppraiserTaskDeleteFailed** TRUE if deletion of appraiser task failed to complete successfully. +- **AppraiserTaskExistFailed** TRUE if detection of the appraiser task failed to complete successfully. +- **AppraiserTaskLoadXmlFailed** TRUE if the Appraiser XML Loader failed to complete successfully. +- **AppraiserTaskMissing** TRUE if the Appraiser task is missing. +- **AppraiserTaskTimeTriggerUpdateFailedId** TRUE if the Appraiser Task Time Trigger failed to update successfully. +- **AppraiserTaskValidateTaskXmlFailed** TRUE if the Appraiser Task XML failed to complete successfully. +- **branchReadinessLevel** Branch readiness level policy. +- **cloudControlState** Value indicating whether the shell is enabled on the cloud control settings. +- **CrossedDiskSpaceThreshold** Indicates if cleanup resulted in hard drive usage threshold required for feature update to be exceeded. +- **CV** The Correlation Vector. +- **DateTimeDifference** The difference between the local and reference clocks. +- **DaysSinceOsInstallation** The number of days since the installation of the Operating System. +- **DiskMbCleaned** The amount of space cleaned on the hard disk, measured in Megabytes. +- **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. +- **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. +- **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. +- **GlobalEventCounter** Client-side counter that indicates ordering of events. +- **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in Megabytes. +- **hasRolledBack** Indicates whether the client machine has rolled back. +- **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. +- **hResult** The result of the event execution. +- **HResult** The result of the event execution. +- **installDate** The value of installDate registry key. Indicates the install date. +- **isNetworkMetered** Indicates whether the client machine has uninstalled a later version of the OS. +- **LatestState** The final state of the plug-in component. +- **MicrosoftCompatibilityAppraiser** The name of the component targeted by the Appraiser plug-in. +- **PackageVersion** The package version for the current Remediation. +- **PageFileCount** The number of Windows Page files. +- **PageFileCurrentSize** The size of the Windows Page file, measured in Megabytes. +- **PageFileLocation** The storage location (directory path) of the Windows Page file. +- **PageFilePeakSize** The maximum amount of hard disk space used by the Windows Page file, measured in Megabytes. +- **PluginName** The name of the plug-in specified for each generic plug-in event. +- **RanCleanup** TRUE if the plug-in ran disk cleanup. +- **RemediationBatteryPowerBatteryLevel** Indicates the battery level at which it is acceptable to continue operation. +- **RemediationBatteryPowerExitDueToLowBattery** True when we exit due to low battery power. +- **RemediationBatteryPowerOnBattery** True if we allow execution on battery. +- **RemediationConfigurationTroubleshooterExecuted** True/False based on whether the Remediation Configuration Troubleshooter executed successfully. +- **RemediationConfigurationTroubleshooterIpconfigFix** TRUE if IPConfig Fix completed successfully. +- **RemediationConfigurationTroubleshooterNetShFix** TRUE if network card cache reset ran successfully. +- **RemediationDiskCleanSizeBtWindowsFolderInMegabytes** The size of the Windows BT folder (used to store Windows upgrade files), measured in Megabytes. +- **RemediationDiskCleanupBTFolderEsdSizeInMB** The size of the Windows BT folder (used to store Windows upgrade files) ESD (Electronic Software Delivery), measured in Megabytes. +- **RemediationDiskCleanupGetCurrentEsdSizeInMB** The size of any existing ESD (Electronic Software Delivery) folder, measured in Megabytes. +- **RemediationDiskCleanupSearchFileSizeInMegabytes** The size of the Cleanup Search index file, measured in Megabytes. +- **RemediationDiskCleanupUpdateAssistantSizeInMB** The size of the Update Assistant folder, measured in Megabytes. +- **RemediationDoorstopChangeSucceeded** TRUE if Doorstop registry key was successfully modified. +- **RemediationDoorstopExists** TRUE if there is a One Settings Doorstop value. +- **RemediationDoorstopRegkeyError** TRUE if an error occurred accessing the Doorstop registry key. +- **RemediationDRFKeyDeleteSucceeded** TRUE if the RecoveredFrom (Doorstop) registry key was successfully deleted. +- **RemediationDUABuildNumber** The build number of the DUA. +- **RemediationDUAKeyDeleteSucceeded** TRUE if the UninstallActive registry key was successfully deleted. +- **RemediationDuplicateTokenSucceeded** TRUE if the user token was successfully duplicated. +- **remediationExecution** Remediation shell is in "applying remediation" state. +- **RemediationHibernationMigrated** TRUE if hibernation was migrated. +- **RemediationHibernationMigrationSucceeded** TRUE if hibernation migration succeeded. +- **RemediationImpersonateUserSucceeded** TRUE if the user was successfully impersonated. +- **RemediationNoisyHammerTaskKickOffIsSuccess** TRUE if the NoisyHammer task started successfully. +- **RemediationQueryTokenSucceeded** TRUE if the user token was successfully queried. +- **RemediationRanHibernation** TRUE if the system entered Hibernation. +- **RemediationRevertToSystemSucceeded** TRUE if reversion to the system context succeeded. +- **RemediationShellHasUpgraded** TRUE if the device upgraded. +- **RemediationShellMinimumTimeBetweenShellRuns** Indicates the time between shell runs exceeded the minimum required to execute plugins. +- **RemediationShellRunFromService** TRUE if the shell driver was run from the service. +- **RemediationShellSessionIdentifier** Unique identifier tracking a shell session. +- **RemediationShellSessionTimeInSeconds** Indicates the time the shell session took in seconds. +- **RemediationShellTaskDeleted** Indicates that the shell task has been deleted so no additional sediment pack runs occur for this installation. +- **RemediationUpdateServiceHealthRemediationResult** The result of the Update Service Health plug-in. +- **RemediationUpdateTaskHealthRemediationResult** The result of the Update Task Health plug-in. +- **RemediationUpdateTaskHealthTaskList** A list of tasks fixed by the Update Task Health plug-in. +- **RemediationWindowsLogSpaceFound** The size of the Windows log files found, measured in Megabytes. +- **RemediationWindowsLogSpaceFreed** The amount of disk space freed by deleting the Windows log files, measured in Megabytes. +- **RemediationWindowsSecondaryDriveFreeSpace** The amount of free space on the secondary drive, measured in Megabytes. +- **RemediationWindowsSecondaryDriveLetter** The letter designation of the first secondary drive with a total capacity of 10GB or more. +- **RemediationWindowsSecondaryDriveTotalSpace** The total storage capacity of the secondary drive, measured in Megabytes. +- **RemediationWindowsTotalSystemDiskSize** The total storage capacity of the System Disk Drive, measured in Megabytes. +- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. +- **RunResult** The HRESULT for Detection or Perform Action phases of the plug-in. +- **ServiceHealthPlugin** The nae of the Service Health plug-in. +- **StartComponentCleanupTask** TRUE if the Component Cleanup task started successfully. +- **systemDriveFreeDiskSpace** Indicates the free disk space on system drive in MBs. +- **systemUptimeInHours** Indicates the amount of time the system in hours has been on since the last boot. +- **TotalSizeofOrphanedInstallerFilesInMegabytes** The size of any orphaned Windows Installer files, measured in Megabytes. +- **TotalSizeofStoreCacheAfterCleanupInMegabytes** The size of the Windows Store cache after cleanup, measured in Megabytes. +- **TotalSizeofStoreCacheBeforeCleanupInMegabytes** The size of the Windows Store cache (prior to cleanup), measured in Megabytes. +- **uninstallActive** TRUE if previous uninstall has occurred for current OS +- **usoScanDaysSinceLastScan** The number of days since the last USO (Update Session Orchestrator) scan. +- **usoScanInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. +- **usoScanIsAllowAutoUpdateKeyPresent** TRUE if the AllowAutoUpdate registry key is set. +- **usoScanIsAllowAutoUpdateProviderSetKeyPresent** TRUE if AllowAutoUpdateProviderSet registry key is set. +- **usoScanIsAuOptionsPresent** TRUE if Auto Update Options registry key is set. +- **usoScanIsFeatureUpdateInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. +- **usoScanIsNetworkMetered** TRUE if the device is currently connected to a metered network. +- **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. +- **usoScanIsUserLoggedOn** TRUE if the user is logged on. +- **usoScanPastThreshold** TRUE if the most recent USO (Update Session Orchestrator) scan is past the threshold (late). +- **usoScanType** The type of USO (Update Session Orchestrator) scan (Interactive or Background). +- **windows10UpgraderBlockWuUpdates** Event to report the value of Windows 10 Upgrader BlockWuUpdates Key. +- **windowsEditionId** Event to report the value of Windows Edition ID. +- **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. +- **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. +- **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. +- **WindowsOldSpaceCleanedInMB** The amount of disk space freed by removing the Windows.OLD folder, measured in Megabytes. +- **WindowsPageFileSysSizeInMegabytes** The size of the Windows Page file, measured in Megabytes. +- **WindowsSoftwareDistributionFolderSizeInMegabytes** The size of the SoftwareDistribution folder, measured in Megabytes. +- **WindowsSwapFileSysSizeInMegabytes** The size of the Windows Swap file, measured in Megabytes. +- **WindowsSxsFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) folder, measured in Megabytes. +- **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. +- **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. + + +### Microsoft.Windows.Remediation.Started + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + ## Sediment events ### Microsoft.Windows.Sediment.Info.DetailedState @@ -4272,6 +4488,88 @@ The following fields are available: - **Time** System timestamp when the event was started. +## Sediment Service events + +### Microsoft.Windows.SedimentService.Applicable + +This event sends simple device connectivity and configuration data about a service installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentService.Completed + +This event sends simple device connectivity and configuration data about a service installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentService.Started + +This event sends simple device connectivity and configuration data about a service installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +## Sediment Launcher events + +### Microsoft.Windows.SedimentLauncher.Applicable + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentLauncher.Completed + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentLauncher.Started + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + ## Setup events ### SetupPlatformTel.SetupPlatformTelActivityEvent From e5308a70cf1f24846d5d2100682168f870f8afdd Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 9 Nov 2018 12:58:48 -0800 Subject: [PATCH 3/4] update azure image and steps --- ...dows-defender-advanced-threat-protection.md | 7 ++++--- .../images/atp-azure-assign-role.png | Bin 0 -> 105224 bytes 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/atp-azure-assign-role.png diff --git a/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md index 11611c7741..f5f0d320e5 100644 --- a/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md @@ -11,7 +11,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 09/13/2018 +ms.date: 11/09/2018 --- # Use basic permissions to access the portal @@ -79,9 +79,10 @@ For more information see, [Manage Azure AD group and role membership](https://te 6. Select **Manage** > **Directory role**. -7. Under **Directory role**, select **Limited administrator**, then **Security Reader** or **Security Administrator**. +7. Select **Add role** and choose the role you'd like to assign, then click **Select**. - ![Image of Microsoft Azure portal](images/atp-azure-ui-user-access.png) + + ![Image of Microsoft Azure portal](images/atp-azure-assign-role.png) ## Related topic - [Manage portal access using RBAC](rbac-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/images/atp-azure-assign-role.png b/windows/security/threat-protection/windows-defender-atp/images/atp-azure-assign-role.png new file mode 100644 index 0000000000000000000000000000000000000000..93e294ec2ba894b9798f36df8b06138d8c6c2195 GIT binary patch literal 105224 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

!WWVHdF7}x|nbuE!e6S)~hle=(;1Xl& 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Ξ; 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 literal 0 HcmV?d00001 From 0a4a0f8a78b1cca36767a9580a854704bbb3599c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=20Halfin=20=F0=9F=93=AC=F0=9F=94=A8?= Date: Fri, 9 Nov 2018 21:44:11 +0000 Subject: [PATCH 4/4] Merged PR 12735: Update to ITDM --- windows/privacy/TOC.md | 2 +- windows/privacy/gdpr-it-guidance.md | 81 +++++++++++++++++++++++------ 2 files changed, 66 insertions(+), 17 deletions(-) diff --git a/windows/privacy/TOC.md b/windows/privacy/TOC.md index a229e2df1a..6148d1201c 100644 --- a/windows/privacy/TOC.md +++ b/windows/privacy/TOC.md @@ -1,6 +1,6 @@ # [Privacy](index.yml) ## [Beginning your General Data Protection Regulation (GDPR) journey for Windows 10](gdpr-win10-whitepaper.md) -## [Windows 10 and the GDPR for IT Decision Makers](gdpr-it-guidance.md) +## [Windows and the GDPR: Information for IT Administrators and Decision Makers](gdpr-it-guidance.md) ## [Windows 10 personal data services configuration](windows-personal-data-services-configuration.md) ## [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) ## [Diagnostic Data Viewer Overview](diagnostic-data-viewer-overview.md) diff --git a/windows/privacy/gdpr-it-guidance.md b/windows/privacy/gdpr-it-guidance.md index dd46e67249..d7673c5f3d 100644 --- a/windows/privacy/gdpr-it-guidance.md +++ b/windows/privacy/gdpr-it-guidance.md @@ -1,5 +1,5 @@ --- -title: Windows 10 and the GDPR for IT Decision Makers +title: Windows and the GDPR-Information for IT Administrators and Decision Makers description: Use this topic to understand the relationship between users in your organization and Microsoft in the context of the GDPR (General Data Protection Regulation). keywords: privacy, GDPR, windows, IT ms.prod: w10 @@ -11,12 +11,17 @@ author: danihalfin ms.author: daniha ms.date: 05/11/2018 --- -# Windows 10 and the GDPR for IT Decision Makers +# Windows and the GDPR: Information for IT Administrators and Decision Makers Applies to: +- Windows 10, version 1809 - Windows 10, version 1803 - Windows 10, version 1709 - Windows 10, version 1703 +- Windows 10 Team Edition, version 1703 for Surface Hub +- Windows Server 2019 +- Windows Server 2016 +- Windows Analytics This topic provides IT Decision Makers with a basic understanding of the relationship between users in an organization and Microsoft in the context of the GDPR (General Data Protection Regulation). You will also learn what role an IT organization plays for that relationship. @@ -35,7 +40,7 @@ Here are some GDPR fundamentals: * The European law establishes strict global data privacy requirements governing how organizations manage and protect personal data while respecting individual choice – no matter where data is sent, processed, or stored. * A request by an individual to an organization to take an action on their personal data is referred to here as a *data subject request*, or *DSR*. -Microsoft believes data privacy is a fundamental right, and that the GDPR is an important step forward for clarifying and enabling individual privacy rights. We also recognize that the GDPR requires significant changes by organizations all over the world with regard to the discovery, management, protection, and reporting of personal data that is collected, processed, and stored within an organization. +Microsoft believes data privacy is a fundamental right, and that the GDPR is an important step forward for clarifying and enabling individual privacy rights. We also recognize that the GDPR required significant changes by organizations all over the world with regard to the discovery, management, protection, and reporting of personal data that is collected, processed, and stored within an organization. ### What is personal data under the GDPR? @@ -87,7 +92,7 @@ It is important to differentiate between two distinct types of data Windows serv A user action, such as performing a Skype call, usually triggers the collection and transmission of Windows *functional data*. Some Windows components and applications connecting to Microsoft services also exchange Windows functional data to provide user functionality. Some other examples of Windows functional data: -* The Weather app which uses the device’s location to retrieve local weather or community news. +* The Weather app which can use the device’s location to retrieve local weather or community news. * Wallpaper and desktop settings that are synchronized across multiple devices. For more info on how IT Professionals can manage Windows functional data sent from an organization to Microsoft, see [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). @@ -100,10 +105,10 @@ Some examples of diagnostic data include: * The type of hardware being used, information about installed apps and usage details, and reliability data on drivers running on the device. * For users who have turned on “Tailored experiences”, it can be used to offer personalized tips, ads, and recommendations to enhance Microsoft products and services for the needs of the user. -To find more about what information is collected, how it is handled, and the available Windows diagnostic data levels, see [Understanding Windows diagnostic data](configure-windows-diagnostic-data-in-your-organization.md#understanding-windows-diagnostic-data) and [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). +Diagnostic data is categorized into the levels "Security", "Basic", "Enhanced", and "Full". For a detailed discussion about these diagnostic data levels please see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). To find more about what information is collected and how it is handled, see [Understanding Windows diagnostic data](configure-windows-diagnostic-data-in-your-organization.md#understanding-windows-diagnostic-data). >[!IMPORTANT] ->Other Microsoft services as well as 3rd party applications and drivers running on Windows devices may implement their own functionality, independently from Windows, to transport their diagnostic data to the respective publisher. Please contact them for further guidance on how to control the diagnostic data collection level and transmission of these publishers. +>Other Microsoft services as well as 3rd party applications and drivers running on Windows devices may implement their own functionality, independently from Windows, to transport their diagnostic data. Please contact the publisher for further guidance on how to control the diagnostic data collection level and transmission of these applications and services. ### Windows services where Microsoft is the processor under the GDPR @@ -123,7 +128,7 @@ As a result, in terms of the GDPR, the organization that has subscribed to Windo >The IT organization must explicitly enable Windows Analytics for a device after the organization subscribes. >[!IMPORTANT] ->Windows Analytics does not collect Windows Diagnostic data by itself. Instead, Windows Analytics only uses a subset of Windows Diagnostic data that is collected by Windows for a particular device. The Windows Diagnostic data collection is controlled by the IT department of an organization or the user of a device. +>Windows Analytics does not collect Windows Diagnostic data by itself. Instead, Windows Analytics only uses a subset of Windows Diagnostic data that is collected by Windows for an enrolled device. The Windows Diagnostic data collection is controlled by the IT department of an organization or the user of a device. #### Windows Defender ATP @@ -140,27 +145,43 @@ The following table lists in what GDPR mode – controller or processor – Wind | Service | Microsoft GDPR mode of operation | | --- | --- | -| Windows Functional data | Controller | +| Windows Functional data | Controller or Processor* | | Windows Diagnostic data | Controller | | Windows Analytics | Processor | | Windows Defender Advanced Threat Detection (ATP) | Processor | *Table 1: Windows 10 GDPR modes of operations for different Windows 10 services* -## Recommended diagnostic data level settings +*/*Depending on which application/feature this is referring to.* -Windows diagnostic data collection level can be set by a user in Windows (*Start > Settings > Privacy > Diagnostics & feedback*) or by the IT department of an organization, using Group Policy or Mobile Device Management (MDM) techniques. +## Windows diagnostic data and Windows 10 -* For Windows 10, version 1803, Microsoft recommends setting the Windows diagnostic level to “Enhanced”. This enables organizations to get the full functionality of [Windows Analytics](#windows-analytics). Those organizations who wish to share the smallest set of events for Windows Analytics can use the “Limit Enhanced diagnostic data to the minimum required by Windows Analytics” filtering mechanism that Microsoft introduced in Windows 10, version 1709. When enabled, this feature limits the operating system diagnostic data events included in the Enhanced level to the smallest set of data required by Windows Analytics. + +### Recommended Windows 10 settings + +Windows diagnostic data collection level for Windows 10 can be set by a user in Windows (*Start > Settings > Privacy > Diagnostics & feedback*) or by the IT department of an organization, using Group Policy or Mobile Device Management (MDM) techniques. + +* For Windows 10, version 1803 and version 1809, Microsoft recommends setting the Windows diagnostic level to “Enhanced”. This enables organizations to get the full functionality of [Windows Analytics](#windows-analytics). >[!NOTE] >For more information on the Enhanced level, see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). * For Windows 10, version 1709, and Windows 10, version 1703, the recommended Windows diagnostic level configuration for EEA and Switzerland commercial users is “Basic”. -* For Windows 7, Microsoft recommends configuring enterprise devices for Windows Analytics to facilitate upgrade planning to Windows 10. +>[!NOTE] +>For Windows 7, Microsoft recommends [configuring enterprise devices for Windows Analytics](/windows/deployment/update/windows-analytics-get-started) to facilitate upgrade planning to Windows 10. -## Controlling the data collection and notification about it +### Additional information for Windows Analytics + +Some Windows Analytics solutions and functionality, such as Update Compliance, works with “Basic” as minimum Windows diagnostic level. Other solutions and functionality of Windows Analytics, such as Device Health, require “Enhanced”. + +Those organizations who wish to share the smallest set of events for Windows Analytics and have set the Windows diagnostic level to “Enhanced” can use the “Limit Enhanced diagnostic data to the minimum required by Windows Analytics” setting. This filtering mechanism was that Microsoft introduced in Windows 10, version 1709. When enabled, this feature limits the operating system diagnostic data events included in the Enhanced level to the smallest set of data required by Windows Analytics. + +>[!NOTE] +>Additional information can be found at [Windows Analytics and privacy](/windows/deployment/update/windows-analytics-privacy +). + +## Controlling Windows 10 data collection and notification about it Windows 10 sends diagnostic data to Microsoft services, and some of that data can contain personal data. Both the user and the IT organization have the ability to control the transmission of that data to Microsoft. @@ -200,10 +221,38 @@ IT Professionals that are interested in this configuration, see [Windows 10 pers To find out more about the network connections that Windows components make to Microsoft as well as the privacy settings that affect data shared with either Microsoft or apps, see [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) and [Manage Windows 10 connection endpoints](manage-windows-endpoints.md). These articles describe how these settings can be managed by an IT Professional. -## At-a-glance: the relationship between an IT organization and the GDPR +### At-a-glance: the relationship between an IT organization and the GDPR Because Microsoft is a controller for data collected by Windows 10, the user can work with Microsoft to satisfy GDPR requirements. While this relationship between Microsoft and a user is evident in a consumer scenario, an IT organization can influence that relationship in an enterprise scenario. For example, the IT organization has the ability to centrally configure the Windows diagnostic data level by using Group Policy or MDM settings. +## Windows Server + +Windows Server follows the same mechanisms as Windows 10 for handling of personal data – for example, when collecting Windows diagnostic data. + +More detailed information about Windows Server and the GDPR is available at Beginning your General Data Protection Regulation (GDPR) journey for Windows Server. + +### Windows diagnostic data and Windows Server + +The lowest diagnostic data setting level supported on Windows Server 2016 and Windows Server 2019 through management policies is “Security”. The lowest diagnostic data setting supported through the Settings UI is “Basic”. The default diagnostic data level for all Windows Server 2016 and Windows Server 2019 editions is “Enhanced”. + +IT administrators can configure the Windows Server diagnostic data settings using familiar management tools, such as Group Policy, MDM, or Windows Provisioning. IT administrators can also manually change settings using Registry Editor. Setting the Windows Server diagnostic data levels through a management policy overrides any device-level settings. + +### Backups and Windows Server + +Backups, including live backups and backups that are stored locally within an organization or in the cloud, can contain personal data. + +- Backups an organizations creates, for example by using Windows Server Backup (WSB), are under its control. For example, for exporting personal data contained in a backup, the organization needs to restore the appropriate backup sets to facilitate the respective data subject request (DSR). +- The GDPR also applies when storing backups in the cloud. For example, an organization can use Microsoft Azure Backup to backup files and folders from physical or virtual Windows Server machines (located on-premises or in Azure) to the cloud. The organization that is subscribed to this backup service also has the obligation to restore the data in order to exercise the respective DSR. + +## Windows 10 Team Edition, Version 1703 for Surface Hub + +Surface Hub is a shared device used within an organization. The device identifier collected as part of diagnostic data is not connected to a user. For removing Windows diagnostic data sent to Microsoft for a Surface Hub, Microsoft created the Surface Hub Delete Diagnostic Data tool available in the Microsoft Store. + +>[!NOTE] +>Additional apps running on the device, that are not delivered as part of the in-box experience of Surface Hub, may implement their own diagnostic data collection and transmission functionality independently to collect and process personal data. Please contact the app publisher for further guidance on how to control this. + +An IT administrator can configure privacy- related settings, such as setting the Windows diagnostic data level to Basic. Surface Hub does not support group policy for centralized management; however, IT administrators can use MDM to apply these settings to Surface Hub. For more information about Surface Hub and MDM, please see [Manage settings with an MDM provider](https://docs.microsoft.com/surface-hub/manage-settings-with-mdm-for-surface-hub). + ## Further reading ### Optional settings / features that further improve the protection of personal data @@ -215,11 +264,11 @@ Personal data protection is one of the goals of the GDPR. One way of improving p ### Windows Security Baselines -Microsoft has created Windows Security Baselines to efficiently configure Windows 10. For more information, please visit [Windows Security Baselines](/windows/security/threat-protection/windows-security-baselines). +Microsoft has created Windows Security Baselines to efficiently configure Windows 10 and Windows Server. For more information, please visit [Windows Security Baselines](/windows/security/threat-protection/windows-security-baselines). ### Windows Restricted Traffic Limited Functionality Baseline -To make it easier to deploy settings that restrict connections from Windows 10 to Microsoft, IT Professionals can apply the Windows Restricted Traffic Limited Functionality Baseline, available [here](https://go.microsoft.com/fwlink/?linkid=828887). +To make it easier to deploy settings that restrict connections from Windows 10 and Windows Server to Microsoft, IT Professionals can apply the Windows Restricted Traffic Limited Functionality Baseline, available [here](https://go.microsoft.com/fwlink/?linkid=828887). >[!IMPORTANT] >Some of the settings of the Windows Restricted Traffic Limited Functionality Baseline will reduce the functionality and security configuration of a device in the organization and are therefore not recommended.