GeekForce - Salesforce Administration

Administering Salesforce from the command line. A productivity tool to manage your org through powerful commands.
Salesforce.com can now be managed through the console, as if it were an on-premise system !

You can download GeekForce here.
IMPORTANT : Download using right-click + save As, and name the file "geekforce.wsf"
There is no support for this tool which is under development. Use it at your own risk. The tool can stop working at any time.
If you are not a geek, don't use it !
Don't bother to check the latest version on this page, GeekForce has a built-in automated update system.


Mailing List

Do you want to contact the author, get support, write to other GeekForce users ? Feel free to register here:

Command line

Usage : geekforce.wsf [/user:value] [/pass:value] [/sid:value] [/server:value] [/proxyserver:value] [/proxyuser:value] [/proxypass:value] [/debug] [/sandbox] [/prerel]

Options :

user        : Authorized user for the API.
pass        : User's password.
sid         : session id, if no user/pass provided
server      : the server of your org (ex:na3.salesforce.com or na3-api.salesforce.com)
proxyserver : hostname or IP of your proxy, and port (ex:proxy.internal.yourcompany.com:3128 or 192.168.0.7:3138)
proxyuser   : username if using a proxy with authentication
proxypass   : password if using a proxy with authentication
debug       : To dump on stderr some debug info
sandbox     : To authenticate on test.salesforce.com
Examples :      cscript //nologo geekforce.wsf /user:myself@mycompany.com /pass:secret
                cscript //nologo geekforce.wsf /debug /server:emea.salesforce.com /sid:Xabu.ZcSapOXihiaglMeP6fxITDl3DqGMnQZPm50cXYE_TLz0dMB18aYugQ5.tNU6SX6aPZ2vKd.t1jqGWcvtGpYnKO9AsNCSeX5jsUoLXQ=
                if no user/password and no server/sid, script tries to get an existing sid from an IE browsing session
                connecting to the prerelease : cscript //nologo geekforce.wsf /debug /user:winter10@salesforce.com /pass:secret123HsCfhJtUXjTS8p17WxylTopi /prerel
                using a proxy : cscript //nologo geekforce.wsf /proxyserver:192.168.0.7:3128 /proxyuser:jla /proxypass:jla
                        Proxy error ? See http://support.microsoft.com/kb/289481/en-us
                Compatibility test : cscript //nologo geekforce.wsf //Job:diagnose
                On Error, text is dumped to stdErr

If no argument (and no Internet Explorer already logged in), there will be a prompt to let you enter a free login and password
Enter your login
mylogin@mycompany.com
Enter your password
toto
GeekForce v0.1.666 pre-alpha, by Jean-Luc Antoine

Running on https://na3-api.salesforce.com/services/Soap/u/17.0/473500D5000000074su
Type Help for... help
Version d'essai de GeekForce / Trial version of GeekForce
GeekForce has been developed on my own personal time. I am the author and owner of the tool (not a Salesforce supported tool).
Use this tool at your own risk, it is provided AS IS, including all bugs. - Jean-Luc Antoine
(Mon Apr 6 23:24:09 UTC+0200 2009) 1 >

Here is a sample batch file to automate the execution
@echo off
color 3f
mode con cols=550 lines=300
cscript //nologo geekforce.wsf
if ErrorLevel 1 goto erreur
goto fin
:erreur
color 4c
pause
:fin
Don't forget to enable the Quick Edit Mode of the command prompt !!!
GeekForce won't work if you don't have access to artabus.com

Commands

Usage :
        ? [command] or Help [command] : Display this Screen or the detail of a command.
        activate user id1 [id2 [id3 [...]]]
        analyse config|code|data objName fieldAPIname [where clause]|user
        apex code
        Backup SObjectAPIName [SObjectAPIName [SObjectAPIName [...]]]
        bench
        browse url
        cache prepare|emtpy|print|id
        cd [path]
        cls
        cookies [dump]
        count SObjectAPIName [SObjectAPIName [SObjectAPIName [...]]]
        delete Id1 [Id2 [Id3 [...]]]
        delete from SObject [where ...]
        DeltaApi Api_version_number1 Api_version_number2
        desc [object [field [attribute]]]
        emptyRecycleBin Id1 [Id2 [Id3 [...]]]
        documents [filter criteria]
        helpdoc ApexCode|API|MetaData|Ajax|VisualForce|OfficeToolKit|Ant|DataLoader|CTI|ScriptingToolKit|GeekForce|SOQL|SOSL|CSS|Flex|BatchApex|DataModel
        http[s]://...
        icons
        inactivate user id1 [id2 [id3 [...]]]
        isValid18 Id
        impact something
        InvalidateSessions SessionId1 [SessionId2 [SessionId3 [...]]]
        jobs
        logout
        news
        ping
        quality SObjectAPIName [SObjectAPIName [SObjectAPIName [...]]]
        quit | exit
        required SObjectAPIName
        resetpassword UserId1 [UserId2 [...]]
        select SOQL
        selectall SOQL
        set
        setpassword UserId theNewPassword
        sms phonenumber message
        spool filename
        UNDER CONSTRUCTION : template SObjectName before|after insert|update|delete|undelete
        truncate SObjectAPIName [SObjectAPIName2 [...]]
        undelete Id1 [Id2 [Id3 [...]]]
        UNDER CONSTRUCTION : update [field assignment] SObject [where clause]
        UNDER CONSTRUCTION : updateall [field assignment] SObject [where clause]
        whoami
        whereami
        15to18 Id
        [Id18]
Use F7 to reuse a command.
Max line length is 250 characters.
Use _ at the end of a line to continue the command on the next line.

Tips

Listing custom objects
(Mon Apr 6 23:27:59 UTC+0200 2009) 1 >desc __c
Object not found
+===========================+
|         Suggested         |
|===========================|
| Name                      |
|===========================|
| jla__JL_Slave_1__c        |
| jla__JL_Slave_2__c        |
| sfLma__License__c         |
| sfLma__Package_Version__c |
| sfLma__Package__c         |
|===========================|

Exporting picklist definition values
Example :

(Wed Apr 15 22:03:11 UTC+0200 2009) 8 >spool values.csv
Next result will be dumped into values.csv
(Wed Apr 15 22:03:26 UTC+0200 2009) 9 >desc Opportunity LeadSource
1 field was found on object Opportunity:
Attributes for field named 'LeadSource' on object 'Opportunity':
Spool is off
(Wed Apr 15 22:03:54 UTC+0200 2009) 10 >

This will generate the folowing file (values.csv):
"active","defaultValue","label","value"
"true","false","Web","Web"
"true","false","Phone Inquiry","Phone Inquiry"
"true","false","Partner Referral","Partner Referral"
"true","false","Purchased List","Purchased List"
"true","false","Other","Other"

Enable the Quick Edit Mode of the prompt.

Use F7 when Quick Edit Mode enabled to show history of commands and reuse them.

Double click on a text to put it in the clipboard, then right click to paste it.

You can select any text in the console then right click to copy it.

You can automate GeekForce by redirecting StdIn :

c:\>cscript geekforce.wsf /user:admin@administrator.com /pass:salesforce <automated.txt >log.txt

c:\>