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 contributor to the German TechNet forum and an experienced user group and conference speaker. He is a Cloud and Datacenter Management MVP since 2020.

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. Er ist Microsoft MVP für Cloud and Datacenter Management seit 2020.

Current sessions

Disposable IT - radically prepared for the next attack EN DE

In this our age of ransomware and advanced persistent threats, the conventional disaster recovery plans based on backup and restore often fall short of the expectations. At the end of the (very disastrous) day, many organisations are forced to rebuild from scratch.
In this talk, I will introduce a concept of "disposable IT" which helps rethink disaster recovery and make your IT processes and infrastructure more resilient against disasters both natural and digital.

Die Wegwerf-IT - die radikale Vorbereitung auf den nächsten Angriff EN DE

In unserem von Ransomware und Advanced Persistent Threats geprägten Zeitalter sind herkömmliche Disaster Recovery-Pläne, die auf Backup-Techniken basieren, oft nicht gut genug. An Ende des Tages sind Organisationen doch gezwungen, ihre Infrastrukturen neu aufzubauen - unter Verlust von Zeit, Arbeitsleistung und Zustimmung der Nutzer.
Ich werde in diesem Talk das Konzept der "Wegwerf-IT" vorstellen, welches hilft, Disaster Recovery neu zu denken und die IT widerstandsfähiger zu gestalten - sei es gegen natürliche oder digitale Bedrohungen.

XPCM: Ein neuer Ansatz zur Cross-Plattform-Verwaltung von Secrets DE EN

Jedes Script, das auf einer Vielzahl von Systemen ausgeführt werden muss, aber authentifizierte Verbindungen zu externen Ressourcen benötigt, steht vor der Aufgabe, Credentials, API-Keys oder andere Secrets zu speichern. Diese Aufgabe ist nicht trivial und vermutlich nicht "100% sicher und elegant" lösbar.
Das Secret(s)Management-Modul liefert eine interessante Grundlage, leidet jedoch unter den gleichen Problemen wie die herkömmlichen Ansätze.
Mit XPCM biete ich einen anderen Ansatz für die Cross-Platform-Verwaltung von Secrets, der viele der bekannten Probleme umschifft. Da XPCM keine Abhängigkeiten hat, ist die Integration der Secrets-Verwaltung für alle PowerShell-Versionen von 2 bis 7 auf allen Plattformen möglich.
In diesem Talk stelle ich XPCM vor und erzähle, welche unerwarteten Herausforderungen sich bei seiner Entwicklung gezeigt haben.

Revenge of the Devs - The operational ROI of moving to PowerShell 7 EN

PowerShell 6 and 7, a.k.a. PowerShell Core, has introduced many exciting features - from the developers' point of view - while still lagging behind Windows PowerShell's in terms of maintainability and security, at least in the Windows part of the world. The latter concerns are often brushed aside in community discussions in spite of being still valid, operations-wise.
In this talk I will identify some of the use cases where moving to PowerShell vNext "all the way" is indeed feasible. For the rest, I will offer an estimate of "operational ROI" of such an initiative and also some practical advice on peaceful coexistence between PowerShell and Windows PowerShell in a common DevOps environment.

Basic Toolmaking - robust scripting for unattended execution EN

In this talk, we will look at the challenges of scripting where the user in front of the console cannot react to unforeseen events such as exceptions or systems being unreachable at execution time. As an enterprise scripter, it's your responsibility to make your script robust enough that they execute correctly every time and do not wreak havoc if some of the conditions at execution time are not as you (and everybody else) assumed they would be.

Basic Toolmaking - reducing dependencies for portable scripting EN

In this Level 200 talk I will demonstrate several techniques to make your scripts 'drop & run' by reducing dependencies both on external code and on the environment the scripts run in.

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.

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.

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.

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.

XPCM - A new approach to cross-platform secrets management DE EN

If you ever have written a script that must run on a variety of systems but needs to connect to external resources using the same set of credentials, you probably know the pain of providing those credentials to the script in a secure, portable and cross-platform way. The Secret(s)Management module from Microsoft goes a long way towards achieving that goal but it’s not yet fully there, and the plug-in for connecting to a secrets vault of your choice may or may not be available for all OS platforms your script has to run on. With the XPCM module (there are actually two of them) I am providing an alternate approach to storing and retrieving secrets that can usually be implemented with zero maintenance on the endpoint running the script, even if the secret (i.e. password) changes on a regular basis.
The objective is to provide an identical experience on Windows and Linux (which, in theory, should cover MacOS as well), for every version of PowerShell that can be found on a supported system (2.0 through 5.1 and 6.0 through 7.1). In this talk I will present the rationale behind developing XPCM, the overall concept behind it and some of the unexpected hurdles I have encountered while creating and refining it.

Past and future events

psconf.eu 2020

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