running csccmd at logon script

Dear Expert.

I have created a VB script thar will start when domain user logon. The script will move the offline folder cache from oldserver to new server.
Set objShell = CreateObject(WScript.Shell)
objShell.Run "csccmd /moveshare:\\olderserver\%username%$\docs \\newserver\%username%$\docs"

Where %username% is a variable.The problem is I have noticed that the script never run; Could guide me where I am wrong

thsk in advance
madininaAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
RobSampsonConnect With a Mentor Commented:
OK, so what if you made the StartUp script a ShutDown script instead?  Would that work?

Rob.
0
 
HubasanCommented:
Hi madinina,

%username% environmental variable needs to be extracted within the script first in order for that to work. I would suggest the following code.

First, put this on top of your script

Set oNet = CreateObject("wscript.network")
sUser = oNet.UserName

and then use the code below instead your code:
Set objShell = CreateObject(WScript.Shell)
objShell.Run "csccmd /moveshare:\\olderserver\" & sUser & "$\docs \\newserver\" & sUser & "$\docs"

Open in new window

0
 
HubasanCommented:
Oh and one more thing i just noticed your code for the object needs double quotes in the brackets like this:
Set objShell = CreateObject("WScript.Shell")

So your code would be like below:

Set objShell = CreateObject("WScript.Shell")
objShell.Run "csccmd /moveshare:\\olderserver\" & sUser & "$\docs \\newserver\" & sUser & "$\docs"

Open in new window

0
2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

 
RobSampsonCommented:
Hi, in VBScript, you need to expand the %USERPROFILE% environment variable to be able to use it.

Regards,

Rob.
Set objShell = CreateObject("WScript.Shell")
sUser = objShell.ExpandEnvironmentStrings("%USERNAME%")
objShell.Run "csccmd /moveshare:\\olderserver\" & sUser & "$\docs \\newserver\" & sUser & "$\docs"

Open in new window

0
 
madininaAuthor Commented:
Thks to All. Will have a try and let you know
0
 
madininaAuthor Commented:
Dear All,

I have created two scripts :

1 - One for computer GPO that run at startup:
            regedit.exe  CleanCSC.reg /f. where CleanCSC contains these lines

                 Windows Registry Editor Version 5.00
                      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache]
                      "FormatDatabase"=dword:00000001

2 - One for User GPO that run at logon:

set objShell = CreateObject("WScript.Shell")
sUser = objShell.ExpandEnvironmentStrings("%USERNAME%")

            strRegKey = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal"
            strRedirectionPath = "\\mosv03.mo.conair.com\%USERNAME%$\Data"
            strRedirectRegType = "REG_EXPAND_SZ"

' Write the new Personal path
objShell.RegWrite strRegKey, strRedirectionPath, strRedirectRegType


objShell.Run "csccmd /moveshare:\\oldserver\" & sUser & "$\Data \\newserver\" & sUser & "$\Data"

' Variable Destruction
Set objShell = Nothing

I have one doubt. That Computer GPO (clean CSC cache) ran before user GPO (move CSC from old server to new server)

Any suggestions will be appreciated.

Thks in advance
0
 
RobSampsonCommented:
>> That Computer GPO (clean CSC cache) ran before user GPO (move CSC from old server to new server)

That is the way it is designed to run.  Computer Scripts run before anyone logs in.

Will this actually create a problem though?  Does setting FormatDatabase to any value actually delete all cached files?

Regards,

Rob.
0
 
madininaAuthor Commented:
Hi RobSampson,

Yeah... it will . Because running clean CSC cache before moving CSC cache will delete all cached files.

Madinina
0
 
RobSampsonCommented:
Thanks for the grade.

Regards,

Rob.
0
All Courses

From novice to tech pro — start learning today.