Quantcast
Channel: Symantec Connect: Deployment and Imaging
Viewing all 645 articles
Browse latest View live

How Do You Get PCAnywhere On Your Base Image/Clients?

$
0
0
I need a solution

I'm redoing my reference image using a VM and looking for some more best practice advice, specifically what's the best way to get PCAnywhere on your client machines?

In the past, we put the PCAnywhere agent on our base image - which began to be a pain once the agent was updated with cert based communications.  It required me to do the "Preparing PCAnywhere or pcAnywhere Solution Client for Imaging" procedure every time I rebuilt my base image (which isn't all that often, but it is more of a pain than it should be).

The prepare for image capture task should took care of this manual decryption step, but as far as I know, this never happened.  I never see others complaining about this manual process on Connect, which makes me wonder if others are doing it better another way.

Is it best practice or recommended to leave the client off the base image and instead rely on the agent setting to install on all computers that don't have it? I've seen quirks when agents are installing during the imaging process causes the whole Symantec agent to seemingly restart, which causes image task failures, which I don't want.  I also generally would feel more comfortable if it was part of the image going out the door so I know it's there to start for every machine.

Would appreciate any advice, and thanks!


Ghost Solution Suite 3.0 "How-to" Webcast Series

$
0
0

With the upcoming launch of Ghost Solution Suite 3.0, we will be holding regular "How-to" webcasts to help users get up to speed on this new solution as quickly as possible.

Before you attend any of the "How-to" webcasts, please be sure to sign-up and begin testing the GSS 3.0 Beta.

Here's the tentative webcast schedule:

  • March 25
  • April 22
  • May 20
  • June 17
  • July 15
  • August 19

I will update this post with links to register and the topics we will cover as we get a little closer to each date.

Stay tuned!

Ghost Solution Suite 3.0 - "How-to" Videos

$
0
0

The Beta version of Ghost Solution Suite 3.0 will be available soon. Sign-up here.

To help you get up to speed as quickly as possible, we are creating several "How-to" videos and will be posting links to each of them on this page and adding them over time.

Ghost Solution Suite 3.0 - "How-to" Videos:

Migrating to IT Management Suite 7.6

$
0
0
Migrating and Upgrading to IT Management Suite 7.6

Migration: A migration is when you install the latest version of the IT Management Suite solutions on a new server, and then migrate the data from the earlier ITMS solutions to the latest version of the application.

Upgrade: An upgrade is when you install the latest version of ITMS on the same hardware, server operating system, and database.

You must migrate the Notification Server 6.x or 7.0 data to either Notification Server 7.1 SP2 or Notification Server 7.5.

After migrating the data, you must first upgrade to either ITMS 7.1 SP2 MP1.1 or ITMS 7.5 SP1 HF5 depending on the path you choose and then upgrade to ITMS 7.6.

The following diagram gives an overview of the migration and upgrade process:

MigrationInfoG_7.6.png

You can use the following reference documents:

DocumentITMS VersionDocument ID
Migration Guide NS 6.x to

7.1 SP2

7.5

DOC4742

DOC5668

Migration Guide 7.0 to

7.1 SP2

7.5

DOC4743

DOC5669

All product documents7.1 SP27.1 SP2 Documents
All product documents7.5DOC5131
All product documents7.5 SP1DOC7440
All product documents7.6DOC8146

"How-to" Webcast Series - Ghost Solution Suite 3.0 - March 25

$
0
0
Location: 
WebEx
Time: 
Wed, 25 March, 2015 - 12:00 - 13:00 MDT

Join us for our first "How-to" Webcast for Ghost Solution Suite 3.0 on Wednesday, March 25.

Detailed agenda coming soon.

Notes:
WebEx details will be sent after registration.

ITSM 7.6 et Ghost Solution Suite 3.0

$
0
0
Feedback sur le Live launch webcast du 3 Mars 2015

ITMS 7.6 (CMS 7.6, AMS 7.6, SMS 7.6)

Nouveautés principales

La nouvelle version 7.6 (nom de code Snowbird) intégre les nouvelles fonctionnalités suivantes:

  • CEM: Cloud Enablement Management pour les Macintosh (Gérer les macs over Internet/https)
  • CEM: Support de certificats externes, et du "load-balancer" F5
  • PXE: Support de multiples versions de PXE, cela peut être utile et nous éviter des refontes de preboot et le portage de systèmes mal supportés.

Et remplacera la fonctionnalité suivante:

  • PC Anywhere, qui sera remplacée par la solution Bomgar. Mais il n'est pas clairement établi si cela est avec, ou sans coûts additionnels, qui sont très probables. Ceci ajoute toutefois des fonctionnalités intéressantes comme le contrôle de mobiles et "over Internet".

Les améliorations d'interface incluent :

  • Agent health: Des meilleurs rapports pour gérer les agents "qui ne répondent plus", avec un bouton pour lancer un ping, individuellement... Dommage, on pouvait s'attendre à intégrer en standard un "ping" automatique pour distinguer automatiquement les machines avec agent "down", des machines "down". Cela reste possible via une requête "network inventory" et quelques configurations supplémentaires, avec quelques rapports adaptés. Me contacter au besoin.
  • Custom filters: On peut créer des filtres avec des colonnes configurables, exporter et "Oh extase", copier/coller la liste ! Enfin, retour de cette fonction 6.0, perdue depuis la 7.0 ! Mais j'ai peur que ce soit le seul endroit de la console qui tolère le copier/coller. Les autres éléments du "resource manager", les filtres, les rapports, "targets" et autres "web parts" restent probablement hermétiques au moindre Ctrl-C...
  • Target folders: On peut organiser les "cibles" dans des dossiers... C'est pour lister des nouveautés, sinon, cela ferait un peu pauvre !
  • ITA: une extension de IT analytic pour mieux rapporter sur les clients autres que Windows... no comment !

Les extensions de packaging:

  • Application Streaming from file: La Suite Client Management inclus l'agent "Workspace streaming", et la distribution d'applications en mode "streaming" depuis un "file share". Ce qui étend la possibilité de "distribuer" une application "à la demande". Note: Le mode streaming permet de démarrer une application virtualisée sans attendre la fin de son téléchargement. Condition: re-packager les applications avec "Workspace virtualization".

Les extensions des éléments supportés:

    Quelques écrans: http://bit.ly/SYMANTEC-ALTIRIS76

    Capture+plein+écran+03.03.2015+172714.bmp[1].jpg

    Conclusions

    A moins d'avoir à intégrer des Macs, aucun intérêt de se jeter sur cette version décevante à plus d'un titre. Mais dans un contexte où VERITAS quitte à nouveau Symantec, il est déjà heureux que la plate-forme Altiris ne se retrouve pas à plonger dans la faille au milieu de la scission, et que des mises à jour se poursuivent. Cela rassure. Altiris reste dans le giron sécurité de Symantec "IS".

    GHOST, le retour de la DS 6.9

    Enfin du très positif: La récupération de notre bonne vieille console DS 6.9 express, pour faire la nouvelle mouture codée GSS 3.0. Pour tous les utilisateurs de Ghost Solution Suite 2.5 et précédentes, vous pouvez y aller les yeux fermés, c'est du solide. On peut venir vous aider quand même un peu pour la phase d'apprivoisement. Nous sommes très nombreux à bien connaître cette console DS 6.x, quasi inchangée depuis plus de 10 ans. Quant à Ghost, c'est le même depuis plus de 20 ans (où je déployais des Windows For Workgroup 3.11... Bon passons, cela ne nous rajeunie pas :). Bien sûr, il a été mis à jour pour supporter les derniers OS et matériels.

    Capture+plein+écran+03.03.2015+171544.bmp[1].jpg

    Du nouveau pour les utilisateurs de GSS 2.5

    • PXE avec des "preboot" customisables, et un menu "initial deployment" (optionnel)
    • Une console enrichie, avec un support de multiples OS clients, une structure de dossiers pour organiser la console,
    • Des meilleures possibilités d'automatisations.

    Du nouveau pour les utilisateurs de DS 6.9 (Deployment Solution)

    • Ghost recovery Kit et Ghostcast server: ce ne sont pas vraiment des nouveautés, car disponibles sur la DS 6.9, mais en ligne de commande. Je suppose que cela est désormais intégré, et permettrait de supporter "enfin", le "multicasting" nativement via Ghost. Car il nous fallait utiliser Rdeploy pour cela, l'ancien outil d'imagerie de disques systèmes, avant le rachat par Symantec et l'intégration de Ghost. Heureusement, Symantec a eu l'intelligence de conserver Rdeploy en parallèle, pour une compatibilité ascendante; merci pour cela. A suivre, j'ai demandé l'accès à la beta disponible depuis ce jour ;-)
    • Dynamic Machine Groups: Cette option risque de faire basculer des (petits) clients CMS vers GSS. Car elle permet de faire exécuter un job à une "nouvelle" machine qui répond aux critères d'un "filtre" dynamique. Avec DS 6.9, nous étions obligé de scripter un "flag" pour éviter la répétition d'un job déjà réalisé, et de "scheduler" un job un à plusieurs fois par jour pour assurer un déploiement "pseudo dynamique". Car la DS 6.9 est orientée exécution, mais pas "policy" (politique). C'est justement le point fort de CMS sur DS 6.9, de pouvoir établir des polices de déploiement. La version CMS7.6 restera toutefois largement plus adaptée pour mettre en place des politiques (policies) de déploiement avec détection et optimisation des opérations de déploiement en masse. Si vous avez plusieurs milliers de poste à maintenir, CMS 7.6 est la bonne solution, DS6.9/GSS 3.0 n'y suffira pas. A suivre aussi sur la beta, et voir comment elle gère les machines "hors ligne" et remise en circuit "tardivement"...
    • no-cost database: Bonne nouvelle, l'installation inclura la mise en place d'un SQL express 2014, ce qui vous évitera de rater son installation initiale, faute d'avoir installé un serveur SQL avant... Attention d'activer la case à cocher "install MS SQL server 2014 Express" quand même ;-)

    Pour mémoire, cette solution restait supportée en parallèle de la version DS 7.5, car plus légère et simple à déployer, et à utiliser. Largement défendue par ses utilisateurs, ils ont rejetés massivement les versions "web" proposées depuis la DS 7.0, puis la DS 7.1, enfin la DS 7.5. Reste à savoir si nous allons pouvoir facilement conserver la possibilité d'installer un GSS 3.0 en lieu et place d'un DS 7.6, quand nous sommes possesseurs de la suite CMS 7.6 (Client Management). J'avais recommandé pour plusieurs clients en Suisse romande d'exploiter cette possibilité offerte avec bienveillance et intelligence par Symantec, de conserver la DS 6.9 avec CMS 7.x. Pour les possesseurs de la solution DS 7.x, c'était rédhibitoire, car d'utiliser la solution DS 6.9 permettait d'avoir le "remote control" et des inventaires basiques, qui étaient perdus en utilisant la version 7 "recommandée" par Symantec. Ces derniers ont permis l'intégration de PCanywhere dans DS 7.1 pour compenser la perte du "remote control", mais les "inventaires" restaient inexistants. Serrez les rangs, ce n'est pas gagné d'avance, et j'espère que Symantec ne fera pas la bêtise d'obliger les clients à "dégrader" leur CMS pour convertir en GSS, ou pire, demander le prix de nouvelles licences... A suivre, si vous avez un souci à ce sujet, me contacter SVP, le GUASF peut faire une action collective.

    Extension du support de:

    • MS SQL 2014
    • Extension des "hardware" UEFI 32 et 64 bits.
    • Serveurs Microsoft Windows 2012 R2,
    • Windows 8.1,
    • Mac OS X 10.10
    • WinPE et LinPE mis à jour (? mais avec laquelle)

    Quelques liens:

    Quelques espoirs

    Il faudra toutefois attendre 2016, pour voir apparaître le support multi-PXE pour GSS 3.0. A moins de faire appel à nos services, car en collaboration avec DMI-FR, nous avons déjà eu l'occasion d'intégrer chez plusieurs clients, des PXE multiples dans les bases installées DS 6.9. Il faut ensuite juste un script qui renomme 2 dossiers, pour chaque version de PXE à supporter. Et dire qu'il faudra encore un an à Symantec pour l'intégrer...

    Quelques craintes

    Pour le contrôle d'écran à distance, je ne sais pas comment cela va évoluer

    QUAND ?

    Capture+plein+écran+03.03.2015+175447.bmp[1].jpg

    Feedback ou question, me contacter SVP: Pascal.KOTTE@ICT-a.ch +41 79 309 28 86

    Conseiller numérique éthique indépendant: ITSM & Cloud computing, SaaS... Pour défendre les intérêts des acheteurs et usagers numériques: Keep It Smart, Simple, & Human centric. Envie de partager des points de vues, en français sur le "Cloud" ? Nous rejoindre sur CloudReady.ch.

    GSS 3.0 Questions

    $
    0
    0
    I do not need a solution (just sharing information)

    We are a small college with about 1,500 computers. We have probably 50 different images with a lot of older software that can not be managed well with Altiris. Also we use Ghost to back up all employee computers before re-imaging or delivering a new computer. We keep these images for at least 12 months and in certain cases much longer due to the nature of the information on some drives. GSS 2.5.1 provided an excellent means of managing all of our images. The ability to manually define the image resources within the console and store the images in an easy to fnid location and folder structure greatly helped us when we needed to recover data from an archive image. We tried using Altiris 7.1 and 7.5 but found the way the images were stored made it very difficult to locate the exact backup image we were looking for. As well when creating a hardware independent image the wait time to replicate to the deployment server often bit us in the rear during crunch time. Which is the 3 times a year we re-image every lab and lecture computer on campus. During these times we only have 1 week to complete the process on about 1000 computers so waiting is not an option. We also ran into a problem with the images constantly being checked because they were reporting 0kb size which Symantec Tech support was never able to figure out. I apologize for the long explanation but I wanted to provide some background for my question.

         I watched the webcast and saw the Ghost Console but did not see the resources section I am familiar with in GSS 2.5.1. How does GSS 3.0 store the images? Does it use an easy and intuitive way that makes it easy to find where a specific image is stored? or does it use the random GUID folder names from Altiris which makes me feel like I am playing hide and seek with my images?

    Remove outdated ghost images

    $
    0
    0
    I need a solution

    Looking for a way to clean up old images that are no longer needed in SMP 7.5.  


    Ghost Solution Suite 3.0 - "How-to" Videos

    $
    0
    0
    I do not need a solution (just sharing information)

    To help you get up to speed as quickly as possible, we are creating several "How-to" videos and will be posting links to each of them on this page and adding them over time.

    You'll find a complete list with updates as new videos become available on this blog page:

    Ghost Solution Suite 3.0 - "How-to" Videos

    2015 User Summit - Symantec Deployment Tools and Use Cases (Presentation)

    2015 User Summit - Customization of Deployment Solution Preboot (Presentation)

    $
    0
    0

    2015 User Summit held March 2-5 in Salt Lake City, UT.

    • Session: Customization of Deployment Solution Preboot (Presentation)
    • Presenter: Rasmus Ronlev, ITS

    The video for this session will be posted soon. Check back for the link.

    Delete Task Cache

    $
    0
    0
    I need a solution

    Hello All,

    In Altiris 7.1 we could delete "Task Cache" by going to "C:\Program Files\Altiris\Altiris Agent\TaskManagement\cache\*.*" and deleting the contents, could someone help me where is this location in Altiris 7.5. Is it - C:\Program Files\Altiris\Altiris Agent\Agents\SoftwareManagement\data ? OR some other location, also is there a built in task in Altiris 7.5 which can clean this folder, OR if some one has a script that can do this job.

    Thanks

    Best Way To Install Powershell Update KB2819745

    $
    0
    0
    I need a solution

    Hello all,

         We currently run Altiris 7.1 in our environment and looking for best way to deploy Update KB2819745 so our workstations will get the latest powershell version.  Doesn't look like we can get through the patch management.  Can I use Software Deployment?  Thanks for the help

    Deploy Internet Explorer 11 with Prerequisite Patches - SWD or Task

    $
    0
    0

    All,

    I have only recently been able to have the time and sit down to script this all out for my organization
    We have no issues (crossed fingers) with this script after deploying to over 20K endpoints and have seen a few forum posts about how to get it all done and thought I would share my method with the community

    It my first article so it may not be as readable as others.

    Basically, you need to download all the prerequisite patches and standalone installer for x86 and x64
    Place in similar folder structure below and use my script to set in the Software package top use as a SWD Policy or Task.

    Download both the x86/x64 IE11 standalone installers and extract contents to respective folders ( IE11_x64, IE11_x86 )
    http://www.microsoft.com/en-us/download/internet-e...

    Use this syntax to extract and move to respective folder structure - 
    IE11-Windows6.1-x86-en-us.exe /x:C:\temp\IE10_x86
    IE11-Windows6.1-x64-en-us.exe /x:C:\temp\IE10_x64

    Download all the prerequisite patches (both bit levels) from their KB articles and place into the PreReq folder.
    (if the patch name does not equal the name in the script or in my folder layout below then you have not downloaded the correct one)

    So your folder structure should look similar to this after downloading and extracting, if going to import as Software in the console:
    +---Microsoft
    |   \---Internet Explorer 11 with Prereq
    |       |   IE11Installer-Win7.vbs
    |       |
    |       +---IE11_x64
    |       |       HARDWAREBLOCKINGLIST.XML
    |       |       IE-Hyphenation-en.MSU
    |       |       IE-Spelling-en.MSU
    |       |       IE-Win7.CAB
    |       |       IE_SUPPORT_amd64_en-US.CAB
    |       |       SETUPDOWNLOADLIST.TXT
    |       |       SQMAPI.DLL
    |       |
    |       +---IE11_x86
    |       |       HARDWAREBLOCKINGLIST.XML
    |       |       IE-Hyphenation-en.MSU
    |       |       IE-Spelling-en.MSU
    |       |       IE-Win7.CAB
    |       |       IE_SUPPORT_x86_en-US.CAB
    |       |       SETUPDOWNLOADLIST.TXT
    |       |       SQMAPI.DLL
    |       |
    |       \---PreReq
    |               Windows6.1-KB2533623-x64.msu
    |               Windows6.1-KB2533623-x86.msu
    |               Windows6.1-KB2639308-x64.msu
    |               Windows6.1-KB2639308-x86.msu
    |               Windows6.1-KB2670838-x64.msu
    |               Windows6.1-KB2670838-x86.msu
    |               Windows6.1-KB2729094-v2-x64.msu
    |               Windows6.1-KB2729094-v2-x86.msu
    |               Windows6.1-KB2731771-x64.msu
    |               Windows6.1-KB2731771-x86.msu
    |               Windows6.1-KB2786081-x64.msu
    |               Windows6.1-KB2786081-x86.msu
    |               Windows6.1-KB2834140-v2-x64.msu
    |               Windows6.1-KB2834140-v2-x86.msu
    |               Windows6.1-KB2882822-x64.msu
    |               Windows6.1-KB2882822-x86.msu
    |               Windows6.1-KB2888049-x64.msu
    |               Windows6.1-KB2888049-x86.msu

    Folder size is approx. 139MB
    You may modify my script as needed but it is pretty thorough and I have documented it some as well for your reference.
    It will always create its log files under C:\Support\Logs
    I have also added a registry key at the end of the install to prevent IE from autoupdating itself (you can comment out or remove the line if you see fit)

    When creating the Software Resource:
    Use the command line of: cscript.exe //nologo "IE11Installer-Win7.vbs"
    Add these success codes: 0, 3010, 999
    For the Detection Rule use (unless you have a better way):

    Screenshot - 3_13_2015 , 10_47_19 AM.jpg

    Of course the targeted endpoint requires a reboot for it to complete which you can add to the script or task if warranted.

    Please feel free to ask any qiestions or provide feedback.

    Thank you,

    Clay

    <<VBscript Code>>

    '***************************************************************************
    ' Name: IE11Installer-Win7.vbs
    '' Author: AltirisJunkie
    ' Date: Nov 24, 2014
    ' Modified: 
    '' Comment:  
    '' Usage: - 
    ''***************************************************************************
    ' Return Codes
    '     0 : Success
    '	099 : Unable to bind to WMI provider
    '	100 : The current operating system bit level cannot be determined
    '	101 : XP OS was detected
    '	102 : 32 bit OS Found - Exit
    '	103 : MSIEXEC could not become available within 30 seconds.
    '	999 : IE11 already detected
    ''***************************************************************************
    ' CHANGES:
    
    '---------------------------------------------------------------------------------------------
    '////////////////////////////////BEGIN STANDARD SCRIPT LOGIC\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    '---------------------------------------------------------------------------------------------
    
    Option Explicit
    On Error Resume Next
    
    '********************BEGIN GLOBAL DECLARATIONS******************************
    Const HKEY_LOCAL_MACHINE = &H80000002
    Public RetVal
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
    
    Dim CurrentDir, strComputerName, strSysDomain, strSysDomainPri, strSysDomainAlt
    Dim OSbit, OSName, AppName, LocalPackageDir
    Dim sLogFileLocation, sLogFileName
    Dim bEnableLogging, bIncludeDateStamp, bPrependDateStampInLogFileName
    Dim sOverWriteORAppend, vLogMaximumLines, vLogMaximumSize
    
    
    '********************END GLOBAL DECLARATIONS********************************
    
    '***********************SET BASIC OBJECTS***********************************
    Dim strComputer	:		strComputer = "."
    Dim oFSO		:		Set oFSO = CreateObject("Scripting.FileSystemObject")
    Dim oNet		:		Set oNet = CreateObject("Wscript.Network")
    Dim oShell		:		Set oShell = CreateObject("Wscript.Shell")
    Dim oLocator	:		Set oLocator=CreateObject("WbemScripting.SWbemLocator")
    Dim oEnv		:		Set oEnv = oShell.Environment("PROCESS")
    Dim oReg		:		Set oReg = GetObject("winmgmts:\\"& strComputer & "\root\default:StdRegProv")
    Dim oWMIService	:		Set oWMIService = GetObject("winmgmts:"& "{impersonationLevel=impersonate}!\\"& strComputer & "\root\cimv2")
    
    Dim RegExp		:		Set RegExp = New RegExp
    RegExp.IgnoreCase = True
    
    
    '*********************END SET BASIC OBJECTS*********************************
    
    '****************************SET MISC***************************************
    ' Waiting 3 seconds to allow objects to initialize
    'WScript.Sleep 2000
    
    AppName = "IE11Installer-Win7"' Rename with script name or purpose for proper log file creation
    oEnv("SEE_MASK_NOZONECHECKS") = 1
    CurrentDir = oFSO.GetParentFolderName(Wscript.ScriptFullName)
    LocalPackageDir = "C:\Support\Packages\"& AppName
    strComputerName = oShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
    strSysDomain = UCase(GetComputerDomain)	' Retrieves the computers current Fully Qualified Domain Name via WMI
    'strSysDomain = UCase(RegRead("HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Domain"))' Retrieves the computers current Domain Name WITHOUT WM
    
    
    ' Created logging folder if does not exist and prepares file for logging of script functions
    ' Use logging functionality anywhere in script with the following context:
    '        LogToFile "  -----> Input whatever you want to log here"
    SetupGlobalLogging
    
    ' Get the Operating System Bit Archetecture so you can used script on either 32 or 64 bit clients
    ' Use the If command to branch out based on bit level ex.. ( If OSBit = "32" Then .......   )
    GetOSArch
    										
    ' Gets the Operating System name set in the registry at install to help with logging and 
    ' Branching of Bit level wont work and need to do it based on OS type
    OSName = RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName")
    
    ' Get drive space info.  Assists in troubleshooting install issues
    Dim oLogicalDisk, dTotalSpace, dFreeSpace
    ' Set oLogicalDisk = oWMIService.Get("Win32_LogicalDisk.DeviceID='c:'")
    Set oLogicalDisk = oFSO.GetDrive("C:")
    dFreeSpace = FormatNumber((CDbl(oLogicalDisk.FreeSpace)/1024/1024/1024)) & " GB"
    dTotalSpace = FormatNumber((CDbl(oLogicalDisk.TotalSize)/1024/1024/1024)) & " GB"'oLogicalDisk.FreeSpace
    
    Dim strIPs
    GetLocalIP
    
    '****************************END MISC***************************************
    
    '---------------------------------------------------------------------------------------------
    '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\END STANDARD SCRIPT LOGIC/////////////////////////////////////
    '---------------------------------------------------------------------------------------------
    LogToFile "  *** Ready to execute the "& AppName & " at "& Date & ""& Time & " ***"
    LogToFile ""
    LogToFile "  -----> OS Version:"& Chr(9) & OSName & ""& OSbit & " bit"
    LogToFile "  -----> Computername:"& Chr(9) & strComputerName
    LogToFile "  -----> Domain:"& Chr(9) & Chr(9) & strSysDomain
    LogToFile ""
    LogToFile "  -----> -------------------------------------------------------------------------------------------------------------------"
    LogToFile "  -----> Software Team Debug Info = Domain - WMI:"& strSysDomainPri & " ~ Domain - Regitry: "& strSysDomainAlt
    LogToFile "  -----> C:\ Drive Space Info = Total Space: "& dTotalSpace & " ~ Free Space: "& dFreeSpace
    LogToFile "  -----> Current Local IP addresses = "& strIPs
    LogToFile "  -----> -------------------------------------------------------------------------------------------------------------------"
    LogToFile "  -----> Script Version - Nov242014"
    LogToFile ""
    LogToFile ""'---------------------------------------------------------------------------------------------
    '//////////////////////////////BEGIN LOCALIZED SCRIPT LOGIC\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    '---------------------------------------------------------------------------------------------
    
    Dim strProgFiles
    
    ' Exit if OS is XP
    If Instr(1, OSName, "XP", 1) Then
    	WScript.Quit(101)
    End If
    
    
    If OSbit = "32" Then
    	strProgFiles = oShell.ExpandEnvironmentStrings( "%PROGRAMFILES%" )
    Else
    	strProgFiles = oShell.ExpandEnvironmentStrings( "%PROGRAMFILES(x86)%" )
    End If
    
    ' Check IE11 already exists
    If CHeckIEVer = "11" Then
    	LogToFile "  -----> Internet Explorer 11 has been detected.  Exit."
    	WScript.Quit(999)
    Else
    	If OSbit = "32" Then
    '-----------------------------------------------------------------------------------Start 32 Bit Install-----------------------------------------------------------------------------------------------	
    	If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2533623 (Insecure library loading could allow remote code execution)
    		    LogToFile "  -----> Installing update KB2533623_x86 for Insecure library loading could allow remote code execution..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2533623-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2533623_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	   If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2731771 (local/UTC time conversion)
    		    LogToFile "  -----> Installing update KB2731771_x86 for local/UTC time conversion fix..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2731771-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2731771_x86")
    	   	Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2639308 (Introduces the Force ASLR (Address Space Layout Randomization) feature)
    		    LogToFile "  -----> Installing update KB2639308_x86 for introducing the Force ASLR (Address Space Layout Randomization) feature..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2639308-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2639308_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    		If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2670838 (graphics and imaging issues fix - platform update)
    		    LogToFile "  -----> Installing update KB2670838_x86 for graphics and imaging issues fix (Platform update)..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2670838-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2670838_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	        
    	    If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2729094 (Segoe UI symbol font)
    		    LogToFile "  -----> Installing update KB2729094_x86	for Segoe UI symbol font..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2729094-v2-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2729094_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	   	
    	   	If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2786081 (Internet Explorer 10 does not save credentials for a website)
    		    LogToFile "  -----> Installing update KB2786081_x86 for Internet Explorer 10 does not save credentials for a website..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2786081-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2786081_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2834140 (Stop Error correction after installing KB2670838)
    		    LogToFile "  -----> Installing update KB2834140_x86 for Stop Error correction after installing KB2670838 fix..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2834140-v2-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2834140_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2882822 (Update adds ITraceRelogger interface support)
    		    LogToFile "  -----> Installing update KB2882822_x86 for update adds ITraceRelogger interface support..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2882822-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2882822_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If	   
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 32-bit patch for KB2888049 (improves the network performance of Internet Explorer 11)
    		    LogToFile "  -----> Installing update KB2888049_x86 for improving the network performance of Internet Explorer 11..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2888049-x86.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2888049_x86")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If	 
    
    
    	     If MsiexecAvailable(30) Then
    		    'install Internet Explorer 11 for 32-bit
    		    LogToFile "  -----> Installing Internet Explorer 11 for 32-bit..."
    		    LogToFile "  -----> Install log:  C:\Support\Logs\Microsoft_IE_11_Detailed.log"'Factory installer:  RetVal = oShell.Run(CurrentDir & "\IE11-Windows6.1-x32-en-us.exe /quiet /update-no /closeprograms /norestart /log:C:\Windows\Logs\",0,True)
    		    RetVal = oShell.Run("C:\Windows\System32\dism.exe /online /add-package /packagepath:"& Chr(34) & CurrentDir & "\IE11_x86\IE-Win7.CAB"& Chr(34) & " /quiet /norestart /logpath:C:\Support\Logs\Microsoft_IE_11_Detailed.log",0,True)
    			    If RetVal = 3010 Then
    			        LogToFile "  -----> WARNING: Installation of Internet Explorer 11 has completed successfully, however, required reboot was suppressed!"
    			        RegWriteAdvanced "HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\EnableAutoUpgrade",0,"REG_DWORD"
    			        WScript.Quit(0)
    			    ElseIf RetVal <> 0 Then
    			        LogToFile "  -----> ERROR: Installation of Internet Explorer 11 has failed with error: "& RetVal
    			    Else
    			        LogToFile "  -----> Installation of Internet Explorer 11 has completed successfully."
    			        RegWriteAdvanced "HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\EnableAutoUpgrade",0,"REG_DWORD"
    			    End If
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	
    	Else
    '-----------------------------------------------------------------------------------Start 64 Bit Install-----------------------------------------------------------------------------------------------
    		If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2533623 (Insecure library loading could allow remote code execution)
    		    LogToFile "  -----> Installing update KB2533623_x64 for Insecure library loading could allow remote code execution..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2533623-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2533623_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	   If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2731771 (local/UTC time conversion)
    		    LogToFile "  -----> Installing update KB2731771_x64 for local/UTC time conversion fix..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2731771-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2731771_x64")
    	   	Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2639308 (Introduces the Force ASLR (Address Space Layout Randomization) feature)
    		    LogToFile "  -----> Installing update KB2639308_x64 for introducing the Force ASLR (Address Space Layout Randomization) feature..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2639308-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2639308_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    		If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2670838 (graphics and imaging issues fix - platform update)
    		    LogToFile "  -----> Installing update KB2670838_x64 for graphics and imaging issues fix (Platform update)..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2670838-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2670838_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	        
    	    If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2729094 (Segoe UI symbol font)
    		    LogToFile "  -----> Installing update KB2729094_x64 for Segoe UI symbol font..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2729094-v2-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2729094_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	   	
    	   	If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2786081 (Internet Explorer 10 does not save credentials for a website)
    		    LogToFile "  -----> Installing update KB2786081_x64 for Internet Explorer 10 does not save credentials for a website..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2786081-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2786081_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2834140 (Stop Error correction after installing KB2670838)
    		    LogToFile "  -----> Installing update KB2834140_x64 for Stop Error correction after installing KB2670838 fix..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2834140-v2-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2834140_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2882822 (Update adds ITraceRelogger interface support)
    		    LogToFile "  -----> Installing update KB2882822_x64 for update adds ITraceRelogger interface support..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2882822-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2882822_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If	   
    	    
    	    
    	    If MsiexecAvailable(30) Then
    		    'install 64-bit patch for KB2888049 (improves the network performance of Internet Explorer 11)
    		    LogToFile "  -----> Installing update KB2888049_x64 for improving the network performance of Internet Explorer 11..."
    		    RetVal = oShell.Run("wusa.exe "& Chr(34) & CurrentDir & "\PreReq\Windows6.1-KB2888049-x64.msu"& Chr(34) & " /quiet /norestart /log",0,True)
    		    Results("KB2888049_x64")
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If	 
    
    
    	     If MsiexecAvailable(30) Then
    		    'install Internet Explorer 11 for 64-bit (includes 32-bit)
    		    LogToFile "  -----> Installing Internet Explorer 11 for 64-bit..."
    		    LogToFile "  -----> Install log:  C:\Support\Logs\Microsoft_IE_11_Detailed.log"'Factory installer:  RetVal = oShell.Run(CurrentDir & "\IE11-Windows6.1-x64-en-us.exe /quiet /update-no /closeprograms /norestart /log:C:\Windows\Logs\",0,True)
    		    RetVal = oShell.Run("C:\Windows\System32\dism.exe /online /add-package /packagepath:"& Chr(34) & CurrentDir & "\IE11_x64\IE-Win7.CAB"& Chr(34) & " /quiet /norestart /logpath:C:\Support\Logs\Microsoft_IE_11_Detailed.log",0,True)
    			    If RetVal = 3010 Then
    			        LogToFile "  -----> WARNING: Installation of Internet Explorer 11 has completed successfully, however, required reboot was suppressed!"
    			        RegWriteAdvanced "HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\EnableAutoUpgrade",0,"REG_DWORD"
    			        WScript.Quit(0)
    			    ElseIf RetVal <> 0 Then
    			        LogToFile "  -----> ERROR: Installation of Internet Explorer 11 has failed with error: "& RetVal
    			    Else
    			        LogToFile "  -----> Installation of Internet Explorer 11 has completed successfully."
    			        RegWriteAdvanced "HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\EnableAutoUpgrade",0,"REG_DWORD"
    			    End If
    	    Else
    	    	LogToFile "  -----> MSIEXEC could not become available within 30 seconds.  Exit installer"
    	    	WScript.Quit(103)
    	    End If
    		
    	End If
    	  
    
    End If
    
    
    
    
    WScript.Quit(RetVal)
    
    
    '---------------------------------------------------------------------------------------------
    '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\END LOCALIZED SCRIPT LOGIC////////////////////////////////////
    '---------------------------------------------------------------------------------------------
    
    '---------------------------------------------------------------------------------------------
    '///////////////////////////BEGIN LOCALIZED FUNCTIONS-SUBROUTINES\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    '---------------------------------------------------------------------------------------------
    
    
    Function CHeckIEVer
    Dim sFile, strQuery, objFile, colFiles, IEver
    sFile = strProgFiles & "\Internet Explorer\iexplore.exe"
    strQuery = "Select * from CIM_Datafile Where Name = '" + Replace(sFile, "\", "\\") + "'"
    Set colFiles = oWMIService.ExecQuery(strQuery)
    
    For Each objFile in colFiles
    	CHeckIEVer = Left(objFile.Version,2)
    Next
    
    End Function
    
    
    Function Results(KBname)
        Select Case RetVal
            Case 9009
                LogToFile "  -----> WARNING: "& KBname & " is already installed; skipping installation."
            Case 2359302
                LogToFile "  -----> WARNING: "& KBname & " is already installed; skipping installation."
            Case -2145124329
                LogToFile "  -----> WARNING: "& KBname & " is not required for this system; skipping installation."
            Case Else
                LogToFile "  -----> Install of "& KBname & " has completed with return code: "& RetVal
        End Select
    End Function
    
    
    
    '---------------------------------------------------------------------------------------------
    '\\\\\\\\\\\\\\\\\\\\\\\\\\END LOCALIZED FUNCTIONS-SUBROUTINES////////////////////////////////
    '---------------------------------------------------------------------------------------------
    
    
    '---------------------------------------------------------------------------------------------
    '//////////////////////////BEGIN STANDARD FUNCTIONS-SUBROUTINES\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    '---------------------------------------------------------------------------------------------
    
    ' Determine CPU architecture of the installed OS of the computer
    ' ------------------------------------------------------------------------------------------------------
    Sub GetOSArch
    ' Determine CPU architecture
    Dim strOSbitValue
    strOSbitValue = RegRead("HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\Identifier")
    
    ' 32 bit OS
    If (InStr(strOSbitValue, "x86")) Then
    	OSbit = "32"'LogToFile " OS Bit Level = "& OSbit
    
    '64 bit OS
    ElseIf (InStr(strOSbitValue, "64")) Then
    	OSbit = "64"'LogToFile " OS Bit Level = "& OSbit
    
    Else
    	'Log the Error
    	LogToFile " -----> The current operating system bit level cannot be determined - please investigate manually"
    	WScript.Quit(100)
    End If
    
    End Sub
    
    
    ' Subroutine to get the name of the installed OS of the computer
    ' ------------------------------------------------------------------------------------------------------
    Sub GetOSName
    
    Dim colItems, oItem, theValue
    Set colItems = oWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem",,48) 
    
    For Each oItem in colItems
    	OSName = oItem.Caption
    Next
    
       'OSName = theValue
       'LogToFile " OS Name = "& OSName
    
    End Sub
    
    
    ' Function to get the domain that the computer is part of
    ' ------------------------------------------------------------------------------------------------------
    Function GetComputerDomain()
            On Error Resume Next
            Dim OpSysSet, i
            Set OpSysSet = GetObject("winmgmts:\root\cimv2").ExecQuery("select * from Win32_ComputerSystem")
            For Each i in OpSysSet
            ' There should only be one anyway, but we'll do this to be sure to be sure.
                    GetComputerDomain = i.Domain
            Next
    End Function
    
    
    ' Stores all local IP addresses into the IPAddress(i) array
    ' ------------------------------------------------------------------------------------------------------
    Sub GetLocalIP
    Dim objWMIService, IPConfigSet, IPConfig, i
    Set objWMIService = GetObject("winmgmts:\\"& strComputer & "\root\cimv2")
    Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'")
    For Each IPConfig in IPConfigSet
    	If Not IsNull(IPConfig.IPAddress) Then
    		For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
    			If Not Instr(IPConfig.IPAddress(i), ":") > 0 Then
    				strIPs = strIPs & IPConfig.IPAddress(i) & ""
    			End If
    		Next
    	End If
    Next
    
    End Sub
    
    
    '  Check and wait for X number of seconds for Msiexec.exe to become available for use
    '  Pass a number in seconds when calling.  ie.  If WaitforMSI(30) Then....
    ' ------------------------------------------------------------------------------------------------------
    Function MsiexecAvailable(MaxWait)
    Dim Counter, oWMIServiceMSI, colProcesses, objProcess
    
    Counter = 0
    
    Do Until MsiexecAvailable Or Counter > MaxWait
    
    Set oWMIServiceMSI = GetObject("winmgmts:"& "{impersonationLevel=impersonate}!\\"& "."& "\root\cimv2")
    Set colProcesses = oWMIServiceMSI.ExecQuery ("Select * From Win32_Process Where Name='msiexec.exe'")
    
    			' Check if any process is currently running
    			If (colProcesses.Count>0) Then
    					' One ore more msiexec.exe processes are running
    					For Each objProcess In colProcesses
    						' Check each process found and verify
    
    						If (InStr (objProcess.Commandline,"/V")=0) Then
    							WScript.sleep 1000
    							Counter = Counter + 1					
    							Exit For
    						Else
    							If (colProcesses.Count=1) Then _
    								MsiexecAvailable = True
    						End If
    					Next
    				
    			Else
    				MsiexecAvailable = True
    			End If
    Loop
    	
    End Function
    
    ' Writes a registry item (regtype = REG_SZ, REG_BINARY, ...)
    'Examples:
    'RegWriteAdvanced "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoRestartShell",1,"REG_DWORD"' ---------------------------------------------------------------------------------------------------
    Function RegWriteAdvanced(Name, iValue, RegType)
    	On Error Resume Next
    
    	RegWriteAdvanced = oShell.RegWrite(Name, iValue, RegType)
    	If Err Then 
    		RegWriteAdvanced = Err.Number
    		Err.Clear
    	Else
    		RegWriteAdvanced = 0
    	End If
    
    	
    End Function
    
    
    ' Reads a registry item
    ' This will read the value into a variable when used
    ' Example:
    ' myvar = Regread("HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Au Options")
    ' If myvar = whatever then do something ....
    ' ------------------------------------------------------------------------------------------------------
    Function RegRead(Name)
    	On Error Resume Next
    	
    	RegRead = oShell.RegRead(Name)
    	
    	If Err Then
    		If Err.Number = -2147024894 Then ' registry value or keydoesn't exist
    			' do Nothing
    			RegRead = ""
    			LogToFile "  -----> Having issues reading the registry key - "& Name
    		Else
    		    LogToFile " -----> RegRead"& " - "& Err.Number & ": "& Left(Err.Description, Len(Err.Description) - 0)
    			RegRead = ""
    		End If
    		Err.Clear
    	Else
    		' niks
    	End If
    	
    End Function
    
    
    ' Generates a folder path is does not exist
    ' ---------------------------------------------------------------------------------------------------
    Function GeneratePath(pFolderPath)
    
    GeneratePath = False
    If Not oFSO.FolderExists(pFolderPath) Then
    	If GeneratePath(oFSO.GetParentFolderName(pFolderPath)) Then
    		GeneratePath = True
    		Call oFSO.CreateFolder(pFolderPath)
    	End If
    Else
    	GeneratePath = True
    End If
    
    End Function
    
    
    ' Sets basic logging settings within script
    ' ---------------------------------------------------------------------------------------------------
    Sub SetupGlobalLogging
    
    '********** Create bak file if needed **********
    If oFSO.FileExists("C:\Support\Logs\"& AppName & ".bak") Then
    	oFSO.DeleteFile("C:\Support\Logs\"& AppName & ".bak")
    End If
    
    If oFSO.FileExists("C:\Support\Logs\"& AppName & ".txt") Then
    	oFSO.MoveFile "C:\Support\Logs\"& AppName & ".txt", "C:\Support\Logs\"& AppName & ".bak"
    End If
    
    '********** Create Install Log Folder **********
    GeneratePath("C:\Support\Logs")
    GeneratePath("C:\Support\Packages")
    
    'Specify the log file location here. Path
    'must contain a trailing backslash. If you
    'would like to log to the same location as
    'the currently running script, set this
    'value to "relative" or uncomment out the
    'line below.
    
    sLogFileLocation = "C:\Support\Logs\"'sLogFileLocation = "relative"'Specify the log file name here.
    sLogFileName = AppName & ".txt"'---------LogToFile Configuration---------
    'NOTE: The values specified here must be 
    'set before calling the LogToFile sub.
    
    'You can disable logging globally by
    'setting the bEnableLogging option to false.
    bEnableLogging = True
    
    'Setting this to true will time stamp Each
    'message that is logged to the log file
    'with the current date and time.
    bIncludeDateStamp = True
    
    'This will set the log file name to the
    'current date and time. You can use this
    'option to create incremental log files.
    bPrependDateStampInLogFileName = False
    
    'You can set whether or not you would like
    'the script to append to an existing file,
    'or if you would like it to overwrite
    'existing copies. To overwrite set the
    'sOverWriteORAppend variable to "overwrite"
    sOverWriteORAppend = "overwrite"'Here you can set the maximum number of
    'lines you like to record. If the maximum
    'is reached the beginning of the log file
    'will be pruned. Setting this to a value
    'of 0 will disable this function.
    vLogMaximumLines = 0
    
    'This is just like limiting the log file
    'to a number of lines but limits by the
    'total size of the log file. This value
    'is in bytes. Setting this to 0 will
    'disable this function.
    vLogMaximumSize = 0
    '-------END LogToFile Configuration-------
    End Sub
    
    
    ' Sets advanced settings for logging within script
    ' ---------------------------------------------------------------------------------------------------
    Sub LogToFile(Message)
    
        'Anywhere you'd like to log a message within the script you'd simply 
        'Add LogToFile "Your Message" to log the relevant information
        
    
        If bEnableLogging = False Then Exit Sub
    
        Const ForReading = 1
        Const ForWriting = 2
        Const ForAppending = 8
        Dim oLogFSO, oLogShell, oLogFile
        Dim sNow, sLogFile
        Set oLogFSO = CreateObject("Scripting.FileSystemObject")
       
        If sLogFileLocation = "relative" Then
            Set oLogShell = CreateObject("Wscript.Shell")
            'sLogFileLocation = "C:\Support\Logs\"'sLogFileLocation = CreateObject("Scripting.FileSystemObject").GetAbsoluteCurrentDir(".") & "\"
            sLogFileLocation = oLogFSO.GetParentFolderName(Wscript.ScriptFullName) & "\"'WScript.Echo sLogFileLocation
            Set oLogShell = Nothing
        End If
       
        If bPrependDateStampInLogFileName Then
            sNow = Replace(Replace(Now(),"/","-"),":",".")
            sLogFileName = sNow & " - "& sLogFileName
            bPrependDateStampInLogFileName = False       
        End If
       
        sLogFile = sLogFileLocation & sLogFileName
        
        If sOverWriteORAppend = "overwrite" Then
            Set oLogFile = oLogFSO.OpenTextFile(sLogFile, ForWriting, True)
            sOverWriteORAppend = "append"
        Else
            Set oLogFile = oLogFSO.OpenTextFile(sLogFile, ForAppending, True)
        End If
    
        If bIncludeDateStamp Then
            Message = Now & ""& Message
        End If
    
        oLogFile.WriteLine(Message)
        oLogFile.Close
       
        If vLogMaximumLines > 0 Then
          Set oReadLogFile = oLogFSO.OpenTextFile(sLogFile, ForReading, True)   
          sFileContents = oReadLogFile.ReadAll
          aFileContents = Split(sFileContents, vbCRLF)
          If Ubound(aFileContents) > vLogMaximumLines Then
            sFileContents = Replace(sFileContents, aFileContents(0) & _
            vbCRLF, "", 1, Len(aFileContents(0) & vbCRLF))
            Set oLogFile = oLogFSO.OpenTextFile(sLogFile, ForWriting, True)
            oLogFile.Write(sFileContents)
            oLogFile.Close
          End If
          oReadLogFile.Close
        End If
        
        If vLogMaximumSize > 0 Then
          Set oReadLogFile = oLogFSO.OpenTextFile(sLogFile, ForReading, True)  
          sFileContents = oReadLogFile.ReadAll
          oReadLogFile.Close
          sFileContents = RightB(sFileContents, (vLogMaximumSize*2))
          Set oLogFile = oLogFSO.OpenTextFile(sLogFile, ForWriting, True)
          oLogFile.Write(sFileContents)
          oLogFIle.Close
        End If
        
        oLogFSO = Null
    End Sub
    '---------------------------------------------------------------------------------------------
    '\\\\\\\\\\\\\\\\\\\\\\\\\\\END STANDARD FUNCTIONS-SUBROUTINES////////////////////////////////
    '---------------------------------------------------------------------------------------------
    

    Computers Not Showing Identification Information

    $
    0
    0
    I need a solution

    Hello everyone,

         I'm noticing a strange issue with 3 of the last 4 agents we have deployed.  When I go into the Altiris 7.1 Console and pull up the computer I'm not seeing the identification section or Hardware sections.  I haven't noticed this before but going through other systems I'm not seeing any with this issue other than this new group.  Any ideas on why this is occuring?  I appreciate the help.


    Dell Latitude 7450 - UEFI boot question

    $
    0
    0
    I need a solution

    I got in a new Latitude 7450 for testing.

    I was trying to get it work with UEFI.  I was able to get it to PXE boot by turning on "enable UEFI network stack" but in PXE the C/D drives etc weren't available and Ghost failed out.

    I went back into BIOS and into SATA operation and switched it from RAID to AHCI.  Now in PXE the machine sees the C/D drive and my win7 image copies down.

    Great.  But not really.  Now the machine won't boot.  I get the dell black splash screen.  If I hit F2 to go into BIOS, I get Preparing to Enter Setup forever.  F12 doesn't do anything either.  It just sits there.

    I tried taking out CMOS battery and RAM but still seems hosed.

    I found this somewhat similar thread over at Dell.  I removed the hard drive but still can't get into BIOS.  

    Secure boot was on in the BIOS if that matters and reading this other Dell article says UEFI/Secure boot should all be off for win7 - but I never saw a machine I couldn't get back into BIOS to make necessary changes.

    Anyone have any ideas?

    DS 7.x Quick Guide for troubleshooting Deployment Solution communication issues

    $
    0
    0

    This article provide a quick tips for troubleshooting communication issues in DS 7.x

    Symptoms of broken communication in DS 7.x may return generic messages/errors as below:

    • Error 183 (generic error)
    • Waiting for the agent to get the task
    • Task failed (timeout)
    • RegisterLibrary: LoadLibrary Failed to load 
    • Stopping PECTAgent. Please check for Network configuration or server name resolving problem and try again.
    • Agent Exception, Could not load file ErrorCode=0

    After an upgrade or after a fresh installation of ITMS or CMS is good practice to check the DS component have installed correctly

    Assuming a Deployment Solution Environment at version DS 7.6 with Site Servers proceed as follow:

    1. Make sure all the "upgrade" and "install" policies for the DS plug-ins and components are enabled under "settings -> all settings" 137.jpg
    2. Check the SMP Symantec Management Agent plug-ins are present and up to date (in RED the Plug-ins required for DS):140.jpg

    3. Check the Site Server Plug-ins are present and up to date (in RED the Plug-ins required for DS):142.jpg

    4. Check the Site Server IIS integrity:                                                                      143.jpg

    5. Check the Automation Files (.DDLs) at SMP have updated to the latest version (the version may differ from the production plug-ins) - :

      \Program Files\Altiris\Deployment\BDC\bootwiz\oem\DS\winpe\x64\Base\Program Files\Symantec\Deployment
      \Program Files\Altiris\Deployment\BDC\bootwiz\oem\DS\winpe\x86\Base\Program Files\Symantec\Deployment

      138.jpg                                    note:  (If the .DLLs are not up to date, try to run NewBDC.bat and NEWBDCx64.bat located at SMP  "\Program Files\Altiris\Notification Server\NSCap\bin\Win32\X86\Deployment\bootwiz\")

    6. Check the package 374E1C49-4F58-4F5C-8D51-07A30F0D44AD has downloaded at the Site Server and that the Automation Files (.DDLs) have updated to the latest version:      

      \Program Files\Altiris\Altiris Agent\Package Delivery\{374E1C49-4F58-4F5C-8D51-07A30F0D44AD}\cache\bootwiz\oem\DS\winpe\x64\Base\Program Files\Symantec\Deployment

      \Program Files\Altiris\Altiris Agent\Package Delivery\{374E1C49-4F58-4F5C-8D51-07A30F0D44AD}\cache\bootwiz\oem\DS\winpe\x86\Base\Program Files\Symantec\Deployment

      139.jpg

    7. Re-create the pre-boot environment at "settings -> deployment -> manage pre-boot configurations":144.jpg

    8. Make sure "bootwiz" is running at the NBS server (Site Server):                      146.jpg

    9. BootWiz will copy the DLL files to the Site Server location:

      \Program Files\Altiris\Altiris Agent\Agents\Deployment\SBS\Bootwiz\{374E1C49-4F58-4F5C-8D51-07A30F0D44AD}\cache\bootwiz\oem\DS\winpe\x64\Base\Program Files\Symantec\Deployment

      \Program Files\Altiris\Altiris Agent\Agents\Deployment\SBS\Bootwiz\{374E1C49-4F58-4F5C-8D51-07A30F0D44AD}\cache\bootwiz\oem\DS\winpe\x86\Base\Program Files\Symantec\Deployment147.jpg

    10. BootWiz will also include the files into the boot.wim "pre-boot" image at:                                                                                                "\Program Files\Altiris\Altiris Agent\Agents\Deployment\SBS\Images\<your WinPE pre-boot name>\x64\sources"                                                

    11. The date/time of boot.wim can give a good indication on the last time bootwiz has run successfully - An updated boot.wim would include all the latest DLLs and the client machine booted into WinPE should be able to communicate with the NS for running DS tasks                                         145.jpg

      "How-to" Webcast Series - Ghost Solution Suite 3.0 - April 22

      $
      0
      0
      Location: 
      WebEx
      Time: 
      Wed, 22 April, 2015 - 13:00 - 14:00 EDT

      Please join us for the second in our series of Ghost Solution Suite 3.0 “How-to” Webcasts on Wednesday, April 22.

      David Falcon from the Symantec Technical Education team will be our guest speaker. The topics planned for this webcast are:

      • Fresh install and configuration of Ghost Solution Suite 3.0
      • Configuring PXE

      Don’t miss this great opportunity to learn more about Ghost Solution Suite 3.0!

      Important Notes:

      • WebEx details will be sent after registering for the Webcast
      • The recording of the previous GSS 3.0 webcast can be found here
      • Sign-up for the GSS 3.0 beta here

      Deployment solution 7.6 for Windows 8.1

      $
      0
      0
      I need a solution

      Hi 

      We are going to use functionality testing of Deployment solution 7.6 for Windows 8.1

      Can anyone having video which gives a guidance to setup Deployment solution 7.6 and how to do Image capture and deploy of Windows 8 and 8.1

      HP 840 G2 Imaging Quarks

      $
      0
      0
      I need a solution

      Greetings,

      So our current environment is CMS 7.5 SP1 HF5 and is functioning rather well.  We noticed a couple weird issues with the HP EliteBook 840 G2 laptops when 1. Trying to boot them to WinPE 4.0, WinPE just sits at the windows load screen indeffiantly.  If you power the machine off, wipe the disk's contents and then start WinPE again, you have zero problems with WinPE and Ghost, imaging functionality is normal after that point.

      2. Same model laptop will also at times get past WinPE and allow you to move onto Ghost without blowing out the partitions on the disk.  When ghost loads and goes to partition or make the partition information, this is when things hang once again.  Ghost will hang indeffiantly untill you power it off, wipe the disk, boot to WinPE, and finially ghost will load and start deploying the image flawlessly.

      My thoughts on this are as follows:
      1. Machines are all running in "Legecy Mode" and we have not switched over the UEFI at the moment.  Thinking the "Legecy Mode" of this particular model type is dropping something about the disk information when WinPE is initializing or running.

      2. WinPE may need more "drivers" despite it already have the current storage(SATA) & network driver for this model type.

      Let me know your thoughts as it would be nice to button down a configuration that would work better for these as its very time consuming wiping the disk everytime we need to deploy an image to them.

      Thanks for the time.

      Viewing all 645 articles
      Browse latest View live


      <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>