Posts

Showing posts from October, 2016

Let's talk about Nano baby!

Just watched a demo of a Windows Server 2016 Nano vm deployment using PowerShell by one of our very own DevOps Dudes (Si - you da man)...and it rocked! I absolutely love the idea of Nano and to see it up an running within a few minutes with a few lines of Posh code...well, let's just say the brain was on fire! If you haven't looked into Nano yet, you might want to take a look at Channel 9's dedicated channel:  https://channel9.msdn.com/Series/Nano-Server-Team This is the future dudes and dudettes!

CredSSP...say what?

Image
I'm working on a DSC configuration for SQL Server Reporting Services and it is quite a simple configuration with very few required resources. However, one of the resources (xSQLServerRSConfig) does something rather odd in it's Set-TargetResource function - it uses Invoke-Command to loop back to the same server and specifies the -Authentication parameter as CredSSP. Now up until the other day I had no idea what CredSSP was and the exception that was raised by the LCM was rather new to me: After spending ages trying to learn what the CredSSP protocol is and why someone would use it (see  https://4sysops.com/archives/using-credssp-for-second-hop-powershell-remoting/  and  https://technet.microsoft.com/en-us/library/hh849872.aspx  ) I decided to check for a DSC resource to enable it...and there is one, xCredSSP . Happy days! Then came the joy and agony of seeing DSC in action. Joy because the resource is so simple to configure: xCredSSP Client { E...

Getting to grips with Git

Image
If you are new to version control or have grown up using something other than Git (like TFS) then this video Build Conference video is going to help a lot! Be warned, there are some very important conceptual differences between Git and TFS, so watch it dude! (or dudette :-)

Who Ate All The Disk Space? (Yeah, It Was BizTalk)

This post is for newbie BizTalk users who have installed their environment using the Next, Next, Finish approach. Today you have your shiny new development sandbox* with a nice chunk of disk space. Tomorrow you will have slightly less disk space. Next week a little less still. In a month, no disk space. This will be a bad place to be. There are a number of things that eat up disk space in the world of BizTalk: BizTalk uses a number of SQL Server databases at its heart. These databases are NOT backed up by default and you should NOT use database maintenance plans or third party backup software to back them up. You'll see why in a minute. BizTalk normally reads messages, processes them, delivers them and then deletes them. It keeps the databases surprisingly small. However if your BizTalk solutions have issues the messages will be "Suspended" which means "saved to the database until the problem is fixed". At this point your database is now growing. BizTalk...

Stuff about SCVMM Templates

Revisiting previous code projects can be an exercise in hair-pulling. For example, in my previous blog post I mentioned creating a VM deployment script. Due to some issues with binaries, the need to revisit the code has come up recently, to add an option for creating VMs with a GUI, rather than as Core. The code worked when it was just dealing with one choice, but adding a very simple -InstallGui switch turned out to be a little more complex than originally thought. Constant errors stating the following were the main contention: New-SCVMTemplate : VMM is unable to process one or more of the provided cmdlet parameters. (Error ID: 1600) Needless to say, this is a bit non-specific! After a lot of frantic searching of blog posts and whatnot, and complete inability to find a relevant fix, I decided to scrape through the code and remove parameters one by one. Eventually, the Template parameter seemed to show up as a potential problem. Hmm. Inspecting the template I was intending...

What's up with my Config dude?

Image
When you want to know the current configuration of a DSC node you use the very aptly named Get-DscConfiguration cmdlet like so: PS C:\>Get-DscConfiguration -CimSession $target_node This cmdlet will execute the Get-TargetResource function for every configured resource on the node and return details on its current state like so: And life is good until you add a new resource to your configuration, push it to the target node and run the cmdlet again, only to be faced with an ugly exception like this: I know what you're thinking, "say whaaaat!!". You just want to see what the current config is and because of one dodgy resource you can't see anything - that sucks. However, the solution is quite simple. The words that stand out are key is not a valid property in the corresponding DSC resource schema file . The preceding word (AvailabilityGroupNameDatabase in this case) is the property that the resource Get-TargetResource function is ...

On learning new skills...

I'm your typical infrastructure guy - design the platform, run through the installers, use PowerShell to do post-setup and admin tasks, maybe script something to make a boring job easier - you know the drill. This DevOps thing is kinda cool to see working, but how does that fit in with the way I'm trying to do in my projects? As it happens, it fits in really, really well. We already use Agile methods in our project delivery team, and the Ops team have just adopted Scrum as well. The DevOps mindset isn't terribly difficult to adopt when you're already used to delivering small improvements often. What is different about all of this is, for me anyway, is the Dev part of DevOps. I've had my PowerShell knowledge tested and expanded whilst working with this - first, by writing a deployment function to take what System Center Virtual Machine Manager does and making it fit into our deployment requirements and under source control; secondly, working on the SharePoint...

Do you know what a Paradigm Shift is?

Well, it'll take you 5 seconds to google it but here you go: Paradigm Shift: a fundamental change in approach or underlying assumptions. The first time I encountered that phrase was with the release of Visual Studio Team Edition for Database Professionals. This excellent VS add-in was the very first tool that enabled SQL developers and DBAs to put their database schemas under source control using an integrated development environment and to validate the schema before deploying it to a server! This was something that application developers had been working with for ages and provided the opportunity for the database to join all stages of the software development life-cycle. The problem however, was that SQL developers and DBAs were not accustomed to using source control, to 'compiling' their code or to 'kicking off a build'. What was needed was a radical some significant upskilling and a complete change of mindset - they needed to start thinking like application de...