SOLVED

Script or DSC configuration for installing sensor

%3CLINGO-SUB%20id%3D%22lingo-sub-795505%22%20slang%3D%22en-US%22%3EScript%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795505%22%20slang%3D%22en-US%22%3E%3CP%3EI%20am%20looking%20to%20install%20the%20ATP%20Sensor%20automatically%20-%20Is%20there%20a%20DSC%20configuration%20or%20script%20that%20is%20available%20to%20use%20as%20a%20guide%3F%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAny%20suggestions%20are%20appreciated%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-800571%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-800571%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F363955%22%20target%3D%22_blank%22%3E%40jbchris%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20provide%20a%20silent%20installer%20which%20you%20can%20use%20to%20script%20it%20any%20which%20way%20(DSC%2C%20PowerShell%2C%20GPO%2C%20etc.)%3A%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure-advanced-threat-protection%2Fatp-silent-installation%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure-advanced-threat-protection%2Fatp-silent-installation%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EDSC%20might%20be%20a%20bit%20tricky%20since%20the%20installer%20isn't%20an%20MSI%20so%20you%20wouldn't%20use%20that%20DSC%20function.%26nbsp%3B%20But%20again%2C%20DSC%20can%20run%20any%20arbitrary%20command%20and%20we%20provide%20a%20CLI%20for%20the%20installer%20so%20it%20would%20be%20pretty%20straight%20forward.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIt%20really%20depends%20on%20what%20your%20most%20comfortable%20with%20doing.%26nbsp%3B%20Anything%20is%20possible%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-942586%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-942586%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%20I%20am%20going%20to%20bump%20this%20because%20it's%20very%20relevant.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20working%20on%20deploying%20AATP%20via%20DSC.%20I%20have%20the%20DSC%20Code%20written%2C%20almost.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EScript%20DeployAATP%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20GetScript%20%3D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Write-Verbose%20'Checking%20for%20presence%20of%20AATP%20Sensor%20service'%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20try%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Get-Service%20'AATPSensor'%20-ErrorAction%20Stop%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%20%40%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20'Result'%20%3D%20'installed'%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20catch%20%5BMicrosoft.PowerShell.Commands.ServiceCommandException%5D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%20%40%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20'Result'%20%3D%20'missing'%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20TestScript%20%3D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%24state%20%3D%20%5Bscriptblock%5D%3A%3ACreate(%24GetScript).Invoke()%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20if%20(%24state%5B'Result'%5D%20-eq%20'missing')%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Write-Verbose%20'Azure%20ATP%20Agent%20is%20NOT%20installed'%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%20%24true%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Write-Verbose%20'Azure%20ATP%20Agent%20is%20installed'%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%20%24false%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SetScript%20%3D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20know%20I%20can%20run%20the%20dot%20command%20to%20execute%20the%20silent%20installer.%20I%20am%20trying%20to%20work%20out%20the%20best%20way%20to%20host%20the%20Zip%2FExe%20file.%20I%20would%20put%20it%20on%20a%20share%20but%20we%20have%20multiple%20domains%20and%20not%20everything%20trusts%20everything.%20I%20am%20considering%20hosting%20the%20file%20on%20an%20Azure%20Storage%20Account%2C%20but%20then%20need%20to%20manage%20SAS%20keys%20and%20at%20some%20point%20the%20current%20version%20will%20no%20longer%20work%20so%20that%20has%20to%20be%20managed.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20can%20output%20the%20JSON%20file%20contents%20as%20part%20of%20the%20script%2C%20that's%20no%20problem%2C%20is%20there%20a%20location%20I%20can%20grab%20the%20EXE%20from%3F%20When%20you%20click%20the%20download%20button%20in%20the%20portal%2C%20I%20am%20sure%20it%20will%20grab%20the%20exe%20from%20somewhere%2C%20add%20the%20JSON%20config%20to%20the%20Zip%20file%20then%20download%20it.%20Is%20it%20possible%20to%20download%20just%20the%20EXE%20file%20so%20that%20I%20can%20always%20ensure%20I%20am%20grabbing%20the%20latest%20release%20without%20needing%20to%20manage%20anything%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-942650%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-942650%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F133019%22%20target%3D%22_blank%22%3E%40Mark%20Lewis%3C%2FA%3E%26nbsp%3B%2C%20No%2C%20the%20exe%20is%20not%20publicly%20exposed.%3C%2FP%3E%0A%3CP%3EYou%20can%20(theoretically)%20download%20the%20zip%2C%20but%20as%20you%20mentioned%20it's%20created%20on%20demand%2C%20and%20you%20will%20need%20to%20authenticate%20to%20the%20website%20as%20if%20you%20were%20logging%20into%20the%20workspace%20portal.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-942666%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-942666%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F106935%22%20target%3D%22_blank%22%3E%40Eli%20Ofek%3C%2FA%3E%26nbsp%3BThank%20you%2C%20is%20it%20possible%20to%20make%20it%20available%20to%20download%20publicly%3F%20Is%20there%20a%20way%20to%20request%20this%3F%20Or%20is%20there%20a%20reason%20I%20wouldn't%20be%20aware%20of%20that%20it%20can't%20be%3F%20I%20appreciate%20the%20JSON%20file%20is%20unique%20to%20environments%20but%20I'd%20be%20surprised%20if%20the%20EXE%20was%20compiled%20every%20time.%20How%20would%20the%20update%20service%20grab%20the%20agent%20to%20upgrade%20it%3F%20Wondering%20if%20I%20could%20use%20this%20method%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-942678%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-942678%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F133019%22%20target%3D%22_blank%22%3E%40Mark%20Lewis%3C%2FA%3E%26nbsp%3B%2C%20The%20exe%20is%20not%20compiled%20on%20demand.%3C%2FP%3E%0A%3CP%3EThe%20update%20service%20is%20actually%20not%20using%20the%20exe%2C%20it%20grabs%20a%20cab%20file%20with%20a%20subset%20of%20the%20binaries%20it%20needs%20to%20update%2C%20which%20is%26nbsp%3B%20also%20requires%20some%20sort%20of%20authentication%2C%20but%20it%20won't%20help%20you%20as%20you%20need%20to%20deploy%20for%20the%20first%20time%2C%20and%20that%20won't%20be%20enough.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20are%20actually%20working%20on%20refactoring%20the%20deployment%2C%20it%20will%20take%20time%2C%20and%20such%20request%20already%20exist%20from%20other%20customers%2C%20but%20I%20can't%20tell%20you%20when%20we%20will%20get%20to%20a%20point%20that%20it%20would%20be%20that%20easy.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-942717%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-942717%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F106935%22%20target%3D%22_blank%22%3E%40Eli%20Ofek%3C%2FA%3E%26nbsp%3BThank%20you%20again.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESo%20secondary%20option%20is%20to%20put%20the%20EXE%20on%20a%20Azure%20Storage%20account%20and%20grab%20it%20from%20here%2C%20would%20there%20be%20any%20risk%20to%20having%20the%20EXE%20available%20publicly%3F%20Given%20that%20the%20tenant%20ID%20etc%20is%20in%20the%20JSON%20which%20wouldn't%20be%20public%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-942850%22%20slang%3D%22en-US%22%3ERe%3A%20Script%20or%20DSC%20configuration%20for%20installing%20sensor%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-942850%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F133019%22%20target%3D%22_blank%22%3E%40Mark%20Lewis%3C%2FA%3E%26nbsp%3BThe%20risk%20is%20for%20anyone%20who%20attempts%20to%20download%20and%20install%20it.%20once%20it%20leaves%20our%20servers%20we%20can't%20control%20it%20for%20tempering...%20if%20you%20decide%20to%20do%20so%2C%20at%20least%20try%20to%20protect%20it%20somehow%20with%20access%20keys%2C%20and%20check%20for%20signatures%20after%20download%20before%20applying%20it.%3C%2FP%3E%0A%3CP%3EThe%20exe%20itself%20is%20the%20same%20for%20everyone%20using%20the%20same%20version.%20no%20customer%20data%20is%20in%20there%20(unlike%20the%20zip).%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Occasional Contributor

