public AutopilotConfiguration(Microsoft.Graph.WindowsAutopilotDeploymentProfile profile, Microsoft.Graph.Organization organization) { Comment_File = "Offline Autopilot Profile " + profile.DisplayName; Version = 2049; ZtdCorrelationId = profile.Id; if (profile.ODataType.Equals("#microsoft.graph.activeDirectoryWindowsAutopilotDeploymentProfile")) { CloudAssignedDomainJoinMethod = 1; } else { CloudAssignedDomainJoinMethod = 0; } if (profile.DeviceNameTemplate.Length > 0) { CloudAssignedDeviceName = profile.DeviceNameTemplate; } CloudAssignedOobeConfig = 8 + 256; if (profile.OutOfBoxExperienceSettings.UserType.Equals("standard")) { CloudAssignedOobeConfig += 2; } if ((bool)profile.OutOfBoxExperienceSettings.HidePrivacySettings) { CloudAssignedOobeConfig += 4; } if ((bool)profile.OutOfBoxExperienceSettings.HideEULA) { CloudAssignedOobeConfig += 16; } if ((bool)profile.OutOfBoxExperienceSettings.SkipKeyboardSelectionPage) { CloudAssignedOobeConfig += 1024; } if (profile.OutOfBoxExperienceSettings.DeviceUsageType.Equals("shared")) { CloudAssignedOobeConfig += 32 + 64; } if (profile.Language.Length > 0) { CloudAssignedLanguage = profile.Language; } if ((bool)profile.OutOfBoxExperienceSettings.HideEscapeLink) { CloudAssignedForcedEnrollment = 1; } else { CloudAssignedForcedEnrollment = 0; } CloudAssignedTenantId = organization.Id; foreach (VerifiedDomain domain in organization.VerifiedDomains) { if ((bool)domain.IsDefault) { CloudAssignedTenantDomain = domain.Name; } } int hideEscapeLink = 0; if (profile.OutOfBoxExperienceSettings.HideEscapeLink.HasValue) { hideEscapeLink = 1; } // Nest a ZeroTouchConfig within the CloudAssignedAadServerData object -> required for the JSON ZeroTouchConfig touchConfig = new ZeroTouchConfig(CloudAssignedTenantDomain, hideEscapeLink); CloudAssignedAadServerData zeroTouchConfig = new CloudAssignedAadServerData(touchConfig); // Serialize ZeroTouchConfig as JSON string this.CloudAssignedAadServerData = JsonConvert.SerializeObject(zeroTouchConfig, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore } ); }
public CloudAssignedAadServerData(ZeroTouchConfig zeroTouchConfig) { this.ZeroTouchConfig = new ZeroTouchConfig(zeroTouchConfig.CloudAssignedTenantDomain, zeroTouchConfig.ForcedEnrollment); }