Martin Zugec Posted September 13, 2005 Share Posted September 13, 2005 (edited) Hello there!I am working hard on SDS (currently build 0006) and I am looking for some developers that would like to help. Who I need?a.) someone to create GUI. I began with .NET, however I dont want to leave core developement.b.) someone to help me with core - it is based on batches+FS... c.) someone to write packages/plugins... This is quite simple and only requirement is to have good ideas. EDIT:d.) as client I am using kTool from Kenedy. So I would also invite someone with knowledge of AutoIt.e.) heh, I almost forgot - if there is any volunteer to take care of documentation, it would be great f.) I am looking for people who have ideas how to make SDS better solution...Now some details about SDS - SDS is free&easy deployment solution... Right now it is functional, however I need to debug it a little before first public beta test. Please, help me if you can... I think this could be useful for many administrators (not for me, I am using USD ) Edited September 13, 2005 by Martin Zugec Link to comment Share on other sites More sharing options...
phkninja Posted September 13, 2005 Share Posted September 13, 2005 Is the project currently running with command line. I have no problem creating a GUI for a command line program (just need to know the switches and a graphic of the layout concept would be nice). I can send you a program or two I have written with GUI's.I use a C++ library called wxWigets (used to be wxWindows). This is a cross compatible C++ library that is free to use, and is also easy to use. Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 13, 2005 Author Share Posted September 13, 2005 2phkninja: That would be great! Could you please upload it somewhere (I got quite aggressive AV protection )...You dont need to cooperate with command line - just "import" the directory structure... My ICQ is 137412582, pls contact me directly, I will explain further... Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 13, 2005 Author Share Posted September 13, 2005 Following informations are for developers. It is basic of SDS implementation.SDS--------------------------------------------------------------------------------------------Main component is SDSAutomatic.cmd (a.k.a. SDSA). It is scheduled task running every minute.SDS parse Jobs\Regular directory and check every subdirectory.The subdirectories uses syntax JobState.JobName. If JobState is equal to Running, SDSA enter this directory, import settings from file Job.ini and then enter subdirectory ComputerGroups.Here it parses through all available files. That files represents computers and have extension .sds. For example pc1000.sds represents computer pc1000.For every file/computer SDSA tries to check if computer is available (ping), if it is available, SDSA will copy SDSClient.exe to computer + ini file generated from job.ini.Now it activate remote computer - schedule/psexec etc the execution of SDSClient.exe with .ini file as parameter. Now lets talk about Job.ini. This file contains informations about job. It contains following settings:Operation=Installation\Command\GroupPackage=%packagename%Storage=Remote\local (currently only Remote supported)InstallationMethod=RunOnceEx\PsExec\ScheduledRestart=No\Yes (available only for RunOnceEx installation method)AllowDefaultPackages=Yes\NoOperation - defines operation type. Installations/Commands are the same, they are just divided because they are in different location. Groups are combination of commands/installations. For example group DotNET_Framework consist of Installation=DotNET_Framework_1.1 and Installation=DotNET_Framework_1.1_SP1. For installation/command you must create file Package.ini. I will describe syntax later. For Groups you must create file Group.ini with syntaxOperationType=Package.Package - defines the name of package. For example Office20003. This is the name of directory, so SDSA will try to find %PackageDirectory%\%OperationType%\Office2003\Package.ini. If operation type is installation/command, it will try to find package.ini, for group it will try to find Group.ini.Storage - not implemented yet, always set to Remote.InstallationMethod - defines method that will be used to activate SDSClient on remote computer.Restart - only available to RunOnceEx installation method. When ROE entries are created, SDS will automatically restart computer, so you dont need to wait till user logoff/logon. AllowDefaultPackages - default packages are created for every job. For example if you want to create some log files, you create default package. They are acting as plugins. They are defined in Main.ini.This setting means if default packages from main.ini are allowed or not. For syntax of Package.ini see kTool documentation:http://www.msfn.org/board/index.php?showtopic=28393You are defining global behavior by two configuration files: Main.ini and Paths.iniMain.ini; Name of the package file, that MUST be in every installation/command directorySDS.Global.PackageFile=Package.ini; Name of the administrator accountSecret.AdministratorAccount=uainstall; Administrator passwordSecret.AdministratorPassword=uainstall*pass; Domain - used for autologonSDS.Global.Domain=!UserDomain!; How long till scheduled task will be executed on target computer. Default is 3 minutesSDS.Global.ScheduledTimeout=1; Default setting for remote storage - only Remote available yet, I need to work on itSDS.Global.Parameter.DestinationStorage=Remote; Method that should be used to deploy packagesSDS.Global.Parameter.InstallationMethod=Scheduled; AutoRestart - this means if computer should be automatically restarted after RunOnceEx entries are createdSDS.Global.Parameter.Restart=No; Defined if default packages should be includedSDS.Global.Parameter.DefaultPackages=Yes; Default packages - Start. Syntax is SDS.Global.DefaultPackages.Start.%Number_of_Package%=%OperationType%:%Package_Name%SDS.Global.DefaultPackages.Start.1=Command:Minimize_Command_LineSDS.Global.DefaultPackages.Start.2=Command:Disable_RemoteRegistrySDS.Global.DefaultPackages.Start.3=Command:Disable_Input; Default packages - End. Syntax is SDS.Global.DefaultPackages.End.%Number_of_Package%=%OperationType%:%Package_Name%; SDS.Global.DefaultPackages.End.1=Command:Disable_AutoLogonSDS.Global.DefaultPackages.End.2=Command:Enable_RemoteRegistrySDS.Global.DefaultPackages.End.3=Command:Enable_InputSDS.Global.DefaultPackages.End.4=Command:Restart_ComputerPaths.ini; General path to the package directory. You should store Commands/Installations/Groups folders inside this one (but you dont have to.SDS.Path.PackagesStore=\\!ComputerName!\PackageStore; Path to the installations directory. Here are stored installations for applicationsSDS.Path.InstallationsStore=!SDS.Path.PackagesStore!\Installations; Path to the logs directorySDS.Path.LogsStore=\\!SDS.Path.ExecutionPath!\Logs; Path to the commands directorySDS.Path.CommandsStore=!SDS.Path.PackagesStore!\Commands; Path to the groups directorySDS.Path.GroupStore=!SDS.Path.PackagesStore!\Groups; Path to the bin directorySDS.Path.BinStore=!SDS.Path.ExecutionPath!\Internal; Path, where packages will be stored on local computerSDS.Path.LocalStore=c:\Program Files\SDS; Path to the regular jobs directorySDS.Path.JobStore=!SDS.Path.ExecutionPath!\Jobs\Regular; Path to the internal jobs directorySDS.Path.InternalJobStore=!SDS.Path.ExecutionPath!\Jobs\Internal; Path to the temporary (per session) filesSDS.Path.Temporary=!SDS.Path.ExecutionPath!\Temporary; Path to the frontend folders, which allows you to securely allow users to install software on their own PC (similar to published feature)SDS.Path.FrontendFolders=\\!ComputerName!\SDSPlease let me know what you dont understand... I am not good at writing easy-to-understand documentation Martin Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 13, 2005 Author Share Posted September 13, 2005 This is example. On this picture you can see active job AdobeReader (JobState Running). This job is associated with computers on right (pc####). Green ones were successful, red failed (in fact I forced that computer to fail), blue means the installation is running right now. The last three computers were not activated yet, because they are turned off. When user turns them on, Adobe Reader will be automatically installed. BTW this is alpha GUI, I am not GUI programmer, so excuse the layout Martin Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 14, 2005 Author Share Posted September 14, 2005 Dman agreed to create Package generator GUI! Welcome to team man Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 14, 2005 Author Share Posted September 14, 2005 I will now talk about Default packages.You can see them in Main.ini... What are they?Default packages are in my opinion really nice idea, that make SDS open to further modifications... We can say they are acting like plugins...There are two different default package types - Start and End. The default packages are "around" every job - for example if you run job AdobeReader, all SDS.Global.DefaultPackages.Start.# will be performed BEFORE AdobeReader and all SDS.Global.DefaultPackages.End.# will be performed AFTER AdobeReader.As I said it is quite useful for plugin functions - for example I am usingSDS.Global.DefaultPackages.Start.3=Command:Disable_InputandSDS.Global.DefaultPackages.End.3=Command:Enable_InputThis will perform command Disable_Input before installation and enable input after installation.This example will block user input (mouse+keyboard) for duration of installation. In fact DefaultPackages are really easy to implement/understand... Any questions? Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 14, 2005 Author Share Posted September 14, 2005 I am looking for someone that is able to create utility to schedule one task + share folders... Anyone? Link to comment Share on other sites More sharing options...
gunsmokingman Posted September 15, 2005 Share Posted September 15, 2005 Hey Martin go to this web page it explains all the varibles for this scriptHey Script GuysConst FILE_SHARE = 0Const MAXIMUM_CONNECTIONS = 25strComputer = "atl-ws-01"Set objWMIService = GetObject _ ("winmgmts:\\" & strComputer & "\root\cimv2")Set objNewShare = objWMIService.Get("Win32_Share")errReturn = objNewShare.Create _ ("C:\Public", "PublicShare", FILE_SHARE, _ MAXIMUM_CONNECTIONS, "Public share for Fabrikam employees.")Go to this web page for the varibles and stuff for this script.Hey Script GuysstrComputer = "."Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set objNewJob = objWMIService.Get("Win32_ScheduledJob")errJobCreated = objNewJob.Create _ ("Cleanup.exe", "********123000.000000-420", _ True , 1 OR 4 OR 16, , , JobID) Wscript.Echo errJobCreated Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 15, 2005 Author Share Posted September 15, 2005 Hi GSM!I was all the time thinking about APIs and .net classes, that I forget about wmi classes! Thanks, I will work on it (or you can, if you would like to help)... Link to comment Share on other sites More sharing options...
gunsmokingman Posted September 15, 2005 Share Posted September 15, 2005 Send me the info needed and I will try and do it.Gsm Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 15, 2005 Author Share Posted September 15, 2005 Sent to your mail... Hope so we will see it from you ASAP Martin Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 15, 2005 Author Share Posted September 15, 2005 FYI: I changed blog to http://msmvps.com/martinzugec Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 16, 2005 Author Share Posted September 16, 2005 So guys (Dman and GSM), how are you doin? I presented SDS yesterday on one presentation and administrators were VERY interested in it Link to comment Share on other sites More sharing options...
Martin Zugec Posted September 16, 2005 Author Share Posted September 16, 2005 Maybe someone might help me... I need to import configuration files for batches to GUI... Inside these files are variables, dont any of you have function for parsing these variables?I am working in VB.NET, however code written in C# will be fine for me. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now