Script to download Definitions from SEPM

Created: 21 Jun 2012 • Updated: 21 Jun 2012
Login to vote
+8 8 Votes

 

Hi everybody,

I was looking for a way to update a SEP Client over a Script with using Definition Files stored on the SEPM.

As I could not find anything I wrote a little PowerShell script, which I´d like to share with you.

It is not very intelligent yet, but it´s doing the things I needed.

What does it do?

The script is searching for the latest definitions stored on the SEPM, downloads them and placing it into the “inbox” folder on the local SEP Client.

Why it was needed?

We don´t have an internal LiveUpdate Server and I was looking for a fast way to update a SEP Client with using the definition files which are already stored on an internal server.

What environment is needed?

It works with SEPM 12.1 and SEP 12.1 Clients. I tested it only on Windows 7-

Are there any Parameters?

Not yet, but maybe I add some improvements in the future.

What do I need to configure?

You have to enable “Third Party Management” in the LiveUpdate Policy and share two folders on the SEPM (Everyone – Read Permissions are enough)

View Inline Image

View Inline Image

 

You need to get the Group ID where the Clients are.

View Inline Image

Now you can edit the first lines of the script:

#Needs to be modified for each environment:

$SEPM             = "SEPM.mycompany.local"

$GoupID           = "5A176F310AF06355010E3A00D3B0626F"

$outbox           = "\Outbox$"

$content          = "\Content$"

 

Now you are ready to run the script (rename from .txt to .ps1):

 

Here you see a client that needs definition updates

View Inline Image

Now we run the script and definitions are getting downloaded:

View Inline Image

After a while the Client is up to date..

View Inline Image

...and Live Update confirms this:

View Inline Image

 

Known Issues:

Script always downloads the full.zip and not incremental updates. So be aware that every time you run the script, it will create ~200MB of traffic

Script is not using GUPs to download definitions

If the Client is already up to date the definitions get moved to the “invalid” folder and you will see an error in the Client log

 

 

Maybe it is usefull for somebody else as well :-)

Cheers!

Filed Under

Comments

27
Jun
2012

hm, preety...

hm,

preety...

Ashish-Sharma
Accredited
03
Sep
2012

Hi, Great Script thanks for

Hi,

Great Script thanks for sharing.........

Thanks In Advance

Ashish Sharma

 

 

24
Sep
2012

This document is only help in

This document is only help in SEP 11.x?

27
Sep
2012

Nice Script.

Nice Script.

14
Jan
2013

Dear All, kindly suggest how

Dear All,

kindly suggest how to use given script.

Regards
Subhash Savarkar

19
Feb
2013

How to run on client side?

How to run on client side? please explain

 

19
Feb
2013

Have you everything

Have you everything preconfigured? (enable third party content management, share folders, edit the script for your environment)

 

After that just right click the .ps1 file and "Run with PowerShell"

19
Feb
2013

I am having SEPM 11 and

I am having SEPM 11 and Windows XP clients. But above environemnt given is SEP 12. Can you please provide script for SEPM 11.0

Thanks

Santosh

19
Feb
2013

It is a PowerShell script so

It is a PowerShell script so you would have to install PowerShell on your XP Clients first.

I can just highly recommend to update to SEP12.1. It has a lot of improvements, especially in performance.

Also you have only ~1 Year left to update your XP Computers to Win7 or 8.

 

Sorry but I have no SEP11 environment anymore to modify the script…

 

 

 

20
Feb
2013

Ok thanks Zebbelin for your

Ok thanks Zebbelin for your support.

Cheers

Santosh K

19
Mar
2013

What is this script normally

What is this script normally used for when we have SEPM server running ?

Kind regards,

John Santana
IT Professional

--------------------------------------------------

Please be nice to me as I'm newbie in this forum.

20
Mar
2013

When you install Rapid

When you install Rapid Release definitions on the SEPM and you want to test them quickly on some clients, you can run that scripts to force clients to install the definitions.

Of course it should work with the "update policy" function as well, but you can´t see anything and wait and wait and don´t know if something happens or not..

 

Or if you use a setup.exe without definitions. You can run that script afterwards to bring the client quickly up to date (if you have a fast connection to the SEPM)

20
Mar
2013

Ah, now I see. so it doesn't

Ah, now I see.

so it doesn't wait until the next heartbeat interval to kick in.

Thanks for the explanation

Kind regards,

John Santana
IT Professional

--------------------------------------------------

Please be nice to me as I'm newbie in this forum.

Ambesh_444
Partner
Accredited
19
Mar
2013

Really nice script...

Really nice script...

 

Thank& Regards,

Ambesh

"Your satisfaction is very important to us. If you find above information helpful or it has resolved your issue. Please don't forget to mark the thread as solved."

31
Jul
2013

Hi Good Script it's help me

Hi

Good Script it's help me lot.

Sachin Sawant
Partner
Accredited
31
Jul
2013

Nice Script.

Nice Script.

23
Jan
2014

Someone help me out with a

Someone help me out with a scriptthat downloads definitions from GUP servers plz

Enrique Ozuna
Partner
Certified
31
Jan
2014

Good Script, i will be to

Good Script, i will be to use.

10
Apr
2014

Slightly Modified this script

Slightly Modified this script as we have multiple locations and policies, I didn't want to have multiple scripts.

The amendment reads the local Sylink.xml file and these reads the GroupID from the file.

I am no powershell expert and there is probably a neater way

 

#Needs to be modified for each environment:
$SEPM         = "Server"
$outbox     = "\Outbox$"
$content    = "\Content$"
$sylink = Get-Content "C:\Users\All Users\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Config\SyLink.xml"
$sylink -match 'DomainID=".{32}"'; $matches[0]
$findstring = $matches[0]
$GroupID = $findstring.Substring(10,$findstring.length-11)