Evgenij Smirnov

Information & Communications Technology

PowerShell automation Security scripting Microsoft Exchange Active Directory Migration VMware

Berlin, Germany

Evgenij Smirnov


Evgenij has been working with computers since the age of 5 and delivering IT solutions for the best part of the last 25 years. His Active Directory and Exchange background naturally led to PowerShell, of which he's been an avid user and proponent since its first release.
Evgenij is an active community lead at home in Berlin, a leading contrinutor to the German TechNet forum and an experienced user group and conference speaker.

Evgenij Smirnov


Evgenij ist ein IT-Industrie-Veteran mit mehr als 25 Jahren Erfahrung im Gepäck. Seine Expertise liegt primär in den Microsoft- und VMware-Technologien. Die Beschäftigung mit Active Directory und Exchange führte zu PowerShell, und diese Technologie ist aus Evgenijs Blogbeiträgen, Artikeln und Konferenz-Vorträgen seit vielen Jahren nicht mehr wegzudenken.
Evgenij ist aktiv im TechNet-Forum sowie in den Offline-Communities: Er ist Group Lead für drei offizielle Microsoft User Groups in Berlin.

Current sessions

Beyond lab: Gathering data from real-world scale sources (Short Version) EN

This is a compressed version of the two-part real-world data gathering workshop. We will look at some epic failures of scripts that look OK and work well in a small environment, then explore some routes of action to deal with huge amounts of data coming in from real-world scale sources like Active Directory, SQL or log stash.

This is not (primarily) about PowerShell multi-threading but rather about really knowing the idiosyncrasies of data sources like Active Directory or IoT streams and scripting practices that allow for mitigating those from the very beginning.

Making real world music with PowerShell EN

While PowerShell by no means is a real-time environment, as has been shown by Jakob last year, it can be used to automate even such time-sensitive tasks as playing music. And given PowerShell's unparalleled ability to accesss information from various sources, we can use it to do even more than just play sheet music. Let's compose some Twitter music on the fly or apply harmonies to IT system health. Come to this talk for some sonorous fun!

This session will involve audio not produced by the presentation laptop so either an additional Line-In or an additional microphone (including a mic stand) will be needed on stage.

Beyond lab: Gathering data from real-world scale sources (Part 1) EN

Scripts that access external data sources - flat files, Active Directory, IoT streams or relational databases - usually do so very well in the lab but will fail or take aeons to complete when facing real world scale. In this session, we explore information gathering techniques for large scale infrastructure data and produce recipes for your everyday automation.
In Part One we shall look at Active Directory, VMware vSphere and SQL, with an aside to SQLite.

This is a more workshoppy version of the Real-World Scale talk, with much more audience interaction intended.

Beyond lab: Gathering data from real-world scale sources (Part 2) EN

Scripts that access external data sources - flat files, directories, databases or the Internet - usually do so very well in the lab but will often fail or take aeons to complete when facing real world scale. In this session, we explore information gathering techniques for large scale infrastructure data and produce recipes for your everyday automation.
In Part Two, we shall look more closely at file systems and flat structured data files, Internet resources, Event Logs and IoT data streams.

Part Two can, but need not necessarily be scheduled after Part One, should the selection committee decide to accept both parts. There is a compressed version of this talk which I also submitted.

A poor man's scripting factory, or Surviving as a modern Ops without a Dev budget EN DE

Writing PowerShell Scripts is easy, fun and extremely useful for lightening Ops' everyday chores. But keeping track of all the different versions, revisions and variants can become a very tedios task in itself - the more so, the more advanced your scripting skills have become.
In this session, I will showcase some free and/open source tools that will allow you to stay on top of your daily growing scripting zoo - even if you haven't got a budget, or a management buy-in, for your automation endeavours.

