Having written SYDI from scratch, I know it inside and out. Unfortunately I don’t think I’ve managed to communicate how SYDI works in an efficient way. The readme file included in SYDI is far from perfect. While people in this line of business can usually figure out how it works, others will just ignore reading the manual anyway. In this how-to I will go through the basics of how SYDI-Server works and then describe how I use SYDI-Server.
Getting the Software
You probably have the software already, but just in case. Download it from the SYDI website, or if you love this site and don’t want to leave it no matter what: you can download it from here. This guide is written for SYDI-Server 2.0, if there is a newer version when you read this, don’t worry; it should be useful anyway. Just be sure to check the changelog.txt file for new features.
Unzip the file to your target directory.
Running SYDI in default mode
To see what the software does, open a command prompt and navigate to your sydi directory. This step requires you to have Microsoft Word installed on your computer. Type the command:
cscript.exe sydi-server.vbs [enter]
A message box appears and asks you which host you want to target, the default is localhost. You can select another host if you have administrative access on that machine. Though for now, just press enter.
In the command prompt window you will now see that SYDI starts to gather information about your machine. Soon a Word document is created and SYDI writes the information gathered into the document.
Take a look at the document. Not all this information will be relevant to you and you can remove the parts you don’t want by reading further. Close Word, or save the file it if you want to.
The Options
To view the available options use the help command (-h):
cscript.exe sydi-server.vbs -h [enter]
Options in five categories will be listed; Gathering, Output, Word, XML and Other. In reality there are only two, Gathering and Output.
Gathering the Information
Breaking down the gathering option we have five different arguments -w for WMI options, -r for Registry options and -u and -p for username and password if you want to connect to a different user. Finally we have the -t option where you specify which host you want to target against.
Looking closer at the -w argument from the help menu (-h) you could see that SYDI defaults to using -wabefghipPqrsSu, meaning everything gathered from the WMI providers will be included.
You cannot remove everything from the report, but let’s create a document without all the extra information. Run:
cscript.exe sydi-server.vbs -w [enter]
As you can see the report created is much shorter than the previous one. We have removed the optional WMI providers, but we still have the basic ones and the information coming from the Registry.
To choose which options you want, just check the help menu and see what they mean. If we want to add Bios Information, Printers and Services we would run:
cscript.exe sydi-server.vbs -wbps [enter]
This way you can pick and choose the options you want. The Registry switch works the same way. For an even smaller report you can run:
cscript.exe sydi-server.vbs -w -r [enter]
Now you can add the registry options that you want. Please note though that a lot of the “Computer Roles” are gathered from the Windows Components, so if you want these roles you must have the Windows Components in your report (-rc).
Using the -t option removes the message box asking you which host you want to target. A few examples of using the -t switch:
cscript.exe sydi-server.vbs -tServer1
cscript.exe sydi-server.vbs -tDC1
cscript.exe sydi-server.vbs -tWebServer
cscript.exe sydi-server.vbs -t192.168.0.10
The user and password options should work as you would expect them to, if they don’t: report the bug to me 🙂
Word Options
As you’ve seen, sydi-server defaults to writing output to Word. The reason for this is so that you can get a quick overview of what the script can collect without having to do any tricks. Having said that, I only use the Word option to get a quick view of a machine, later I throw away the document. I always use the XML format which I later convert to a Word document, more on that later. Even though you won’t use the Word options much we’ll just take a quick look at them to see what you can do, it won’t be a total waste as a few of the options are used by another script called ss-xml2word.vbs.
-b is for the border of the tables created in the document. As you might have noticed there isn’t any borders by default (when you print the document). You can use all borders you have installed in Word. To test it, type:
cscript.exe sydi-server.vbs -b”Table Contemporary” [enter]
-f is if you want different font sizes, the default font size for the text is 12. To change it, use:
cscript.exe sydi-server.vbs -f8
-d tells SYDI not to display Word until the entire report is written. Using the -d option makes the process go faster. Also if you want to save the file (-o option, more on that later), you might not want to see Word at all. For example if you are running a scheduled task you don’t want a GUI to be loaded.
-n will remove all the text inside the brackets, such as “Logical location: [provide info: Server VLAN 2]”. This way you won’t have a bad conscience about not completing the documentation. 🙂 But as I have already stated, the whole idea of sydi-server writing directly to word is obsolete. If you start changing the document after it is created and want to run SYDI again your changes will be lost, or you will have to cut and paste them to the new document. There is a way around this though (hint: continue reading!).
-T This is if you want to specify a corporate Word Template file (.dot), which enables you to choose which fonts you want to have as well as their size. This way you can get your “look and feel” in the document.
[tags]network documentation, server documentation, sydi, how to, tutorial[/tags]
Matt says
When I try to run Sydi against multiple computers, What does it mean when I get this message: “Testing connection to ‘Machine-name’, Failed to connect to: ‘Machine-name’?
Do I need to put administrative credentials in the Sydi wrapper.vbs file?
sanja says
love youre script.made my life so much easier. 🙂
Lewis says
Thanks for all your effort on this project. How cool it must be to have created something that is used by so many people and companies around the world…. Large companies too!
Winston says
Love your post, extremely useful tool and your steps are dead on!! I am baffled why many companies failed to use this for documenting…. Thanks for this great effort
arian says
thanks
I want to gathering total information about my network clients and servers but i want to know how can gathering information for all clients when i run sydi ?
If it could gathering information wthout typing a specify computer name? ,It means with one step we can do it for all clients in network.
Is it clear for you?
Thanks&Best Regards
Kuntal Bose says
Thank you for this awasome creation.
ralph says
I get 70 – Permission Denied on some of the servers. How can I correct that.
Matt says
Awesome tool, thank you very much for writing this.
So simple to use but so powerful
Daniel says
Are there any Screenshots or Sample Reports I can look at?
Havent found any visual information on the website yet…
Cheers!
Logan Smith says
Windows Components (roles and features do not get listed with the following line run:
cscript.exe sydi-server.vbs -wabgiqsu -racdlp -ew -f10
Please advise, that is the only thing I am missing it getting the perfect document from sydi
Aslam Shaikh says
Script is too good but as per your information for username password options are not working.
cscript.exe sydi-server.vbs -u – p
Error
Start subroutine: GatherWMIInformation(66.3.182.206)
-2147023174 — The RPC server is unavailable. (66.3.182.206)
Any solution for the above error will be highly appreciated coz our whole network is in workgroup
JoeM says
@logan,
Same here, I need the roles and features, at first I thought it was na issue with the Windows version but my Win2008r2 did not return the info either. I have been poking around in the vbs file and trying to figure out how he calls the wmi stuff as I wondering if it is simply a change of options or methodology required.