I am looking to install the ATP Sensor automatically - Is there a DSC configuration or script that is available to use as a guide? 

 

Any suggestions are appreciated

 

Thanks 

7 Replies
Highlighted
Best Response confirmed by jbchris (Occasional Contributor)
Solution

@jbchris 

 

We provide a silent installer which you can use to script it any which way (DSC, PowerShell, GPO, etc.):

https://docs.microsoft.com/en-us/azure-advanced-threat-protection/atp-silent-installation

 

DSC might be a bit tricky since the installer isn't an MSI so you wouldn't use that DSC function.  But again, DSC can run any arbitrary command and we provide a CLI for the installer so it would be pretty straight forward.

 

It really depends on what your most comfortable with doing.  Anything is possible :)

Highlighted

Hi, I am going to bump this because it's very relevant.

 

I am working on deploying AATP via DSC. I have the DSC Code written, almost.

 

Script DeployAATP

    {

        GetScript =

        {

            Write-Verbose 'Checking for presence of AATP Sensor service'

            try

            {

                Get-Service 'AATPSensor' -ErrorAction Stop

                return @{

                    'Result' = 'installed'

                }

            }

            catch [Microsoft.PowerShell.Commands.ServiceCommandException]

            {

                return @{

                    'Result' = 'missing'

                }

            }

        }

 

        TestScript =

        {

            $state = [scriptblock]::Create($GetScript).Invoke()

            if ($state['Result'] -eq 'missing')

            {

                Write-Verbose 'Azure ATP Agent is NOT installed'

                return $true

 

            }

            Write-Verbose 'Azure ATP Agent is installed'

            return $false

        }

 

        SetScript =

        {

 

 

        }

    }

 

