ninite pro integration with labtech rmm labtech...you can download the niniteone.exe application by...
TRANSCRIPT
NINITE PRO INTEGRATION WITH LABTECH
REMOTE MONITORING AND
MANAGEMENT
VERSION 1.1
PREPARED BY: BRANDON CARL
POINTSOLVE TECHNOLOGY, INC.
2
CONTENTS
Introduction .................................................................................................................................................. 3
Requirements ................................................................................................................................................ 4
Setup ............................................................................................................................................................. 5
Extra Data Fields ........................................................................................................................................... 6
Computers ............................................................................................................................................... 6
Locations .................................................................................................................................................. 7
Clients .................................................................................................................................................... 14
Searches ...................................................................................................................................................... 15
Title: Ninite Servers ................................................................................................................................ 15
Title: Ninite Workstations ...................................................................................................................... 16
Title: Ninite Laptops ............................................................................................................................... 17
Title: Ninite Onboarding ........................................................................................................................ 18
Scripts .......................................................................................................................................................... 20
Ninite Update ......................................................................................................................................... 20
Ninite Onboarding ................................................................................................................................. 24
Ninite Audit ............................................................................................................................................ 33
Ninite Cache Cleanup ............................................................................................................................. 36
Groups ......................................................................................................................................................... 37
Ninite Onboarding ................................................................................................................................. 37
Ninite Servers ......................................................................................................................................... 38
Ninite Workstations ............................................................................................................................... 38
Ninite Laptops ........................................................................................................................................ 39
Conclusion ................................................................................................................................................... 40
3
INTRODUCTION
This document will outline instructions on how to successfully integrate Ninite Pro
with LabTech Remote Management Software. Ninite Pro is a third party software
management system that can install, update and uninstall over 100 freeware
applications from a variety of vendors. This includes the Java Runtime
Environment, Adobe Reader and Flash and all major browsers. It can run silently
in the background, automatically determine OS architecture (x64 vs. x86) and
strip out any additional unwanted downloads, such as toolbars and adware.
LabTech's RMM software is a powerful remote administration tool that can
automate most IT administration tasks with the use of its extensive scripting
capabilities and SQL query based groupings.
By following these instructions you will be able to:
Fully automate location based, third party install packages as part of the
on-boarding process.
Complete automated daily updates on installed software.
Generate software audit reports that can be uploaded to your server or
sent via email to all concerned parties.
Caution: These assets and instructions will modify your LabTech
software. If they are being installed in a production environment we
recommend performing a full backup of LabTech prior to installation.
PointSolve Technology, Inc. makes no guarantee that this package will
work as described, and is not responsible for damaged caused by
making the modifications described in this document, or by adding the
included assets to your LabTech database.
4
REQUIREMENTS
LabTech Remote Monitoring & Management System by LabTech Software
(http://www.labtechsoftware.com) (Note: This process was tested on
LabTech 2012 SP1 running on a Windows Server 2008 Enterprise server.)
Ninite Pro by Security by Design Inc. (http://ninite.com/pro) (Note: You will
need as many licenses as computers you plan to run Ninite on.)
Access to create groups, searches, and scripts in LabTech.
Warning: The searches and scripts included with this documentation need to be
edited after they are imported. They will not work in your system until you
replace the group and extradatafield ids with the ones that you create when
importing or manually creating the groups/datafields.
The Ninite Update script is a modified version of the script posted by Luy
Teitelroit from IT Support Guys (http://www.itsupportguys.com). The original
script can be downloaded from http://itsluy.posterous.com/patching-made-easy-
using-ninite-pro-w-labtech
If you are importing directly into your LabTech system, the instruction in italics
will give the file names of the items being discussed and lines/fields that need to
be edited after importing.
5
SETUP
Begin by placing your NiniteOne.exe application in the LabTech Transfer
Directory. You can download the NiniteOne.exe application by logging into the
Ninite website at https://ninite.com/signin/ with your account credentials.
Create a Ninite folder in the default Software directory, so your file path to
NiniteOne.exe looks like this: "L:\Transfer\Software\Ninite\NiniteOne.exe". This
is the path used in all of the included scripts, so I recommended placing it in that
file path so you have one less change to make in the scripts.
All of the scripts by default execute Ninite with the following switches:
/disableshortcuts
/disableautoupdate
/nocache
All of the command line switches are documented on Ninite’s website at
http://ninite.com/help/features/switches.html
As a fair amount of our managed clients have older machines with small hard
drives, it is preferred to not have Ninite cache its downloads. The
disableshortcuts switch keeps from cluttering desktops, and the
disableautoupdate switch stops the update notification popups from Reader and
Java. (Note: Ninite will only disable auto updates when it installs/updates a
program. So if you just begin using Ninite, it may be worth setting the /repair
switch on the first few runs. This will force reinstallation of the program and
disable the program’s auto-update feature. The list of programs that Ninite can
disable auto-updates for can be found at
http://ninite.com/help/features/disableautoupdate.html)
6
EXTRA DATA FIELDS
The next step is to create all the Extra Data Fields that are required.
In the LabTech control center go to System Dashboard -> Config -> Configurations
-> Additional Fields.
The sort value of any of these fields is for aesthetic purposes only. Data Screen
fields are based on ascending order of the Sort value, so a field with sort 5 will be
displayed after a field with sort 1. Also, all of these fields are created with Not
Editable unchecked, No Break unchecked and Collapsed unchecked.
COMPUTERS
Data Fields\Computers Data Fields.sql
We will create two fields on the Computers Data Screen under the Exclusions
Section.
Name: Disable Ninite Updates
Data Screen: Computers
Section: Exclusions
ToolTip: Checking this option will exclude this computer from receiving
automated Ninite updates.
Field type: Check
Name: Ninite Onboarding Complete
Data Screen: Computers
Section: Exclusions
ToolTip: If this box is checked the computer has successfully completed the Ninite
onboarding process for its location.
Field type: Check
7
LOCATIONS
Now create four fields on the Locations Data Screen. It is highly recommended to
put these fields in the same section as your Windows Updates selections. At
PointSolve a section was created for all of our updating selections under the
section "CommonFocus" as this is the name of our managed services product.
Since you may put them in any section you prefer, remember to update the
scripts to reflect your choice.
Data Fields\CF Locations Data Fields.sql
Name: Enable Ninite Onboarding
Data Screen: Locations
Section: CommonFocus
ToolTip: This will enable Ninite onboarding for the location.
Field type: Check
Name: Enable Ninite Updates Servers
Data Screen: Locations
Section: CommonFocus
ToolTip: This will enable Ninite updating for all servers in this location.
Field type: Check
Name: Enable Ninite Updates Workstations
Data Screen: Locations
Section: CommonFocus
ToolTip: This will enable Ninite updating for all workstations in this location.
Field type: Check
8
Name: Enable Ninite Updates Laptops
Data Screen: Locations
Section: CommonFocus
ToolTip: This will enable Ninite updating for all laptops in this location.
Field type: Check
Now create the data fields for the Ninite Onboarding package. The script below
reflects the 28 applications that the majority of our clients have installed. These
are all created on their own separate Ninite Onboarding Section. All ToolTip
descriptions come from Ninite's application list here:
http://ninite.com/applist/pro.html
Data Fields\Onboarding Locations Data Fields.sql
Name: Chrome
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Fast Browser by Google
Field type: Check
Name: Firefox
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Extensible Browser
Field type: Check
Name: Safari
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Alternative Browser by Apple
Field type: Check
9
Name: Skype
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Internet Telephone
Field type: Check
Name: iTunes
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Music/Media Manager
Field type: Check
Name: QuickTime
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Video Player
Field type: Check
Name: Flash
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Flash Player for other browsers
Field type: Check
Name: Flash (IE)
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Flash Player for Internet Explorer
Field type: Check
10
Name: Java 7
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Java Runtime Environment (JRE)
Field type: Check
Name: Java x64 7
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: 64-bit Java Runtime (JRE)
Field type: Check
Name: .NET
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Microsoft .NET 3.5 SP1
Field type: Check
Name: .NET 4
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Microsoft .NET 4.0
Field type: Check
Name: .NET 4.5
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Microsoft .NET 4.5
Field type: Check
11
Name: Silverlight
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Microsoft Silverlight
Field type: Check
Name: Air
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Adobe Air
Field type: Check
Name: Shockwave
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Shockwave Player
Field type: Check
Name: GIMP
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Open Source Image Editor
Field type: Check
Name: Reader
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Adobe PDF Reader 11
Field type: Check
12
Name: CutePDF
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Print Documents as PDF Files
Field type: Check
Name: Essentials
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Great Antivirus by Microsoft
Field type: Check
Name: Malwarebytes
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Malware Remover
Field type: Check
Name: Dropbox
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Great Online Backup/File Sync
Field type: Check
Name: Google Earth
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Online Atlas by Google
Field type: Check
13
Name: Classic Start (Windows 8 Only)
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Classic Shell Win8 Start Menu
Field type: Check
Name: TeamViewer
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Remote Access Tool
Field type: Check
Name: 7-Zip
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Great Compression App
Field type: Check
Name: WebEx
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: WebEx Connect
Field type: Check
Name: Citrix Receiver
Data Screen: Locations
Section: Ninite Onboarding
ToolTip: Citrix Receiver
Field type: Check
14
CLIENTS
Now add one field on the Clients Data Screen. This is also on our "CommonFocus"
Section that has update selections.
Data Fields\Clients Data Fields.sql
Name: Enable Ninite Updates
Data Screen: Clients
Section: CommonFocus
ToolTip: Enable Ninite updates for this client.
Field type: Check
15
SEARCHES
Now that all the extra data fields that are required have been created, the next
step is to create the Searches that are needed.
At PointSolve all Ninite related searches are in a "CF Ninite" Folder.
TITLE: NINITE SERVERS
Searches\Servers.sql
Edit all Related Fields to point to your extra data fields.
Field: Related - Additional Client Fields
Related: Enable Ninite Updates (v_extradataclients)
Operator: =
Value: 1
Field: Related - Additional LocationFields
Related: Enable Ninite Updates Servers (v_extradatalocations)
Operator: =
Value: 1
Field: Related - Additional Fields
Related: Disable Ninite Updates (v_extradatacomputers)
Operator: Not =
Value: 1
Field: OS
Related:
Operator: Like
Value: %Windows%
16
Field: OS
Related:
Operator: Like
Value: %Server%
TITLE: NINITE WORKSTATIONS
Searches\Workstations.sql
Edit all Related Fields to point to your extra data fields.
Field: Related - Additional Client Fields
Related: Enable Ninite Updates (v_extradataclients)
Operator: =
Value: 1
Field: Related - Additional LocationFields
Related: Enable Ninite Updates Workstations (v_extradatalocations)
Operator: =
Value: 1
Field: Related - Additional Fields
Related: Disable Ninite Updates (v_extradatacomputers)
Operator: Not =
Value: 1
Field: OS
Related:
Operator: Like
Value: %Windows%
17
Field: Bios Flash
Related:
Operator: notLike
Value: %Portable%
Field: OS
Related:
Operator: notLike
Value: %Server%
TITLE: NINITE LAPTOPS
Searches\Laptops.sql
Edit all Related Fields to point to your extra data fields.
Field: Related - Additional Client Fields
Related: Enable Ninite Updates (v_extradataclients)
Operator: =
Value: 1
Field: Related - Additional LocationFields
Related: Enable Ninite Updates Laptops (v_extradatalocations)
Operator: =
Value: 1
Field: Related - Additional Fields
Related: Disable Ninite Updates (v_extradatacomputers)
Operator: Not =
Value: 1
18
Field: OS
Related:
Operator: Like
Value: %Windows%
Field: Bios Flash
Related:
Operator: Like
Value: %Portable%
TITLE: NINITE ONBOARDING
Searches\Onboarding.sql
Edit all Related Fields to point to your extra data fields.
Field: Related - Additional LocationFields
Related: Enable Ninite Onboarding (v_extradatalocations)
Operator: =
Value: 1
Field: Related - Additional Fields
Related: Ninite Onboarding Complete (v_extradatacomputers)
Operator: Not =
Value: 1
Field: OS
Related:
Operator: Like
Value: %Windows%
19
Field: OS
Related:
Operator: notLike
Value: %Server%
20
SCRIPTS
The next step is to create the scripts that will be used to onboard or update the
computers automatically. This also includes some general purpose scripts to
perform various actions such as performing a Ninite Audit or deleting the Ninite
cache.
NINITE UPDATE
Scripts\Ninite Update.xml
Then lines to edit: 2 and 7
Else lines to edit: 2 and 7
Script Notes: This script will check to see if the computer is domain joined. It will
then look for the NiniteOne.exe file in %LTSVCDIR%\Ninite and if it doesn't exist
will download it from LabTech\Transfer\Software\Ninite. If the download fails it
will create a ticket and email @UserID@ @ @Domain@. Please remember to set
the Global Variables. If the computer is Domain Joined it will execute Ninite as
Admin, if not it will do a normal execute. Make sure you have Administrator
passwords set correctly for all ADDS clients.
A log is created at %LTSVCDIR%\Ninite\ninitereport.txt
Script created by Brandon Carl. You may contact me at: [email protected]
Name: Ninite Update
Computer Script: Checked
All others: UnChecked
Global Variables:
Domain : Email Domain (example.com)
UserID : Email UserID (support)
21
IF: Sql Data Check
Sql Statement: SELECT `Domain` FROM `computers` WHERE ComputerID =
%computerid%
Compare: Contains
To: .
Then:
1. Note: Check if computer has Ninite updates disabled.
2. SET: @DisNinUpd@ = [EXTRAFIELD Disable Ninite Updates]
3. IF @DisNinUpd@ Not = 1 THEN Jump to line 6
4. LOG: This computer has Ninite updates disabled.
5. Exit Script
6. Note: Check if client has Ninite updates enabled.
7. SET: @EnNinUpd@ = [EXTRAFIELD Enable Ninite Updates]
8. IF @EnNinUpd@ = 1 THEN Jump to line 11
9. LOG: This client does not have Ninite updates enabled.
10. Exit Script
11. LOG: Starting Ninite Update on %computername% at location
%locationname% for client %clientname% at %when%.
12. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 20
13. SHELL: mkdir %ltsvcdir%\Ninite and store the result in %shellresult%
14. LOG: Result of mkdir command: %shellresult%
15. DOWNLOAD: /Labtech/Transfer/Software/Ninite/NiniteOne.exe saved to
%ltsvcdir%\Ninite\NiniteOne.exe
16. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 20
17. LOG: %ltsvcdir%\Ninite\NiniteOne.exe file was not found.
18. Create New Ticket for %clientid%\%computerid%
Email:@UserID@@@Domain@ Subject:Failed to download NiniteOne.exe
install file. Install aborted on %computername%
19. Exit Script
22
20. EXECUTE as Admin: %ltsvcdir%\Ninite\NiniteOne.exe /updateonly
/nocache /disableshortcuts /disableautoupdate /remote
%computername% /remoteauth %ComputerUsername%
%ComputerPassword% /silent %ltsvcdir%\Ninite\ninitereport.txt and wait
until finish, store the result in %executeresult%
21. Sleep 120 seconds
22. Resend Software
Else:
1. Note: Check if computer has Ninite updates disabled.
2. SET: @DisNinUpd@ = [EXTRAFIELD Disable Ninite Updates]
3. IF @DisNinUpd@ Not = 1 THEN Jump to line 6
4. LOG: This computer has Ninite updates disabled.
5. Exit Script
6. Note: Check if client has Ninite updates enabled.
7. SET: @EnNinUpd@ = [EXTRAFIELD Enable Ninite Updates]
8. IF @EnNinUpd@ = 1 THEN Jump to line 11
9. LOG: This client does not have Ninite updates enabled.
10. Exit Script
11. LOG: Starting Ninite Update on %computername% at location
%locationname% for client %clientname% at %when%.
12. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 20
13. SHELL: mkdir %ltsvcdir%\Ninite and store the result in %shellresult%
14. LOG: Result of mkdir command: %shellresult%
15. DOWNLOAD: /Labtech/Transfer/Software/Ninite/NiniteOne.exe saved to
%ltsvcdir%\Ninite\NiniteOne.exe
16. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 20
17. LOG: %ltsvcdir%\Ninite\NiniteOne.exe file was not found.
18. Create New Ticket for %clientid%\%computerid%
Email:@UserID@@@Domain@ Subject:Failed to download NiniteOne.exe
install file. Install aborted on %computername%
19. Exit Script
23
20. EXECUTE: %ltsvcdir%\Ninite\NiniteOne.exe /updateonly /nocache
/disableautoupdate /disableshortcuts /silent
%ltsvcdir%\Ninite\ninitereport.txt and wait until finish, store the result in
%executeresult%
21. Sleep 120 seconds
22. Resend Software
24
NINITE ONBOARDING
Scripts\Ninite Onboarding.xml
Edit IF ExtraData Check: Extra Field
Then lines to edit: 13, 19-41, 43, 48-52, and 196
Else lines to edit: N/A
Script Notes: Be sure to set the global variables to the desired email address. This
script should be used in combination with an Auto-Join group that runs this script
every hour. Criteria for the search should check the computer's extra data field
for a checked/unchecked Ninite Onboarding Complete, and check client extra
data field for Enable Ninite Onboarding.
Script created by Brandon Carl.
You may contact me at: [email protected]
Name: Ninite Onboarding
Computer Script: Checked
All others: UnChecked
Global Variables:
Domain : Email Domain (example.com)
UserID : Email UserID (support)
IF: ExtraData Check
Extra Field: Enable Ninite Onboarding-2
ID: %LocationID%
Compare: =
To: 1
25
Then:
1. Note: Script begins by checking if location is set for Ninite Onboarding.
2. Note: Check if UAC is on.
3. IF %os% Contains %Windows 8% THEN Jump to line 7
4. IF %os% Contains Windows 7 THEN Jump to line 7
5. IF %os% Contains Windows Vista THEN Jump to line 7
6. GOTO line 12
7. SET: @UAC@ =
REGISTRY[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curren
tVersion\Policies\System\EnableLUA]
8. IF @UAC@ = 0 THEN Jump to line 12
9. LOG: This computer has UAC turned on. Please turn it off before
attempting Ninite Onboarding.
10. Send Email To:@UserID@@@Domain@ Subject:Ninite Onbaording Failed -
UAC
11. Exit Script
12. Note: Check to see if Computer already has Ninite Onboarding Complete
Extra Data Field Checked.
13. SET: @NinCmplt@ = [EXTRAFIELD Ninite Onboarding Complete]
14. IF @NinCmplt@ Not = 1 THEN Jump to line 17
15. LOG: This computer has already been through the Ninite Onaboarding
process.
16. Exit Script
17. Note: Begin script by checking location extra data fields for programs to be
installed.
18. LOG: Starting Ninite Onboarding on %computername% at location
%locationname% for client %clientname% at %when%.
19. SET: @Chrome@ = [EXTRAFIELD Chrome]
20. SET: @Firefox@ = [EXTRAFIELD Firefox]
21. SET: @Safari@ = [EXTRAFIELD Safari]
22. SET: @Skype@ = [EXTRAFIELD Skype]
23. SET: @iTunes@ = [EXTRAFIELD iTunes]
24. SET: @QuickTime@ = [EXTRAFIELD QuickTime]
26
25. SET: @Flash@ = [EXTRAFIELD Flash]
26. SET: @Flash IE@ = [EXTRAFIELD Flash (IE)]
27. SET: @Java 7@ = [EXTRAFIELD Java 7]
28. SET: @Java x64 7@ = [EXTRAFIELD Java x64 7]
29. SET: @.NET@ = [EXTRAFIELD .NET]
30. SET: @.NET 4@ = [EXTRAFIELD .NET 4]
31. SET: @.NET 4.5@ = [EXTRAFIELD .NET 4.5]
32. SET: @Silverlight@ = [EXTRAFIELD Silverlight]
33. SET: @Air@ = [EXTRAFIELD Air]
34. SET: @Shockwave@ = [EXTRAFIELD Shockwave]
35. SET: @GIMP@ = [EXTRAFIELD GIMP]
36. SET: @Reader@ = [EXTRAFIELD Reader]
37. SET: @CutePDF@ = [EXTRAFIELD CutePDF]
38. SET: @Essentials@ = [EXTRAFIELD Essentials]
39. SET: @Malwarebytes@ = [EXTRAFIELD Malwarebytes]
40. SET: @Dropbox@ = [EXTRAFIELD Dropbox]
41. SET: @Google Earth@ = [EXTRAFIELD Google Earth]
42. Note: Make sure the computer is Windows 8 before it installs Classic Start.
43. SET: @Classic Start@ = [EXTRAFIELD Classic Start (Windows 8 Only)]
44. IF @Classic Start@ Not = 1 THEN Jump to line 49
45. IF %os% Not Contains Windows 8 THEN Jump to line 47
46. IF @Classic Start@ = 1 THEN Jump to line 49
47. LOG: Classic Start is only needed on Windows 8 computers.
48. SET: @Classic Start@ = 0
49. SET: @TeamViewer@ = [EXTRAFIELD TeamViewer]
50. SET: @7-Zip@ = [EXTRAFIELD 7-Zip]
51. SET: @WebEx@ = [EXTRAFIELD WebEx]
52. SET: @Citrix Receiver@ = [EXTRAFIELD Citrix Receiver]
53. Note: We now have binary (1 or 0/null) variables set for every program
listed. We now set the Prog variables based on if the program extra data
fields were checked or not.
27
54. Note: Also note that Ninite's /select command requires certain programs to
be enclosed in quotes. Labtech variables that need quotes around them
must be in this format: " "Program Name" "
55. IF @Chrome@ Not = 1 THEN Jump to line 58
56. SET: @Prog1@ = Chrome
57. GOTO line 59
58. SET: @Prog1@ =
59. IF @Firefox@ Not = 1 THEN Jump to line 62
60. SET: @Prog2@ = Firefox
61. GOTO line 63
62. SET: @Prog2@ =
63. IF @Safari@ Not = 1 THEN Jump to line 66
64. SET: @Prog3@ = Safari
65. GOTO line 67
66. SET: @Prog3@ =
67. IF @Skype@ Not = 1 THEN Jump to line 70
68. SET: @Prog4@ = Skype
69. GOTO line 71
70. SET: @Prog4@ =
71. IF @iTunes@ Not = 1 THEN Jump to line 74
72. SET: @Prog5@ = iTunes
73. GOTO line 75
74. SET: @Prog5@ =
75. IF @QuickTime@ Not = 1 THEN Jump to line 78
76. SET: @Prog6@ = QuickTime
77. GOTO line 79
78. SET: @Prog6@ =
79. IF @Flash@ Not = 1 THEN Jump to line 82
80. SET: @Prog7@ = Flash
81. GOTO line 83
82. SET: @Prog7@ =
83. IF @Flash IE@ Not = 1 THEN Jump to line 86
84. SET: @Prog8@ = " "Flash (IE)" "
28
85. GOTO line 87
86. SET: @Prog8@ =
87. IF @Java 7@ Not = 1 THEN Jump to line 90
88. SET: @Prog9@ = "Java"
89. GOTO line 91
90. SET: @Prog9@ =
91. IF @Java x64 7@ Not = 1 THEN Jump to line 94
92. SET: @Prog10@ = " "Java x64" "
93. GOTO line 95
94. SET: @Prog10@ =
95. IF @.NET@ Not = 1 THEN Jump to line 98
96. SET: @Prog11@ = " ".NET" "
97. GOTO line 99
98. SET: @Prog11@ =
99. IF @.NET 4@ Not = 1 THEN Jump to line 102
100. SET: @Prog12@ = " ".NET 4" "
101. GOTO line 103
102. SET: @Prog12@ =
103. IF @.NET 4.5@ Not = 1 THEN Jump to line 106
104. SET: @Prog13@ = " ".NET 4.5" "
105. GOTO line 107
106. SET: @Prog13@ =
107. IF @Silverlight@ Not = 1 THEN Jump to line 110
108. SET: @Prog14@ = Silverlight
109. GOTO line 111
110. SET: @Prog14@ =
111. IF @Air@ Not = 1 THEN Jump to line 114
112. SET: @Prog15@ = Air
113. GOTO line 115
114. SET: @Prog15@ =
115. IF @Shockwave@ Not = 1 THEN Jump to line 118
116. SET: @Prog16@ = Shockwave
117. GOTO line 119
29
118. SET: @Prog16@ =
119. IF @GIMP@ Not = 1 THEN Jump to line 122
120. SET: @Prog17@ = GIMP
121. GOTO line 123
122. SET: @Prog17@ =
123. IF @Reader@ Not = 1 THEN Jump to line 126
124. SET: @Prog18@ = Reader
125. GOTO line 127
126. SET: @Prog18@ =
127. IF @CutePDF@ Not = 1 THEN Jump to line 130
128. SET: @Prog19@ = CutePDF
129. GOTO line 131
130. SET: @Prog19@ =
131. IF @Essentials@ Not = 1 THEN Jump to line 134
132. SET: @Prog20@ = Essentials
133. GOTO line 135
134. SET: @Prog20@ =
135. IF @Malwarebytes@ Not = 1 THEN Jump to line 138
136. SET: @Prog21@ = Malwarebytes
137. GOTO line 139
138. SET: @Prog21@ =
139. IF @Dropbox@ Not = 1 THEN Jump to line 142
140. SET: @Prog22@ = Dropbox
141. GOTO line 143
142. SET: @Prog22@ =
143. IF @Google Earth@ Not = 1 THEN Jump to line 146
144. SET: @Prog23@ = " "Google Earth" "
145. GOTO line 147
146. SET: @Prog23@ =
147. IF @Classic Start@ Not = 1 THEN Jump to line 150
148. SET: @Prog24@ = " "Classic Start" "
149. GOTO line 151
150. SET: @Prog24@ =
30
151. IF @TeamViewer@ Not = 1 THEN Jump to line 154
152. SET: @Prog25@ = TeamViewer
153. GOTO line 155
154. SET: @Prog25@ =
155. IF @7-Zip@ Not = 1 THEN Jump to line 158
156. SET: @Prog26@ = " "7-Zip" "
157. GOTO line 159
158. SET: @Prog26@ =
159. IF @WebEx@ Not = 1 THEN Jump to line 162
160. SET: @Prog27@ = WebEx
161. GOTO line 163
162. SET: @Prog27@ =
163. IF @Citrix Receiver@ Not = 1 THEN Jump to line 166
164. SET: @Prog28@ = " "Citrix Receiver" "
165. GOTO line 167
166. SET: @Prog28@ =
167. Note: Check to see if NiniteOne.exe is already in %ltsvc%\Ninite If it is not
download it.
168. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 176
169. SHELL: mkdir %ltsvcdir%\Ninite and store the result in %shellresult%
170. LOG: Result of mkdir command: %shellresult%
171. DOWNLOAD: /Labtech/Transfer/Software/Ninite/NiniteOne.exe saved to
%ltsvcdir%\Ninite\NiniteOne.exe
172. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 176
173. LOG: %ltsvcdir%\Ninite\NiniteOne.exe file was not found.
174. Create New Ticket for %clientid%\%computerid%
Email:@UserID@@@Domain@ Subject:Failed to download NiniteOne.exe
install file. Install aborted on %computername%
175. Exit Script
176. Note: Log list of programs to be installed. Then install programs using
Ninite.
177. LOG: Installing: @Prog1@ @Prog2@ @Prog3@ @Prog4@ @Prog5@
@Prog6@ @Prog7@ @Prog8@ @Prog9@ @Prog10@ @Prog11@
31
@Prog12@ @Prog13@ @Prog14@ @Prog15@ @Prog16@ @Prog17@
@Prog18@ @Prog19@ @Prog20@ @Prog21@ @Prog22@ @Prog23@
@Prog24@ @Prog25@ @Prog26@ @Prog27@ @Prog28@
178. SET: %sqlresult% = [SELECT `Domain` FROM `computers` WHERE
ComputerID = %computerid%]
179. IF %sqlresult% Contains . THEN Jump to line 184
180. Note: Labtech does not like long arguments, so we write the command to a
batch file and execute that.
181. Write %ltsvcdir%\Ninite\NiniteOne.exe /select @Prog1@ @Prog2@
@Prog3@ @Prog4@ @Prog5@ @Prog6@ @Prog7@ @Prog8@ @Prog9@
@Prog10@ @Prog11@ @Prog12@ @Prog13@ @Prog14@ @Prog15@
@Prog16@ @Prog17@ @Prog18@ @Prog19@ @Prog20@ @Prog21@
@Prog22@ @Prog23@ @Prog24@ @Prog25@ @Prog26@ @Prog27@
@Prog28@ /allusers /disableshortcuts /nocache /disableautoupdate /silent
%ltsvcdir%\Ninite\niniteonboarding.txt to %ltsvcdir%\Ninite\onboard.bat
182. EXECUTE: %ltsvcdir%\Ninite\onboard.bat and wait until finish, store the
result in %executeresult%
183. GOTO line 186
184. Write %ltsvcdir%\Ninite\NiniteOne.exe /select @Prog1@ @Prog2@
@Prog3@ @Prog4@ @Prog5@ @Prog6@ @Prog7@ @Prog8@ @Prog9@
@Prog10@ @Prog11@ @Prog12@ @Prog13@ @Prog14@ @Prog15@
@Prog16@ @Prog17@ @Prog18@ @Prog19@ @Prog20@ @Prog21@
@Prog22@ @Prog23@ @Prog24@ @Prog25@ @Prog26@ @Prog27@
@Prog28@ /remote %computername% /remoteauth
%ComputerUsername% %ComputerPassword% /allusers /disableshortcuts
/nocache /disableautoupdate /silent
%ltsvcdir%\Ninite\niniteonboarding.txt to %ltsvcdir%\Ninite\onboard.bat
185. EXECUTE as Admin: %ltsvcdir%\Ninite\onboard.bat and wait until finish,
store the result in %executeresult%
186. Sleep 300 seconds
187. Resend Software
188. Sleep 600 seconds
189. Note: Clean up batch file.
32
190. DELETE: %ltsvcdir%\Ninite\onboard.bat
191. Note: Check if any errors occured during the install. If they did, email
contact and DO NOT set Ninite Onboarding as complete. If the onboarding
is being done automatically using an AutoJoin group than in an hour the
process will be retried.
192. SET: @NinOnb@ = FILECONTENTS[%ltsvcdir%\Ninite\niniteonboarding.txt]
193. IF @NinOnb@ Contains Fail THEN Jump to line 198
194. IF @NinOnb@ Contains Error THEN Jump to line 198
195. LOG: Ninite onboarding complete.
196. SET: [EXTRAFIELD Ninite Onboarding Complete] = 1
197. GOTO line 200
198. LOG: Ninite has reported an error during the onboarding process.
199. Send Email To:@UserID@@@Domain@ Subject:Ninite Onboarding Error
200. Exit Script
Else:
1. LOG: This location does not have Ninite Onboarding Enabled.
33
NINITE AUDIT
Scripts\Ninite Audit.xml
No lines to edit.
Script Notes: This script will perform a Ninite Audit. It will than upload the audit
report to the LabTech share and email the contents of the report to the specified
email address. Please be sure to set your Global Variables.
Script created by Brandon Carl.
You may contact me at [email protected]
Name: Ninite Audit
Computer Script: Checked
All others: UnChecked
Global Variables:
Domain : Email Domain (example.com)
UserID : Email UserID (support)
IF: Sql Data Check
Sql Statement: SELECT `Domain` FROM `computers` WHERE ComputerID =
%computerid%
Compare: Contains
To: .
Then:
1. LOG: Starting audit on %computername% at location %locationname% for
client %clientname% at %when%.
2. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 10
3. SHELL: mkdir %ltsvcdir%\Ninite and store the result in %shellresult%
4. LOG: Result of mkdir command: %shellresult%
5. DOWNLOAD: /Labtech/Transfer/Software/Ninite/NiniteOne.exe saved to
%ltsvcdir%\Ninite\NiniteOne.exe
34
6. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 10
7. LOG: %ltsvcdir%\Ninite\NiniteOne.exe file was not found.
8. Create New Ticket for %clientid%\%computerid%
Email:@UserID@@@Domain@ Subject:Failed to download NiniteOne.exe
install file. Install aborted on %computername%
9. Exit Script
10. EXECUTE as Admin: %ltsvcdir%\Ninite\NiniteOne.exe /audit /remote
%computername% /remoteauth %ComputerUsername%
%ComputerPassword% /silent %ltsvcdir%\Ninite\niniteaudit.txt and wait
until finish, store the result in %executeresult%
11. Sleep 120 seconds
12. UPLOAD: %ltsvcdir%\Ninite\niniteaudit.txt to LTSHARE\Uploads\, store
the result in %uploadedfile%
13. SET: @NinAud@ = FILECONTENTS[%ltsvcdir%\Ninite\niniteaudit.txt]
14. Send Email To:@UserID@@@Domain@ Subject:Ninite Audit Report for
%computername% at %clientname%
15. UPLOAD: %ltsvcdir%\Ninite\niniteaudit.txt to LTSHARE\Uploads\, store
the result in %uploadedfile%
Else:
1. LOG: Starting audit on %computername% at location %locationname% for
client %clientname% at %when%.
2. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 10
3. SHELL: mkdir %ltsvcdir%\Ninite and store the result in %shellresult%
4. LOG: Result of mkdir command: %shellresult%
5. DOWNLOAD: /Labtech/Transfer/Software/Ninite/NiniteOne.exe saved to
%ltsvcdir%\Ninite\NiniteOne.exe
6. IF FILE Exists %ltsvcdir%\Ninite\NiniteOne.exe THEN Jump to line 10
7. LOG: %ltsvcdir%\Ninite\NiniteOne.exe file was not found.
8. Create New Ticket for %clientid%\%computerid%
Email:@UserID@@@Domain@ Subject:Failed to download NiniteOne.exe
install file. Install aborted on %computername%
9. Exit Script
35
10. EXECUTE: %ltsvcdir%\Ninite\NiniteOne.exe /audit /silent
%ltsvcdir%\Ninite\niniteaudit.txt and wait until finish, store the result in
%executeresult%
11. Sleep 120 seconds
12. UPLOAD: %ltsvcdir%\Ninite\niniteaudit.txt to LTSHARE\Uploads\, store
the result in %uploadedfile%
13. SET: @NinAud@ = FILECONTENTS[%ltsvcdir%\Ninite\niniteaudit.txt]
14. Send Email To:@UserID@@@Domain@ Subject:Ninite Audit Report for
%computername% at %clientname%
15. UPLOAD: %ltsvcdir%\Ninite\niniteaudit.txt to LTSHARE\Uploads\, store
the result in %uploadedfile%
36
NINITE CACHE CLEANUP
Script\Ninite Audit.xml
No lines to edit.
Script Notes: This script will delete the Ninite cache folder.
Script created by Brandon Carl.
You may contact me at [email protected]
Name: Ninite Cache Cleanup
Computer Script: Checked
All others: UnChecked
No Global variables.
IF: True
Then:
1. Delete Folder: %ltsvcdir%\Ninite\NiniteDownloads\files
2. IF FILE Exists %ltsvcdir%\Ninite\NiniteDownloads\files\% THEN Jump to
line 5
3. LOG: Ninite cache folder successfully deleted.
4. Exit Script
5. LOG: Ninite folder deletion failed.
37
GROUPS
Now that all the searches and scripts are complete, the next step is to create the
groups to associate with the searches, and to set the scripts to run on.
At PointSolve we have all Ninite groups in a group named CF Ninite. If you use the
Patch Manager, you will want to set the top level group to Type Organizational so
it does not appear in the Patch Manager. All of these groups should be set to be a
grayed Master Group, meaning that adding a computer to this group will not
remove it from any other groups, and the computer cannot be automatically
removed from this group by joining another Master Group.
NINITE ONBOARDING
Groups\Ninite Onboarding.xml
Edit Auto Join Search and Software Script
Main Tab
Name: Ninite Onboarding
Master Group: Grayed
Auto Join Search: CF Ninite\Ninite Onboarding
Limit to Search: Checked
Software Tab
Script: Software\Ninite\Ninite Onboarding
This set to run every hour, everyday.
38
NINITE SERVERS
Groups\Ninite Servers.xml
Edit Auto Join Search and Software Script
Main Tab
Name: Ninite Servers
Master Group: Grayed
Auto Join Search: CF Ninite\Ninite Servers
Limit to Search: Checked
Software Tab
Script: Software\Ninite\Ninite Update
This is set to run Everyday at 12:15 PM and 4:00 AM
NINITE WORKSTATIONS
Groups\Ninite Workstations.xml
Edit Auto Join Search and Software Script
Main Tab
Name: Ninite Workstations
Master Group: Grayed
Auto Join Search: CF Ninite\Ninite Workstations
Limit to Search: Checked
Software Tab
Script: Software\Ninite\Ninite Update
This is set to run Everyday at 12:15 PM and 4:00 AM
39
NINITE LAPTOPS
Groups\Ninite Laptops.xml
Edit Auto Join Search and Software Script
Main Tab
Name: Ninite Laptops
Master Group: Grayed
Auto Join Search: CF Ninite\Ninite Laptops
Limit to Search: Checked
Software Tab
Script: Software\Ninite\Ninite Update
This is set to run Everyday at 12:15 PM and 4:00 AM
40
CONCLUSION
The last step is to go through your clients and locations and configure the
extradatafields to your liking. By default, Ninite Onboarding will avoid servers, as
most clients will not require a full load of third party software on their servers.
The update scripts will run around lunch and early morning. You should be able
to update every enabled workstation at least weekly running at those times. If
you have a client that you are having trouble getting Java or Reader updated
because these programs are opened every time Ninite runs, a good idea would be
to add an “IF NOT USER RESPONSE YES” to their update script. Ask the user if you
can close browsers/Reader and if they respond yes kill those processes (firefox,
iexplore, acrord32). That was default configuration of Luy Teitelroit’s original
script.
I would like to thank Patrick and Sascha for developing a wonderful product in
Ninite Pro, and for responding promptly to my requests for more detailed
information on how Ninite works to help me develop this package.
LabTech’s scripting documentation is also excellent, and their Advanced Scripting
Support Page is an invaluable resource when developing complex scripts.
If you would like an editable copy of this document to develop internal
documentation for your company, send a request to [email protected].
Any questions about this package can be sent to [email protected].
My company, PointSolve Technology, Inc., is also able to remotely install or
provide consolation on this package. Please contact us at
[email protected] or 1-866-336-3106 for pricing.
41
This document and all LabTech assets created by Brandon Carl for:
PointSolve Technology, Inc.
P.O. Box 318
Jonestown, PA 17038
http://www.pointsolve.com
All Rights Reserved.
©2013 PointSolve Technology, Inc.