Whenever I work with Active Directory and I want to use pretty complex LDAP Filter to search for objects I’m after I’m tempted to use line break here and there to make whole thing easier on eyes of future reviewer (even if the only person to read the code is me “few weeks later”).
If you use –split as often as I do you probably had occasional issue with understanding why certain splits work as expected, and some produce results different from what you anticipated. Recently one of MVPs, Oisin Grehan, shed some light on the reason why this is the case. I thought it might be worth sharing in case you’ve had this issue and you are pulling your hair trying to figure out what’s going on.
This is sixth and final part of the series. You can find outline of the whole series here. We already have OMI server up, running and accessible from outside and we have test Lin_Process implemented on it, with several properties and single method: Kill. Today we will build our own CDXML-based module that will surround remote CIM calls in cmdlet-like functions. This package won’t be auto-generated, I had no luck finding procedure to do that (truth be told: I haven’t tried hard and wanted to learn CDXML concepts anyway). We move back to PowerShell than…
This is fifth part of the series. You can find outline of the whole series here. We already have OMI server up, running and accessible from outside and we have Lin_Process class implemented, with two properties: PID and cmdline. Today we will extend our schema to few other properties and we will add a method to it. Unfortunately, it means more amateur C++ code, but also more fun and information retrieved remotely from our test, CentOS box.
This is fourth part of the series. You can find outline of the whole series here. We already have OMI server up, running and accessible from outside and we have test class implemented on it. Time to create something useful. We start with processes because they are objects very convenient for demo purposes. Normally we would create class that is based on existing one, e.g. CIM_UnixProcess. But before we do it right, we will try to create something that at least works and does what we need. Why? Well, if you look at CIM_UnixProcess schema you will find plenty of keys there, not to mention other properties that would require values at certain point. We will come back to this later, when we know what those values should be.
This is third part of the series. You can find outline of the whole series here. We already have OMI server up and running, but so far it’s not accessible from outside. Our plan is to perform operations inside PowerShell, so remote access is necessary. Next, we will create static, example provider and try to access data from it remotely. Once we understand some basic concepts and code structure – we will be able to start implementing something for real.
This is second part of the series, first one that actually explains anything. You can find outline of the whole series here. Before we start to play with Open Management Infrastructure (OMI) on Linux box we need to have two things: Linux box (obviously) and OMI installed on it (tell me something I don’t know!) First part is easy these days, so I will mention it briefly. Next part is also very natural to anybody who installed anything on Linux (outside of “normal” packaging mechanism, that – to me knowledge – is not supported for OMI yet). Finally we will change our system to run OMI server every time we boot. My way is probably far from best practices for Linux, so feel free to jump in and correct me there.
This is 1st part of series of blog posts related to my recent work with Linux and Open Management Infrastructure (OMI). I will have pretty long talk on DAL concept next week and while preparing for it I decided that I need something to demo OMI on. In the perfect world I would take shining new Cisco Nexus (one of models that have OMI as an option) or one of Arista gears (with same prerequisite) and demo it there. There were two pain points in this approach: I have no modern switches lying around at my home/ work was major one. Minor one? It would be pretty hard to take it with me to the presentation. If you compare physical device and virtual machine running on a laptop it’s kind of no-brainer witch one you should pick, right?
Today something very simple, basic and hardly clever. I’m blogging about it only because I couldn’t find any resource that would help me with doing that directly from PowerShell. I tried to do that in smarter way, but so far failed. If you know a better way than this one – please don’t hesitate and share your knowledge with me (and others)
To the point: last few days I’m working on a larger script that should help AD team to fix orphaned admin accounts. While testing I needed a way to trigger SDProp at will, as described in this article.
I must say it feels like it was ages ago when we started games, but we are almost at the finish line. I have no idea who is going to win the whole thing, but I have few candidates in mind that did wonderful job and quite frankly: I was learning from them, not other way around. Looks like I’m getting rusty with whole this “scripting” thing.