Posted on 11-28-2012 01:13 AM
Hello,
I posted this message over on Mac Enterprise, but I thought I might get some success by posting here as well.
I have been using William Smith's fantastic script<http://www.officeformachelp.com/outlook/exchange/setup-script/> and guide flawlessly with deploying Office 2011 SP1 to our users via Casper. After the package has been installed any new user who logs on can open Outlook and their Exchange account will be configured ready for use.
I am now trying to update our Office installer we deploy to new Macs to SP2. I am modifying Outlook's preferences and setting the script to run on startup, quitting Outlook, and then copying the modified preferences to the user template using the 'Copy Outlook Files' tool. This works for all the preferences I set and when I create a new account everything is as I set it up on the master account. The exception is the script, which doesn't run on Outlook's first launch. This worked when I first made this package with the Office 2011 SP1 installer.
My question is has anyone else out there packaged up the SP2 installer with William's script and got it to work when Outlook is launched for the first time?
Any help would be much appreciated!
Cheers
Chris
Posted on 01-23-2013 08:21 PM
I've got the same issue. Did you find a solution at all?
Posted on 01-24-2013 03:43 AM
Make sure the script is referring the right applications in your tell blocks. I had a problem with it when updating to sp2 last year
Posted on 01-24-2013 04:24 AM
I've been using it for a while. My most recent issue with 10.8.2 & SP2 was this bit:
set emailAddress to do shell script "dscl . -read /Users/" & shortName & " EMailAddress | awk 'BEGIN {FS=": "} {print $2}'"
It was failing to grab the EMailAddress attribute so I switched it to:
set emailAddress to do shell script "dscl /Active Directory/SHORTDOMAIN/All Domains -read /Users/" & shortName & " EMailAddress | awk 'BEGIN {FS=": "} {print $2}'"
Everything else worked fine for me. It sounds like your the issue your facing is different but I thought I'd throw this in just in case it helps!
David
Posted on 01-24-2013 06:15 AM
@aburrow Unfortunately not, I am still searching for a solution.
@acdesigntech Do you remember what you had to adjust in your script to get it working? I can see only two tell blocks 'Microsoft Outlook' and 'System Events' which appear OK.
@davidacland Thank you for that as it's useful to know. At the moment I am not using the getEMailAddressUsingDSCL function but using emailFormat instead.
I think I am going to carry on using the 14.1.0 Installer i built which works with the script and apply the 14.2.3 and 14.2.5 updates afterwards. This will cause the licencing issue to appear but I think there was an easy fix whereby you can replace the com.microsoft.office.licensing.plist file from a working Mac.
Posted on 01-24-2013 11:41 AM
I had to keep resetting the tell application "Microsoft Outlook" as I was playing around on a dev Mac that did not have Outlook 2011 installed, so a lot of the time the tell would reference some whacky code.
What you might want to try is creating your microsoft user identity from scratch with SP 2 (log in as a new user, set your prefs accordingly, etc). The rule that runs the AS on first launch of outlook actually resides in the main identity folder, not preferences. You might have to recreate the main identity folder. I do remember tinkering with that too as I packaged first SP 1, then when SP came out we still hadn't rolled out MS Office 2011, but I didnt have to take SP2 changes into account.
Skorry, that should read i DID have to take the SP2 changes into account
Posted on 01-24-2013 01:57 PM
My experience of this script can be summed up as "buggy". I implemented this about a month ago, found some parts of the configuration variables hadn't been implemented!
If I get the chance, i'll post my very slightly modified version tomorrow.
Posted on 01-28-2013 09:12 PM
I'd love to see what you've come up with. Although I believe I've resolved the issues with dscl getting the users email address as well as the mecontact.
The biggest issue I seem to be having now is the "Exchange Setup" Scheduled Task not running for new users. It's like the preference file that contains the scheduled tasks for the user isn't being copied over to the templateuser or the Anotherlocation area.
Does anyone know where the scheduled tasks are actually stored? I believe I've found the scheduled tasks under Microsoft User DataMain IdentityData RecordsSchedulesetcetc.
Even though I can see the "Exchange Setup" Task. It still doesn't run as any other user.
Posted on 01-29-2013 03:58 AM
Check the documents/ms office data/ms office 2011 identities/main identity
Posted on 03-07-2013 07:41 AM
Random question: these scripts are AppleScripts. How are you firing them off in Casper?
Posted on 03-10-2013 09:17 AM
I didn't. Since the user migration has to happen as the user themselves, I used talkingmoose's method of creating a scheduled job to launch this script upon first run of outlook. Worked like a charm.
I was not able to figure out how to run this via casper remote or policy. But I'd imagine that since it runs as the super user, you'd be able to issue a 'su <user>' and then invoke the applescript via a ```
osascript << EOS
script awesomeness
EOS
```
That SHOULD run the applescript as the user, from within bash.
Posted on 07-12-2013 01:11 PM
@franton do you have a copy of your modified script that you can post or share? We're using this script in our environment. It works, but creates a 2nd and 3rd Untitled email account.
Posted on 07-12-2013 01:11 PM
@franton do you have a copy of your modified script that you can post or share? We're using this script in our environment. It works, but creates a 2nd and 3rd Untitled email account.
Posted on 07-13-2013 10:35 AM
I believe the script has been updated since I posted my previous reply. It may not be worth posting but my changes weren't to fix the behaviour you are seeing i'm afraid.
Posted on 08-27-2014 08:25 AM
hI , i am uisng the same script on outlook 2011 14.4.3 I tried enabeling the kerberos user account setup , the error our exchange server showed was this Exchange server does not use kerberos authentication**, the other issue the schedllued script the run when oultlook opens keeps looping after running and confiuring a users account once , maybe becasue I am using diiferent options verify user emasil and server address he script this it hasnot completed the script setup completely.
any ideas how to stop the loop shcedule runnign othere than maually enabling it affter the script has run once.
Posted on 08-28-2014 08:46 AM
If the script is not deleting the schedule toward the end of its run then something just before it must be failing. The easiest advice I can offer for troubleshooting is to comment the lines toward the end that say "try" and "end try". Do this by adding "-- " before each line. Commenting means the script will ignore these lines.
Also, comment the "on error" line and all lines below it until you reach the "end try" line.
Here's the entire section as it should be modified:
if upgradeResponse is "New" then
-- Configure a brand new Outlook database
**[color=#FF0000]-- try[/color]**
if verifyEMailAddress is true then
set verifyEmail to display dialog "Please verify that your email address is correct." default answer emailAddress with icon 2 buttons {"Cancel", "OK"} default button {"OK"}
set emailAddress to text returned of verifyEmail
end if
if verifyServerAddress is true then
set verifyServer to display dialog "Please verify that your Exchange Server name is correct." default answer ExchangeServer with icon 2 buttons {"Cancel", "OK"} default button {"OK"}
set ExchangeServer to text returned of verifyServer
end if
tell application "Microsoft Outlook"
activate
set newExchangeAccount to make new exchange account with properties ¬
{name:"Mailbox - " & fullName, user name:shortName, full name:fullName, email address:emailAddress, server:ExchangeServer, use ssl:ExchangeServerRequiresSSL, port:ExchangeServerSSLPort, ldap server:DirectoryServer, ldap needs authentication:DirectoryServerRequiresAuthentication, ldap use ssl:DirectoryServerRequiresSSL, ldap max entries:DirectoryServerMaximumResults, ldap search base:DirectoryServerSearchBase, ldap port:DirectoryServerSSLPort}
-- The following lines enable Kerberos support if the userKerberos property above is set to true.
if useKerberos is true then
set use kerberos authentication of newExchangeAccount to useKerberos
set principal of newExchangeAccount to shortName & "@" & kerberosRealm
end if
-- The Me Contact record is now automatically created with the first account.
-- Set the first and last name of the Me Contact record.
set first name of me contact to firstName
set last name of me contact to lastName
set email addresses of me contact to {address:emailAddress, type:work}
end tell
**[color=#FF0000]-- on error
-- display dialog errorMessage with icon 2 buttons {"OK"} default button {"OK"}
-- error number -128
-- end try[/color]**
end if
Run the script now and it should show you where the error occurs. Once you've identified the problem, you will want to uncomment the lines by removing the "-- " you added.