public async Task <WindowsUpdateStatus> ReportWindowsUpdateStatusAsync() { var request = new Message.GetWindowsUpdatesRequest(); Message.GetWindowsUpdatesResponse windowsUpdatesResponse = await this._systemConfiguratorProxy.SendCommandAsync(request) as Message.GetWindowsUpdatesResponse; WindowsUpdateStatus status; status.approved = windowsUpdatesResponse.configuration.approved; status.installable = windowsUpdatesResponse.configuration.installable; status.installed = windowsUpdatesResponse.configuration.installed; status.lastScanTime = windowsUpdatesResponse.configuration.lastScanTime; status.pendingReboot = windowsUpdatesResponse.configuration.pendingReboot; status.failed = windowsUpdatesResponse.configuration.failed; status.deferUpgrade = windowsUpdatesResponse.configuration.deferUpgrade; return(status); }
private async Task ReportAllDeviceProperties() { Debug.WriteLine("ReportAllDeviceProperties"); Debug.WriteLine("Querying start: " + DateTime.Now.ToString()); Message.GetTimeInfoResponse timeInfoResponse = await GetTimeInfoAsync(); Message.GetCertificateConfigurationResponse certificateConfigurationResponse = await GetCertificateConfigurationAsync(); Message.GetRebootInfoResponse rebootInfoResponse = await GetRebootInfoAsync(); Message.GetDeviceInfoResponse deviceInfoResponse = await GetDeviceInfoAsync(); Message.GetWindowsUpdatePolicyResponse windowsUpdatePolicyResponse = await GetWindowsUpdatePolicyAsync(); Message.GetWindowsUpdatesResponse windowsUpdatesResponse = await GetWindowsUpdatesAsync(); Debug.WriteLine("Querying end: " + DateTime.Now.ToString()); Dictionary <string, object> collection = new Dictionary <string, object>(); collection["microsoft"] = new { management = new { timeInfo = timeInfoResponse, certificates = certificateConfigurationResponse, rebootInfo = rebootInfoResponse, deviceInfo = deviceInfoResponse, windowsUpdatePolicy = windowsUpdatePolicyResponse.configuration, windowsUpdates = windowsUpdatesResponse.configuration } }; _deviceTwin.ReportProperties(collection); }