@model Disco.Web.Areas.Config.Models.Enrolment.IndexModel @{ Authorization.Require(Claims.Config.Enrolment.Show); var canConfig = Authorization.Has(Claims.Config.Enrolment.Configure); var canShowStatus = Authorization.Has(Claims.Config.Enrolment.ShowStatus); ViewBag.Title = Html.ToBreadcrumb("Configuration", MVC.Config.Config.Index(), "Device Enrolment"); Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers"); }
Pending Timeout: @if (canConfig) { @Html.TextBoxFor(model => model.PendingTimeoutMinutes, new { type = "number", min = "1" }) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() minutes (default: 30) } else { @TimeSpan.FromMinutes(Model.PendingTimeoutMinutes) }
If a device enrolment is not automatically approved it will remain pending until the timeout is reached. Pending enrolments can be approved manually from the Enrolment Status page.

Apple Mac Secure Enroll

Username: @if (canConfig) { @Html.TextBoxFor(model => model.MacSshUsername) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { if (string.IsNullOrEmpty(Model.MacSshUsername)) { <None Specified> } else { @Model.MacSshUsername } }
Password: @if (canConfig) { @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { ******** }
Instructions: The above credentials must be able to connect to the requesting Apple Mac client via SSH. Enter/Script the following command: This url will return a JSON response containing basic information about the enrolment.
This command makes use of cURL (bundled with OSX). Other methods can also trigger a Mac Secure Enroll, such as an anchor (<a>) or <script> tag embedded on the organisation's intranet.

Bootstrapper Server Discovery

The Disco ICT @if (Authorization.Has(Claims.Config.Enrolment.DownloadBootstrapper)) { @Html.ActionLink("Bootstrapper", MVC.Services.Client.Bootstrapper()) } else { Bootstrapper } is used to enrol devices. It is strongly recommended that HTTPS be used for all communication. the The @Html.ActionLink("Hosting", Model.HostingPluginInstalled ? MVC.Config.Plugins.Configure("Hosting") : MVC.Config.Plugins.Install()) plugin can be used to automate deployment of HTTPS certificates.
The Bootstrapper discovers the server using the first successful method (in order):
  1. Manually Specified
    The server url can be specified at the command line. The url must use HTTPS. For example:
    Disco.ClientBootstrapper.exe https://@Request.Url.Authority
  2. DNS Service Location (SRV) Record
    Expected Record Name: @Model.DnsSrvRecordName @if (Model.IsServicesEducationVicGovAuDomain) {
    This mechanism is not supported in the shared education.vic.gov.au domain and can be ignored.
    } else { if (Model.DnsSrvRecordValue == null) {
    No Service Location (SRV) record found. @if (Request.IsSecureConnection) { Please create a DNS Service Location (SRV) record:
    Service: _discoict
    Protocol: _tcp
    Priority: 0
    Weight: 0
    Port: @Request.Url.Port
    Host offering this service: @Request.Url.Host
    } else {
    Please configure and connect with HTTPS. You can enable HTTPS automation using the @Html.ActionLink("Hosting", Model.HostingPluginInstalled ? MVC.Config.Plugins.Configure("Hosting") : MVC.Config.Plugins.Install()) plugin.
    }
    } else {
    Value: https://@Model.DnsSrvRecordValue @if (Request.IsSecureConnection && !string.Equals(Model.DnsSrvRecordValue, Request.Url.Authority, StringComparison.OrdinalIgnoreCase)) {
    The Service Location (SRV) record does not match the way you are currently accessing the server: @Request.Url.Authority.
    }
    } }
  3. @if (Model.IsVicSmartDeployment) {
  4. Victorian Government Schools VicSmart Discovery
    If the Bootstrapper detects it is running inside the VicSmart network, it will query Online Services for the Disco ICT server address based on the subnets assigned to each school. This is configured in the @Html.ActionLink("Hosting", Model.HostingPluginInstalled ? MVC.Config.Plugins.Configure("Hosting") : MVC.Config.Plugins.Install()) plugin.
  5. }
  6. Legacy Discovery
    The Bootstrapper will attempt to send an ICMP ping to "disco". If the ping is successful, it will attempt to connect to http://disco:9292/.
    @if (canConfig) { } else { } @AjaxHelpers.AjaxLoader()
    @if ((Model.IsServicesEducationVicGovAuDomain || Model.DnsSrvRecordValue != null) && Model.LegacyDiscoveryEnabled) {
    It is not recommended to have Legacy Discovery enabled. Please use the latest Bootstrapper and disable this option.
    }
    This method is not secure and is only provided for backwards compatibility. In time this method will be removed.
@if (canShowStatus && Authorization.Has(Claims.Config.Logging.Show)) {

Live Enrolment Logging

@Html.Partial(MVC.Config.Shared.Views.LogEvents, new Disco.Web.Areas.Config.Models.Shared.LogEventsModel() { IsLive = true, TakeFilter = 100, StartFilter = DateTime.Today.AddDays(-1), ModuleFilter = Disco.Services.Devices.Enrolment.EnrolmentLog.Current, ViewPortHeight = 250 }) }
@if (Authorization.Has(Claims.Config.Enrolment.DownloadBootstrapper)) { @Html.ActionLinkButton("Download Bootstrapper", MVC.Services.Client.Bootstrapper()) } @if (canShowStatus) { @Html.ActionLinkButton("Enrolment Status", MVC.Config.Enrolment.Status()) }