I know I can run the dot command to execute the silent installer. I am trying to work out the best way to host the Zip/Exe file. I would put it on a share but we have multiple domains and not everything trusts everything. I am considering hosting the file on an Azure Storage Account, but then need to manage SAS keys and at some point the current version will no longer work so that has to be managed.

 

I can output the JSON file contents as part of the script, that's no problem, is there a location I can grab the EXE from? When you click the download button in the portal, I am sure it will grab the exe from somewhere, add the JSON config to the Zip file then download it. Is it possible to download just the EXE file so that I can always ensure I am grabbing the latest release without needing to manage anything?

 

Thanks

Highlighted

@Mark Lewis , No, the exe is not publicly exposed.

You can (theoretically) download the zip, but as you mentioned it's created on demand, and you will need to authenticate to the website as if you were logging into the workspace portal.

Highlighted

@Eli Ofek Thank you, is it possible to make it available to download publicly? Is there a way to request this? Or is there a reason I wouldn't be aware of that it can't be? I appreciate the JSON file is unique to environments but I'd be surprised if the EXE was compiled every time. How would the update service grab the agent to upgrade it? Wondering if I could use this method?

Highlighted

@Mark Lewis , The exe is not compiled on demand.

The update service is actually not using the exe, it grabs a cab file with a subset of the binaries it needs to update, which is  also requires some sort of authentication, but it won't help you as you need to deploy for the first time, and that won't be enough.

 

We are actually working on refactoring the deployment, it will take time, and such request already exist from other customers, but I can't tell you when we will get to a point that it would be that easy.

 

Highlighted

@Eli Ofek Thank you again.

 

So secondary option is to put the EXE on a Azure Storage account and grab it from here, would there be any risk to having the EXE available publicly? Given that the tenant ID etc is in the JSON which wouldn't be public

Highlighted

@Mark Lewis The risk is for anyone who attempts to download and install it. once it leaves our servers we can't control it for tempering... if you decide to do so, at least try to protect it somehow with access keys, and check for signatures after download before applying it.

The exe itself is the same for everyone using the same version. no customer data is in there (unlike the zip).