Jump to content

Martin Zugec

Member
  • Posts

    1,368
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Czech Republic

Everything posted by Martin Zugec

  1. First step in any batch debugging - disable @Echo off and redirect output to text file, so you can see what is going on...
  2. Available parameters Available parameters are /Operation:Installation/Command/Group Here you can select the type of operation you are trying to perform. /Job:job_name Here you specify the name of the job. /Machine:machine_name Here you specify the name of the remote computer. /Automated:Global_job_name This is automatically created parameter used in automated installations. Ignore it. /Restart:Yes/No This defines if target computer should be restarted BEFORE installation. /Storage:Local/Remote Not yet fully implemented - this will define if target computer should run installation from Remote (server) or download files first. /Execution:Local/Server Defined if the operation is performed on computer that run SDS or it should be performed on remote computer. This is not needed - for most parameters SDS have intelligent variable creation (for example if you specify /Machine, but didnt specify /Execution, SDS automatically decide that /Execution should be set to Server) /AllowDefaultPackages:Yes/No You can use default start/end packages for you operations. These packages will be always included before/after operation. For example typical "closing" operation is Restart_Computer. /InstallationMethod:RunOnceEx/PsExec/Scheduled Defined a method for installation. Scheduled is not implemented yet, however RunOnceEx is working perfectly and I am now working on PsExec method (it is working, however I need to debug first). Most reliable method is RunOnceEx + /Restart:Yes. I will provide you with some examples: Install Office2003 on computer PC1000 and automatically restart it. SDSMain.cmd /Operation:Installation /Job:Office2003 /Machine:PC1000 /Restart:Yes Run group of commands named Optimalization on current computer SDSMain.cmd /Operation:Optimalization /Job:Optimalization
  3. There was Run! shell, I will try to ask guy who created it if it is still available... Simple, fast...
  4. Ok, I got some time right now, so I will try to describe what exactly is this "SDS" project about... For those who dont know what are tools like SMS, USD or Tivoli for: The main reason for these tools to live is to provide ability to install programs and/or performs some commands remotely. Lets take an example - you are administrator in company with about 50 computers. You created your Windows XP unattended installation with DirectX 8.0... However after some time Microsoft released DirectX 9.0 - what to do now? Of course you modify your installation source and replace old DirectX with new version, however what to do with already installed computers? Now its the time for management tools - they will allow you to deploy this SW to many computers... There is one problem - there isnt any free solution. So I decided to combine few of technologies I am using at deployment today and to create SDS - free management tool. For example you can create job, that will install Office 2003 and command SDS to install this office to computers PC1000, PC1001 and PC1002... SDS will take care of the rest - it will install the SW or install it when computers are available (this is quite important). Some informations about SDS: Types of operations - a.) Installations - like Office2003 or DirectX b.) Commands - like Restart_Computer or Disable_AutoLogon c.) Groups - like for example group Optimalize, that will run commands Disable_Services, Delete_Shortcuts and Optimalize_Computer Executions You can select between local and remote execution. This means who requested the operation. For example you can command "Install Office2003 to computer PC1000" - this is remote execution. Or you can say "I just finished ua installation, install group Standart_software to this computer" - which is local execution What language is SDS programmed in? You maybe wont believe me, but whole SDS is "programmed" in normal batches... However I implemented few advanced techniques like name parameters (/operation:installation etc.) When will be beta available It depends... I first need to write some documentation and I am really TERRIBLE at writing things so people can understand what I mean. That is why I am searching for someone, that will take care of this problem Example of Group? It is quite simple: This is group DotNetFramework: Group.ini: Installation=DotNET_Framework_1.1 Installation=DotNET_Framework_1.1_SP1 This is group Optimize_Computer: Group.ini: Command=Optimize_Computer Command=Disable_Services Command=Delete_Shortcuts Example of Installation? Again - it is quite simple DotNET_Framework_1.1`s Job.cmd: Title SDS Operation Set pathInstallationPath=%~dp0 msiexec /i "%pathInstallationPath%Job\netfx.msi" /qb Example of Command? Disable_AutoLogon´s Job.cmd: Set strAutoLogonKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon reg delete "%strAutoLogonKey%" /v AutoAdminLogon /f reg delete "%strAutoLogonKey%" /v DefaultUserName /f reg delete "%strAutoLogonKey%" /v DefaultPassword /f
  5. BTW About time.bat, use this: Echo %date:~3,11% %time:~0,5%
  6. Hi Aegis! If I could, I will try to give you a hand on this Maybe you will found interesting this code: rem Setting external (provided) variables :BeginningOfScript If "%1" EQU "" Goto EndOfBeginning For /f "usebackq delims=: tokens=1,2" %%i IN (`echo %1`) Do ( If /i %%i EQU /Operation Set SDS.OperationType=%%j If /i %%i EQU /Storage Set SDS.DestinationStorage=%%j If /i %%i EQU /Machine Set SDS.RawRemoteMachine=%%j If /i %%i EQU /Job Set SDS.JobContainer=%%j If /i %%i EQU /Execution Set SDS.ExecutionSide=%%j If /i %%i EQU /Automated Set SDS.AutomatedMaster=%%j If /i %%i EQU /Restart Set SDS.AutoRestart=%%j ) Shift /0 Goto BeginningOfScript :EndOfBeginning It allows you to provide parameters in format /parameter:value... So test.cmd /operation:installation /job:Office2003 is the same as test.cmd /job:office2003 /operation:installation
  7. Hi guys! As you can read on my blog, I am finishing my work on core of SDS. See martinzugec.blogdrive.com Soon I will release the beta version, however right now I am searching for person, that is willing to write some documentation (I am horrible at this, you know)... Any volunteer will be mentioned and will have primary access to SDS products & news.
  8. Dont buy HW for Vista yet! You can clearly see it in FAQ and few technical articles today - currently available HW is not good for Vista, so it is recommended to wait for final release. This is because Vista is specially designed for use with HW like 1GB HDD Cache that is not available today.
  9. I am searching for betatester for xml files. What I need is to modify my xmls, because I havent included compatibility modes (client OS/server OS etc.). Any volunteers? I am planning to create xml for every section in unattend.sif.
  10. Heh... I remember times when google said they will NEVER release anything similar to OS
  11. It is just for example, you will change properties when running from batch file...
  12. 2wonka: Did you try to use InfCacheBuilder?
  13. Try to run this script: @echo off Echo . Registracia kniznic regsvr32 /s msxml3.dll regsvr32 /s wups.dll regsvr32 /s wuaueng.dll Echo . Registracia skupin wuauclt /detectnow /resetauthorization Echo . Zastavenie sluzby net stop wuauserv echo . Zmazanie DataStore cd /d %windir%\SoftwareDistribution rd /s DataStore Echo . Spustenie sluzby net start wuauserv Echo . Zrestartovanie pocitaca shutdown -r -f -t 01
  14. Why not? Using this trick you will only create datastorage. When you create ODBC connection, you can do anything you want with it...
  15. You can see what patches were not applied of course. For all computer add default action DetectOnly and create additional reports... BTW best souce of patch informations is probably Shavlik mailgroup
  16. 1.) Go for it, I`m waiting for result 2.) Analyzer is PnPBased.bat... Only way to do it is to ask manufacturer about PnP identifier of the drive, he should send it to you... Every product have ONE PnP identifier, it is not unique per device
  17. Just add echo %time%etc. to logon script and parse it through access or proprietary software... Easiest and most reliable way
  18. .NET is GREAT! The next generation command line from MS will be frontend to .net (similar like wmic is frontend to wmi classes), so it is definitely not waste of time. As Egon said, using IL you can run .net applications on every os. There is only one big problem with MONO yet, it doesnt support Windows Forms
  19. Have a look at project PnPBased here on MSFN. I am using it for installing software based on PnP identificator. For installing chipset drive, I prefer using this: 'Automaticka instalacia ovladacov pre chipset a nastavenie biosu 'Martin Zugec '12.7.2004 '20.9.2004 Option Explicit On Error Resume Next Dim objWMIService, objShell Dim strComputerSystem, arrayComputerSystems, strInstallPath Dim strTypPocitaca Dim arrayPnP, strNIC Set objWMIService = GetObject("winmgmts:root\cimv2") Set arrayComputerSystems = objWMIService.InstancesOf("Win32_ComputerSystem", 48) Set objShell = Wscript.CreateObject("Wscript.shell") strInstallPath = Left(WScript.ScriptFullName,Len(Wscript.ScriptFullName) - Len(WScript.ScriptName + "n")) & "\" for each strComputerSystem in arrayComputerSystems Select Case Trim(LCase(strComputerSystem.Model)) Case "latitude d600" funcNainstalovanieChipsetu("d600") Case "latitude d610" funcNainstalovanieChipsetu("d610") Case "optiplex gx150" funcNainstalovanieChipsetu("gx150") Case "optiplex gx260" funcNainstalovanieChipsetu("gx260") Case "optiplex gx270" funcNainstalovanieChipsetu("gx270") Case "optiplex gx280" funcNainstalovanieChipsetu("gx280") Case Else Call OdoslanieMailu End Select next Call RestartPocitaca Set objWMIService = Nothing Set arrayComputerSystems = Nothing Set objShell = Nothing Wscript.Quit(0) Sub OdoslanieMailu Dim objEmail, objNetwork Dim strComputerName Set objEmail = CreateObject("CDO.Message") Set objNetwork = CreateObject("Wscript.Network") strComputerName = objNetwork.ComputerName With objEmail .From = strComputerName & "@domain.com" .To = "USD_Install@domain.com" .Subject = "Error" .Textbody = "Nepodarilo sa nainstalovat ovladac pre chipset. Identifikator dosky je " & strComputerSystem.Model & "Pokial sa jedna o pocitac rady GX150, GX260 alebo GX270, preposlite tento mail na mzugec@pre.cz spolu s nazvom pocitaca (OptiPlex GX150 a pod). Pokial sa jedna o starsie pocitace, automaticka instalacia chipsetu nie je podporovana." .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.domain.com" .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Configuration.Fields.Update .Send End With Set objEmail = Nothing Set objNetwork = Nothing End Sub Function funcNainstalovanieChipsetu(strTypPocitaca) objShell.Run strInstallPath & strTypPocitaca & "\Chipset\setup.exe -b -s", 1, True 'wscript.echo ". Nainstalovany chipset pre pocitac " & strTypPocitaca End Function Sub RestartPocitaca objShell.Run "shutdown.exe -r -f -t 01", 0, False End Sub
  20. It depends For me fastest OS is Windows XP, because for me "fast OS" means easy (that means fast) to manage But fastest OS in your meaning is XPE for me
  21. IE support in AR6.0 is poorly written, that is why it is recommended to disable Display PDF in Browser. Results vary from your problem to %PDF% is not recognized etc... I saw this problem in few companies - AR5 and AR7 works fine however.
  22. 1.) Yes, I could do that... Or you can try if you feel for it 2.) I will add in next version, good idea 3.) I didnt understand The Case is working like If %var% Then etc... You can separate different identifiers by comma character 4.) Just mount the drive, run analyzer and you will see identificator for that drive.
  23. I am using /s parameter. It worked for every driver I tried, however I am mostly using OEM drivers... Give it a try
  24. And when you create absolutely new PE image? Did it work?
×
×
  • Create New...