This is a strictly on-prem story, not involving Azure DevOps or any other cloud based CI/CD pipeline provider. Even more so as I usually consult in environments where Internet access is strictly regulated and Internet access from servers unheard of. Still, with very little effort, some compute ressources and absolutely no monetary budget, you'll be able to create a working 'scripting factory' and get back control over code and its delivery within your Ops organization.

IPv6 and the enterprise scripter EN

The last public IPv4 addresses were allocated by the RIPE-NCC on the 25th Nov 2019. This is certain to speed up (or rekindle) discussion in many organizations about moving into the IPv6 address space. Are you prepared for this?
Maybe you Like to think that the ensuing changes mostly affect netwoking people. Well, think again. The move to IPv6 changes many of the infrastructure management paradigms, and so your scripting practice probably will have to change as well - starting with validation routines and all the way to having to support 4-to-6 transition technologies.

After this session, you'll know what parts of your scripts, modules and environments to look at in regard to IPv6, where the pitfalls lie and what you can do about it.

Going native: A non-developer's tale EN

The integrative power of PowerShell wouldn't be what it has become if it weren't for its ability to incorporate native APIs. Not all of them, however, have been designed in a way that makes immersion of native functionality into your PowerShell scripts and modules easy.
Not a developer myself, I invite fellow non-devs to join me on a journey towards successful integration of select Windows APIs into PowerShell - including obstacles I met along the way and recipes on how to overcome those.
After this talk, you will be more prepared to extend your PowerShell-fu towards native platform functionality and hopefully forewarned about some pitfalls to avoid and appropriate moments to give up and look for other ways.

PowerShell practices we can learn from Exchange EN

Exchange was a saviour to PowerShell's cause at least once. Arguably *the* Microsoft product with the best adoption and deepest integration of PowerShell, Exchange has also led many of our fellow PowerShellers to learning and better understanding the language.
In this session, we will look at some common PowerShell challenges presented by Exchange administration - on-prem and in the Cloud - which, if mastered properly, enable you to develop more robust scripting practices.
After this talk, you will be able to evaluate and maybe improve your scripting habits in regard to
- remoting
- unwrapping complex objects
- working with infrastructure data in time-lagged scenarios
- configuration management and portability.
This session does not target the hardcore Exchange administrators but rather fellow infrastructure admins that have some (very little is enough) Exchange experience. Knowing what an email is helps :-)

I have logging in all my scripts. What now? EN

Everybody will agree that any script worth executing needs logging of some kind. In fact, many organisations require that logging be implemented in any script that gets to run in production.
This session is not going to be about *how* script logging can and should be done. Instead, we will look at what the logging is supposed to be for and how to actually extract the most value from it.
The answers to those questions will naturally lead to reevaluating some of the logging practices that have been common among us scripters for a very long time. Or maybe they won't, but the decision to keep things as they are will be a better-informed one.

A poor man's scripting factory: Als Ops ohne Dev-Budget überleben EN DE

In Ops werden heutzutage Skripte, DSC-Ressourcen, Konfigurationsbeschreibungen und anderer Code in großen Mengen produziert, auf Systeme verteilt und ausgeführt. Wohl dem, der in einer DevOps-freundlichen Umgebung unterwegs ist, die Tools, Prozesse und Know-How im Umgang mit Code bereits aus der Dev-Praxis vorhält. Doch was, wenn nicht?
In dieser Session zeige ich, wie man mit einfachen und weitgehend kostenlosen Mitteln die Scripting-Prozesse in Ops ordnet, optimiert und gegen menschliche Fehler absichert - ausschließlich on-prem und mit kostenlosen Basisprodukten. So können qualitätsbewusste Ops "unter dem Radar" eine verlässliche Lifecycle-Infrastruktur für Code aufbauen und den Erfolg nachweisen, bevor man an das Management herantritt, um diese zum Standard erheben zu lassen.

Past and future events

psconf.eu 2020

1 Jun 2020 - 4 Jun 2020
Hannover, Lower Saxony, Germany