#70807 - 2002-10-14 10:23 AM
Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
Hi there!!
Im new to this forum but not new to kix . I have some problem with the exchange/outlook configuration script.
I would like to know what each step do and how its suppossed to work
Like I see it it the script copies files then removes them at once but later in the script it is supposed to use the files from $windir.....
could someone please help me with this script.
Im gonna use it in w2k ad with mixed clients (9x/w2kp/nt)
/regards Matt
|
Top
|
|
|
|
#70809 - 2002-10-14 02:13 PM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
Matt,
First of all.. Welcome to the board!
Second, it is good to see that there are people using my code..
If you are concerned with the script, you can do the "full-fledged" or the trimmed down version.. But, the thing is that you run the script like -
code:
kix32 outlook /d
Or, add a DEBUG ON in the script..
This information has also been updated in the FAQ Section and specifically, Exchange/Outlook Configuration.
Now, back to your question..
> Files deleted and then used..
If we look at:
code:
IF 1 <> EXIST($windir+"\Outlook.PRF") COPY @ldrive+"PROFGEN\Outlook2000\Outlook.PRF" $windir ENDIF IF 1 <> EXIST ($windir+"\Profgen.exe") COPY @ldrive+"PROFGEN\Outlook2000\Profgen.exe" $windir ENDIF IF 1 <> EXIST ($windir+"\NEWPROF.EXE") COPY @ldrive+"PROFGEN\Outlook2000\NEWPROF.EXE" $windir ENDIF IF EXIST ($windir+"\FixPrf.EXE") DEL $windir+"\FixPrf.EXE" ENDIF IF EXIST($systemdrive+"PROFGEN.exe") DEL $systemdrive+"PROFGEN.EXE" ENDIF IF EXIST($systemdrive+"NEWPROF.EXE") DEL $systemdrive+"NEWPROF.EXE" ENDIF
Specifcally, the DEL commands..
DEL $windir+"\FixPrf.EXE" >> Not Used DEL $systemdrive+"PROFGEN.EXE" >> We don't use this in the C:\ root anymore but from %windir% DEL $systemdrive+"NEWPROF.EXE" >> We don't use this in the C:\ root anymore but from %windir%
I have also made some changes to this to look for not only the @userid profile, but the "MS Exchange Settings" profile too. The reason being, is that we have a number of people that have off-line e-mail and once you re-generate their inbox, you have to manually re-map the off-line folders.
I will put this updated version up later on today..
HTH,
Kent [ 14. October 2002, 14:17: Message edited by: kdyer ]
|
Top
|
|
|
|
#70810 - 2002-10-14 02:58 PM
Re: Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
Gr8 thx for the answer got but can anyone explain this, I got it to work in w2kp but in w9x i get a error messege when the profgen.exe executes
"the file profgen.exe is linked to export netapi32.dll:NetApiBufferFree, that doesent exist"
Any Ideas??
//Matt
|
Top
|
|
|
|
#70812 - 2002-10-14 03:44 PM
Re: Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
IE 5
//Matt
|
Top
|
|
|
|
#70813 - 2002-10-14 04:03 PM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
Matt,
What version of Outlook are we working with here?
Thanks!
Kent
|
Top
|
|
|
|
#70814 - 2002-10-14 04:10 PM
Re: Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
Outlook 2000, should it be 98? tried to install IE6 without success.
//Matt
|
Top
|
|
|
|
#70815 - 2002-10-14 04:22 PM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
Looks like we may have to look at the OUTLOOK.PRF file as NETAPI32.DLL is related to WMI and specifically - NetWkstaUserGetInfo
http://eric.aling.tripod.com/PB/netapi.htm
HTH,
Kent
|
Top
|
|
|
|
#70817 - 2002-10-14 04:45 PM
Re: Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
I cant find "NetWkstaUserGetInfo" anywere. I wish we had all w2kp clients but we dont have the time to upgrade. 1500 users on 40 different locations and no WAN has been delivered yet, the new mail server must be up and running before 1 january 2003.... pretty stressed out
|
Top
|
|
|
|
#70818 - 2002-10-14 04:46 PM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
Can you post your OUTLOOK.PRF? We maybe able to do this another way.
Kent
|
Top
|
|
|
|
#70820 - 2002-10-15 08:20 AM
Re: Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
Heres my .prf file
thanx for the help so far kdyer
//Matt
; Outlook PRF file for Exchange Server users ; ------------------------------------------- ; Copyright (C), Microsoft Corporation, 1996. ; ; The following PRF file is included as an example of how to create a PRF file that will ; configure Outlook users with Exchange Server. Section 1, 2, and 3 may be modified. ; DO NOT MODIFY SECTION 4. It will most likely cause Exchange services to crash. ; Be very careful when editing to ensure property values match their property types. ; NOTE: The HomeServer setting for the Microsoft Exchange Server must be filled in ; before using this file. ; ; For information about how to disable Outlook Profile Setup and instead use the ; the Inbox Setup Wizard, see NONE.PRF in the Office Resource Kit.
; ************************************************************************ ; Section 1 - Profile defaults.
[General] Custom=1 ; -- Required. Indicates that this is a customized PRF file. ProfileName=%username% DefaultProfile=Yes OverwriteProfile=Yes DefaultStore=Service2
; ************************************************************************ ; Section 2 - Services in profile.
[Service List] Service1=Microsoft Outlook Client Service2=Microsoft Exchange Server Service3=Outlook Address Book Service4=Personal Address Book Service5=Archived Messages
; ************************************************************************ ; Section 3 - Default values for each service.
[Service1] EmptyWastebasket=TRUE SelectEntireWord=TRUE AfterMoveMessage=2 CloseOriginalMessage=FALSE GenReadReceipt=FALSE GenDeliveryReceipt=FALSE DefaultSensitivity=0 DefaultPriority=1 SaveSentMail=TRUE
; **** Customized Outlook Client properties **** CloseOriginalMsg=1 AllowCommaAsSeparator=1 MarkMyComments=0 AutoArchiveInterval=5 DefaultArchiveFile=H:\Outlook\%username%.pst
[Service2] ConversionProhibited=TRUE MailboxName=%username% HomeServer=lab1 ; Required. ; -- The name of the Microsoft Exchange Server the user should ; connect to (ex: ALEX). You can specify any Microsoft Exchange Server ; in your site, and the correct Home Server will be assigned ; when the user first logs on.
[Service3] Ben=TRUE ; -- Dummy property. Do not delete or modify.
[Service4] PathToPersonalAddressBook="H:\Outlook\%username%.pab" ViewOrder=1
[Service5] PathToPersonalFolders="H:\Outlook\%username%.pst" RememberPassword=TRUE EncryptionType=0x40000000 Password=
; ************************************************************************ ; Section 4 - Mapping for profile properties. DO NOT MODIFY.
; ************************************************************************ ; Microsoft Outlook Client definitions
[Microsoft Outlook Client] SectionGUID=0a0d020000000000c000000000000046
EmptyWastebasket=PT_BOOLEAN,0x0115 ; -- A boolean value indicating whether or not to empty the ; wastebasket on exit.
SelectEntireWord=PT_BOOLEAN,0x0118 ; -- A boolean value indicating whether or not to select entire ; words when selecting.
AfterMoveMessage=PT_LONG,0x013B ; -- Indicates what to do after moving or deleting a message. ; Possible values are shown below: ; 0 - Open Next Message ; 1 - Return to Viewer ; 2 - Open Previous Message
CloseOriginalMessage=PT_BOOLEAN,0x0132 ; -- A boolean value indicating whether or not to close the ; original message after replying.
GenReadReceipt=PT_BOOLEAN,0x0141 ; -- A boolean value indicating whether or not to generate ; a read receipt on sent mail.
GenDeliveryReceipt=PT_BOOLEAN,0x014C ; -- A boolean value indicating whether or not to generate ; a delivery receipt on sent mail.
DefaultSensitivity=PT_LONG,0x014F ; -- The default sensitivity to send mail with. ; Possible values are shown below: ; 0 - Normal ; 1 - Personal ; 2 - Private ; 3 - Confidential
DefaultPriority=PT_LONG,0x0140 ; -- The default priority to send mail with. ; Possible values are shown below: ; 0 - Low ; 1 - Normal ; 2 - High
SaveSentMail=PT_BOOLEAN,0x0142 ; -- A boolean value indicating whether to save a copy of ; sent messages in the sent items folder.
; **** Custom entries added by rickva@microsoft.com ****
CloseOriginalMsg=PT_BOOLEAN,0x0132 ; -- A boolean value indicating whether Outlook should close original ; message when replying or forwarding.
MarkMyComments=PT_BOOLEAN,0x0319 ; -- A boolean value indicating whether Outlook should mark comments ; in a reply message with the users name.
AllowCommaAsSeparator=PT_BOOLEAN,0x0350 ; -- A boolean value indicating whether Outlook should allow a comma ; to be used as an address separator.
AutoArchiveInterval=PT_LONG,0x0323 ; -- The default is to auto archive every 14 days. ; Possible values are shown below: ; 1 - 60
DefaultArchiveFile=PT_STRING8,0x0324 ; -- The path and file name for the default auto archive file. ; ex: c:\home\rickva\outlook\archive.pst
; ************************************************************************ ; Microsoft Exchange Server service definitions.
[Microsoft Exchange Server] ServiceName=MSEMS MDBGUID=5494A1C0297F101BA58708002B2A2517
MailboxName=PT_STRING8,0x6607 ; -- The name of the user's Exchange Server Mailbox
HomeServer=PT_STRING8,0x6608 ; -- The name of the Microsoft Exchange Server the user should ; connect to. You can specify any Microsoft Exchange Server ; in your site, and the correct Home Server will be assigned ; when the user first logs on.
OfflineFolderPath=PT_STRING8,0x6610 ; -- The path to the Offline Store File that contains ; local replicas of the user's Mailbox and Favorites. ; If you do not specify a value, no Offline Store will ; be created. If you specify a path, an Offline Store ; will be created and the Inbox, Outbox, Deleted Items, ; and Sent Items folders will be replicated to it.
OfflineAddressBookPath=PT_STRING8,0x660E ; -- The path to the directory to store offline address ; book files in.
ExchangeConfigFlags=PT_LONG,0x6601 ; -- Flags that control behavior when connecting to the Exchange ; Server. ; The following values are possible: ; VALUE RESULT ; 4 Normal ; 6 Ask whether to connect or work offline at startup. ; 12 Allow clients to be authenticated via the Internet ; 14 Combination of 6 and 12.
ConversionProhibited=PT_BOOLEAN,0x3A03 ; -- A boolean value indicating whether NEWPROF should ; attempt to resolve the Exchange mailbox name at run time. ; If set to TRUE, NEWPROF will copy the name to the profile ; without resolving it. ; If FALSE, the name will be resolved. Invalid server or ; mailbox name will not be copied to the profile.
; ************************************************************************ ; Microsoft Mail service definitions.
[Microsoft Mail] ServiceName=MSFS
; -- The path to the users post office. Mapped network drives, UNC and NETWARE paths ; are acceptable. NETWARE paths of the type NWServer/share:dir\dir1 are converted to ; UNC paths of the type \\NWServer\share\dir\dir1.
ServerPath=PT_STRING8,0x6600
; -- The users mailbox name. eg. in a NET/PO/USER address, ; this is USER. The maximum mailbox name is 10 characters.
Mailbox=PT_STRING8,0x6601
; -- The users mailbox password. The maximum password is 8 characters.
Password=PT_STRING8,0x67f0
; -- A boolean value indicating whether the users password is ; to be remembered in the profile or not. This is useful because ; if the password is remembered the user can bypass the logon prompt ; if his server path, mailbox name and password are all supplied.
RememberPassword=PT_BOOLEAN,0x6606
; -- The connection type. This may be one of CFG_CONN_AUTO, CFG_CONN_LAN, ; CFG_CONN_REMOTE, CFG_CONN_OFFLINE as defined below. ; ; 0x0 -- LAN type connection. Used to connect to the post office using a ; UNC path or pre-existing mapped drive. ; 0x1 -- Dial up connection using Dial-up Networking. ; 0x2 -- Not connected. ; 0x3 -- Automatically detect whether the connection type is LAN or REMOTE. ; This connection type is only available on Win95.
ConnectionType=PT_LONG,0x6603
; -- A boolean value indicating whether session logging ; is on or off.
UseSessionLog=PT_BOOLEAN,0x6604
; -- The path to the session log file.
SessionLogPath=PT_STRING8,0x6605
; -- A boolean value which indicates whether mail in the outbox ; is sent.
EnableUpload=PT_BOOLEAN,0x6620
; -- A boolean value which indicates whether mail in the server ; mailbag is downloaded.
EnableDownload=PT_BOOLEAN,0x6621
; -- A bit array which allows the user to indicate which addresses ; for which the transport is to attempt delivery. This is useful ; in order to allow a user to specify that a transport only handle ; delivery for a subset of the addresses it can really process. ; When multiple transports are installed and the user wants a ; different transport to handle some specific address types they ; can use this bit array to specify that the MSMAIL transport ; only handle a specific set of addresses. ; ; Possible values as defined below include: ; ; 0x00000001 -- Local Post Office and External Post Office address types ; 0x00000002 -- PROFS address types ; 0x00000004 -- SNADS address types ; 0x00000008 -- MCI address types ; 0x00000010 -- X.400 address types ; 0x00000040 -- FAX address types ; 0x00000080 -- MHS address types ; 0x00000100 -- SMTP address types ; 0x00000800 -- OfficeVision address types ; 0x00001000 -- MacMail address types ; 0x000019df -- All of the above address types
UploadMask=PT_LONG,0x6622
; -- A boolean value which indicates whether a netbios notification ; is sent to a recipients transport when mail is delivered to ; their server inbox.
NetBiosNotification=PT_BOOLEAN,0x6623
; -- The polling interval in minutes when the transport ; checks for new mail. 1 <= polling interval <= 9999
NewMailPollInterval=PT_STRING8,0x6624
; -- A boolean value which, if TRUE, only displays the Microsoft Mail Global Address ; list for name selection. The Postoffice list, external post office lists, and gateway ; address lists are not shown.
DisplayGalOnly=PT_BOOLEAN,0x6625
; -- A boolean value which indicates whether the user wants to enable ; headers while working on the LAN. Headers mode allows the user ; to download message headers and selectively choose which mail ; to download.
UseHeadersOnLAN=PT_BOOLEAN,0x6630
; -- A boolean value which indicates whether the user wants to use ; name resolution based on a local copy of the server address book ; rather than the server address book itself.
UseLocalAdressBookOnLAN=PT_BOOLEAN,0x6631
; -- A boolean value which indicates whether EXTERNAL.EXE, a server process, should be used ; to deliver submitted mail messages. This is sometimes useful when mail is running ; on a slow LAN connection.
UseExternalToHelpDeliverOnLAN=PT_BOOLEAN,0x6632
; -- A boolean value which indicates whether the user wants to enable ; headers while working over a slow speed link. Headers mode ; allows the user to download message headers and selectively ; choose which mail to download.
UseHeadersOnRAS=PT_BOOLEAN,0x6640
; -- A boolean value which indicates whether the user wants to use ; name resolution based on a local copy of the server address book ; rather than the server address book itself.
UseLocalAdressBookOnRAS=PT_BOOLEAN,0x6641
; -- A boolean value which indicates whether EXTERNAL.EXE, a server process, should be used ; to deliver submitted mail messages. This speeds up message delivery when mail is ; running on a Dial-up network connection.
UseExternalToHelpDeliverOnRAS=PT_BOOLEAN,0x6639
; -- A boolean value which indicates that a Dial-up Network connection should ; be established when the transport provider starts up.
ConnectOnStartup=PT_BOOLEAN,0x6642
; -- A boolean value which indicates that a Dial-up Network connection should ; be automatically terminated when headers are finished downloading.
DisconnectAfterRetrieveHeaders=PT_BOOLEAN,0x6643
; -- A boolean value which indicates that a Dial-up Network connection should ; be automatically terminated after mail has finished being sent ; received.
DisconnectAfterRetrieveMail=PT_BOOLEAN,0x6644
; -- A boolean value which indicates that a Dial-up Network connection should ; be automatically terminated when the provider is exited.
DisconnectOnExit=PT_BOOLEAN,0x6645
; -- The name of the Dial-up Network profile that the transport will use by ; default to attempt the connection.
DefaultDialupConnectionName=PT_STRING8,0x6646
; -- Number of times to attempt dial for connection. ; 1 <= retry attempts <= 9999
DialupRetryCount=PT_STRING8,0x6648
; -- Delay between retry attempts in seconds. ; 30 <= retry delay <= 9999
DialupRetryDelay=PT_STRING8,0x6649
; ************************************************************************ ; Personal Folders service definitions.
[Archived Messages] ServiceName=MSPST MS
; -- Path to personal folders.
PathToPersonalFolders=PT_STRING8,0x6700
; -- A boolean value that determines if the personal folders password ; should be cached.
RememberPassword=PT_BOOLEAN,0x6701
; -- A value that designates the type of encryption that is used to ; compress the data in the PST: ; ; No Encryption 0x80000000 ; Compressable Encryption 0x40000000 ; Best Encryption 0x20000000
EncryptionType=PT_LONG,0x6702
; -- PST password.
Password=PT_STRING8,0x6703
; ************************************************************************ ; Personal Address Book service definitions.
[Personal Address Book] ServiceName=MSPST AB
; -- Path to personal address book.
PathToPersonalAddressBook=PT_STRING8,0x6600
; -- Determines if PAB entries are first, last, or last, first. ; ; first last 0 ; last, first 1
ViewOrder=PT_LONG,0x6601
; ************************************************************************ ; Outlook Address Book service definitions.
[Outlook Address Book] ServiceName=CONTAB Ben=PT_STRING8,0x6700 ; -- Dummy property. Do not modify.
|
Top
|
|
|
|
#70823 - 2002-10-15 04:23 PM
Re: Problem with kdyers outlook script
|
EvilHearted
Fresh Scripter
Registered: 2002-10-14
Posts: 8
|
I have used the information on JSI Tip 1786. Another way to set %UserName%, %ComputerName%, and %LogonServer% for W9x.. ´ but i still have the problem with profgen
when i map a homedrive with %username% it works fine under w9x when i used the tip 1786
//Matt
|
Top
|
|
|
|
#70824 - 2002-10-15 06:05 PM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
{Edit - Removed the Company Key} Matt,
Give this a try...
Note the use of FIXPRF..
code:
;BREAK ON ;CLS ; -- Outlook 98/2000/XP Configuration ; -- Kent Dyer ; -- Updated 15-October - 2002 ; -- Tested with Kixtart - 3.63, 4.10, 4.02 ; -- Test Environments - NT 4.0, W2k, WXP ; -- Used some ideas from MCA's KIXnnnUPDATE.EXE script ; -- Visit: http://home.wanadoo.nl/scripting/ ; -- Originally created 15-August-2001 ; -- http://kixtart.org/board/ultimatebb.php?ubb=get_topic;f=10;t=000021 ; -- This completes the setup of Outlook ; -- Yes, you can use PROFGEN and FIXPRF, but these alone don't complete the setup ; -- They are, however necessary to complete this piece of the script ; -- Key points: ; -- * Changes the view to get rid of the Outlook Bar and show the "Explorer View" (optionally set) ; -- * Checks the box to empty deleted items on leaving Outlook (optionally set) ; -- * Also deletes bogus profiles like OEM User, etc. (optionally set) ; -- Changes Necessary: ; -- >>>> Company key needs to be changed to yours.... ; -- Comments and feedback are welcome to - dyerkb@myrealbox.com ; -- 27-August-2001 - Fixed Registry Key problem, CHKEXCHG.EXE - Not required ; -- 17-February-2002 - Added in compatibility for Windows 9x ; -- 12-March-2002 - Added Ability to turn on/off empty deleted items on exit and removal of bogus profiles ; -- 18-July-2002 - Added in the ability to configure Outlook XP, updated Micrsoft Links ; -- 15-August-2002 - Fixed detection problem, 0 = EXISTKEY with an OR Statment bombs on 3.63 ; -- 19-August-2002 - Increased testing with EXISTKEY and related changes ; -- 26-September-2002 - "Locked Down" user could not write to %windir%, created a C:\Scripts folder ; -- 03-October-2002 - Added in key to look for "MS Exchange Settings" as well as @userid ; -- 15-October-2002 - Re-Implemented FIXPRF.EXE for PROFILE Generation corrections ; -- 15-October-2002 - FIXPRF.EXE also is needed for generating the profile for Outlook XP as well ; -- 15-October-2002 - Quieted Profgen with a re-direct to nul - "> nul" ; -- 15-October-2002 - Completed Testing with Windows 9x ; -- 15-October-2002 - Use of more variables, changed @ldrive to @lserver for Win9x ; -- 15-October-2002 - Removed the Need for Winset, Putinenv for Windows 9x ; --- **** The following Resources were used in this composition **** ; --- &&&& URLS/Links updated and verified on 03 - October - 2002 &&&& --- ; -- http://www.microsoft.com/office/ork/2000/download/Outlook.prf - sample PRF file ; -- http://support.microsoft.com/default.aspx?scid=kb;EN-US;q182035 - Windows 95 roving users setup ; -- ftp://ftp.microsoft.com/bussys/exchange/exchange-unsup-ed/profgen.zip - Contains PROFGEN.EXE ; -- Automate Outlook Profile Creation Using PRFPATCH: ; -- http://www.microsoft.com/technet/archive/default.asp?url=/TechNet/archive/office/office97/deploy/prfpatch.asp ; -- http://www.microsoft.com/technet/downloads/exe/profile.exe - PRFPATCH.EXE, sample PRF File ; -- http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q145905 - NEWPROF command-line options ; -- http://www.microsoft.com/office/ork/appa/appa.htm - Microsoft Office 97 Resource Kit Tools and Utilities page ; -- http://www.microsoft.com/ntworkstation/downloads/Recommended/Featured/NTZAK.asp - Zero Administration Kit HomePage ; -- http://www.microsoft.com/ntworkstation/downloads/bin/zak/zak.exe - Download ZAK, Contains FIXPRF.EXE ; -- http://www.microsoft.com/office/ork/xp/journ/adminup.htm#Off2000 ; --- **** Outlook XP **** ; -- You can use GPO Editor for deployment of Outlook XP ; -- You should be able to issue the following command line: outlook.exe /importprf \\server1\share\outlook.prf ; -- Ref. http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/office/officexp/reskit/officexp/part5/c18dpou.asp ; -- Look under: "Customizing an Outlook Installation" ; -- Outlook 2002 (Outlook XP) - http://www.slipstick.com/outlook/ol2002.htm ; -- D:\PFILES\COMMON\SYSTEM\MAPI\1033\95\NEWPROF.EXE - Office 2000 CD ; -- D:\PFILES\COMMON\SYSTEM\MAPI\1033\NT\NEWPROF.EXE - Office 2000 CD
; -- Program Settings, change as needed $profile_remove = "No" ; -- Profiles other than @USERID, like OEM User, MS Exchange Settings, etc. removed $deleteitems = "No" ; -- Do you want your users to delete all deleted items on Exit from Outlook? $explorview = "Yes" ; -- Do you want your users to view the "Explorer View" and not the Outlook bar in Outlook? $serverloc = @lserver+"\Netlogon\Profgen\Outlook2000" ; -- Server Location
; -- Environment variables $exchangeserver = "EXCHANGESERVER" ; -- Exchange 2000, should go to any Exchange server and re-direct as needed $prf = "Outlook.prf" ; -- PRF file
IF (@inwin = 1) ; -- Is it Winnt or 2K? ; -- Windows NT Registry Locations $profilelocation = "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" $windir = READVALUE("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion","SystemRoot") ELSE ; -- Windows 9x Registry Locations $profilelocation = "HKEY_CURRENT_USER\Software\Microsoft\Windows Messaging Subsystem\Profiles" $windir = READVALUE("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion","SystemRoot") ENDIF
$systemdrive = SUBSTR($windir,1,2) ; -- This will show C: or M: or what drive windows is installed on $scriptdir = $systemdrive+"\Scripts" ; -- Script Directory $prffile = $scriptdir+"\"+$prf ; -- Shows c:\scripts\outlook.prf, for example ; -- 19-August-2002 - Fixed detection problem, 0 = EXISTKEY with an OR Statment bombs on 3.63 ; -- Thanks to MCA for the KixtartnnnUpdate.EXE script for this info ; -- You can find these at - http://home.wanadoo.nl/scripting/ $ppru = $profilelocation+"\"+@userid ; -- 03-October-2002 - Added in key to look for "MS Exchange Settings" $mses = $profilelocation+"\MS Exchange Settings" IF (ExistKey($ppru) = 0) OR (ExistKey($mses) = 0) RETURN ; -- Profile exists and return ELSE $exe = ReadValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE","") $ver = GetFileVersion($exe) ; -- Get version of executable for MS-Outlook $pos_locat = INSTR($ver, ".") - 1 ; - Look for where the dot is $verchk = SUBSTR($ver,1,$pos_locat)
; -- Check to insure that the scripts folder is there ; -- 26-September-2002 - Found an issue with "Locked Down" user that could not write to %windir% IF GETFILEATTR($scriptdir) & 16 ELSE SHELL "%comspec% /c md "+$scriptdir ENDIF
; -- Before we begin, let's insure all needed files are in place
;IF 1 <> EXIST($windir+"\Outlook.PRF") ; -- Kent Dyer - 09/26/02 - Copy each time COPY $serverloc+"\"+$prf $scriptdir ;ENDIF IF 1 <> EXIST ($scriptdir+"\Profgen.exe") COPY $serverloc+"\Profgen.exe" $scriptdir ENDIF IF 1 <> EXIST ($scriptdir+"\NEWPROF.EXE") COPY $serverloc+"\NEWPROF.EXE" $scriptdir ENDIF IF 1 <> EXIST ($scriptdir+"\FIXPRF.EXE") COPY $serverloc+"\FIXPRF.EXE" $scriptdir ENDIF
; -- Depending on the version ($ver) detected above, go to the appropriate process SELECT CASE $verchk = "8" ; -- If it is Outlook 98, configure the following keys and values (e.g. 8.5.5104.0) IF $profile_remove = "YES" ; -- If it does not exist, delete out any odd-ball Profiles $index = 0 :loop3 $keyname = ENUMKEY($profilelocation, $index) IF @error = 0 ;? "Name found: $KeyName" ; -- Uncomment for debugging IF $keyname <> @userid OR $keyname <> "Sales" ; -- Going to check for @userid $rc = DELTREE($profilelocation+"\"+$keyname) ;$RC = DELKEY($ProfileLocation, $KeyName) $index = $index + 1 GOTO Loop3 ENDIF ENDIF ENDIF ;SHELL "%COMSPEC% /C "+$ScriptDir+"\Fixprf.exe "+$prfFile @userid @userid $ExchangeServer SHELL "%COMSPEC% /C "+$scriptdir+"\Fixprf.exe "+$prffile+" @userid @userid "+$exchangeserver SLEEP 1 IF (@inwin = 1) ; -- Is it Winnt or 2K? SHELL "%COMSPEC% /C "+$systemdrive+"\Scripts\Profgen.exe "+$systemdrive+"\Scripts\Newprof.exe -p "+$prffile+" -N -R -L > nul" ELSE ; -- Removed Profgen as it kills Windows 9x SHELL "%COMSPEC% /C "+$systemdrive+"\Scripts\Newprof.exe -p "+$prffile+" -N -R -L > nul" ENDIF ; -- If you use RUN instead of SHELL, the script will pause and not complete properly ;SHELL "%COMSPEC% /C "+$systemdrive+"\Scripts\Profgen.exe "+$systemdrive+"\Scripts\NEWPROF.EXE -P "+$prfFile+" > nul" SLEEP 1 $rc = writevalue($profilelocation, "DefaultProfile", @userid, "REG_SZ") RETURN CASE $verchk = "9" ; -- If it is Outlook 2000, configure the following keys and values (e.g. 9.0.0.2416) IF $profile_remove = "YES" ; -- If it does not exist, delete out any odd-ball Profiles $index = 0 :loop4 $keyname = ENUMKEY($profilelocation, $index) IF @error = 0 ;? "Name found: $KeyName" ; -- Uncomment for debugging IF $keyname <> @userid OR $keyname <> "Sales" ; -- Going to check for @userid $rc = DELTREE($profilelocation+"\"+$keyname) ;$RC = DELKEY($ProfileLocation, $KeyName) $index = $index + 1 GOTO Loop4 ENDIF ENDIF ENDIF ; -- Generate the Inbox SHELL "%COMSPEC% /C "+$scriptdir+"\Fixprf.exe "+$prffile+" @userid @userid "+$exchangeserver SLEEP 1 IF (@inwin = 1) ; -- Is it Winnt or 2K? SHELL "%COMSPEC% /C "+$scriptdir+"\Profgen.exe "+$scriptdir+"\Newprof.exe -p "+$prffile+" -N -R -L > nul" ELSE SLEEP 1 ; -- Removed Profgen as it kills Windows 9x SHELL "%COMSPEC% /C "+$scriptdir+"\Newprof.exe -p "+$prffile+" -N -R -L > nul" ENDIF ; -- If you use RUN instead of SHELL, the script will pause and not complete properly ;SHELL "%COMSPEC% /C "+$ScriptDir+"\Profgen.exe "+$ScriptDir+"\NEWPROF.EXE -P "+$prfFile+" > nul" ; -- Had to add a small pause SLEEP 1 $rc = writevalue($profilelocation, "DefaultProfile", @userid, "REG_SZ")
; -- Check for the Default profile, if it does not exist, create it IF @userid <> READVALUE( $profilelocation, "DefaultProfile" ) $rc = WRITEVALUE ($profilelocation, "DefaultProfile", @userid, "REG_SZ") ENDIF
; -- Check the box to empty deleted items on leaving Outlook - Now the we have the Outlook Profile Generated ; -- Note: $mses should not come into play here as "MS Exchange Settings" would indicate that this mailbox has ; -- already been completed IF $deleteitems = "Yes" IF "0100" <> READVALUE($ppru+"\0a0d020000000000c000000000000046","000b0115") $rc = WRITEVALUE($ppru+"\0a0d020000000000c000000000000046","000b0115","0100","REG_BINARY") ENDIF ENDIF
; -- Changes the view to get rid of the Outlook Bar and show the "Explorer View" IF $explorview = "Yes"
; -- CHECK FOR KEYS AND IF NEED BE, ADD THEM ; --- Check for the right keys IF 0 <> EXISTKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0") $rc = ADDKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0") ENDIF IF 0 <> EXISTKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Common") $rc = ADDKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Common") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Preferences") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Preferences") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\UserInfo") ENDIF IF 0 <> EXISTKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook") $rc = ADDKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Options") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Options") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Options\Mail") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Options\Mail") ENDIF IF 0 <> EXISTKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook\Setup") $rc = ADDKEY("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook\Setup") ENDIF IF 0 <> EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Office Explorer") $rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Office Explorer") ENDIF
; -- Set the Machine Name IF @wksta <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook","Machine Name") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook","Machine Name",@wksta,"REG_SZ") ENDIF ; -- Check Internet E-Mail Accounts IF 1 <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook","CheckInternetAccounts") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook","CheckInternetAccounts","1","REG_DWORD") ENDIF ; -- Has Outlook been Setup? IF "False" <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook","FirstRunDialog") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook","FirstRunDialog","False","REG_SZ") ENDIF ; -- Primary Client? IF 1 <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Setup","PrimaryClient") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Setup","PrimaryClient","1","REG_DWORD") ENDIF ; -- Corporate or POP3? - Needs to be a machine setting IF 1 <> READVALUE("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook\Setup","MailSupport") $rc = WRITEVALUE("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook\Setup","MailSupport","1","REG_DWORD") ENDIF ; -- Corporate or POP3? - Needs to be a machine setting IF 1 <> READVALUE("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook\Setup","First-Run") $rc = WRITEVALUE("HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Outlook\Setup","First-Run","df83b12adc9cd511b57c0002a57ce19c","REG_BINARY") ENDIF
; -- Set the default mail preference as Rich Text format 1996609 is Word, 199610 Rich Text Format IF "196610" <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Options\Mail","EditorPreference") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Options\Mail","EditorPreference","196610","REG_DWORD") ENDIF
$rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"+@userid+"\0a0d020000000000c000000000000046","001e0360","","REG_SZ")
; -- Changes the view to get rid of the Outlook Bar and show the "Explorer View" $expview = "010000002c0000000200000003000000ffffffffffffffffffffffffffffffff62000000270000003" $expview = $expview + "c030000ac02000001000000000000000100000000000000c00000006400000003000000" $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Office Explorer","Frame",$expview,"REG_BINARY")
; -- Set the default Font to be Verdana 10 pt $pltextfont = "3c0000000f0000e800000040c80000000600000000000000002056657264616e6100020000000000000000" $pltextfont = $pltextfont + "0000000000201a493a38e9070001000000" $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Preferences","PlainTextFont",$pltextfont,"REG_BINARY") ENDIF RETURN CASE $verchk = "10" ; -- If it is Outlook XP, configure the following keys and values
; -- This is discussed at: http://www.slipstick.com/outlook/ol2002/prftips.htm IF "NO" <> READPROFILESTRING($prffile,"General","BackupProfile") $rc = WRITEPROFILESTRING($prffile,"General","BackupProfile","NO") ENDIF
; -- This is discussed at the bottom of - http://www.microsoft.com/office/ork/xp/four/outc03.htm $rc=WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Setup","ImportPRF",$winntfile,"REG_SZ")
; -- Change the PRF file from %username% to @userid IF @userid <> READPROFILESTRING($prffile,"General","ProfileName") $rc = WRITEPROFILESTRING($prffile,"General","ProfileName",@userid) ENDIF
; -- Fix the Profile SHELL "%COMSPEC% /C "+$scriptdir+"\Fixprf.exe "+$prffile+" @userid @userid "+$exchangeserver SLEEP 1 RUN $exe+" /importprf "+$prffile ; -- Import the profile for outlook SLEEP 1
; -- Set the default mail preference as Rich Text format 1996609 is Word, 199610 Rich Text Format IF "196610" <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Options\Mail","EditorPreference") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Options\Mail","EditorPreference","196610","REG_DWORD") ENDIF
; -- Set the default Font to be Verdana 10 pt $pltextfont = "3c0000000f0000e800000040c80000000600000000000000002056657264616e6100020000000000000000" $pltextfont = $pltextfont + "0000000000201a493a38e9070001000000" $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Preferences","TextFontSimple",$pltextfont,"REG_BINARY")
; -- Changes the view to get rid of the Outlook Bar and show the "Explorer View" IF $explorview = "Yes" $expview = "010000002c0000000200000003000000ffffffffffffffffffffffffffffffff2c0000002c00000084" $expview = $expview + "020000dc01000001000000000000000100000000000000c0000000640000001800000003000000" $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Office Explorer","Frame",$expview,"REG_BINARY") ENDIF
; -- Check the box to empty deleted items on leaving Outlook - Now that we have the Outlook Profile Generated IF $deleteitems = "Yes" IF "1" <> READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Preferences","EmptyTrash") $rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Preferences","EmptyTrash","1","REG_DWORD") ENDIF ENDIF
RETURN ENDSELECT ENDIF
HTH,
Kent [ 15. October 2002, 23:51: Message edited by: kdyer ]
|
Top
|
|
|
|
#70825 - 2002-10-15 11:54 PM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
OK..
{Edit - Tested with Outlook 98 on Windows 95} {Second Edit - Tested with Outlook 2000 on W95} {Second Edit - Tested with Outlook XP on WXP} {Second Edit - Tested with Outlook 2000 on W2k}
{Third Edit - We have Exchange 2000 and AD}
Installed Windows 95 on a test system..
Changes for today are:
- Re-Implemented FIXPRF.EXE for PROFILE Generation corrections
- FIXPRF.EXE also is needed for generating the profile for Outlook XP as well
- Quieted Profgen with a re-direct to nul - "> nul"
- Outlook XP Testing - Completed
- Windows 9x Testing - Completed
- Use of more variables, changed @ldrive to @lserver for Win9x
- Removed the Need for Winset, Putinenv for Windows 9x
Cheers, Kent [ 16. October 2002, 06:22: Message edited by: kdyer ]
|
Top
|
|
|
|
#70826 - 2002-10-16 06:02 AM
Re: Problem with kdyers outlook script
|
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
FYI..
Updated the following FAQ and specifically - Exchange/Outlook Configuration [ 16. October 2002, 06:20: Message edited by: kdyer ]
|
Top
|
|
|
|
Moderator: Glenn Barnas, NTDOC, Arend_, Jochen, Radimus, Allen, ShaneEP, Ruud van Velsen, Mart
|
1 registered
(mole)
and 598 anonymous users online.
|
|
|