cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
152
Views
0
Helpful
1
Replies

How to Deploy Cisco Umbrella JSON and XML Files via Intune

henokk60
Level 1
Level 1

Hi Everyone,

I’m currently working on deploying Cisco Umbrella on multiple Microsoft OS based endpoints using Microsoft Intune for posture assessment. I have the required OrgInfo.json file and ConnectionData.xml, and I would like to install these files on user machines using a script deployed via Intune.

Could anyone please help me with:

  1. A sample PowerShell script or method to copy these files to the appropriate directory

  2. Any best practices or required configurations when deploying these files via Intune

  3. Any additional considerations for silent installation or automation

Any help would be greatly appreciated!

Thanks in advance.

1 Reply 1

wajidhassan
Level 4
Level 4

Deploying Cisco Umbrella on Windows endpoints via Microsoft Intune is a great way to automate the process of securing your devices. You can install the Umbrella agent and deploy the OrgInfo.json and ConnectionData.xml files for posture assessment using PowerShell scripts within Intune.

Here’s a step-by-step guide and sample script for deploying these files.

1. Deploying the Files Using PowerShell Script via Intune
To copy the OrgInfo.json and ConnectionData.xml files to the appropriate directories on the user machines, you can use the following PowerShell script.

Sample PowerShell Script
powershell

# Define the source paths where the OrgInfo.json and ConnectionData.xml are stored locally or from Intune
$orgInfoFile = "C:\Temp\OrgInfo.json"
$connectionDataFile = "C:\Temp\ConnectionData.xml"

# Define the target directory where the Cisco Umbrella files should go
$destinationFolder = "C:\ProgramData\Umbrella"

# Ensure the destination folder exists, create if necessary
if (-not (Test-Path -Path $destinationFolder)) {
New-Item -Path $destinationFolder -ItemType Directory
}

# Copy the files to the target directory
Copy-Item -Path $orgInfoFile -Destination $destinationFolder -Force
Copy-Item -Path $connectionDataFile -Destination $destinationFolder -Force

# Optionally, you can verify the files are copied correctly
if (Test-Path -Path "$destinationFolder\OrgInfo.json" -and Test-Path -Path "$destinationFolder\ConnectionData.xml") {
Write-Output "Files successfully copied to $destinationFolder"
} else {
Write-Error "There was an error copying the files."
}
Steps for Deploying via Intune:
Prepare the Files: Make sure you have the OrgInfo.json and ConnectionData.xml files ready.

Create a PowerShell Script in Intune:

Open Microsoft Endpoint Manager admin center.

Go to Devices > Windows > Scripts > Add > Windows 10 > PowerShell Script.

Upload the script you created.

Assign the Script:

Assign the script to the required device groups.

Choose whether the script will run in user context or device context.

User context: Runs with user permissions.

Device context: Runs with admin privileges (if necessary).

Deploy the Script: Once you assign the script, Intune will deploy it to the target endpoints automatically.

2. Best Practices and Considerations
When deploying Cisco Umbrella using Intune, here are some best practices and configurations to follow:

Best Practices:
Test on Pilot Group First: Always deploy the script to a pilot group before wider distribution. This ensures that the script works as expected without any issues on production endpoints.

Ensure Correct Permissions: The ProgramData directory is typically read-only for normal users, so make sure the script runs with elevated privileges (i.e., device context). Intune allows you to run PowerShell scripts as an admin when deploying to Windows 10 devices.

Check for Existing Umbrella Installations: If Umbrella is already installed on the device, your script should check if it’s installed before proceeding with the file copy to avoid overwriting the configuration.

Example to Check If Umbrella is Installed:
powershell

# Check if the Umbrella agent is installed
$UmbrellaPath = "C:\Program Files (x86)\Cisco\Umbrella"
if (Test-Path -Path $UmbrellaPath) {
Write-Output "Cisco Umbrella is already installed."
} else {
Write-Output "Cisco Umbrella is not installed."
# Insert the installation logic here if needed
}
Silent Installation of Umbrella Agent: To make it fully automated, ensure you are deploying a silent installation of the Umbrella agent as part of the script.

Verify Network Connectivity: Ensure that your devices can reach the Cisco Umbrella endpoints and that no firewall or proxy settings are blocking communication.

Log Errors for Debugging: Add logging within your PowerShell script to log any errors, such as issues with copying files, permissions, or connectivity problems.

Logging Example:
powershell

# Define a log file path
$logFile = "C:\Temp\Umbrella_Deployment_Log.txt"

# Log messages
Add-Content -Path $logFile -Value "$(Get-Date) - Started copying files"

try {
# Copy files here
Copy-Item -Path $orgInfoFile -Destination $destinationFolder -Force
Add-Content -Path $logFile -Value "$(Get-Date) - Files successfully copied."
} catch {
Add-Content -Path $logFile -Value "$(Get-Date) - Error: $_"
}
3. Silent Installation of Cisco Umbrella Agent
If you want to install the Cisco Umbrella agent silently (and not just configure it), you can include the silent installation command in your Intune deployment script.

Here’s a simple PowerShell command for a silent install of the Cisco Umbrella agent:

powershell

# Define the installer path
$installerPath = "C:\Temp\umbrella_installer.exe"

# Silent install command
Start-Process -FilePath $installerPath -ArgumentList "/silent" -Wait
This will install the Umbrella agent silently without user intervention. You can also adjust the arguments depending on your environment.

4. Additional Considerations
Posture Assessment Compatibility: Make sure the Cisco Umbrella agent is compatible with the posture assessment requirements in your environment.

Custom Configuration: If there are any other specific configurations required for Umbrella (e.g., DNS settings, proxy configurations), make sure those are included in your PowerShell script.

Reboot: If necessary, you can initiate a reboot to finalize installation. This can be done at the end of the PowerShell script with:

powershell

Restart-Computer -Force


5. Troubleshooting and Validation
Check the Umbrella Agent Logs: After deploying the Umbrella agent, you can check the logs on the endpoint to ensure that the configuration files are being applied correctly. Logs can typically be found in:

plaintext

C:\ProgramData\Cisco\Umbrella\logs


Check Deployment Status in Intune: You can monitor the deployment status of the script within the Intune console to see if there are any issues during execution (e.g., failures due to permission issues or network problems).

Summary of Steps:
Prepare the OrgInfo.json and ConnectionData.xml files.

Write a PowerShell script to copy these files to the appropriate directory.

Deploy the script via Intune.

Ensure admin privileges are configured for the script if needed.

Optionally, deploy the Umbrella agent silently using Intune.

Monitor the deployment status and logs for any issues.

By following these steps and best practices, you’ll be able to deploy Cisco Umbrella effectively via Intune, ensuring that posture assessment and secure DNS policies are enforced on all endpoints.