►
Description
PnP Core, PowerShell and Provisioning Engine SIG recording from March 22nd, 2017. Details around the covered content and direct links to demo section from TBD
A
Good
I
think
we're
good
to
go
so
we're
hitting
the
lower
and,
let's
say,
there's
typically
quite
a
lot
of
people
joining
a
few
minutes
late
and
that's
absolutely
fine.
That's
what
always
happens
but
welcome
everybody.
This
is
the
special
interest
group
from
SharePoint
patterns
and
practices
initiative,
and
this
time
this
is
the
bi-weekly
call
where
we
could
concentrate
on
the
PMPA
site,
score
and
EMV
power.
A
Shell
and
quite
often
may
actually
also
cover
elements
like
the
modern
site,
provisioning
which
is
pretty
close
to
the
BMP
site,
score
NPM,
a
power
shell
as
well,
and
the
modern
silent
experience
is
in
general
this
time
today.
So
we
will
have
a
relatively
short
kind
of
a
presentation,
part
and
we'll
concentrate
on
the
demos.
A
So
Burt
has
been
working
on
this
crate
tool,
which
is
giving
running
through
the
sites
and
doing
an
assessment
on
the
site
around
the
readiness
for
the
modern
experiences
and
Bert
is
gonna
cover
that
more
detailed
on
his
section
before
we
actually
go
started
so
just
quickly
always
repeating
this
and
I
do
apologize,
but
there's
always
new
people
in
the
in
this
course.
So
Cheryl
Anderson
practices
is
his
own
and
coordinated
by
the
shipment
engineering.
A
So
we
are
actually
our
team
is
responsible
or
my
team
I
work
in
the
Redmond
team
and
we're
responsible
of
all
of
the
deaf
experiences
within
a
ship
one
and
but
we
need
the
BMP
initiative
is
really
open
source
community
of
an
initiative
and
we
work
together
with
community
MVPs
and
the
internal
national
community
members
to
provide
code
samples
cards
documentation.
We
have
community
course
where
special
interest
group
calls
like
this
one
bi-weekly
:.
Then
we
have
another
one
for
SharePoint
framework
topics
which
is
bi-weekly
as
well.
A
A
lot
of
the
sharepoint
adding
model
topics
also
applied
on-premises
and
in
future,
whenever
the
sharepoint
framework
will
be
landing
in
on-premises,
which
will
happen
this
calendar
year,
then
the
sharepoint
favorite
topics
are
valid
for
ship
116
as
well.
He
AMS
shipment
am
paste.
One
address
to
remember
good,
let's
actually
get
on
going
on
today's
agenda.
So
today
we
kind
of
have
a
one
slide
around
the
PMP
march
release
and
what
we're
planning
to
do
for
the
april
april
of
release
and
may
release.
A
So
you
could
have
some
sort
of
a
high-level
understanding
where
the
BMP
core
team
will
be
spending
the
most
of
their
time.
Then
we
will
have
a
demo
around
the
BMA
powershell
in
asha
functions,
so
gianlu
is
joining
from
australia
and
it's
pretty
darn
late
at
his
location.
So
we
wanted
to
actually
have
him
first,
so
he
can
actually
do
the
demo
and
then,
if
he
needs
to
get
some
sleep,
he
can
actually
transform
the
goal.
A
Thank
you
John
for
that,
and
then
the
second
thing
is,
and
the
second
demo
is
the
modern
user
interface
compatibility
scanner,
and
this
is
done.
The
demonstration
is
done
by
Bert.
The
code
is
actually
already
available
in
the
github
as
well,
and
the
whole
point
of
that
one
is
that
you're
able
to
run
this
tool
and
get
an
understanding.
What
is
the
situation
around
your
tenant
in
the
context
of
the
modern
experiences?
So
can
you
flip
over
what
what
kind
of
customizations
are
there
and
all
of
that?
A
So
you
get
a
nice
report
on
the
findings
from
the
tenant
and
then
we
should
have
plenty
of
time
for
the
Q&A.
If
there's
any
questions
around
EMP,
PowerShell
or
PNP
side
score,
we
can
have
that
open
discussion
within
your
call
as
well.
If
there's
no
questions
and
people
want
to
have
rather
discussions
in
the
social
media
or
in
the
tech
communities,
we
can
close
the
call
early
and
that's
absolutely
fine
as
well
good
and.
A
And
moving
on
are
things
so
I
do
have
one
slide
around
the
March
2017
release,
which
happened
last
week
and
more
on
the
future.
What
are
we
actually
working
on
so
on
the
PNP
core
component
and
the
PNP
PowerShell,
not
a
significant
amount
of
changes
from
a
capability
perspective,
but
there's
a
few
really
really
interesting.
Let's
say
elements
there,
which
Joan
is
actually
going
to
use
as
well,
so
starting
from
a
march
2017
release,
you're
able
to
use
at
only
connectivity,
true,
craf.
A
Well
sorry,
only
connectivity
to
craf
from
a
sharepoint
or
BMP
powershell
or
the
PNP
core
component
to
be
fair,
I,
don't
know
exactly
what
Joan
is
gonna
show,
but
we'll
see
how
it
actually
goes,
and
he
has
20
minutes
roughly
under
or
from
a
timing
perspective
but
anyway.
So
we
there
was
contributions
from
a
community
around.
A
How
can
we
use
the
app
only
to
access
craft
endpoints
and
as
an
example,
if
you
are
provisioning
modern
SharePoint
sites,
that's
a
one
option
to
do
so
so
you're
hitting
there
or
connecting
the
craft
and
then
creating
a
new
modern
sites
using
to
craft
endpoints.
Alternatively,
you
can
actually
use
a
REST.
Api
is
provided
from
SharePoint
as
well,
but
there
are
certain
differences
between
those
in
general
for
the
future.
A
We're
still
working
on
this
kind
of
a
massive
refactoring
of
the
PNP
provisioning
engine,
and
this
is
really
around
the
fact
that
we
want
to
simplify
and
optimize
the
code
in
a
way
that
in
the
future,
when
we're
introducing
changes,
they
can
be
more
easily
tested.
Then
we
can
actually
built
unit
easier
unit
testing
and
all
that
Sao
Paulo
PRC
is
working
on
that
one
of
it
Ivan
from
well
I
haven't
just
changed.
The
company
I
can't
remember
Ivan's
company's
new
name.
A
If
I
haven't
said
Ivan
listener
call,
he
can
actually
point
that
in
the
IO
window,
but
that
should
be
ready
for
April
release
and
after
that
we
can
then
concentrate
on
introducing
a
new
version
of
the
BMV,
provisional
schemer.
So
there's
quite
a
lot
of
feedback
which
we
have
got
in
a
github
around
what
should
be
edit
and
those
are,
for
example,
around
the
modern
payday
support
automatic
CDN
configuration
for
libraries.
A
So
whatever
we
are
providing
from
a
template
perspective
that
matching
capability
has
to
be
available
and
exposed
from
api,
because
otherwise
we
can
actually
make
that
happen,
which
is
kind
of
understandable
good,
but
without
any
taking
any
additional
time
on
kind
of
an
intro
and
in
the
future,
by
the
way
before
we
actually
go
to
Joan's
presentation
in
the
future
as
well.
We
try
to
minimize
actually
the
presentation
times
on
this
course
and
concentrate
more
on
additional
topics
and
scenarios,
and
obviously
we
should
have
again
be
more
public
in
the
social
media.
A
What
are
we
going
to
present
today?
But
I
think
it's
time
anyway
for
Chung
to
share
his
screen,
and
hopefully
the
network
latency
gods
are
with
us
because
he
is
calling
from
Australia.
So
let's
see
how
this
actually
goes,
but
John.
If
you
unmute
yourself
and
start
sharing,
you
should
be
able
to
take
over
the
presentation
if
everything
is
working,
fine.
B
but
let's
just
keep
going
I,
don't
actually
know
how
many
people
have
used
at
your
functions
so
because
I
want
to
show
choir,
but
you
see
how
many
functions
I've
got
lined
up.
We
won't
show
all
of
them.
If
you
have
a
particular
one,
you
want
to
see
the
other
in
the
church.
I
know,
I
might
just
very
quickly
show
you
how
to
set
it
all
up,
so
everybody
should
have
their
as
your
function
account
go
to
functions
as
your
home
I've
already
I'm
already
signed
in
so
I
come
here,
but
normally
you
get
it.
B
B
B
This
months
is
nearly
over,
so
in
the
function
interface
we
go
to
new
functions
and
many
we
can
choose
the
languages.
I
want
to
mainly
focus
on
PowerShell.
Today,
c-sharp
is
very
popular.
F-Sharp
has
been
g8
this
week
and,
if
you're
into
JavaScript
and
know
no
js',
it's
also
very
popular
so
powershell.
This
is
still
experimental
is
not
yet
and
then
you
can
pick
a
function
and
create,
and
that
will
be
a
function
and
for
people
that
have
not
seen
a
function
before
it's
basically
one
powershell
file.
B
You
could
just
go
here
test
and
hit
with
run.
He
has
run
button
and
it's
gonna
run
your
code
in
the
cloud
and
it's
finished
and
it's
returned
that
string.
Okay
and
every
function
comes
with
the
URL.
So
if
I
copy
the
URL
didn't
copy,
isn't
it?
I
got
a
brand
new
page
and
just
paste
that
you'll
see
it's
call
my
function
and
then
return
the
results
in
just
directly
to
HTML,
hey
Sebastian.
B
So
that's
really
very
quickly.
What
function
now
to
use
PMP
PowerShell!
This
is
why
we
are
talking
about
functions
with
office
365.
We
need
to
add
the
PMP
powershell
with
this
TRL's
into
our
header
function,
so
it
will
run
the
additional
commandlets
and
because
pasha
is
still
in
preview,
there's.
No,
that
the
way
you
kind
of
get
going
is
this.
You
go
to
the
function.
Tap
Settings!
B
B
If
you
have
the
PMP
powershell
for
sharepoint
online
installed
locally,
you
run
this
command,
so
you
try
to
figure
out
ways
they
bought.
You
installed
on
your
on
your
machine,
so
it
could
be,
and
so
under
program
files
if
it's
installed
for
all
uses
or
it
could
being
still
under
your
own
local
folder,
if
it's
just
in
so
for
you
copy
that
go
over
to
that.
Folder
I
had
to
open
from
the
Lea,
and
you
see
this
is
the
PMP
pouch
others
way.
B
B
B
B
So
you
see
kind
of
in
the
log
I
should
have
expanded.
This
can
explain.
What's
thinking
you
see
that
it's
picked
up
all
the
deals
from
that
folder
see,
and
it's
only
me,
the
comments
are
available.
You
see.
Most
of
the
PNP
comments
are
here:
okay,
now
that's
how
you
get
set
up
and
let
me
delete
this
whole
thing.
Cuz
I,
don't
want
this
here.
B
B
Yeah,
but
basically
last
year,
for
each
function,
you
will
have
to
copy
all
the
PMP
files
in
so
the
more
functions
you
write.
You
have
all
these
libraries
that
duplicated
another
thing
is
with
the
PMP
powershell
over
time.
We
can.
We
get
more
and
more
new
commandlets,
like
the
ones
that
could
talk
to
Microsoft
graph,
the
ones
I
could
talk
to
taxonomy.
B
B
B
I'll
blow
oh
the
DRLs
here,
then
we
think
all
my
functions,
I
could
just
reference.
Let
me
just
close
one
of
these
I'm
gonna
get
confused
yeah,
so
we
think
my
functions,
I
could
just
reference
and
then,
when
this
function
runs
they're
all
sharing
the
same
out
there
else
from
one
place.
That
also
means
that
it's
much
easier
for
you
to
update
all
those
out
there
else
that
you
use
as
we
get
newer
versions
of
every
month,
I
just
I
blow
over
that
folder
they.
So
that's
pretty
cool
to
connect
to
so
this
I
guess.
B
I'll
start
with
this
example
to
to
connect
to
our
obviously
six
art
we
probably
familiar
with
this.
We
need
to
connect
PMP
online
I,
give
it
the
URL.
For
me
it's
my
SharePoint
site
because
we're
running
an
unattended,
we
don't
want
a
pop-up
dialog.
You
need
to
pass
through
the
credentials
and
in
our
pouch
all
you
could
do
it
this
way.
So
my
username
I've
created
a
service
account
is
actually
a
is
now
a
pecan.
This
is
actually
a
person
called
service
and
I
have
his
password
set
the
password
said
in
the
environment.
B
So
if
you
go
into
the
function
app
settings
there's
a
place
for
you
to
kind
of
record
environment
variables
that
lets
me.
You
know,
show
you
guys
this
code
without
showing
you
my
password,
which
is
kind
of
good,
and
so
I
will
show
you
where
that
setting
is
I,
also
hide
kind
secrets
or
in
the
app
settings.
B
So
that's
the
line
that
will
connect
PMP
on
line
and
that
line
will
get
this
items
and
then
for
each
item,
I'm
running
the
copy
PMP
file,
so
this
will
actually
copy
everything
from
my
source
source
is
actually
something
from
my
argument
so
which
is
here
so
when
I,
when
I
hit
run,
it's
gonna
use
the
sample
JSON
to
call
my
web
service,
take
everything
from
share
documents
and
copied
them
or
to
test
destination.
So
I
could
be
show
you,
my
SharePoint
Online.
B
B
B
B
Sorry
I
thought
there
was
a
Christian
on
the
chatroom.
Okay,
I'm
gonna
keep
going.
So
that's
one
and
in
fact,
because
this
is
the
URL,
you
could
call
this
URL
with
a
JSON,
and
so
you
can
have
some
parameters
that
you
could
pass
in
I.
Based
on
how
you
bill
your
function,
so
I
think
this
is
actually
really
powerful.
You
know
you
can
I
hope
this.
This
is
something
to
give
you
ideas
about
what
you
can
build,
another
very
quick
one.
What
else.
A
B
B
Courses
building
you
just
allow
the
domain
to
come
from,
so
this
could
be
your
SharePoint
Online
URL,
and
then
you
could
just
have
your
SharePoint
JavaScript
from
your
ship.
One
framework
go
out
to
this
function
and
the
thing
is:
this
function
is
running
with
a
different
user
credentials
to
the
user.
That's
currently
running
the
JavaScript,
so
you
essentially
can
do
the
whole
elevated
permissions
stuff
as
well.
So
you
know
when
we're
waiting
from
solutions.
What
do
we
need
to
build?
We
need
to
build
elevate
permissions.
We
need
to
be
running
as
some
other
user.
B
You
know
this.
This
can
handle
all
that
situation.
Functions
could
handle
web
hooks,
which
is
I'm
Ramon.
Even
receivers
functions
could
be
run
on
schedule,
so
that's
kind
of
like
your
schedule
tasks.
So,
if
you're
from
a
from
solution
background
where
you
were
used
to
all
these
things
that
are
difficult
to
build
in
SharePoint
Online
and
your
functions
with
so
well
in
this
space
like
when
I
first
saw
this
so
Jeremy
fake,
was
in
the
functions
team
and
when
I
first
saw
him
start
clicking
about
and
started
to
look
into.
This
I
was
thinking.
B
A
I
have
to
elaborate
on
that
one
one
step
more,
even
more
kind
of
a
making
sure
that
everybody
gets
what
you're
saying,
because
that's
brilliant
wanting
to
kind
of
add
oversimplify
things.
What
we're
seeing
here
is
a
custom
web
api
which
can
be
called
from
a
javascript
or
a
web
service,
and
then
you
can
actually
configure
what
the
web
service
is
doing.
It
has
a
call
to
end
point
and
that's
it.
Yes,.
C
B
B
This
one
is
which
one's
the
side
script.
So
this
one
uses
the
PNP
and
then
it
does
the
new
size
of
the
sue
create
new
team
site,
and
then
this
applies
the
PMP
provisioning
template
from
a
template
that
I've
stored
inside
my
SharePoint.
So
if
I
create
I,
hope,
I
don't
have
the
site.
But
let
me
just
see.
B
B
B
I
will
stay
out
doing
what's
your
thing,
so
this
doesn't
use
the
gray
out,
but
now
e
gray,
so
it
makes
it
harder
to
read,
but
it's
basically
saying
it's
connecting
to
the
parent
site
to
the
roof
site.
It
cannot
find
a
PMB
much
one.
So
it's
creating
a
new
10-10-10
play
teams
are
template
and
then
once
it's
created
that
it's
applying
the
PMB
provisioning
template.
So
while
it's
thinking
I'll
just
like
to
show
you
guys,
this
picture
right
make
sure
people
are
seeing
this.
B
This
is
in
the
the
the
PMB
provisioning
engine,
see
how
this
thing
that
we're
doing
c-sharp
you
could
pretty
much
do
it
in
four
lines.
In
PowerShell,
it's
pretty
crazy,
and
so
there
there's
connect
new
web
apply
provisioning
template,
that's
a
to
go
Stan.
So
that
happened.
That's
oh,
five
is
started
in,
oh
one,
so
about
a
minute
and
four
seconds,
we've
got
eight
side
provision.
Let's
look
and
simple
template
stamped
over
so
sec.
The
PMP
match
one
made
about
min
ago
and
discussed
so
it's
like
it's
not
a
blue
screen.
B
It's
called
a
phone
than
the
color,
and
so
on
stand,
oh
cool.
That's
that's
that
one,
that's
pretty
cool
the
graph
one.
Is
this
one
that
it's
actually
pretty
much
the
same
as
what
wellfest
showed
I
think
the
last
school
where
were
using
so
because
now
we
have
Micro
Swinson,
seeing
it
gently,
don't
know
whether
he's
in
the
core
now
yeah
I
was
trying
to
get
this
to
work
over
the
December
and
OS
just
scratched
my
head
in
I.
Can't
I
couldn't
cut
it,
but
Michael
Swinson.
He
he
got
that
to
work.
B
B
B
B
Not
sure
why,
anyway,
that
wasn't
part
of
the
demo
so
technically
no
demo
failure,
but
what
I
wanted
to
show
was
that
so
in
in
the
PMP
commandlets,
we
don't
have
commandlets
for
every
endpoint
in
the
Microsoft
graph,
but
we
do
have
a
way
to
get
the
access
token.
So
you
can
use
the
Microsoft
graph,
I
connect,
PMP,
Microsoft
graph
to
get
your
token
and
then
go
and
access
the
API
directly
using
in
progress.
B
So
you
could
kind
of
combine
the
two
let
PMP
handle
the
authentication,
which
is
the
difficult
part,
and
you
get
the
nice
token,
which
is
like
a
key
to
your
hotel
room.
You
can
do
whatever
you
want
so
that
our
thing
is
really
powerful.
So
I
wanted
to
show
that
any
way
that
I
think
is
not
the
recommended,
and
this
is
the
next
part-
I
actually
run,
and
you
can
see
it's
retrieved.
My
group
so
I
think
the
crew
was
created
a
while
ago.
B
Well,
it's
not
a
fun
one,
the
terms,
so
this
was
something
that
was
awesome.
Twitter
someone
was
saying:
hey
can
we
get?
Can
we
get
our
turns
so
this
one's
super
cool
cuz
I
want
to
talk
about
this
one,
so
we
are
connecting
to
a
site,
we're
looking
for
a
10
set
and
they
took
group
and
we're
selecting
all
the
turns
from
that
tempo
I
then
use
this
thing.
I
confer
the
PowerShell
array
to
a
JSON
array
so
because
Paul
Shaw
has
all
these
really
powerful
command
leads.
It
just
makes
serialization
so
easy.
B
So
if
you
look
at
the
output
here,
see
how
I
have
an
array
of
oldest
locations
in
Australia
or
the
capital
cities,
so
that
comes
right
as
a
as
that
does
that
comes
back
up
yeah
that
comes
back
out
as
JSON,
so
you
know
you
feel
building,
say
a
web
application
and
you
want
to
get
a
list
of
the
terms
the
taxonomy.
You
could
have
the
edge'
functions,
but
that
out
for
you,
so
that's
pretty
useful,
but
I
did
like
this
demo,
because
this
example
shows
things
like
compared
to
JSON.
B
It's
just
super
useful
and
you
know
if
you
write
this
thing
c-sharp
you
might
have
to
get
a
serialize.
It
then
pass
your
object
in
and
then
serialize
it
to
a
string
and
all
that
fun
stuff
that
I
don't
really
like.
I.
Do
like
this
one
final
one
I
do
this
one
thing!
Well,
I,
don't
know,
I,
think
I
think
this
will
be
the
last
one,
this
one's
a
very
common
one.
B
People
want
to
say
you
know
every
Sunday
send
an
email
update
to
someone
about
the
number
of
tasks
that
haven't
been
closed
in
a
cast
list.
You
know
some
that
type
of
scenario.
So
so
in
the
old
workflow
days
we
were
saying:
okay,
we
need
a
workflow
that
will
run
every
Sunday
and
then
it's
gonna
have
to
loop
through
each
item
in
a
list
and
then
he's
gonna
do
some
sort
of
logic
to
concatenate.
The
string
in
the
PowerShell
is
I.
Think
it's
just
a
lot
easier.
B
So,
ok
again
connecting
to
the
side
in
here
I'm
just
getting
a
list
of
documents
I'm.
Actually,
after
the
file
name,
the
the
person-
that's
changed
it
in
the
day
that
it
was
changed,
adding
it
to
a
partial
array,
then
I'm,
sorting
by
the
modified
time,
comforting
to
HTML
table
seeing
again
those
really
powerful,
convert
our
methods
and
then
I
do
a
little
debug
cuz.
It
should
know
I
just
compare
that
to
string
and
then
I
use
the
PMP
Mail
to
basically
send
that
to
me.
I
had
to
basically
send
that
to
me.
B
So
that's
Ren,
it's
finished
in
I
know
got
seven
seconds.
You
might
jump
over
to
my
site
here:
mail,
231
yep,
that's
the
one,
see
how
it's
formatted
nicely
as
a
as
a
decoded
XML
table.
It's
just
formatted
nicely!
This
is
too
easy,
so
you
can
schedule
that,
in
your
add,
a
function
to
run
an
every
Sunday.
A
B
B
That's
one
way
to
do
it
another
way
to
do
it,
which
may
be
better
for
say
if
you're
in
a
team
that
has
some
power
uses
and
some
developers,
so
the
developer
may
be
building
this
function,
but
you
want
the
power
user
to
have
control
over
when
to
call
your
call
your
function
right,
so
you
take
the
URL
and
you
basically
can
do
this
connection
to
connect
this
piece
of
work
inside
flow.
So
let
me
go
to
flow
which
this
one
yeah
so
in
this
flow
faster.
You
know,
I
have
this
demo.
B
B
So
you
could
say
every
seven
days
and
there's
a
friend's
option
about
when's
the
next
time
it's
gonna
run
and
then
it's
going
to
call
your
function
and
if
I
in
fact,
I
passing
a
slightly
different,
but
you
could
sell
a
different
argument
just
so
that
we
can
see
it's
been
called
from
different
place
and
I
think
there's
a
way
to
see
when
it's
being
run.
So
you
have
six
days
ago,
he
runs.
Oh,
he
hasn't
it's
due
to
be
run
again
soon.
B
B
B
You
see
it.
This
is
the
second
time
I
read,
I,
think
yeah.
So
that's
a
3:30
and
that's
the
334,
that's
a
second,
our
movement
and
I
think
I
would
have
gotten
a
second
email
here
we
go
yep
same
email
really,
so
I
think
flow
is
a
great
way
to
do
that.
You
know
let
your
user
control
when
do
they
want
to
set
this
thing.
Flows
super
very
good.
So
if
your
function
is
created
in
the
same
account
as
as
your
flow,
then
when
you
create
an
action
in
flow,
you
actually
list
your
functions
here.
B
So
your
functions
appear
here.
If
the
function
is
made
in
a
different
assistant,
you
could
then
use
HTTP
cool.
You
can
use
a
GP
or
you
can
upload
a
swagger
farm.
So
I
have
something
like
this
rectifier
that
points
to
the
ferry
all
my
endpoints
together
and
actually
it's
good.
It
says
you
really
cook
in
one
function,
app
you
can
mix
languages,
so
one
of
the
things
I've
been
doing
is
I've
been
trying
to
learn.
B
F
sharp-
and
you
know
you
will
never
build
a
shelf
or
a
whole
app,
but
you
could
easily
use
F
sharp
just
for
one
function,
I
thought
that
was
fun
anyway.
That's
a
it's!
A
very
functional
language,
kind
of
like
C,
sharp,
Mary
JavaScript
to
me,
yeah
I,
hope,
I
didn't
offend
function,
people
that
anyway
sidetracked.
B
B
B
B
A
A
B
B
Sharepoint
editor,
yes,
you
can
call
upon
in
textbook
local
as
well.
So
if
I
said
the
second
one
is
the
two
am
one
right
and
Sherman
to
complete
it.
You
see
here
is
a
stunt
vessel,
so
the
argument
has
gone
to
the
functions
wasn't
included
in
the
email,
but
then
they
kept
back
in
the
output
which
I
captured
and
then
saved
into
the
blog.
A
A
Thank
You
Jonah
for
this
one
I
burped,
you
can
probably
switch
the
presentation.
Please
I
think
you
have
used
two
slides
and
then
we
can
actually
do
a
quick
demo
on
that
one
as
well
with
absolutely
brilliant
demo
and
it's
great
to
see
the
integration
and
the
awesome
capabilities,
Raimondo
sure
functions
and
one
thing
what
Joan
mentioned.
A
But
it's
not
super
clear
unless
you
kind
of
followed
up
on
the
discussions
in
social
media
using
asha
functions,
it's
super
super
cheap,
so
the
cost
yes
are
typically
one
tenth
of
using
a
website
or
a
web
api
or
something
it's
it's
really
ridiculously
cheap,
at
least
for
now.
So
hopefully
it
will
be
in
the
future
as
well.
A
C
So
feel
free
to
take
over
let's,
let's
move
on
a
great
demo,
John
and
then
I
think
I
can
propagate
Asia
functions
to
the
next
part
as
well.
It's
often
a
demo,
but
you
gave
me
ID,
sir,
how
to
use
Asia
functions
as
well.
So
good,
ok,
switching
gears
talking
about
modern
experience,
so
modern
experience
is
kind
of
well.
Is
there
a
bit?
C
We
call
a
modern
that
we
should
stop,
calling
it
modern
a
certain
point
of
time,
because
it's
not
moral
anymore,
but
it
is
actually
comprised
of
all
the
new
user
interface
experiences
we
have
so
we
have
like
a
new
way
to
work
with
listen
libraries
like
affluent
UI.
We
have
like
modern
pages
today,
responsive
nice-looking
pages.
What
you
talked
about
in
last
cycle
as
well.
Now
these
be
these
new
modern
experiences
are
turn
on
by
default,
but
what
we
see
is
that
big
enterprises
tend
to
turn
them
off.
Why?
C
C
So
that's
the
key
reason
why
we
built
the
scanner.
So
the
scanner
is
there
to
answer
those
questions
like
ok,
let's
say
I
enable
modern
pages
or
have
it
enabled.
How
can
I
know
which
sites
are
not
able
to
use
them
same
felissa
libraries,
it
has
been
enabled,
but
a
user
could
have
disabled
it
at
the
user
level,
an
administrator
site
admin
could
have
turned
it
off
at
site
or
web
scope
level.
The
particular
list
of
library
might
have
features
which
are
not
compatible
with
modern
and
as
such,
the
list
will
render
in
classic
UI.
C
So
these
are
questions
that
really
because
was
awake
and
related
to
that,
because
the
first
two
are
really
about
scanning
from
actual
modern
features.
Now,
when
I
built,
the
scanner
I
also
included
thought
about
other
type
customizations
which
not
necessarily
tied
to
modern
but
classic
customization,
that
you
have,
like
example,
using
custom
action,
which
is
embedding
JavaScript
typical
one
that
we
see
very
often
now
that
we
actually
have
been
providing
heavily
with
B&B.
Now,
if
you
have
such
a
customization,
it
is
actually
ignore.
C
On
modern
pages
that
javascript
is
not
embedded
and
as
such,
it
doesn't
do
anything
now.
The
scanner
also
will
have
look
at
those
type
of
customization,
so
it
will
give
you
when
the
scan
sites
it
will
detects
like.
Oh
here's,
an
incompatible
user
custom
action,
so
I
logged
it.
So
at
the
end,
you
will
have
a
list
of
sites
pointing
to
customizations,
which
is
like,
if
I
want
to
have
a
full
bottom
experience.
These
are
the
conversations
that
I
need
to
work.
C
Work
on
essentially
I
need
to
kind
of
update
or
improve
alright,
so
this
is
all
based
on
the
MSDN
guidance.
So
the
bottom,
you
see
that
the
link
here
pointing
to
our
MSDN
articles
around
more
experience.
So
if
you
want
more
background
around
mobile
experiences
around
how
to
customize
experiences,
I
would
recommend
checking
out
those
articles
we
give
them
up
to
date.
We
do
like
weekly
changes
because
we
detect,
we
see
new
things.
We
have
changes
in
a
product
or
just
further
keep
on
proving
that
those
articles.
C
Now,
what
did
we
build
it?
So
we
call
it
a
model
user
interface
scanner
that
they
have
to
have
a
name.
Maybe
the
name
assists.
This
serves
a
rule
from
proof
under
the
name,
but
this
file
is
called
today.
Essentially
it's
an
adult
exe
using
a
PHP
bits.
It's
you
see
yourself,
the
pnp
szybko
her
goat,
it's
all
wrapped
into
one
eggsy,
so
you
just
download
one
zip
file
containing
one
exe
that
you
can
run
and
we'll
do
like
a
multi-threaded
scan
of
your
tenant.
C
I,
think
I
did
a
run.
All
I'm
city
alter
flipping,
em
city,
tenants
it's
about
5,000
site
collections
and
it
took
if
I
recall
correctly,
around
12
hours
running
it
remotely
from
Belgium
based
against
the
US
based
tenants,
so
not
optimal,
but
just
relating
this
to
John's
called,
and
you
could
perfectly
run
this
eggsy
in
an
azure
function.
C
Close
to
your
tenant,
so
that
would
definitely
increase
performance
now.
What
will
the
scanner
do?
It
start
scanning
and
that's
the
part
you
have
to
wait
for
a
while,
and
it
was
done
at
the
end
of
the
run.
It
will
generate
files
for
you
kind
of
a
self.
We
post,
essentially
we're
gonna,
look
at
the
be
posts
in
a
demo
just
so,
but
this
is
what
you
get
us
out,
but
this
view
posts
you
can
use
to
further
assess
how
good
or
how
bad
is.
C
A
A
The
other
say
there
was
a
discussion
around
the
modern
experiences
and
the
fact
that
if
you
create
a
a
site
from
an
admin
UI,
it's
always
classic
and
that
that
is
absolutely
every
day,
it's
the
powershell
available
available
to
customers.
Absolutely
you
can
modify
modern
or
classic
sites
using
BMP
powershell
as
well.
Now,
on
the
modern
sites,
there
are
certain
limitations.
So
if
you're
trying
to
set
property
back
store
user
custom
actions,
you
won't
get
an
exception.
A
A
Takes
about
10
to
12
minutes
exited,
apply
probation
in
temp
lines.
Emitter
has
anyone
run
into
this
kind
of
scenario?
Well,
it
depends
on
a
template.
Now
we
need
to
remember
that
the
BN
paper
provisioning
template
actually
defines
what
we
need
to
execute
as
a
see
some
operations
and
if
we
only
have
a
one
custom
list
or
whatever,
then
the
operation
is
first
and
simple.
A
C
Okay,
sorry
for
little
hiccup,
so
what
I
want
to
do
is
do
a
quick
run
over
the
documentation.
So,
first
of
all,
everything
is
already
published
on
kita.
This
is
a
preview
by
the
way,
so
it's
two-fifty
released
because
we're
doing
some
some
testing
with
a
number
of
big
customers,
but
I
would
recur
you
guys
to
try
it
out,
download
it
or
give
it
a
run
and
provide
feedback
using
the
regular
in
P
channels.
C
So
it's
under
PNP
tools,
the
solutions
folder
and
then
there
is
the
SharePoint
taught.
You
I
experienced
scanner
that
you
you
want
in
there.
There
is
a
QuickStart
right
which
I
will
walk
you
through.
Essentially
they
are
not
a
tool
which
is
an
easy.
Once
you
have
the
tool,
there's
two
ways
to
to
run
the
tool:
either
use
a
pony
or
use
username
password.
The
recommended
approach
is
app
only
because
it's
the
easiest
way
to
guarantee
that
the
tool
can
read
all
the
site
collections
in
your
tenant.
C
If
you
work
with
an
account,
you
would
have
to
grant
that
account
permissions
to
also
add
collections,
which
is
for
an
the
small
talent
that
might
be
possible
for
large
talent,
that's
kind
of
hard
to
do
so.
It
kind
of
explains
how
to
create
a
new
principal,
how
to
grant
it
the
proper
permission.
So
it's
telling
score
permissions.
C
C
C
Ok
next
step
is
an
actual
scan
of
the
environment.
So
that's
very
simple:
you
call
the
tool,
provide
your
tenants
and
your
client
ID
and
client
secret,
so
in
this
case
calling
10
on
this
name
contoso.
So
if
you
tell
in
this
canto
store
sharepoint
cim
yux,
you
provide
kanto,
so
it
will
figure
out
all
the
rest
and
client
econ
secret,
the
sauce
running
and
showing
some
output
in
the
ends
and
I'm
not
going
to
show
the
rodent
practice,
because
it's
boring
to
watch
console
application.
Dumping
sauce
on
statements
on
screen.
C
So
in
the
end,
you'll
get
a
number
of
reports.
Indeed,
that's
what's
interesting,
that's
actually
the
the
result
of
the
run
and
I
will
have
a
look
at
the
swee
posts
in
a
second
now
the
actual
columns
of
reports
are
described
in
the
manual
as
well.
So
you
can
learn
what's
in
there.
What
I
do
want
to
quickly
touch
upon
its
options?
Do
a
partial
scan,
so
it
typically
will
scan
for
everything,
blocked
this
block
pages
and
ignored
customizations,
but
you
can
kind
of
control
what
scans
and
not
important
to
know.
C
This
is
SharePoint
line
dedicated
if
you're
dedicated
you
have
to
use
slightly
different
parameters
so
because
in
dedicated
we
can
simply
figure
out
what
are
the
actual
URLs
you
use.
So
you
have
to
provide
that
to
the
tool,
for
example,
here
I'm
scanning
everything
on
the
team
that
kentucky.com
and
on
my
site
or
sitcom,
then
I
provide
the
URL
today
D
the
next
admin
Center,
which
is
cantos
Tedeschi
admin.
What
cantos
woodcomb
just
I
made
up
this
URLs
but
I.
Think
if
your
indicate
the
customer,
you
know
what
this
means.
C
Alright,
let's
have
a
quick
peek
at
the
output,
so
I
ran
the
tool
before
and
when
you
run
the
tool,
it
generates
a
folder,
a
timestamp
folder.
Essentially
so
each
run
Stross.
This
data
into
a
unique
folder
know
in
every
will
overwrite
existing
data,
which
is
good,
and
then
you
get
those
individual
CC
files
which
already
have
opened
up
in
Excel.
C
So
let's
first
start
with
modern
pages.
It's
a
really
simple
one,
because
the
modern
page
can
only
be
blocked
whenever
you
have
disabled
modern
page
feature
so,
and
the
report
will
tell
you
like
okay,
these
are
the
sites
where
this
feature
has
been
disabled.
When
is
the
feature
disabled
because
someone
did
it
purpose
as
part
of
provisioning,
for
example,
or
if
you
have
a
publishing
portal,
we
don't
enabled
the
feature
publishing
portal.
The
opposite
is
true,
though,
if
you
have
a
team
site
and
on
a
team
site,
you've
enabled
publishing
features
at
that
point.
C
The
modern
page
feature
is
also
enabled,
and
you
kind
of
have
both
essentially
with
this-
is
then
the
list
of
of
sites
that
are
not
having
this
modern
wage
experience.
So
if
you
want
to
work
in
your
site
ever
after
everywhere,
you
need
to
start
from
this
list.
You
see
a
block
appearing
a
lots
here.
I
think
that's
by
design
the
classic
block
will
not
be
able
to
use
modern
pages.
C
All
right,
modern
lists,
it's
a
pretty
big
list.
Now
you
see
it's
it's
from
my
test.
Tenant,
which
is
like
200
site
collections,
contains
a
lot
of
data
and
I
did
this
a
purpose,
so
you
can
really
filter
out,
see
what's
relevant
for
you.
So
again
we
have
a
site
site,
URLs
its
column
and
then
individual
view
URLs,
because
the
weather
a
list
is
showing
a
modern.
C
It's
not
just
depending
on
the
list
itself,
it's
also
depending
on
the
view
that
is
used
to
show
that
this
data,
currently
the
tool,
is
only
scanning
the
default
view
page
of
a
list.
So
we're
not
scanning
a
example
and
an
ad
page,
because
that
would
kind
of
take
quite
but
really
increase
the
time
roll
scan
and
the
most
impacted
one
is
that
I
think
the
view
of
the
often
is
data.
C
So
what
do
you
get
from
this
report?
You
will
be
able
to
filter
out
which
side
collections
have
been
blocking
a
motor
one,
listen,
libraries
at
site
level
or
at
web
level
of
example,
where
that's
the
user
kind
of
turned
a
particular
modern
UI
off
for
a
site
collection
as
for
a
surfer
list.
So
this
case
I
have
trade
lists
in
two
different
side
collections,
where
the
NQ
is
a
set
like
no
I'm,
not
going
interested
in
running
the
modern
UI
I
turned
it
off.
C
So
in
this
case,
management
data,
if
you
have
that
turned
on
the
list,
will
render
modern
you
see
this
one
is
managed
metadata,
true
and
also
it's
using
a
calendar
based
view
which
is
not
supported,
so
it's
not
rendering
a
modern
it's
using
a
base
template
which
is
not
supported
as
well.
So
that's
the
idea
behind
you
check
on
the
blot
columns.
You
filter
out
the
truth,
and
then
you
see
typically
the
next
column
like
the
actual
values
when
they're
relevant.
C
So
there's
multiple
reasons.
You
see,
big
lists
base
template
number
parts
on
the
page,
J's
link
I
think
it's
a
popular
one
as
well.
So
let's
have
a
big
chase
thing
to
true.
You
will
see
that
there's
a
number
of
lists
which,
having
Jace
link
set
at
our
list
to
a
park
level,
excel
link,
Excel,
etc,
same
story,
and
then
it
moves
into
fields.
Certain
fields
are
also
blocking
a-lister
engine.
C
All
of
this
is
gathered
in
this
particular
big
report
for
you
to
analyze
and
then
the
other
one
last
we
brought
some
kind
of
clothes
sometime,
but
there
is
this:
ignore
customizations
we
bought
over
here,
which
is
giving
you
a
list
of
all
the
customizations
which
are
like
north
have
not
respected
on
modern
they.
Just
this
is
overview.
It
will
give
you
like
you
better
as
a
master
page
or
alternate
CSS
or
custom
action
which
is
causing
the
the
creation
of
the
show
up,
and
then
you
can.
C
C
It
will
give
you
the
actual
scripts
and
other
details,
so
this
will
give
you
a
venturi
of
all
the
connections
floating
around
in
your
environment,
which
will
just
not
show
up
for
modern,
and
you
don't
want
those
things
to
just
not
show
up,
because
you
want
your
fictional
tea
to
work.
So
these
are
things
that
you
have
to
tackle
as
part
of
being
ready
for
motor
and
experience,
alright,
so
the
investor.
How
can
we
flip
back
to
the
last
so
actually
I
shall
switch
to
the
last
slides
yeah.
C
This
one,
so
it
was
a
quick
overview,
we'll
do
a
more
detailed
recording
of
the
tool
pretty
soon,
and
this
is
a
previous
version.
So
the
plan
is
to
have
a
final
version
by
end
of
next
week,
if
possible,
we'll
see
how
things
go,
hard
testing
goes,
but
yeah
any
feedback
is
welcome.
Give
it
a
try
and
let
us
know,
and.
A
Obviously,
please
use
the
tech
community
or
the
issuer
lists
in
the
kit
on
we're
trying
to
follow
up
on
all
of
those
which
are
coming
in
and
for
this
particular
tool.
What
Burt
showed
it
would
be.
The
PNP
tools,
repo
and
they
showed
us
over
there.
But
again
we
are
trying
to
migrate.
Former
and
stuff
is
happening
as
people
are
submitting
them
into
issue
lists,
but
I
think
we're
running
out
of
time
for
this
one.
Thank
you
John
for
an
awesome
demo.
Inertia
functions.
A
You
kind
of
stole
the
Thunder
from
Bert
the
bird
stool
or
this
particular
tool,
which
were
to
demonstrate
it
it's
more
for
enterprise
analytics,
but
quite
often,
that
kind
of
a
insight
is
needed.
Cross
the
tenant
as
well,
but
I
think
that.
Well,
it
was
a
nice
balance
of
super
super
cold,
new
stuff
and
then
enterprise
scale
analytics
as
well.
But
thank
you
everybody.
Thank
you.
Bert
thank
you.
John
and
the
recording
of
this
one
will
be
available
in
YouTube
within
24
hours,
so
and
I'll
push
out
a
Twitter
tweet
when
it's
actually
pushed
down.