How many named PCs in the collection of Pilot are running the latest version of the package?
Who is running Notes R8.5 on that PC, so that we can convert their mailbox to R8?
So, here is what I did...
I made a list of PCs listed in the pilot collection (from SCCM) and put it in a file called workstations.txt
us000001 us000001 mx000001 mx000002 cn000001 cn000002
And, wrote the following code...
===============================================================================
'txtFile = "workstations.txt" txtFile = "workstationsTest.txt" const HKEY_LOCAL_MACHINE = &H80000002 ' Lotus Notes 6.5.1 Single Client {1AAE3976-3167-4BDF-B785-00E19C6671A3} ' Lotus Notes 6.5.4 Single Client {6B2764B1-F062-4481-94FD-58B1C211C448} ' Lotus Notes 8.5.1 Single Client {6ACD1549-274A-491B-A233-2B8B689DD0D3} ' Lotus Notes 8.5.1 Multi Client {836670E9-61EB-4D47-9EF8-CFE936C3FE32} ' Lotus Notes 8.5.2 Single Client {E11DFB27-BAF4-46D6-AD76-D5519C0E6786} ' Lotus Notes 8.5.2 Multi Client {07C69B3A-62B3-41BF-82EE-B3A87BD6EA0C} ' Lotus Notes 8.5.3 Single Client {95246D82-99D2-4229-841E-6867C3251087} dim reg(7) reg(1)="{07C69B3A-62B3-41BF-82EE-B3A87BD6EA0C}" ' Lotus Notes 8.5.2 Multi Client reg(2)="{836670E9-61EB-4D47-9EF8-CFE936C3FE32}" ' Lotus Notes 8.5.1 Multi Client reg(3)="{6ACD1549-274A-491B-A233-2B8B689DD0D3}" ' Lotus Notes 8.5.1 Single Client reg(4)="{6B2764B1-F062-4481-94FD-58B1C211C448}" ' Lotus Notes 6.5.4 Single Client reg(5)="{1AAE3976-3167-4BDF-B785-00E19C6671A3}" ' Lotus Notes 6.5.1 Single Client reg(6)="{E11DFB27-BAF4-46D6-AD76-D5519C0E6786}" ' Lotus Notes 8.5.2 Single Client reg(7)="{95246D82-99D2-4229-841E-6867C3251087}" ' Lotus Notes 8.5.3 Single Client dim txtNotesVersion, txtLastUser, txtPersonName, txtMailServer, txtMailFile dim txtUserName, count on error resume next 'many PCs will not respond Dim session, db, view, doc Set session = CreateObject("Lotus.NotesSession") Call session.Initialize("xxxxxxxxxxxx") 'wscript.echo "Username: " & session.CommonUserName & "..." set db = session.getDatabase("HRSM0001/SRV/NA/MyCompanyHub", "names.nsf") set view =db.getView("lookup\shortname") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile(txtFile, 1) Do Until objFile.AtEndOfStream count = count + 1 strComputer = objFile.ReadLine txtNotesVersion = ReadRegistry(strComputer) if len(txtNotesVersion) > 0 then txtLastUser = LastUser(strComputer) set doc = view.getDocumentByKey(txtLastUser) txtPersonName = doc.getItemValue("FullName") txtMailServer = doc.getItemValue("MailServer") txtMailFile = doc.getItemValue("MailFile") end if wscript.echo cstr(count) & ":" & strComputer & ":" & txtNotesVersion & ":" & txtLastUser & ":" & Abbreviate(txtPersonName(0)) & ":" & Abbreviate(txtMailServer(0)) & ":" & txtMailFile(0) ' wscript.echo cstr(count) & vbTab & strComputer & vbTab & txtNotesVersion & vbTab & txtLastUser & vbTab & Abbreviate(txtPersonName(0)) & vbTab & Abbreviate(txtMailServer(0)) & vbTab & txtMailFile(0) Loop objFile.Close WScript.Quit Function ReadRegistry (strComputer) Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" strValueName = "DisplayName" for i = 1 to 6 oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath+reg(i),strValueName,strValue if len(strValue)>0 then exit for next ReadRegistry = strValue end function function LastUser (strComputer) Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" strValueName = "DefaultUserName" objRegistry.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue LastUser = strValue end function function Abbreviate (txtIn) txtIn = replace (txtIn, "CN=", "") txtIn = replace (txtIn, "OU=", "") txtIn = replace (txtIn, "O=", "") Abbreviate = txtIn end function
===============================================================================
* You may notice about line 43 (wscript.echo cstr(.... ), uses colons as the delimiter. The next line uses tabs, which I used for importing the data into a spreadsheet.
Which produces the following output...
1:us000001:Lotus Notes 6.5.4:MS000001:Mary Smith/RSM/NA/MyCompany:SRSMM001/SRV/NA/MyCompany:mail\MS000001 2:us000002:Lotus Notes 6.5.4:JJ000002:James Johnson/AMA/NA/MyCompany:SMMOM023/SRV/NA/MyCompany:mail\JJ000002 3:mx000001::MH000001:María Hernández/OAX/NA/MyCompany:SMOXA001/SRV/NA/MyCompany:mail\MH000001 4:mx000002:Lotus Notes 8.5.1:SC000001:Santiago García/OAX/NA/MyCompany:SMOXA001/SRV/NA/MyCompany:mail\SC000001 5:cn000001:Lotus Notes 8.5.2:EL000001:Emma Li/PEI/NA/MyCompany:SMPEI001/SRV/NA/MyCompany:mail\ELi 6:cn000002:Lotus Notes 8.5.1:JL000001:Jacob Lam/PEI/NA/MyCompany:SMPEI001/SRV/NA/MyCompany:mail\JL000001
* Line 3: Turns out Maria's PC does not have Notes installed on it.
Which I pipped to a .txt file for later manipulation and merging with other data sources.