-
Posts
565 -
Joined
Content Type
Forums
News
20th
EduGeek EDIT Conference
Blogs
Everything posted by AlexB
-
Papercut or Papercut, did I mention I think Papercut is great? Seriously, I can't comment on the more recent PMP version, but it was night and day when I moved from PMP to Papercut a few years ago, haven't regretted it for a second.
-
Oh, forgot to say. I started down this line for exacting the same reason... far too many windows to click through where most of them only want the default settings anyway!
- 33 replies
-
- deployment
- imaging
-
(and 3 more)
Tagged with:
-
Within the Deployment Workbench, right click the "MDT Deployment Share " on the left tree and click properties. rules.ini is the Rules tab, bootstrap.ini is a button at the bottom of this tab. Note that changing the bootstrap.ini causes the wim/iso to be regenerated after you Update Deployment Share, so replace your current wim (probably in WDS) with the newly generated one. For naming with choosing use the below. I'd still copy the vbs file and keep the commented section... you never know what you'll do in the future [noparse] ;This is for using exitsing name ;UserExit=UserExit.vbs ;OSDComputername=#GetOfflineComputername()# ;SkipComputerName=YES ;This is for picking name at image time SkipComputerName=NO ComputerName=-> ;End of naming [/noparse]
- 33 replies
-
- deployment
- imaging
-
(and 3 more)
Tagged with:
-
You can make it zero touch if you are so inclined... This assumes on one task sequence that you want to pick, all applications in one application pack and computers already have the correct name (reimage), otherwise if you want to pick the name just change commented sections below bootstrap.ini [noparse] [settings] Priority=Default [Default] DeployRoot= SkipBDDWelcome=YES KeyboardLocalePE=0809:00000809 UserID= UserPassword= UserDomain= [/noparse] rules.ini [noparse] [settings] Priority=Default Properties=MyCustomProperty [Default] ;This is for using exitsing name UserExit=UserExit.vbs OSDComputername=#GetOfflineComputername()# SkipComputerName=YES ;This is for picking name at image time ;SkipComputerName=NO ;ComputerName=-> ;End of naming SkipBDDWelcome=YES OSInstall=YES OrgName="" FullName="" SkipTimeZone=YES TimeZone=085 TimeZoneName=GMT Standard Time SkipLocaleSelection=YES GeoID=0XF2 UserLocale=en-gb KeyboardLocale=0809:00000809 SkipUserData=YES UserDataLocation=NONE ;Task sequence ID SkipTaskSequence=YES TaskSequenceID=W7_SP1_WAR SkipAppsOnUpgrade=YES SkipProductKey=YES SkipBitLocker=YES ;I know you can set elsewhere, but we picked here... SkipAdminPassword=YES AdminPassword= DeploymentType=NEWCOMPUTER DoNotCreateExtraPartition=YES SkipApplications=YES ;UID of the application pack containing all your apps Applications001={1182ad04-4c82-46fc-94b7-10d00cb47d7b} ;Really oddly I found that if I didn't put account details in hear then it didn't work if hidden, but worked fine if not hidden and just clicked through... odd world SkipDomainMembership=YES JoinDomain= DomainAdminDomain= DomainAdmin= DomainAdminPassword= ;OU during and after image, but if machine already exists it seems to leave alone in what OU it is already in. StagingOU=OU=xxx,OU=xxx,DC=internal MachineObjectOU=OU=xxx,OU=xxx,DC=internal SkipCapture=YES DoCapture=NO SkipSummary=YES SkipFinalSummary=YES FinishAction=RESTART [/noparse] We put windows update before and after application install and set a reboot at end in the task sequence. UserExit.vbs goes in \Scripts and is only needed for picking up existing computer name. This assumes you are UK based with UK keyboards, change as required Change SkipXXXXXX=Yes to SkipXXXXX=No for those sections you want to pick, it will just default to whatever is set above It should go without saying, but... Backup both rules.ini and bootstrap.ini before you start UserExit.vbs
- 33 replies
-
- 1
-
-
- deployment
- imaging
-
(and 3 more)
Tagged with:
-
I'm fairly sure that the update (via Windows Update) for Disk Cleanup was for at least Windows 7 and Windows Server 2008 R2 and includes an option near the bottom to remove expired/superceeded Windows updates which are usually clog up winsxs
-
Thanks for a smile on a Monday morning
-
I have another if anyone wants it.
-
[sims] Lots of changes to marksheet columns every year - any way round it?
AlexB replied to ICTLady's topic in MIS Systems
When working with many changes to templates in sims.net I export to XML, bulk replace or edit manually and import back in. I know this is still work each time, but editing columns in sims.net is excruciating! -
As far as I know you can't mount printers at startup. However, with loop back processing you could make this a User GPO run a logon script, but allocate to computer OUs. Alternatively the script I posted above allows you to just name the computer OUs that will get what printers and apply the script to all users.
-
Have a script that just does this:- Set objNetwork = CreateObject("WScript.Network") objNetwork.AddWindowsPrinterConnection "\\\" If that works then you are able to mount printers via a vbs script and it must just be an error in the more complicated script.
-
Cool, been wanting to give Mumble a try .... Never got on with TS
-
You might need to disable 'Point and Print Restrictions' in GPO
-
Problems running JAVA with out of date or expired version of JAVA
AlexB replied to kennysarmy's topic in Windows
I get that error on 7 21, it doesn't have to be really old -
We used GPP for printers initially, but found it often took too long to mount the printers after login and moved back to a script the way you describe above. What you have above should work fine, but if you fancy a bit more flexibility feel free to use this as a basis ' Script to mount printers based on computer's OU ' 20/09/2010 by ACB ' Reads printers and OUs from a printers.ini file specified in the printers.ini file ' printers.ini file is set by the strINIFile variable strINIFile = "\\\(\)\printers.ini" ' Default print server is read from the ini file in the [settings] section from the "server" key ' The computer's OU is then read from the [printers] section as a comma separated string ' The first entry in the printer string is used as the default printer ' If the OU is not found no error is returned and no additional printers are mapped ' There must be no spaces between printer share names in the comma separated string ' Custom printers (printers from different print servers) are read from the [custom] section ' The result from the [custom] section provides a comma separated string containing "print server, share name" ' Custom printers are currently set to be the default. ' The must be no space after the comma after the server name in the comma separated string ' Finally any other network printers are removed (rather than removing all network printers and reconnecting, this saves time) ' The variable boolRemoveOtherPrinter can be set to false to remove this functionality boolRemoveOtherPrinter = true Set objSysInfo = CreateObject("ADSystemInfo") strName = objSysInfo.ComputerName arrComputerName = Split(strName, ",") arrOU = Split(arrComputerName(1), "=") strComputerOU = arrOU(1) strPrintServer = ReadIni( strINIFile, "settings", "server") Set objDictionary = CreateObject("scripting.dictionary") ' ******************** ' ******************** ' Temp fix to remove all printers first 'RemoveOtherPrinters ' ******************** ' ******************** ' ********************* ' Deal with LFTs differently to other computers ' ********************* if StrComp("sba-lft",Mid(strName,4,7),1)=0 then DebugPopup("LFT") HandleLFTs else DebugPopup("Others") HandleComputers end if Function HandleComputers() ' ********************* ' Read and mount printers for computer's OU strPrinters = ReadIni( strINIFile, "printers", strComputerOU) listPrinters = Split(strPrinters, ",") if UBound(listPrinters) >= 0 then MapPrinter listPrinters(intX), true For intX = 1 To UBound(listPrinters) MapPrinter listPrinters(intX), false Next end if ' ********************* ' ********************* ' Look for custom printers strCustomPrinter = ReadIni( strINIFile, "custom", strComputerOU) listCustomPrinters = Split(strCustomPrinter, ",") if UBound(listCustomPrinters) = 1 then ' string has correct format MapPrinterCustom listCustomPrinters(1), listCustomPrinters(0), true end if ' ********************* ' ********************* ' Look for printers for everyone strEvPrinters = ReadIni( strINIFile, "everyone", "Printers") listEvPrinters = Split(strEvPrinters, ",") if UBound(listEvPrinters) >= 0 then For intX = 0 To UBound(listEvPrinters) MapPrinter listEvPrinters(intX), false Next end if ' ********************* ' ********************* ' Remove other network printers if boolRemoveOtherPrinter then RemoveOtherPrinters end if ' ********************* End Function Function HandleLFTs() ' Could have a popup here if no network printers reminding users how to get printers End Function ' ********* ' Functions ' ********* Function MapPrinter(strPrinter,boolDefault) Set objNetwork = CreateObject("WScript.Network") if StrComp("local",strPrinter,1) <> 0 then MapPrinterCustom strPrinter, strPrintServer, boolDefault end if End Function Function MapPrinterCustom(strPrinter,strServer,boolDefault) Set objNetwork = CreateObject("WScript.Network") strFullPath = UCase("\\" & strServer & "\" & strPrinter) DebugPopup("Mounting:" & strFullPath) objNetwork.AddWindowsPrinterConnection strFullPath if boolDefault then objNetwork.SetDefaultPrinter strFullPath end if DebugPopup("Mounted:" & strFullPath) objDictionary.Add strFullPath, strPrinter End Function Function IsInList(list, value) IsInList = false For i = 0 To UBound(list) if UCase(list(i)) = UCase(value) then IsInList = true end if next End Function Function RemoveOtherPrinters() Dim objPrinters, intDrive, intNetLetter ' This is the heart of the script ' Here is where objPrinters enumerates the mapped drives Set objNetwork = CreateObject("WScript.Network") Set objPrinters = objNetwork.EnumPrinterConnections strNoDelete = ReadIni( strINIFile, "nodelete", "Printers") listNoDelete = Split(strNoDelete, ",") If objPrinters.Count <> 0 Then For i = 0 to objPrinters.Count - 1 Step 2 If Left(ucase(objPrinters.Item(i+1)),2) = "\\" Then 'if not listNoDelete.Contains(objPrinters.Item(i+1)) then if not IsInList(listNoDelete, objPrinters.Item(i+1)) then if not objDictionary.Exists(UCase(objPrinters.Item(i+1))) Then DebugPopup("Leftover: " & objPrinters.Item(i+1)) objNetwork.RemovePrinterConnection objPrinters.Item(i+1) end if end if end if Next end if End Function ' e.g. RemovePrinter "\\\" Function RemovePrinter(strPrinter) DebugPopup("Removing " & strPrinter) Set objNetwork = WScript.CreateObject("WScript.Network") objNetwork.RemovePrinterConnection strPrinter, true, true End Function Function ReadIni( myFilePath, mySection, myKey ) ' This function returns a value read from an INI file ' ' Arguments: ' myFilePath [string] the (path and) file name of the INI file ' mySection [string] the section in the INI file to be searched ' myKey [string] the key whose value is to be returned ' ' Returns: ' the [string] value for the specified key in the specified section ' ' CAVEAT: Will return a space if key exists but value is blank ' ' Written by Keith Lacelle ' Modified by Denis St-Pierre and Rob van der Woude Const ForReading = 1 Const ForWriting = 2 Const ForAppending = 8 Dim intEqualPos Dim objFSO, objIniFile Dim strFilePath, strKey, strLeftString, strLine, strSection Set objFSO = CreateObject( "Scripting.FileSystemObject" ) ReadIni = "" strFilePath = Trim( myFilePath ) strSection = Trim( mySection ) strKey = Trim( myKey ) If objFSO.FileExists( strFilePath ) Then Set objIniFile = objFSO.OpenTextFile( strFilePath, ForReading, False ) Do While objIniFile.AtEndOfStream = False strLine = Trim( objIniFile.ReadLine ) ' Check if section is found in the current line If LCase( strLine ) = "[" & LCase( strSection ) & "]" Then strLine = Trim( objIniFile.ReadLine ) ' Parse lines until the next section is reached Do While Left( strLine, 1 ) <> "[" ' Find position of equal sign in the line intEqualPos = InStr( 1, strLine, "=", 1 ) If intEqualPos > 0 Then strLeftString = Trim( Left( strLine, intEqualPos - 1 ) ) ' Check if item is found in the current line If LCase( strLeftString ) = LCase( strKey ) Then ReadIni = Trim( Mid( strLine, intEqualPos + 1 ) ) ' In case the item exists but value is blank If ReadIni = "" Then ReadIni = " " End If ' Abort loop when item is found Exit Do End If End If ' Abort if the end of the INI file is reached If objIniFile.AtEndOfStream Then Exit Do ' Continue with next line strLine = Trim( objIniFile.ReadLine ) Loop Exit Do End If Loop objIniFile.Close Else WScript.Echo strFilePath & " doesn't exists. Exiting..." Wscript.Quit 1 End If End Function Function DebugPopup(strMessage) 'Set WshShell = CreateObject("WScript.Shell") 'WshShell.Popup strMessage, , , 64 End Function printers.ini [settings] server = [printers] OU = defaultPrinter,nextPrinter,nextPrinter,etc... [custom] OU = , [everyone] ;Printers = Printer,nextPrinter,etc... [nodelete] Printers = \\\,\\
-
Problems running JAVA with out of date or expired version of JAVA
AlexB replied to kennysarmy's topic in Windows
If you don't want to update you can configure globally with deployment.properties file System- and User-Level Properties -
For ours it is in the argument of the scheduled task
-
We use Live Slide Show on an internal webserver for displaying any pictures in Xibo, works a treat as it is so simple, just drop pictures in an images folder and it uses them, even after the webpage has been loaded. HowTo
-
It sounds like you've setup to GPO to point directly at the printers' IP addresses instead of the share on the print server running Papercut.
- 3 replies
-
- group policy
- papercut
-
(and 2 more)
Tagged with:
-
If its not too late Tesco's Hudl is well worth a look
-
The free version of the HP Procurve Manager might be enough if you have less than 25 devices.
-
Last time I used JANET it could dial an ISDN number for you and connect to your own kit via IP or E164. All nice and automated and when it doesn't work I found the support staff there really helpful
-
Depending on your internet provider you might have access to JANET's VC service https://www.ja.net/products-services/janet-collaborate/janet-videoconferencing-service
-
Have you tried running it on the Xibo client in a normal browser?
-
+1 for interested. I'm using printmaster to manage my consumable stock, but it doesn't query printers on status
