Once upon a time I setup my home network, I could access stuff from outside and all was well in the world. Over time this home network grew and I exposed more and I forwarded more ports from the router to the backend server apps. A few of which were as follows, each had their own port and own domain.
Read More
Category: Coding/Scripting
MSBuild and 7Zip SFX
The following allows you to package up your build output into a SFX file with custom properties that appear when someone right clicks the SFX and chooses properties.
Useful if you need to create a zip that can be signed but want your company/product information to appear on the SFX.EXE.
Update sshd_config to use Protocol 2
Had to write an script to update SSHD to only use protocol 2 without changing any of the other settings, to be deployed via BMC Bladelogic (horrible horrible tool), but you work with what you have. The script should work across Linux, AIX and Solaris.
$> SSHProtocolUpdate.sh update [1|2] $> SSHProtocolUpdate.sh rollback
Convert XML and XSL to HTML
Just a quickie. I have a script that outputs an XML file and I use an XSL file to display it but Management wanted HTML files, the thought of having to re-code the output was disheartening to say the least. I then came across “msxsl.exe” it’s a Microsoft tool that takes a XML file and a XSL file and then generates the resultant rendered output in HTML.
http://www.microsoft.com/en-gb/download/details.aspx?id=21714
Syntax:
msxsl.exe
TFS queue build from powershell
I was doing some testing on TFS and got fed up queuing new builds via right-click -> queue new build -> ok. So here is a powershell script that can be used to kick off a build.
I’ve included some extra assemblies that don’t need to be used as I have other functions that do use them in the same module file. example useage below
Queue-TFSBuild -TFSServer http://tfsserver:8080/tfs/col -Project Project1 -Definition DailyBuild
$arrAssemblies = @( "Microsoft.TeamFoundation.Client", "Microsoft.TeamFoundation.Common", "Microsoft.TeamFoundation.Build.Client", "Microsoft.TeamFoundation.Build.Workflow", "Microsoft.TeamFoundation.VersionControl.Client" ) Foreach ($assembly in $arrAssemblies) { [void][Reflection.Assembly]::LoadWithPartialName($assembly) } Remove-Variable assembly, arrAssemblies Function Queue-TFSBuild { [CmdLetBinding()] Param ( [Uri]$TFSServer, [String]$Project, [String]$Definition ) Process { [Microsoft.TeamFoundation.Client.TfsTeamProjectCollection]$tfsc = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($TFSServer) $IBS = [Microsoft.TeamFoundation.Build.Client.IBuildServer] [Microsoft.TeamFoundation.Build.Client.IBuildServer] $buildserver = $tfsc.GetService($IBS) [Microsoft.TeamFoundation.Build.Client.IBuildDefinition] $BuildDef = $buildserver.GetBuildDefinition($Project,$Definition) [Microsoft.TeamFoundation.Build.Client.IBuildRequest] $BuildReq = $BuildDef.CreateBuildRequest(); $buildserver.QueueBuild($BuildReq) } }
Flashing eeprom during imaging via PXE
I had a requirement to flash the eeprom on a FTDI chip while dropping a clonezilla image onto the system which is done via a PXE server
The 1st thing we need to do is get ftdi_eeprom tools on the clonezilla image, we do this by setting up an ubuntu system (I used ubuntu 12.04)
apt-get install squashfs-tools unzip wget -O Clonezilla-2.1.2-20_amd64.zip http://downloads.sourceforge.net/project/clonezilla/clonezilla_live_stable/2.1.2-20/clonezilla-live-2.1.2-20-amd64.zip?r=http%3A%2F%2Fclonezilla.org%2Fdownloads%2Fdownload.php%3Fbranch%3Dstable&ts=1373475093&use_mirror=heanet mkdir clonezilla-src clonezilla-sqfs cd clonezilla-src unzip ../Clonezilla-2.1.2-20_amd64.zip cd ../clonezilla-sqfs unsquashfs ../clonezilla-src/live/filesystem.squashfs cd squashfs-root/root wget http://ftp.de.debian.org/debian/pool/main/f/ftdi-eeprom/ftdi-eeprom_0.3-2_amd64.deb wget http://ftp.de.debian.org/debian/pool/main/c/confuse/libconfuse0_2.7-4_amd64.deb wget http://ftp.de.debian.org/debian/pool/main/c/confuse/libconfuse-common_2.7-4_all.deb rm *.deb chroot ~/clonezilla-sqfs/squashfs-root cd root dpkg -i libconfuse-common_2.7-4_all.deb dpkg -i libconfuse0_2.7-4_amd64.deb dpkg -i ftdi-eeprom_0.3-2_amd64.deb cat > ./eeprom.conf <<@ vendor_id=0x0403 product_id=0x6001 manufacturer="ME" product="XXXXX" serial="FTABC123" @ exit cd ~/clonezilla-sqfs mksquashfs squashfs-root filesystem.squashfs -comp xz -Xbcj x86 -b 1024k
Replace the Fields above with the values you want to use most important is the two _id fields as they tell ftdi_eeprom which device to attempt to flash, you can get these by running the command “lsusb” and identifying the device.
Copy the file “filesystem.squashfs” that has just been created and overwrite the one on the PXE server used to deploy the image. When you next PXE boot the target machines you will find ftdi_eeprom is available to use.
Now during the deployment run the command
ftdi_eeprom –flash-eeprom /root/eeprom.conf
Get Numeric Values from an Enum in powershell
I needed to get the values for a enum in order to generate the correct flags for a function call here’s how to do it.
[Enum]::GetValues(
[Enum]::GetValues([Microsoft.TeamFoundation.Build.Client.BuildStatus]) | foreach { $Name = $_ $Value = ([Microsoft.TeamFoundation.Build.Client.BuildStatus]::$_).value__ Write-Output "$Name = $Value" }
SCCM CDP to WMI version 0.0.0.3 out
Sorry for the lack of progress until recently but I’ve recently had a lot of more important priorities in life so working on this had to go on hold for a little while. I am hoping in the next few months to release version 1.0 but as on now this is still experimental so should only be used in a lab environment.
Please use the ticketing system on sourceforge to report any issues and add feature requests.
You can get it here: http://sourceforge.net/projects/cdptowmi/
ToDo:
See here: https://sourceforge.net/p/cdptowmi/wiki/ToDo%20List/ (work in progress)
TFS Warehouse Cube Status via SOAP and Powershell
Well I’ve just been put in charge of managing our TFS infrastructure so here is the first of hopefully many posts around automating and managing TFS.
The attached script runs a SOAP query against the TFS Warehouse Cube and returns the jobs and their status and then either generates an HTML file or sends an HTML email with the results.
I recommend creating a directory called Scripts on the C:\ drive and setting the permissions so that only the System Administrator & User the script runs as can access the contents of the directory.
Setting & Getting AD Properties during SCCM OSD Task sequence
This is a script I wrote over a year ago but have only just rediscovered, I can’t remember if it works / or if I ever used it in production. But hopefully will be of use to someone (assuming it works).
If anyone tries it please respond and let me know how worked / any issues you had.