-
Notifications
You must be signed in to change notification settings - Fork 42
/
sessions.json
1202 lines (1202 loc) · 98.8 KB
/
sessions.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[
{
"Name": "Registration",
"Starts": "06/04/2019 08:00",
"Ends": "06/04/2019 09:00",
"Track": "",
"Description": "Check in at our friendly registration desks! All you need is your name and your registration ID (invoice number). You\u0027ll receive your conference materials and badge, grab a coffee, and find a seat in the big Leibniz Hall. May the Games begin!",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Opening Ceremony",
"Starts": "06/04/2019 09:00",
"Ends": "06/04/2019 09:40",
"Track": "Track 1",
"Description": "In our Opening Ceremony, we welcome our PowerShell Gladiators and our delegates from 35 countries and kick off this conference. You\u0027ll get a quick orientation of what to expect and how to make the most of it.",
"Speaker": "Tobias Weltner",
"Company": "ISESteroids",
"Twitter": "tobiaspsp"
},
{
"Name": "State of the Shell 2019 (Keynote)",
"Starts": "06/04/2019 09:40",
"Ends": "06/04/2019 10:40",
"Track": "",
"Description": "It’s 2019 and PowerShell has never been more important. This session tells the story of how the PowerShell team, once again, invested ahead of conventional wisdom by developing PowerShell Core, an open source, heterogeneous, cloud-focused version. This session will also discuss PowerShell V7. Shipping in Windows, it is poised to become the full replacement for Windows PowerShell.",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Coffee Break",
"Starts": "06/04/2019 10:40",
"Ends": "06/04/2019 11:00",
"Track": "",
"Description": "grab a coffee, get some fresh air, and prepare to find your way to the other session rooms.",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Around 15 can\u0027t miss commands in dbatools 1.0",
"Starts": "06/04/2019 11:00",
"Ends": "06/04/2019 12:00",
"Track": "Track 2",
"Description": " From finding all of your SQL Server instances to masking your data to supporting very large database (VLDB) migrations, we\u0027ve had some lofty goals for dbatools 1.0. In this session, you\u0027ll learn about the must-haves the team wanted to include before going RTM after five long years. ",
"Speaker": "Chrissy LeMaire",
"Company": "NATO Special Ops HQ",
"Twitter": "cl"
},
{
"Name": "Improving Performance by Reducing Memory Allocations",
"Starts": "06/04/2019 11:00",
"Ends": "06/04/2019 12:00",
"Track": "Track 3",
"Description": "This session begins with an overview of how a program manages memory, to give a background before diving into JsonObject.cs. This is where the underpinnings of ConvertFrom-Json and Invoke-RestMethod are implemented. Using dotMemory, a memory profiler from JetBrains, we will profile the memory allocations of PowerShell when running this code and iterate on it to improve its performance. Different common pitfalls and unfortunate patterns will be identified, and step by step the code will be made leaner and meaner. PowerShell as a language is only visible sparsely as the focus here is on the C# code that PowerShell is implemented in. However, knowledge if C# is not necessary to be able to follow along, since the concepts are very similar to classes in PowerShell. This session is suited for delegates wanting to understand more of the underpinnings of PowerShell. It also shows that there is no magic involved, and hopefully inspires delegates to try doing their own performance investigations.",
"Speaker": "Staffan Gustafsson",
"Company": "Dice",
"Twitter": "StaffanGson"
},
{
"Name": "Show me all your Passwords...",
"Starts": "06/04/2019 11:00",
"Ends": "06/04/2019 12:00",
"Track": "Track 1",
"Description": "When it comes to passwords, we all have bad habits, let\u0027s admit it. And I know some of yours... In this session, we will see how bad we really are, and see how a few lines of PowerShell can help an attacker find passwords all over the place, or help a defender find them before the attacker does... You, Your Passwords, and some PowerShell One-liners... When it comes to passwords, we all have bad habits, let\u0027s admit it. And I know some of yours... In this session, we will see how bad we really are, and see how a few lines of PowerShell can help an attacker find passwords all over the place, or help a defender find them before the attacker does... This security flavored session will give us the opportunity to remind some best practices when it comes to dealing with passwords, but mostly be a pretext to have a look at some PowerShell code and various techniques that can be used to find passwords on a system. If you use passwords, this session is aimed at you...",
"Speaker": "Walter Legowski",
"Company": "",
"Twitter": "sadprocessor"
},
{
"Name": "Lunch Break",
"Starts": "06/04/2019 12:00",
"Ends": "06/04/2019 13:00",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Breakout Session: RFCs and how to participate in PowerShell development",
"Starts": "06/04/2019 12:25",
"Ends": "06/04/2019 13:00",
"Track": "Track 2",
"Description": "PowerShell development has never been as open and inviting as today. PowerShell is open-source, and you can actively participate in shaping its future. In this breakout session, we introduce to you ways of collaboration, explain what RFCs are, and discuss a couple of RFCs such as the plan to introduce foreach-parallel into PowerShell vNext.",
"Speaker": "Steve Lee",
"Company": "PowerShell Team",
"Twitter": "Steve_MSFT"
},
{
"Name": "Breakout Session: RFCs and how to participate in PowerShell development",
"Starts": "06/04/2019 12:25",
"Ends": "06/04/2019 13:00",
"Track": "Track 2",
"Description": "PowerShell development has never been as open and inviting as today. PowerShell is open-source, and you can actively participate in shaping its future. In this breakout session, we introduce to you ways of collaboration, explain what RFCs are, and discuss a couple of RFCs such as the plan to introduce foreach-parallel into PowerShell vNext.",
"Speaker": "Paul Higinbotham",
"Company": "Microsoft",
"Twitter": "pshdev"
},
{
"Name": "Breakout Session: RFCs and how to participate in PowerShell development",
"Starts": "06/04/2019 12:25",
"Ends": "06/04/2019 13:00",
"Track": "Track 2",
"Description": "PowerShell development has never been as open and inviting as today. PowerShell is open-source, and you can actively participate in shaping its future. In this breakout session, we introduce to you ways of collaboration, explain what RFCs are, and discuss a couple of RFCs such as the plan to introduce foreach-parallel into PowerShell vNext.",
"Speaker": "Tobias Weltner",
"Company": "ISESteroids",
"Twitter": "tobiaspsp"
},
{
"Name": "PSCore6.2 and the Future of PowerShell",
"Starts": "06/04/2019 13:00",
"Ends": "06/04/2019 14:00",
"Track": "Track 1",
"Description": "PowerShell Core 6.2 enables automation in a consistent way for heterogenous environments. This talk will cover some of the new capabilities in PSCore6.2, highlights from the community, and lessons learned from this Open Source project. In addition, we’ll discuss future direction of PSCore6.3+.",
"Speaker": "Joey Aiello",
"Company": "PowerShell Team",
"Twitter": "joeyaiello"
},
{
"Name": "Pester internals and concepts",
"Starts": "06/04/2019 13:00",
"Ends": "06/04/2019 14:00",
"Track": "Track 2",
"Description": "Pester is a seemingly simple module, but internally a lot of cool stuff is happening to make everything look seamless. In this session I will focus on scoping - the invisible part of Pester that allows it to lookup module internal functions, inject mocks into your modules, make sure variables are only available where they should be, and do other kinds of cool stuff. Then I will look at few new features of Pester v5, such as test discovery, the new architecture, improved result object and internal Plugins. And of course I will describe how all of them work.\"",
"Speaker": "Jakub Jareš",
"Company": "CN Group s.r.o. ",
"Twitter": "nohwnd"
},
{
"Name": "PSCore6.2 and the Future of PowerShell",
"Starts": "06/04/2019 13:00",
"Ends": "06/04/2019 14:00",
"Track": "Track 1",
"Description": "PowerShell Core 6.2 enables automation in a consistent way for heterogenous environments. This talk will cover some of the new capabilities in PSCore6.2, highlights from the community, and lessons learned from this Open Source project. In addition, we’ll discuss future direction of PSCore6.3+.",
"Speaker": "Steve Lee",
"Company": "PowerShell Team",
"Twitter": "Steve_MSFT"
},
{
"Name": "Supercharge your command line productivity with PSReadLine",
"Starts": "06/04/2019 13:00",
"Ends": "06/04/2019 14:00",
"Track": "Track 3",
"Description": "When you visit this session, you will learn how to use PSReadLine effectively to reduce your keystroke count when working from the command line. You probably know that PSReadLine gives you syntax highlighting and history searching, but in this session I\u0027ll show how you some advanced multi-line editing techniques as well as how you can run PowerShell scriptblocks against your command line input to really supercharge your productivity. PSReadLine is probably one of the most underused modules that have shipped with PowerShell since v5.0. A lot of people are aware of history searching and syntax highlighting, but this session will show the true strength of PSReadLine. We will see how you can use PowerShell script blocks to run actions against, and modify the current input to the command line via key handlers and the PSConsoleReadLine object, as well as some handy tips and tricks to make using the command line a much more productive experience.",
"Speaker": "Anthony Allen",
"Company": "Snow Software",
"Twitter": "psadm"
},
{
"Name": "Coffee Break",
"Starts": "06/04/2019 14:00",
"Ends": "06/04/2019 14:15",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Malicious Payloads vs Deep Visibility: A PowerShell Story",
"Starts": "06/04/2019 14:15",
"Ends": "06/04/2019 15:15",
"Track": "Track 1",
"Description": "PowerShell has surged in popularity for automation enthusiasts \u0026 malware authors alike. Come experience a technical buffet of in-the-wild malicious PowerShell payloads from 4+ years of Incident Responses \u0026 see why PowerShell’s defensive visibility is now driving many attackers away from PowerShell. For over a decade PowerShell has empowered administrators, DevOps practitioners and automation enthusiasts to accomplish significant tasks with relative ease. However, malicious threat actors have also harnessed PowerShell’s capabilities by writing extensive offensive tools and frameworks in PowerShell. The PowerShell team has countered these malicious trends with adding numerous defensive enhancements to PowerShell including extremely deep logging visibility (like ScriptBlock, Module and Transcription logging) as well as blocking capabilities and interfaces like the AntiMalware Scan Interface (AMSI). This talk draws from over four years of Incident Response experience to lay out a technical buffet of in-the-wild malicious PowerShell payloads and techniques. In addition to diving deep into the mechanics of each malicious example, this presentation will highlight forensic artifacts, detection approaches and the deep visibility that the latest versions of PowerShell provides security practitioners to defend their organizations against the latest attacks that utilize PowerShell. So if you are new to security or just want to learn about how attackers have used PowerShell in their attacks, then this talk is for you. If you want to see what obfuscated and multi-stage, evasive PowerShell-based attacks look like under the microscope of PowerShell deep inspection capabilities, this talk is for you. And if you want to see why these security advancements to PowerShell are causing many attackers to shift their tradecraft development away from PowerShell, this talk is for you.",
"Speaker": "Daniel Bohannon",
"Company": "MANDIANT/FireEye",
"Twitter": "danielhbohannon"
},
{
"Name": "PDF Hacks with PowerShell",
"Starts": "06/04/2019 14:15",
"Ends": "06/04/2019 15:15",
"Track": "Track 3",
"Description": "When you visit this session, you will be able to manipulate content from PDF documents and manage PDF manipulation directly from PowerShell. Do you work with PDFs on a regular basis and want to automate your processes with PowerShell? Then this talk is right for you. You will learn how to create and manipulate PDF files in PowerShell with the .NET PDF library iTextSharp and we will cover a range of PDF functionality with PowerShell Do you work with PDFs on a regular basis and want to automate your processes with PowerShell? If you think that PDFs are slow to load, slow to print, unsearchable and that you cannot cut and paste from a PDF with PowerShell then this talk is right for you. After this, you will learn how to create and manipulate PDF files in PowerShell with the free .NET PDF library iTextSharp. We will cover a range of PDF functionality with PowerShell, from the simple to the more complexe.",
"Speaker": "Christian Imhorst",
"Company": "BSH Hausgeräte GmbH",
"Twitter": "datenteiler"
},
{
"Name": "Creating and managing AWS Infrastructure with PowerShell",
"Starts": "06/04/2019 14:15",
"Ends": "06/04/2019 15:15",
"Track": "Track 2",
"Description": "In this session we will present a deep dive into techniques and services to create and manage AWS cloud infrastructure. We will demonstrate using just the AWS Tools for PowerShell as well as cover approaches using PowerShell in conjunction with other AWS services and technologies such as Systems Manager, CloudFormation and Serverless approaches. Once created, we will also discuss and demonstrate options and best practices for monitoring your infrastructure.",
"Speaker": "Martin Beeby",
"Company": "Amazon",
"Twitter": "thebeebs"
},
{
"Name": "Coffee Break",
"Starts": "06/04/2019 15:15",
"Ends": "06/04/2019 15:30",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Generating infrastructure documentation (Word, Excel, SQL) for IT",
"Starts": "06/04/2019 15:30",
"Ends": "06/04/2019 16:30",
"Track": "Track 3",
"Description": "Documentation in IT is a single most neglected topic in almost all companies. And even if documentation exists it’s heavily outdated. What if you could create AD, Exchange and Office 365 documentation that is always up to date? Delivered to your file share, email on weekly basis? This talk is based on PSWinDocumentation module which is the module I’ve created. When I created documentation for my systems I noticed that it never survived the test of time. After a few weeks, months it was always outdated. Things changed, few things happened and updating it over and over again was just too time-consuming. PSWinDocumentation (https://github.com/EvotecIT/PSWinDocumentation) can deliver Word and Excel documents (along with SQL export if needed) for your Active Directory, Exchange, Office 365 so it’s always up to date.",
"Speaker": "Przemysław Kłys",
"Company": "",
"Twitter": "przemyslawklys"
},
{
"Name": "Cloudify your Windows fileserver",
"Starts": "06/04/2019 15:30",
"Ends": "06/04/2019 16:30",
"Track": "Track 1",
"Description": "In this session you will get to know what Azure File Sync is and how you can take advantage of it if your file servers isn`t going anywhere any time soon – of course you will also get to see how the setup and configuration can be fully automated using PowerShell. Still having file servers on-prem? In this session we will look at how to cloudify your file servers by leveraging Azure File Sync - a new service making it possible to tier data to Azure, totally transparent to end users and applications. Still having file servers on-prem? Even if users has moved to Sharepoint or other modern platforms? Hosting several TBs of data for file servers on your shiny all-flash SAN might be very overkill, but that\u0027s the reality for many companies due to legacy applications which won`t go away anytime soon. In this session we will look at how to cloudify your file servers by leveraging Azure File Sync - a new service making it possible to tier data to Azure, totally transparent to end users and applications. The service can even replace Distributed File System Replication (DFS-R)! You will also get to see how to fully automate the setup of a Windows Server 2019 file server running Server Core using PowerShell.",
"Speaker": "Jan Egil Ring",
"Company": "",
"Twitter": "JanEgilRing"
},
{
"Name": "DSCPullServerAdmin - An Admin module for DSC PullServer Database management",
"Starts": "06/04/2019 15:30",
"Ends": "06/04/2019 16:30",
"Track": "Track 2",
"Description": "After this session, you will know how you can “migrate” your existing Pull Servers based on edb or mdb database to the new SQL backed Pull Server running on Server 1803/2019 with some help from DSCPullServerAdmin! (Also some internals and other management tasks will be discussed/demoed) Are you still running a Pull Server using MDB or EDB and want to move to the new SQL backend? This module got you covered! It also supports the full suite of tasks you can think off for all the supported Database types. Come and see how easy it has become to manage your Pull servers and migrate to other formats when needed!",
"Speaker": "Ben Gelens",
"Company": "",
"Twitter": "bgelens"
},
{
"Name": "Coffee Break",
"Starts": "06/04/2019 16:30",
"Ends": "06/04/2019 16:45",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "YAML Engineering for PowerShellers",
"Starts": "06/04/2019 16:45",
"Ends": "06/04/2019 17:45",
"Track": "Track 2",
"Description": "Join this session to learn the YAML format, advanced use-cases in DevOps context, and how to use it in your PowerShell scripts! While JSON is the go-to format for APIs and system to system communication, YAML is becoming the first choice for configuration files, and for good reasons: it\u0027s terse, descriptive, and declarative! Come and learn why it\u0027s the first choice for DevOps tooling and how to work with YAML in PowerShell! Whether it\u0027s for configuration management (Ansible, Chef attributes, Puppet Hiera, DSC Datum), CI tools configuration (Azure DevOps, AppVeyor, Gitlab CI) or other tools enabling DevOps practices (gitversions, Test-Kitchen), YAML is growing in popularity. Even the PowerShell team is wondering if they should provide ConvertFrom-Yaml \u0026 ConvertTo-Yaml as built-in commands in PowerShell Core (#3607)! In this session, we\u0027ll demystify the format, show where and why it really shines, along with the existing PowerShell tooling to create, modify and consume YAML files and explore some use cases you might come across. After you watched this, you will be able to write YAML files painlessly and understand how they relate to PowerShell objects when using the powershell-yaml module. You will get familiar with the manipulation possible, how to serialise objects to YAML, update your files, and understand some differences with the more common JSON and PSD1 format, along with the benefits of YAML in a DevOps context. You will also get a quick overview of some advanced usage of YAML for configuration data, similar to what Puppet Hiera uses, made possible by the Datum module. You\u0027ll see how to access file data in ways similar to key/value stores, accessible via the dot notation (as object oriented programming do), and some advanced lookup capabilities and data merging features that can remind you of the Group Policy Object tree and inheritance.",
"Speaker": "Gael Colas",
"Company": "",
"Twitter": "gaelcolas"
},
{
"Name": "Creating and hosting beautiful websites with PSHTML \u0026 Polaris",
"Starts": "06/04/2019 16:45",
"Ends": "06/04/2019 17:45",
"Track": "Track 1",
"Description": "Without the right tools, building a website or creating simple HTML reports can be a dauting task. PSHTML simplifies this proces by providing a HTML DSL for PowerShell. When combined with Polaris, it shines even more, and allows to create beautifull looking sites using the Powershell language only. Generating HTML from Powershell is not new, and has been possible since the first version of Powershell. With the introduction of PSHTML, it simply got to the next stage. In this session you will learn How PSHTML will change your way of creating HTML reports and even teach you how to create and host your own Website(s), all from within the Powershell prompt. You will learn that this process has radically changed, is now standardized and became piece of cake to do (and of course, super fun! ;)) Technologies such as PSHTML, Polaris, Polwershell classes, NodeJS, HTML (Some Javascript) will be presented / discussed during this talk.",
"Speaker": "Stéphane van Gulick",
"Company": "",
"Twitter": "stephanevg"
},
{
"Name": "RegEx 4.0 - ^(?\u0026#x3C;pp\u0026#x3E;a )?must-have tool(?(pp)|s)$ ",
"Starts": "06/04/2019 16:45",
"Ends": "06/04/2019 17:45",
"Track": "Track 3",
"Description": "Another RegEx medium-deep dive, focused on reusable tools and patterns (pun definitely intended). RegEx is versatile and awesome, but many fear it\u0027s write-only nature and steep learning curve. In this talk we\u0027ll abstract away common patterns into reusable PowerShell tools and discuss their benefits .NET Regex is an awesomely powerful string matching engine, and it offers us the ability to quickly parse and test variable string input. But it\u0027s learning curve is steep, it\u0027s features mindbending and convoluting, and we all know how you can never remember that one construct that you\u0027re sure what just do the trick! So let\u0027s have a look at meaningful ways to incorporate regex\u0027 power into more user-friendly PowerShell-based utilities! I expect this presentation to be more fun than technically enlightening (assuming the audience will find mind-bending regex tricks \"fun\")",
"Speaker": "Mathias Jessen",
"Company": "",
"Twitter": ""
},
{
"Name": "Speakers Q\u0026A",
"Starts": "06/04/2019 17:45",
"Ends": "06/04/2019 18:20",
"Track": "Track 1",
"Description": "We asked you to send in questions, and in this session, all speakers are on stage and answer them for you. We\u0027ll discuss the questions you sent in, and you get the chance to ask additional questions that are on your mind. After this session, together we\u0027ll all walk to the Zoo evening event. If you\u0027d rather check-in at your hotel and freshen up, you can skip this session. Just make sure you\u0027re at the Zoo main entrance by 6:45pm, and bring your badge! On the badge, you find a QR code with instructions on how to get to the evening event location.",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Walk to Zoo",
"Starts": "06/04/2019 18:30",
"Ends": "06/04/2019 18:45",
"Track": "",
"Description": "We meet to walk to the Zoo Event as a group. Make sure you bring your badge, it\u0027s your ticket to the Zoo! The walk is about 5 minutes. If you cannot walk, you can take the tram or a cab. It\u0027s a distance of approximately 1km / 0.6mi. If you\u0027d rather like to check into your hotel first, or refresh yourself, please feel free. Just make sure you are at the Zoo main entrance by 18:45 (Address: Adenauerallee 3, 30175 Hannover) You don\u0027t need to bring any money: all drinks, food \u0026 desert are on us. ",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Evening Event Zoo",
"Starts": "06/04/2019 19:00",
"Ends": "06/04/2019 23:59",
"Track": "",
"Description": "Don\u0027t miss our great Evening Event at the Zoo Hannover! Just bring your badge, it is your ticket to the Zoo and all services. No money needed: all drinks (alcoholic and non-alcoholic), delicious eat-until-you-blast dinner (including but by far not limited to vegetarian diet), and tasty deserts (coffee specialties, hand-made ice cream, etc.) are on us. The Zoo Event is the perfect place to calm down and hang out after a busy first day, get in touch with fellow delegates and speakers. If you are new to psconf.eu and travelling alone, don\u0027t worry: enjoy our country receptions, and make friends with fellow professional PowerShellers from your region. As the evening progresses, we all typically merge into one friendly group of friendly people from many many countries. Stay as long as you please. The event does close at 1am so you have a bit of sleep until the next sessions start at 8:30am. Guest tickets are available. If you\u0027d like to bring along your partner or friends, please approach our friendly staff any time during day 1. Guest tickets are EUR 80,- which is the price we pay the Zoo.",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "ChatOps and Bots with PowerShell!",
"Starts": "06/05/2019 08:30",
"Ends": "06/05/2019 09:30",
"Track": "Track 2",
"Description": " Learn how to use ChatOps to make your automation interactive with a Bot built using PowerShell. This session will cover how to build your own serverless bot using PowerShell and Azure Functions. We\u0027ll also deep dive into PoshChan-Bot used by the PowerShell Team to enable automation between GitHub and Azure DevOps Pipelines. ",
"Speaker": "Steve Lee",
"Company": "PowerShell Team",
"Twitter": "Steve_MSFT"
},
{
"Name": "Creating Microsoft Word documents without Word installed",
"Starts": "06/05/2019 08:30",
"Ends": "06/05/2019 09:30",
"Track": "Track 3",
"Description": "This session is about creating Microsoft Word documents in PowerShell. It\u0027s easy, intuitive and allows for creating Word documents even on workstations or servers where Word is not present. After this session, you will be able to create both simple and more advanced Word documents with code. For past few years when you wanted to create Word documents in PowerShell, you had to use COM objects to create any Word documents. It required Word to be installed on a workstation and was subject to many issues if people were working on that workstation. After this session, you will be able to create Word documents - from simple ones to more complicated - allowing you to help your colleagues from work to automate few things that were not possible before, or were subject to potential issues. The talk will be based on https://github.com/EvotecIT/PSWriteWord module which is my work.",
"Speaker": "Przemysław Kłys",
"Company": "",
"Twitter": "przemyslawklys"
},
{
"Name": "Tracking Activity and Abuse of PowerShell",
"Starts": "06/05/2019 08:30",
"Ends": "06/05/2019 09:30",
"Track": "Track 1",
"Description": "Many know about PowerShell logging of actions and how they are being leveraged by EDR and SIEM vendors but still many do not know how to leverage the information in this events outside the ScriptBlock event. The addition of more visibility in to PowerShell actions with Windows PowerShell 4.1 and 5.0 with new EventLogs and AMSI greatly aided defenders and vendors in the detection, tracking and blocking of techniques that leverage PowerShell. Presentation will cover why security professionals both defense and attack simulation love PowerShell and will also cover some of the most common techniques in leveraging PowerShell, how the event log entries from version 2.0 all the way to 6.x can be leverage to track activity and abuse.",
"Speaker": "Carlos Perez",
"Company": "",
"Twitter": "Carlos_perez"
},
{
"Name": "Coffee Break",
"Starts": "06/05/2019 09:30",
"Ends": "06/05/2019 09:45",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "PowerShell on RaspberryPi - Let\u0027s open a door for your PowerShell ideas",
"Starts": "06/05/2019 09:45",
"Ends": "06/05/2019 10:45",
"Track": "Track 3",
"Description": "In this session we will get to know the Pi better, why and how it can run PowerShell and discuss what can and cannot be achieved when they join forces. Debugging will also be coveredPumped about RaspberryPi? Did you know that it can run PowerShell? In this presentation we will get to know the Pi better, why and how it can run PowerShell and discuss what can be achieved when they join forces. Debugging will also be covered, as it is incredibly useful and convenient. IoT is trending. PowerShell is trending. RaspberryPi is a credit card-sized affordable computer that is used on many different projects, and now you can integrate PowerShell on them. In this presentation I will: - Introduce RaspberryPi; - Explain why can it run PowerShell; – Demonstrate how easy it is to setup PowerShell on a Raspberry Pi; – Tell you how and why this is cool; – Show the benefits and limitations; - Demonstrate how to debug a script running on the raspberry; - Give a sneak peak on using PowerShell to interact with sensors;",
"Speaker": "Daniel Silva",
"Company": "Qevo",
"Twitter": "DanielSilv9"
},
{
"Name": "Test infrastructure as code?",
"Starts": "06/05/2019 09:45",
"Ends": "06/05/2019 10:45",
"Track": "Track 2",
"Description": "Deep dive into infrastructure as code testing. ARM template, design, development, test and release. How to test your Infrastructure as code implementation with PowerShell using Pester and Azure DevOps. # Introduction We are going to look at how cloud automation, infrastructure as code can be structured and used as a software development process. Taking a common software development approach we are going to look at each phase and see which tools can be used to accomplish each phase. The ideas are based on the lessons learned of an actual infrastructure as code project. \t\t # Abstract This session will dive deep into the testing approach of an infrastructure as code project written in PowerShell. We will create a PowerShell module that will allow us to deploy an infrastructure as a service resource using a template. The solution will be fully tested, including unit test of functions, templates, integration and an end to end test. # Tools Leveraging tools like Pester, Script Analyzer, Best Practices Checker, Azure DevOps and custom scripts to create a mature and reliable infrastructure as code solution. # Objectives At the end of this talk you will be able to: * create your own test suite for your infrastructure as code project. * can articulate why infrastructure as code testing is necessary and can increase you quality of delivery. * get started with your next infrastructure as code project quicker and much more mature.",
"Speaker": "Mark Warneke",
"Company": "Microsoft Deutschland",
"Twitter": "MarkWarneke"
},
{
"Name": "HoneyBotting: Extracting confessions from client-side implants",
"Starts": "06/05/2019 09:45",
"Ends": "06/05/2019 10:45",
"Track": "Track 1",
"Description": "While worms and automated attacks are a huge danger, persistent attacks that leverage interactive remote command and control servers can be especially damaging. But control of a remote machine requires one major thing: cooperation of the compromised. What if our machines don’t play along? ?? While worms and automated attacks are a huge danger, persistent attacks that leverage interactive remote command and control servers can be especially damaging. But control of a remote machine requires one major thing: cooperation of the compromised. What if our machines don’t play along? ??",
"Speaker": "Lee Holmes",
"Company": "Microsoft",
"Twitter": "Lee_Holmes"
},
{
"Name": "Coffee Break",
"Starts": "06/05/2019 10:45",
"Ends": "06/05/2019 11:00",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Custom Pester assertions are the vocabulary of your tests",
"Starts": "06/05/2019 11:00",
"Ends": "06/05/2019 12:00",
"Track": "Track 2",
"Description": "Pester ships with many useful assertions, but you are not limited to using just them. This session will teach you how to add your own assertions to Should. This will make your tests more expressive, your errors easier to read and your code easier to re-use. We will of course look also at testing your assertions to make sure they are correct, some best practice when authoring your assertions, and how to share them with others.",
"Speaker": "Jakub Jareš",
"Company": "CN Group s.r.o. ",
"Twitter": "nohwnd"
},
{
"Name": "We trust in the community",
"Starts": "06/05/2019 11:00",
"Ends": "06/05/2019 12:00",
"Track": "Track 1",
"Description": "PowerShell community is the best out there. Several product teams at Microsoft envy this. This session demonstrates this fact using some interesting examples from the community! 50% of the pull requests in the PowerShell GitHub repository are from the community! No kidding. This alone speaks a lot about the strength and talent in the PowerShell community. Apart from these pull requests, there are several hundreds of community developed PowerShell modules in the open source that are used by another several hundreds or thousands of people. This session show cases some very useful PowerShell modules developed by the community by demonstrating real-world use cases.",
"Speaker": "Ravikanth Chaganti",
"Company": "PowerShell Magazine",
"Twitter": "ravikanth"
},
{
"Name": "A Palantir in your Hands! - WEF",
"Starts": "06/05/2019 11:00",
"Ends": "06/05/2019 12:00",
"Track": "Track 3",
"Description": "How to set up basic Windows Event Collector servers using Palantir guidance. How Azure Log Analytics can help you see through Enemy\u0027s actions! After this session you\u0027ll understand what WEF is and how to set up all moving blocks. Just deploy and use! WEF is free log forwarding solution from Microsoft. Yet it\u0027s not widely deployed. Adding some automation to deploy it with Palantir guidance and Azure as an option to analyze the stream of data!",
"Speaker": "Mateusz Czerniawski",
"Company": "",
"Twitter": "Arcontar"
},
{
"Name": "Lunch Break",
"Starts": "06/05/2019 12:00",
"Ends": "06/05/2019 13:00",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Breakout Session: Community Talk about Pester 5",
"Starts": "06/05/2019 12:25",
"Ends": "06/05/2019 13:00",
"Track": "Track 2",
"Description": "Let\u0027s sit together and t alk about Pester v5 , the features and changes I am planning and the decisions I am facing. Would you be interested in taking part of that? Then join me! ",
"Speaker": "Jakub Jareš",
"Company": "CN Group s.r.o. ",
"Twitter": "nohwnd"
},
{
"Name": "WE\u0027LL DO IT LIVE... Streaming PowerShell",
"Starts": "06/05/2019 12:25",
"Ends": "06/05/2019 13:00",
"Track": "Track 3",
"Description": "Come learn about how members of YOUR community are live streaming and coding on platforms like Twitch to learn and grow while also sharing knowledge!",
"Speaker": "Chrissy LeMaire",
"Company": "NATO Special Ops HQ",
"Twitter": "cl"
},
{
"Name": "WE\u0027LL DO IT LIVE... Streaming PowerShell",
"Starts": "06/05/2019 12:25",
"Ends": "06/05/2019 13:00",
"Track": "Track 3",
"Description": "Come learn about how members of YOUR community are live streaming and coding on platforms like Twitch to learn and grow while also sharing knowledge!",
"Speaker": "Tyler Leonhardt",
"Company": "Microsoft",
"Twitter": "TylerLeonhardt"
},
{
"Name": "WE\u0027LL DO IT LIVE... Streaming PowerShell",
"Starts": "06/05/2019 12:25",
"Ends": "06/05/2019 13:00",
"Track": "Track 3",
"Description": "Come learn about how members of YOUR community are live streaming and coding on platforms like Twitch to learn and grow while also sharing knowledge!",
"Speaker": "Chris Gardner",
"Company": "Section8Games",
"Twitter": "halbaradkenafin"
},
{
"Name": "PowerShell Core - from an OP\u0027s perspective",
"Starts": "06/05/2019 13:00",
"Ends": "06/05/2019 14:00",
"Track": "Track 3",
"Description": "PowerShell Core and VScode became shining stars in the hands of all those PowerShell hipsters who take pride in taking two steps at a time. But what about the busy IT admin trying to keep his eco system running? Where does he/she benefit from the next gen shell? PowerShell Core and VScode became shining stars in the hands of all those PowerShell hipsters who take pride in taking two steps at a time. But what about the busy IT admin trying to keep his eco system running? Where does he/she benefit from the next gen shell? We will talk about the latest improvements in PowerShell Core, also talking about the differences and challenges on any supported OS. We will have a very close look on the module support in PwSH, focussing the **\"Windows Compatibilty module\" (aka rModule)** and the ability to do daily tasks such as creating AD Users or Exchange mailboxes. And we will talk about **remoting**: from ANY client to ANY server - vision or reality?",
"Speaker": "Thorsten Butz",
"Company": "Thosten Butz Consulting",
"Twitter": "thorstenbutz"
},
{
"Name": "Use PowerShell for prototyping",
"Starts": "06/05/2019 13:00",
"Ends": "06/05/2019 14:00",
"Track": "Track 1",
"Description": "In this presentation you will be inspired to use your PowerShell knowledge to create a first prototype for your application in Azure has benefits. The journey from concept to market is typically a long road riddled with hidden obstacles and unforeseen turns. Why not use PowerShell to create a prototype? With your PowerShell knowledge you can create a first Minimal Viable Product and start gathering feedback from your customers. A prototype is an early sample, model or release of products built to test a concept or process or to act as a thing to be replicated or learned from. With your first PowerShell created prototype you are able to get feedback fast without too much development effort.",
"Speaker": "Stefan Stranger",
"Company": "",
"Twitter": "sstranger"
},
{
"Name": "Building a better command line experience: Windows Terminal and WSL2",
"Starts": "06/05/2019 13:00",
"Ends": "06/05/2019 14:00",
"Track": "Track 2",
"Description": "Microsoft is building a new Terminal for Windows, modernizing the command line experience on Windows. Tabs? Check. Emoji? ✔. Fast, smooth, modern UX with Fluent acrylic background? You got it! Come and learn all about the new Terminal, how we built it, where to get the code, and how to help us build the world-class Terminal Windows developers deserve. Plus! – what’s new under the covers of the new Windows Subsystem for Linux (WSL2), where we show how Linux really screams",
"Speaker": "Garrett Serack",
"Company": "Microsoft Corp.",
"Twitter": ""
},
{
"Name": "Coffee Break",
"Starts": "06/05/2019 14:00",
"Ends": "06/05/2019 14:15",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "PowerShell in Azure Functions ",
"Starts": "06/05/2019 14:15",
"Ends": "06/05/2019 15:15",
"Track": "Track 2",
"Description": "Azure Functions is a serverless platform that enables you to write code without having to worry about managing infrastructure. Learn about how PowerShell is being integrated with Azure Functions to make it easier than ever to execute your scripts in the cloud.",
"Speaker": "Joey Aiello",
"Company": "PowerShell Team",
"Twitter": "joeyaiello"
},
{
"Name": "PowerShell in Azure Functions ",
"Starts": "06/05/2019 14:15",
"Ends": "06/05/2019 15:15",
"Track": "Track 2",
"Description": "Azure Functions is a serverless platform that enables you to write code without having to worry about managing infrastructure. Learn about how PowerShell is being integrated with Azure Functions to make it easier than ever to execute your scripts in the cloud.",
"Speaker": "Tyler Leonhardt",
"Company": "Microsoft",
"Twitter": "TylerLeonhardt"
},
{
"Name": "Lean on me: Managing dependencies in PowerShell",
"Starts": "06/05/2019 14:15",
"Ends": "06/05/2019 15:15",
"Track": "Track 2",
"Description": "There are tons of great modules around that we can make use of in our PowerShell scripts and modules but how do we document what we\u0027re using and ensure it is available where we need it? At the end of this session you\u0027ll have a good idea about how to do just that. When writing PowerShell scripts and modules we often want to make use of external functions and commands so that we don\u0027t have to duplicate existing work, however ensuring these dependencies are available on the systems running our code isn\u0027t always straightforward or obvious. In this session we\u0027ll look at a variety of methods of handling dependencies in PowerShell modules and scripts, from ensuring you have them when developing, enabling testing in Continuous Integration tools, and getting them to your endpoints where they are needed.",
"Speaker": "Chris Gardner",
"Company": "Section8Games",
"Twitter": "halbaradkenafin"
},
{
"Name": "Last Night a PowerShell DJ Saved My Life",
"Starts": "06/05/2019 14:15",
"Ends": "06/05/2019 15:15",
"Track": "Track 3",
"Description": "This will be fun! I will actually create a virtual MIDI controller. So there will be talk about how MIDI works. Using powershell to control traktor DJ app including a 2 communication (so powerShell knows every beat and tempo etc. to make stuff happen in sync with music!). Automate your DJ set! Have more time for dancing and waving to the fans! Just enjoy, no more actual work! Learn how to be a real DJ super star! Warning! This session can contain traces of heavy beats!",
"Speaker": "Jakob Gottlieb Svendsen",
"Company": "",
"Twitter": "JakobGSvendsen"
},
{
"Name": "Coffee Break",
"Starts": "06/05/2019 15:15",
"Ends": "06/05/2019 15:30",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "The PowerShell CDK DSL and Infrastructure as Code",
"Starts": "06/05/2019 15:30",
"Ends": "06/05/2019 16:30",
"Track": "Track 1",
"Description": "TBD",
"Speaker": "Kenneth Hansen",
"Company": "Amazon",
"Twitter": "KhansenHansen "
},
{
"Name": "The PowerShell CDK DSL and Infrastructure as Code",
"Starts": "06/05/2019 15:30",
"Ends": "06/05/2019 16:30",
"Track": "Track 1",
"Description": "TBD",
"Speaker": "Bruce Payette",
"Company": "Amazon",
"Twitter": "brucepayette"
},
{
"Name": "Pester + Azure (Monitor + Automation)",
"Starts": "06/05/2019 15:30",
"Ends": "06/05/2019 16:30",
"Track": "Track 3",
"Description": "Manage and run your Pester tests on-premises and let Azure work for you! After this session you\u0027ll be able to set up an OVF Server with Pester checks and let Azure Log Analytics, PowerBI and Azure Automation work for you! With a bonus - a configuration library and git-enabled documentation! Using Pester tests for Operation Validation is not a new concept. But adding a bit of Azure adds a new flavor. Log Analytics makes storing , viewing and navigating through the results in time a bit easier. Azure Monitor helps with alerting and Azure Automation with remediation, while PowerBI shines like a star!",
"Speaker": "Mateusz Czerniawski",
"Company": "",
"Twitter": "Arcontar"
},
{
"Name": "Generating Azure PowerShell (and more) cmdlets via AutoRest",
"Starts": "06/05/2019 15:30",
"Ends": "06/05/2019 16:30",
"Track": "Track 2",
"Description": "A look into AutoRest and how we’re using it to build Azure PowerShell’s generated cmdlets. Generate your own cmdlets from OpenAPI (swagger) files. Learn how we are driving consistency into the ‘Az’ commands and ‘instantaneous’ support for Azure API’s. Do you want to target multiple clouds with Az scripts? Install the latest version of Az without being impacted by breaking changes? Azure profiles will be built into Az cmdlets and solve these problems and more.",
"Speaker": "Garrett Serack",
"Company": "Microsoft Corp.",
"Twitter": ""
},
{
"Name": "Coffee Break",
"Starts": "06/05/2019 16:30",
"Ends": "06/05/2019 16:45",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Enhancing DSC with Puppet",
"Starts": "06/05/2019 16:45",
"Ends": "06/05/2019 17:45",
"Track": "Track 2",
"Description": "Although you can use DSC on its own, it improves with Puppet which provides additional rich management capabilities, including node classification, status of nodes, role-based access control etc. Tracking and reporting change becomes easier - a must for any company requiring compliance auditing. The talk shows how Puppet extends DSC by providing historical change tracking and reporting including: - Configuration results and history are available on the target nodes, as well as in the Puppet server web UI - The web UI provides a single interface that shows the status of your environment down to the individual servers. - It shows the result of each DSC resource execution and a log of the execution. - Reports are held centrally across all nodes allowing you to investigate over time how things change in your environment. The talk presents an overview of these features giving some concrete examples of actual administration tasks",
"Speaker": "John O\u0027Connor",
"Company": "",
"Twitter": ""
},
{
"Name": "HowTo Audit Active Directory Password usage",
"Starts": "06/05/2019 16:45",
"Ends": "06/05/2019 17:45",
"Track": "Track 1",
"Description": "When you visit this session, you will learn how to detect if your admins are reusing the credentials on multiple accounts. Does your company have a policy that dictates administrators needs at least 2 accounts ? Do you think your admins, would use the same password on their admin and regular accounts ? Are any of these passwords on the Troy Hunts HaveIBeenP0wned list ? In this session, I will cover how to extract password hashes from Active Directory to allow further analysis of password usage across a domain. We will cover user accounts with the same password, people who have used the same password multiple times (Admins resetting the password to the same, not adhering to the AD password policy). All the extracted data is stored in SQLite, to ease analysis. This also made it possible to load all 500 million password hashes from HaveIBeenP0wned, to compare them against your user\u0027s passwords, to see if anyone have \"insecure\" passwords.",
"Speaker": "Claus Thude Nielsen",
"Company": "",
"Twitter": ""
},
{
"Name": "Attack Surface Reductions for Adventurous Admins",
"Starts": "06/05/2019 16:45",
"Ends": "06/05/2019 17:45",
"Track": "Track 3",
"Description": "PowerShell can be extremely helpful when building robust and auditable security solutions for enterprise networks. This talk will take you through the basics of PowerShell Remoting (incl. JEA) and show how to reduce the attack surface of Windows machines without sacrifising end user experience In the course of security engineering challenges I\u0027ve had to solve professionally over the years, I\u0027ve seen (and contributed to) a number of low-cost high-yield defensive applications for intrusion preventation, detection and mitigation, primarily in Windows-based enterprise networks, and most have either been aided by or even completely dependent on PowerShell. This talk will cover aspects of Constrained Endpoints (including JEA), basic defensive coding, and then go through a couple of real-world examples of where PowerShell can be leveraged to reduce risk of compromise on your servers and clients.",
"Speaker": "Mathias Jessen",
"Company": "",
"Twitter": ""
},
{
"Name": "PowerShell DSC and AWS Systems Manager",
"Starts": "06/06/2019 08:30",
"Ends": "06/06/2019 09:30",
"Track": "Track 2",
"Description": "TBD",
"Speaker": "Narayanan Lakshmanan",
"Company": "Amazon",
"Twitter": "nanalakshmanan"
},
{
"Name": "PowerShell DSC and AWS Systems Manager",
"Starts": "06/06/2019 08:30",
"Ends": "06/06/2019 09:30",
"Track": "Track 2",
"Description": "TBD",
"Speaker": "Kenneth Hansen",
"Company": "Amazon",
"Twitter": "KhansenHansen "
},
{
"Name": "Learn Classes with Class {} ",
"Starts": "06/06/2019 08:30",
"Ends": "06/06/2019 09:30",
"Track": "Track 1",
"Description": "In this talk, you will learn the true meaning of using classes. we will takle the advanced concepts of Object Oriented Programming (OOP) applied to the PowerShell language, and learn how to REALLY take advantage of Classes. I will provide tools, experience and guidance for your future OOP projects During this talk, I will tell the story of how I got to learn classes, implemented them, and have improved existing designs throughout my learning process. I will highlight all the mistakes I have made and the common pitfalls to avoid, by demonstrating the errors made in real projects with direct experience from the field. Throughout this talk, we will dive into Object Oriented concepts and learn how these are currently applied in well known powershell projects. At the end of this talk, the audience will leave with more tools to make working with classes easier, have more knowledge and potentially a bridge to a whole new paradigm. If this still wasn\u0027t clear, at the end of this talk, you will be able to answer the question: Why should I use classes?",
"Speaker": "Stéphane van Gulick",
"Company": "",
"Twitter": "stephanevg"
},
{
"Name": "Mr. Brick - Unplugged",
"Starts": "06/06/2019 08:30",
"Ends": "06/06/2019 09:30",
"Track": "Track 3",
"Description": "Remember MR Brick from last years finale? .. of cause! Who doesnt?!?! :) I would love to some back and show more of him, including new cool stuff such as the Mr BRick PSModule and PSReadline support! From the land of LEGO... The one and only, the legend--Mr. Brick is back! More stable than ever. Mr. Brick won\u0027t come alone. He\u0027s coming with Azure Automation, Microsoft Flow, Azure Functions, and some new surprises! Don\u0027t miss the funniest session at the conference.",
"Speaker": "Jakob Gottlieb Svendsen",
"Company": "",
"Twitter": "JakobGSvendsen"
},
{
"Name": "Coffee Break",
"Starts": "06/06/2019 09:30",
"Ends": "06/06/2019 09:45",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Don\u0027t do that, do this instead: PowerShell worst practices ",
"Starts": "06/06/2019 09:45",
"Ends": "06/06/2019 10:45",
"Track": "Track 1",
"Description": "In past years at Summit the \"3 furies\" have shared their insights on various things people do wrong in PowerShell. Let\u0027s take that one step further and demo all those things and what you should do instead. We\u0027ll explain why you shouldn\u0027t do each one, because code without context doesn\u0027t help anyone. In past years at PSH Summit the \"3 furies\" have shared their insights on various things people do wrong in PowerShell. Let\u0027s take that one step further and demo all those things and what you should do instead. We\u0027ll explain why it\u0027s bad and the other way is better, because code without context doesn\u0027t help anyone. A lot of talks about \"Best Practice\" are aimed at showing you what you should be doing but not many take the approach of showing what you shouldn\u0027t be doing and how to change it. This can make it more difficult to grasp as it might not easily relate to how someone is currently working or has been working, showing the wrong way to do things is more approachable as everyone was a beginner at some point and many people made the same mistakes. Taking this one step further and providing reasoning why one approach is the wrong or worse way to handle something can also allow people to make an informed decision on using that approach anyway, if their circumstances require it.",
"Speaker": "Chris Gardner",
"Company": "Section8Games",
"Twitter": "halbaradkenafin"
},
{
"Name": "[RaspberryPi]::\u003e Control sensors and chips using PowerShell",
"Starts": "06/06/2019 09:45",
"Ends": "06/06/2019 10:45",
"Track": "Track 3",
"Description": "With this session, you will learn how PowerShell can be used to interact with sensors, analyze data that they provide, light up leds, explore the IoT module and other modules that I\u0027ve developed. Get-CurrentTemperature. Ever thought that one command could fetch info directly from a sensor? Or even that you can write information to a chip?Ever wanted to be able to control sensors and chips using your PowerShell skills? Join me on this session as I introduce you to the PowerShell.IoT module. PowerShell becoming cross-platform brought a lot of advantages and possibilities. One cool and useful scenario is the possibility to use it to interact with hardware such as sensors and chips. It makes things such as get temperature and light up leds possible using ONLY PowerShell. An huge part of it is possible due to PowerShell.IoT module. During this session, we will explore this module and some others that I\u0027ve developed which allows us to light up leds (everyone loves leds), display text and much more!",
"Speaker": "Daniel Silva",
"Company": "Qevo",
"Twitter": "DanielSilv9"
},
{
"Name": "Docker and PowerShell: How to develop your scripts with confidence",
"Starts": "06/06/2019 09:45",
"Ends": "06/06/2019 10:45",
"Track": "Track 2",
"Description": "When you visit this session, you will learn how to test your PS scripts how they will run in Docker containers Have you ever written a cool PowerShell script, that you want to share with your Linux colleagues, but they say NO! because they do not want to \"infect\" their machines with PowerShell. Here we will go through testing and running your scripts in a docker container, making your scripts easy to share. In this session, we will go through some Docker basics and show you how you are able to run your PowerShell scripts in a docker container. This is also a very good way to test your scripts if they are x-plat ready, like if you want to run them in Azure console, which is also run as a Linux based container. We will look at various ways to mount your PowerShell files into a container, and how to edit and run those scripts from within the container. ",
"Speaker": "Claus Thude Nielsen",
"Company": "",
"Twitter": ""
},
{
"Name": "Coffee Break",
"Starts": "06/06/2019 10:45",
"Ends": "06/06/2019 11:00",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "PowerShell Remoting Internals",
"Starts": "06/06/2019 11:00",
"Ends": "06/06/2019 12:00",
"Track": "Track 1",
"Description": "PowerShell remoting is essential for automation. It began as a way to fan out scripts to multiple target machines over WinRM. But there is now PowerShell Direct for WinRM-less connections between host and guest VMs, and you can make remote IPC connections to any local process hosting PowerShell. PSCore6 supports SSH based remoting for cross-platform work, requiring no WinRM. This talk will do a deep dive into the internals of PowerShell remoting.",
"Speaker": "Paul Higinbotham",
"Company": "Microsoft",
"Twitter": "pshdev"
},
{
"Name": "Extend your PowerShell skills by creating Azure DevOps Extensions",
"Starts": "06/06/2019 11:00",
"Ends": "06/06/2019 12:00",
"Track": "Track 3",
"Description": "In this presentation you learn how to leverage your existing PowerShell knowledge to create Azure DevOps Extensions. Using Github for developing your PowerShell projects? Did you know that Azure Pipelines offers free CI/CD with unlimited minutes and 10 parallel jobs for every open source project? After this presentation you can develop your own Azure DevOps Extensions to support you free CI/CD in Azure DevOps. Lessons learned from the field will help avoid pitfalls and develop Extensions the whole PowerShell community will benefit from. Develop great Azure DevOps Extensions and publish them to the Azure DevOps Marketplace and help the community simplify their CI/CD.",
"Speaker": "Stefan Stranger",
"Company": "",
"Twitter": "sstranger"
},
{
"Name": "OS image pipeline: Packer, PowerShell, DSC \u0026 Chocolatey",
"Starts": "06/06/2019 11:00",
"Ends": "06/06/2019 12:00",
"Track": "Track 2",
"Description": "Join this session to learn best DevOps and Cloud practices for building pre-patched \u0026 configured Golden Images from code thanks to Hashicorp Packer, PowerShell, DSC \u0026 Chocolatey within a Release Pipeline! Is the time of Golden Images behind us for good? No! It\u0027s actually a good model for almost-ready-to-use OS images or VMs. What has changed is the tools to automate and maintain them! Join this session and discover how to create your own images with PowerShell, DSC, Chocolatey and Hashicorp Packer! The concept of OS Golden Images isn\u0027t new, and most seasoned sysadmins have used tools like Ghost, Acronis or just captured images using MDT. But modern practices - as described in Microsoft\u0027s Release Pipeline Model whitepaper - apply here: every changes and all automation should start from source control. Unfortunately some of the old tools aren\u0027t suited for modern practices, or need to be rediscovered, like DISM. In this session we\u0027ll explore how to use the common tools from the modern SysAdmin\u0027s toolbelt (PowerShell, DSC, Chocolatey) to manage OS image creation in a pipeline using Packer. After attending this session you\u0027ll understand the principles driving this approach and how Hashicorp Packer, the renowned cross platform OSS tool, help with those challenges. You\u0027ll see how we can use PowerShell and DSC to customise the OS configuration, and pre-install Software with Chocolatey - a Software Management tool - as part of the Image pipeline. Finally, we\u0027ll see how we can export different virtual machine templates with the same OS configuration, ready to be used in virtualisation or cloud platforms such as vSphere, HyperV, Azure or AWS.",
"Speaker": "Gael Colas",
"Company": "",
"Twitter": "gaelcolas"
},
{
"Name": "Lunch Break",
"Starts": "06/06/2019 12:00",
"Ends": "06/06/2019 13:00",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "PowerShell User Group Meetup",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 13:00",
"Track": "Track 3",
"Description": "Take the chance to learn more about PowerShell User Groups, find one close to you, or get started on how to create a new one in your area.",
"Speaker": "Thorsten Butz",
"Company": "Thosten Butz Consulting",
"Twitter": "thorstenbutz"
},
{
"Name": "PowerShell User Group Meetup",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 13:00",
"Track": "Track 3",
"Description": "Take the chance to learn more about PowerShell User Groups, find one close to you, or get started on how to create a new one in your area.",
"Speaker": "Chris Gardner",
"Company": "Section8Games",
"Twitter": "halbaradkenafin"
},
{
"Name": "PowerShell User Group Meetup",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 13:00",
"Track": "Track 3",
"Description": "Take the chance to learn more about PowerShell User Groups, find one close to you, or get started on how to create a new one in your area.",
"Speaker": "Paul Broadwith",
"Company": "",
"Twitter": "pauby"
},
{
"Name": "PowerShell User Group Meetup",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 13:00",
"Track": "Track 3",
"Description": "Take the chance to learn more about PowerShell User Groups, find one close to you, or get started on how to create a new one in your area.",
"Speaker": "Christian Imhorst",
"Company": "BSH Hausgeräte GmbH",
"Twitter": "datenteiler"
},
{
"Name": "Lunchbreak Presentation: The Joy of Convert[To|From]-Json with Azure CLI",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 12:40",
"Track": "Track 2",
"Description": "by delegate Amanda Debler",
"Speaker": "Delegate",
"Company": "",
"Twitter": ""
},
{
"Name": "PowerShell User Group Meetup",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 13:00",
"Track": "Track 3",
"Description": "Take the chance to learn more about PowerShell User Groups, find one close to you, or get started on how to create a new one in your area.",
"Speaker": "Stéphane van Gulick",
"Company": "",
"Twitter": "stephanevg"
},
{
"Name": "PowerShell User Group Meetup",
"Starts": "06/06/2019 12:25",
"Ends": "06/06/2019 13:00",
"Track": "Track 3",
"Description": "Take the chance to learn more about PowerShell User Groups, find one close to you, or get started on how to create a new one in your area.",
"Speaker": "Mateusz Czerniawski",
"Company": "",
"Twitter": "Arcontar"
},
{
"Name": "The PowerShell Playbook",
"Starts": "06/06/2019 13:00",
"Ends": "06/06/2019 14:00",
"Track": "Track 1",
"Description": "Golf supposed to be the game for gentlemen. But when it comes to code golf – all dirty tricks are on. Interested? Than suite up and come to learn a few tricks that I came up with - and even more I picked up from the best while being crashed by their skills during various code golfs I participated in over the years. Is it going to help you write a better code? For sure not - I seriously hope none of the code you persist in any form looks anything like it. But when running things in an interactive console it\u0027s all about result, not ceremony. And don\u0027t forget - having fun is not forbidden in your day work!",
"Speaker": "Bartosz Bielawski",
"Company": "Optiver",
"Twitter": "bielawb"
},
{
"Name": "PesterSec: Using Pester \u0026 ScriptAnalyzer to Detect Obfuscated PowerShell",
"Starts": "06/06/2019 13:00",
"Ends": "06/06/2019 14:00",
"Track": "Track 3",
"Description": "Attackers obfuscate PowerShell to evade rigid detections. With recent improvements in obfuscation detection, savvy attackers have started to obfuscate less \u0026 more selectively to avoid detection. Come learn how PesterSec leverages Pester \u0026 ScriptAnalyzer to detect minimally-obfuscated PowerShell. Over the years as attackers have increasingly used PowerShell as an important piece of their offensive toolkit, the PowerShell Team has countered by building deep inspection capabilities into PowerShell that are not found in any other scripting language. However, as defenders began using this new visibility and significantly improving their detection of malicious PowerShell usage, attackers adapted their techniques. As attackers turned to the heavy usage of specific obfuscation techniques, like those found in Invoke-Obfuscation and Invoke-CradleCrafter, to target certain aspects of PowerShell’s ScriptBlock logging, defenders once again had to match this offensive shift with their own shift in detection methodology. Defenders have since turned to various data science approaches, like those built into Revoke-Obfuscation, to more robustly detect heavy PowerShell obfuscation. However, countering offensive projects like PSAmsi have enabled attackers to apply selective obfuscation in minimal quantities to evade specific A/V signatures while falling under the \"obfuscation threshold\" of newer data science approaches. Come learn how PesterSec combines the power of ScriptAnalyzer and Pester to perform context-specific detections of minimally-obfuscated PowerShell commands and scripts. These platforms also highlight the ease of access to PowerShell’s Abstract Syntax Tree (AST) for any PowerShell practitioner.",
"Speaker": "Daniel Bohannon",
"Company": "MANDIANT/FireEye",
"Twitter": "danielhbohannon"
},
{
"Name": "Pullaris - A Custom DSC Pull Server written in PS \u0026 running on Polaris",
"Starts": "06/06/2019 13:00",
"Ends": "06/06/2019 14:00",
"Track": "Track 2",
"Description": "After this session, you will have seen a replacement for the DSC Pull Server running as PowerShell script on top of Polaris and have learned that it is not that hard. Want to run your own DSC Pull Server and extend it\u0027s capabilities (in an easy way using just PowerShells script) from what is possible inbox? Or just want to see a real world example of PowerShell coded REST API? I present a script based pull server running on Polaris!",
"Speaker": "Ben Gelens",
"Company": "",
"Twitter": "bgelens"
},
{
"Name": "Coffee Break",
"Starts": "06/06/2019 14:00",
"Ends": "06/06/2019 14:15",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Posh-SSH and the lessons learned",
"Starts": "06/06/2019 14:15",
"Ends": "06/06/2019 15:15",
"Track": "Track 1",
"Description": "The Posh-SSH module is a PowerShell module for automating tasks via SSH. Come to this session to hear about the lessons learned during the creation of the module by its author. Posh-SSH was Carlos’s first C# project and his first PowerShell module on the PowerShell Gallery. Working on an open source project has brought some challenges—dependence on another open source project, writing documentation, a personal time management…",
"Speaker": "Carlos Perez",
"Company": "",
"Twitter": "Carlos_perez"
},
{
"Name": "Automate your application packaging for Intune",
"Starts": "06/06/2019 14:15",
"Ends": "06/06/2019 15:15",
"Track": "Track 3",
"Description": "Packaging applications is a chore. Let\u0027s fix that and make your job more enjoyable. in this session, you will learn how to use Azure DevOps and its CI/CD pipelines to deploy applications automatically to your end users using nothing but PowerShell, Microsoft Graph \u0026 Intune.",
"Speaker": "Ben Reader",
"Company": "Vigilant.IT",
"Twitter": "powers_hell"
},
{
"Name": "Enabling enterprise serverless patterns with AWS Lambda and PowerShell",
"Starts": "06/06/2019 14:15",
"Ends": "06/06/2019 15:15",
"Track": "Track 2",
"Description": "TBD",
"Speaker": "Martin Beeby",
"Company": "Amazon",
"Twitter": "thebeebs"
},
{
"Name": "Coffee Break",
"Starts": "06/06/2019 15:15",
"Ends": "06/06/2019 15:30",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Universal Dashboard: Beauty is the Beast",
"Starts": "06/06/2019 15:30",
"Ends": "06/06/2019 16:30",
"Track": "Track 3",
"Description": "Join this session to learn how you can use Universal Dashboard to make PowerShell RESTful and visual for people who refuse to learn it. Creating beautiful and useful dashboards and generating powerful and simple to use REST endpoints with the same tool sounds like a fairy tale. But some tales are based on a true story… Join us for this demo-heavy journey to the wonders of Universal Dashboard! PowerShell is a great tool to collect data and manage multiple technologies. The problem that some organizations may face is: how to enable people who can’t use PowerShell to benefit from these strengths. Universal Dashboard is one of the potential solutions to this problem. In this demo heavy session, we will share solutions we’ve created using this module in our own company and the plans we have for future developments that will take advantage of features offered in Universal Dashboard.",
"Speaker": "Bartosz Bielawski",
"Company": "Optiver",
"Twitter": "bielawb"
},
{
"Name": "Automating the Software Deployment Lifecycle with Chocolatey, Jenkins and PowerShell",
"Starts": "06/06/2019 15:30",
"Ends": "06/06/2019 16:30",
"Track": "Track 2",
"Description": "Traditionally deploying and upgrading software versions in an organization was a mundane manual task loaded with pain and delays. Using PowerShell, Pester and Chocolatey automated using Jenkins could have you rollout starts within minutes of the software being made available! At the end of the presentation the attendee will have learned: * The traditional organizational software deployment lifecycle; * The automated organizational software deployment lifecycle using PowerShell, Pester, Chocolatey and Jenkins; * The recommended Chocolatey organizational deployment \u0026 upgrade architecture; * How Chocolatey sources work and what repositories are and why you should have them; * The differences between the recommended package repository options; * Internalizing packages to use internally; * Testing packages in the deployment lifecycle using PowerShell and Pester; * Following through the software deployment lifecycle from test to production; * Synchronising repositories using PowerShell; * Scheduling package installation and upgrade using PowerShell",
"Speaker": "Paul Broadwith",
"Company": "",
"Twitter": "pauby"
},
{
"Name": "Like a Script Monkey in the Syntax Tree",
"Starts": "06/06/2019 15:30",
"Ends": "06/06/2019 16:30",
"Track": "Track 1",
"Description": "Last year at PSConfEU, I used some PowerShell Cmdlets to automate the creation of some PowerShell Cmdlets... Didn\u0027t have time to explain much as I was presenting on something on another topic, but since a few have asked, I thought this year I would present the tool I used back then... Last year at PSConfEU, I used some PowerShell Cmdlets to automate the creation of some PowerShell Cmdlets... Didn\u0027t have time to explain much as I was presenting on something on another topic, but since a few have asked, I thought this year I would present the tool I used back then... Invoke-ScriptMonkey, a PowerShell module to interact with the Abstract Syntax Tree and the Editor Object, and automate the creation of PowerShell Modules out of a Graph and a CSV. Automating module creation is probably not suited for every situation, however, doing so offers some advantages, and we will discuss and demo them during this session... This session is aimed at people who already write basic functions and like to have fun with PowerShell...",
"Speaker": "Walter Legowski",
"Company": "",
"Twitter": "sadprocessor"
},
{
"Name": "Coffee Break",
"Starts": "06/06/2019 16:30",
"Ends": "06/06/2019 16:45",
"Track": "",
"Description": "",
"Speaker": "",
"Company": "",
"Twitter": ""
},
{
"Name": "Working on PowerShell Performance",
"Starts": "06/06/2019 16:45",
"Ends": "06/06/2019 17:45",
"Track": "Track 3",
"Description": "This session will begin with a little theory on algorithmic complexity to give a background before diving into Group-Object. Using dotTrace, a performance profiler for .net code, we will pinpoint the source of a performance problem, and work through the steps of improving the algorithm of Group-Object. PowerShell as a language is only visible sparsely as the focus here is on the C# code that PowerShell is implemented in. However, knowledge if C# is not necessary to be able to follow along, since the concepts are very similar to classes in PowerShell. This session is suited for delegates wanting to understand more of the underpinnings of PowerShell. It also shows that there is no magic involved, and hopefully inspires delegates to try doing their own performance investigations.",
"Speaker": "Staffan Gustafsson",
"Company": "Dice",
"Twitter": "StaffanGson"
},
{
"Name": "Manage vSphere with PowerCLI DSC Resources, Finally!",
"Starts": "06/06/2019 16:45",
"Ends": "06/06/2019 17:45",
"Track": "Track 2",
"Description": "Configuration management is a key DevOps principle. PowerShell and PowerShell DSC is an easy way to make use of config management in our environments. However, there\u0027s one area that\u0027s been missing that ability: VMware. PowerCLI has introduced the key to close that gap, and... it\u0027s open-sourced! Configuration management is one of those key DevOps principles. Being able to declare a state and do it all in code, where we can take advantage of those developer processes we know and love like source control, unit testing, etc. This ability is not something that\u0027s new to PowerShell though, DSC has been around since Windows Server 2012 R2. However, this ability is something new to VMware environments. This session is going to take a look at the brand new DSC resources available for vCenter servers and ESXi hosts. We\u0027ll take a walk through the nuances on how to get started using them, then applying some configuration settings. Finally, because these resources are open source, we will end by making a contribution back to the repository!",
"Speaker": "Kyle Ruddy",
"Company": "",
"Twitter": "kmruddy"
},
{
"Name": "Visual Studio Code: deep dive into debugging your PowerShell scripts",
"Starts": "06/06/2019 16:45",
"Ends": "06/06/2019 17:45",
"Track": "Track 1",
"Description": "Visual Studio Code (or VSCode for short) is a free, light weight, extensible, text editor by Microsoft. It’s also the official editor for PowerShell development – superseding the ISE. In this talk, I’ll show you how to get VSCode set up for use with PowerShell and then we’ll take a close look at the debugging experience in VSCode. By the end of the talk, you’ll walk away with the skills needed to debug your scripts and even the ability to customize the debugging experience for your use-cases. If you are new to VSCode, we recommend you watch the introductory video before joining this session: \u003ca href=\"https://youtu.be/bGn45vIeAMM\"\u003ehttps://youtu.be/bGn45vIeAMM\u003c/a\u003e",
"Speaker": "Tyler Leonhardt",
"Company": "Microsoft",
"Twitter": "TylerLeonhardt"
},
{
"Name": "A better way to do WPF in PowerShell 5+",
"Starts": "06/07/2019 08:30",
"Ends": "06/07/2019 09:30",
"Track": "Track 2",
"Description": "PowerShell 5 introduced classes, and with a bit of work we can make them play nice with WPF. In this talk I will show how to bind WPF properties and commands to PowerShell classes to do a proper MVVM, instead of naming all components and looking them up. I will also show a tiny framework I developed that allows offloading work into a background Runspace with a simple syntax that makes WPF feel almost native to PowerShell.",
"Speaker": "Jakub Jareš",
"Company": "CN Group s.r.o. ",
"Twitter": "nohwnd"
},
{
"Name": "Azure PowerShell vs Azure CLI: Duel at the command line",
"Starts": "06/07/2019 08:30",
"Ends": "06/07/2019 09:30",
"Track": "Track 3",
"Description": "For a couple of years, Microsoft has had two command-line tools for managing Azure resources. Azure PowerShell and Azure CLI. Both tools are cross-platform and open source. Both are frequently updated and support the fast pace of the Azure changes. You can use them locally or in the Azure Cloud Shell. They provide a similar user experience; however, they are not exactly the same. Some differences are easily visible, some differences happen behind the scenes. What is the right tool for you? Do you need to pick one, or are there any benefits in using them together? Join us to learn about their capabilities, and pros and cons of using them, to help you make a choice.",
"Speaker": "Aleksandar Nikolic",
"Company": "PowerShell Magazine",
"Twitter": "alexandair"