This guide is part of a video series companion guide on setting up mapped drives on Intune devices – you can watch the video here S02E18 – How to Map Network Drives on Microsoft Intune Devices – (I.T) – YouTube! This is rather simple but I will be adding some useful bits of code for people who do not have an always on VPN solution for all those Work From Home scenarios.
Creating the script
Before we get started let me explain how this process works. We are going to create a script that we deploy via intune, which in turn will create a scheduled task to map the network drives at login. We will then be adding a few lines of code to also have it map on any network changes.
- Go to https://intunedrivemapping.azurewebsites.net/DriveMapping
- Follow the onscreen options to add/remove mapped drives as needed
- Select Download Powershell Script
- Edit the powershell script, near the bottom you will see the following line
$trigger = New-ScheduledTaskTrigger -AtLogOn
- Remove everything below that point and add the following
$trigger = New-ScheduledTaskTrigger -AtLogOn $class = cimclass MSFT_TaskEventTrigger root/Microsoft/Windows/TaskScheduler $trigger2 = $class | New-CimInstance -ClientOnly $trigger2.Enabled = $True $trigger2.Subscription = '<QueryList><Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational"><Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[Provider[@Name=''Microsoft-Windows-NetworkProfile''] and EventID=10002]]</Select></Query></QueryList>' $trigger3 = $class | New-CimInstance -ClientOnly $trigger3.Enabled = $True $trigger3.Subscription = '<QueryList><Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational"><Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[Provider[@Name=''Microsoft-Windows-NetworkProfile''] and EventID=4004]]</Select></Query></QueryList>' #Execute task in users context $principal= New-ScheduledTaskPrincipal -GroupId "S-1-5-32-545" -Id "Author" #call the vbscript helper and pass the PosH script as argument $action = New-ScheduledTaskAction -Execute $wscriptPath -Argument "`"$dummyScriptPath`" `"$scriptPath`"" $settings= New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries $null=Register-ScheduledTask -TaskName $schtaskName -Trigger $trigger,$trigger2,$trigger3 -Action $action -Principal $principal -Settings $settings -Description $schtaskDescription -Force Start-ScheduledTask -TaskName $schtaskName stop-Transcript }
Upload to Intune
- Navigate to https://endpoint.microsoft.com/
- Select Devices
- Select Scripts
- Select Add – Windows 10
- Give it a Name and select Next
- Select your script file and Next
- Assign to the desired user group and Next
- Select Add
Verify the Scheduled Task Exists
Once you have deployed the script to the selected group, you can sync Intune policies through Company Portal. Remember it can take up to 8 hours for this to appear. You should see a scheduled Task named
IntuneDriveMapping and the triggers should look like the below.