►
Description
Webcast around how to build a provisioning solution with PnP PowerShell and Azure WebJobs. More details on covered content is available from http://dev.office.com/blogs
A
We
do
have
quite
a
few
examples
around
the
provisioning
in
the
BMP
guidance
or
BMP
good
gallery,
but
this
time
actually
is
based
on
EMA
potion,
so
actually
will
do
will
do
or
everything
is
using
PowerShell
in
the
demo
as
well.
My
name
is
Jose
Juan
I'm,
a
Senior
Program
Manager
from
the
SharePoint
engineering,
and
today's
main
presenter
will
be
in
ecosystem.
So
Michael
will
be
do
the
quick
in
church
as
well
sure
so.
B
My
name
is
Michael
Sampson
I'm,
the
CTO
of
total
park,
which
is
basically
just
a
fancy
title,
because
I
care
about
technology
I
mean
I'm
I'm,
an
everyday
consultant
doing
projects
yes
and
I'm.
Also
an
office
server
and
services
MVP
been
that
for
the
past
six
years,
do
a
lot
of
development
coding,
everything
which
is
fun
yes,.
B
A
Which
is
at
this
point
as
well,
so
whatever
we
are
seeing
today
is
actually
based
on
again
a
real-life
scenario.
So
this
is
something
what
Michael
is
doing
together
with
his
customers
on
a
real
life,
which
is
pretty
common
with
the
BMP
guidance
as
well.
So
it's
coming
from
a
real
life
enterprise
as
scenarios,
but
before
we
go
to
the
actual
architecture
of
the
exactly
the
solution.
Let's
have
a
quick
look
on
the
on
the
high-level
thinking
of
the
remote
provisioning
in
practice,
and
this
is
just
a
high-level
thinking,
a
kind
of
a
clarification.
A
What
do
we
mean
with
remote
provisioning
for
those
who
are
not
necessarily
should
be
familiar
with
this
in
classic?
If
we
think
about
the
classic
SharePoint
people
use
to
use
feature
framework
and
schema
xml's
and
web
templates
and
even
flight
definition,
so
not
an
XML
file.
The
proper
with
those
are
that
they're
always
a
snapshot
of
the
time
when
they're
actually
created
and
a
special
in
SharePoint
Online.
We
are
actually
releasing
a
new
version
of
the
platform
in
every
single
week,
which
means
that
even
the
templates
are
evolving.
A
So
now,
if
you
would
apply,
for
example,
a
classic
with
our
or
let's
say,
site
template,
which
was
created
a
year
ago,
you
would
get
a
completely
different
interest
alt
than
creating
a
new
site
and
starting
from
there,
that's
really
the
key
point
why
the
remote
provisioning
works
well.
So
what
we
do
is
that
we
have
a
remote
API
based
provisioning
and
this
remote
data
API
based
provisioning,
does
provisions
always
an
out-of-the-box
I.
So
can
we
go
one
step
forward
because
my
assistant
on
this
one,
so
we
always
alert?
Thank
you.
A
We
will
start
by
creating
an
out-of-the-box
site,
so
out-of-the-box
the
inside
our
JavaScript
group
site
or
out-of-the-box
pop
single
sign,
and
this
way
with
whatever
is
actually
evolved
on
the
basic
templates.
You
will
get
all
of
the
benefits.
So
what?
If
there's
a
new
must
debate?
If
there's
new
functionalities
features
associated
to
direct
the
Box
team,
signed
as
an
example,
you'll
get
all
of
those
within
your
site,
but
then
the
remote
provisioning
application
actually
starts
modifying
the
site
using
them
remote
APs.
A
So
it's
actually
applying
configurations
like
activating
additional
features
or
outline
of
pending
on
the
site
or
creating
lists,
creating
content,
dive
sites,
setting
languages,
regional
settings
whatever,
and
that's
really
the
rim
operational
part
and
that's
how
the
BMA
provisioning
engine
works.
Well,
so
you
always
first
have
to
create
the
site
or
a
site
collection,
and
then
you
apply
the
configuring
configuration
template,
and
in
this
case
this
is
test
a
proud
of
the
classic
and
an
old
site.
A
We've
created
an
out-of-the-box
team
side,
but
then
we
apply
the
specification
on
top
of
it,
so
we'll
apply
a
different
trending
or
a
different
settings
and
it
will
become
as
a
project,
size
and
organizational
side
or
workgroup
side.
What's
really
give
benefit
out
of
this.
One
is
also
that
the
site
which
we
created,
it's
still
a
team,
it's
still
based
on
a
vertical
steam
zone.
So
it's
not
based
on,
let's
say
a
custom
site
definition.
Well,
that
would
be
only
supported
in
on-premises
or
a
custom
template.
A
B
So
the
architecture
is
quite
simple,
so
we
have
a
site
or
this
is
the
root
side
of
site
collection
where
we
installed
the
the
site
directory.
The
site.
Director
has
a
list
where
you
can
order
new
sites,
and
it
also
has
two
libraries
one
with
P
and
P
modules
maps.
So
the
doc
PNP
files
are
basically
PNP
provisioning,
XML
files
packaged
into
P
and
P
file,
so
we
separated
into
module
synapse.
B
That
means
a
module
is
typically
a
larger
look,
for
example,
your
organizational
site
or
the
project
site
with
different
branding,
and
then
the
apps
are
smaller
components,
but
it's
basically
the
same
provisioning
new
schema
files,
but
an
app
could
be
a
picture
library.
It
could
be
a
library
called
internal
documents
which
don't
allow
visitors
to
come
into
the
library,
for
example.
B
That
means
you
could
have
because
say
you
have
a
team
site
template
and
then
you
have
apps
for
for
localization,
for
example,
one
for
Norway
one
for
Sweden
one
for
Denmark,
then
you
could
create
a
template
called
team
fight,
Norway,
which
consists
of
the
main
team
site
module
and
then
the
Norwegian
app
module,
for
example.
That's
one
way
of
doing
it.
A
Thing
actually
here
what
I
wanted
to
kind
of
a
repeat
as
well,
is
that
you're
actually
part
of
the
site
creation,
you're,
actually
applying
multiple
templates,
and
that
is
a
quite
common
practice.
But
on
the
other
hand,
not
all
of
the
people
are
aware
of
that.
You
can
do
this,
and
so
you
can
actually
create
that
functional
template
which
will
they
apply
to
all
of
the
languages
and
then
a
language,
specific
template,
and
you
start
with
one,
and
then
you
apply
another
one
yeah.
It's.
B
So
yeah
so
the
easy
part
of
the
solution.
It's
just
a
SharePoint
list
order
I
mean
if
you
want
a
more
fancy
UI
with
more
choices
which
sort
of
instruments
the
list.
You
could
do
that
as
well,
but
it
will
always
work
just
weather
with
the
list
as
well.
But
if
you
have
more
requirement,
we
could
easily
build
a
UI
on
top
yeah.
So.
A
B
B
Afterwards,
I
mean
the
site
becomes
a
master
afterwards.
I
also
have
a
second
web
job
which
does
daily
syncing
back
owners,
members
and
visitors
from
the
slide
to
this
list.
So
you
could
actually
have
it
have
a
surgery.
It
uses
a
site
director.
We
searched
for
lists
for
info
all
the
sites
where
you
are
an
owner
and
then,
if
we
go
into
our
modules
library,
so
here
is
one
file.
Team
site.
B
Pmp
well
show
that
as
well
and
then
in
apps
we
have
pictures
picture
PMP
and
if
we
go
to
our
site
templates,
which
are
the
functional
templates,
so
one
called
default
team
site,
which
is
just
the
core
module
team
site
and
then
I
have
one
called
team
site
with
pictures
which
is
team
fed
with
the
picture
app
added
to
it.
So
you
could,
you
can
add
these
apps
either
diet
through
the
template,
or
you
can
actually
also
add
them
through
your
order
list.
B
B
Love
this
and
let
it
do
that
here,
yeah
and
then
let's
do
the
default.
My
please
see.
I
can
also
take
your
apps
here.
So
if
I
pick
team
site
with
pictures
here,
it
will
actually,
after
provisioning
check
this
box
automatically.
So
it's
either.
You
can
either
do
the
small
functional
pieces
directly
on
this
one
site
or
you
could
pull
them
where
the
other
templates
here,
both
options.
We
have
one
customers,
I
didn't
want
this
apps
part,
so
they
only
have
the
template,
but
it's
easy
to
model
modify
this
and.
A
B
B
B
You
go
so
we're
actually
using
this
as
an
end-user
capability
in
a
couple
projects.
So
let
us
go
into
the
site
and
a
and
a
in
that
order.
Yes,
so
what
happens
is
I
will
actually
get
an
email
right
away,
saying
your
site
is
being
processed
one
customer
added
approval
functionality,
one
just
wanted
directly
for
a
little
bit
of
both
actually
yeah.
A
And
and
obviously
this
could
be
an
only
an
admin
functionality
as
well
or
yeah.
You
get
to
write
a
let's
say,
a
ship
on
framework
client
side
web
part,
which
is
exposing
this
to
end
users
as
a
self-service
form.
So
and
then
that
way,
you
have
a
kind
of
idea,
split
your
implementation
about
the
form,
Williams,
just
adding
argue
and
the
list,
and
then
the
operation.
A
B
Okay,
so
this
will
probably
be
picked
up
by
my
Asha
web
drop,
so
what
I'll
I'll
just
let
us
spin.
So
if
we
go
into
the
mr.
provision
script,
so
this
is
actually
the
PowerShell
script
which
kicks
off
kicks
of
the
provisioning.
So
you
see
at
the
top
header
it
links
in
a
small
library
called
shared,
which
has
some
shared
functions
in
order
to
get
this
to
run
in
master
web
job.
It's
very
important
to
set
these
two
variables.
If
not,
you
will
get
some
funky
errors
because
you're
not
actually
running
in
a
partial
host.
B
You
need
to
ensure
that
you
don't
use
any
right
host
but
always
use
right
output,
and
you
also
need
to
bundle
in
all
the
PNP
power
and
see
some
libraries,
so
the
descriptor
actually
at
the
topic
text
like
I,
do
actually
have
PNP
PowerShell
in
your
bundle.
Folder
is
not
a
uses
nougat
and
pull
that
down
and
packages
out.
So
it's
there
when
you
want
to
pack
up
the
actual
solution
fresher
or
you
could
I
or
you
could
run
this
as
a
timer
drop
on
the
server.
A
B
Well
that
means,
if
you
want
test
this
locally,
you
just
set
all
these
variables
in
your
UI
like
this,
we
can
just
set
the
domain
partial
like
this,
and
then
then
you
can
test
it
locally.
Okay.
So
let's
go
back
to
mr.
provision
we'll
just
skip
down
to
where
the
logic
goes.
So
first
it
connects
to
the
to
the
tenant.
B
Where
we
have
the
site
directory
URL,
then
it
pulls
on
a
list
of
all
the
templates,
all
the
modules
for
the
base
models
and
app
modules,
and
then
it
gets
the
recently
updated
items
which
we
have
in
a
camel
courier
right
here.
So
I've
said
it
set
this
to
do
the
past
past
30
minutes
on
the
web
mm
I'm
minutes.
B
B
So
if
we
go
to
ensure
site
so
here
we
have
new
PMP
site
and
it
sets
with
these
parameters.
You
can
easily
add
to
the
order
form.
Do
you
want
to
enable
external
external
affairs?
So
now
you
can
add
that
into
as
a
primer
into
this
function
on
this
presidency?
Is
that
back
and
forth
yeah
yeah?
If
it
fails,
we
send
a
failure
mail
to
the
owners.
B
So
here
we
ensure
that
we
actually
have
a
owners,
members
and
visitors
groups
and
adds
the
people
to
it,
and
then
we
start
applying
the
different
configurations
and
then
the
sync
metadata
function
make
sure
that
the
title
and
description
is
correct.
That
means,
if
I
go
into
the
list
and
change
the
title
or
description
of
the
site,
I
will
be
synced
back
to
the
fight
and
then
I'm
also
setting
the
request
access
email
address
as
an
extra
functionality
and
then,
if
the
site
is
not
provisioned,
that
means
it's.
B
A
B
B
So
so
this
is
actually
my
asha
web
job.
So
you
see
I
have
a
job
running
here.
So
if
we
just
switch
into
the
log
for
let's
see
right
so
there's
a
processing,
PNP
live
demo,
plug
them
into
other
spheres,
let's
create
it
and
then
it's
waited
here
and
created,
adding
the
owner,
adding
members
adding
this
church,
applying
the
template,
applying
pictures
and
then
syncing
the
title
lettings.
A
B
So
that
means,
if
I
just
refresh
here
right
now,
I
should
see
a
slight
URL
over
here,
see
yep,
say
no
I
have
a
slight
URL
over
here.
So
if
I
open
the
site,
so
it's
been
provisioned
so
with
a
logo
here
and
I
have
a
recently
modified
document
web
part.
So
that's
the
sort
of
change
and
then
I
also
have
the
picture
library
here
and.
A
B
One,
so
if
we
look
at
the
templates,
I
have
a
template
folder
here,
so
here's
my
team
site
template
so
which
will
set
the
regional
settings
and
I'm
setting
the
logo
here
and
then
I'm
applying
the
logo
which
I
have
in
my
site,
assets
folder
here,
just
a
default
logo
Graeme
could
change.
You
could
change
this
and
have
a
logo
in
a
central,
central,
direct
and
point
to.
That.
A
B
So
the
reason
why
we
went
with
PowerShell
was
to
have
it
easier
up
and
running.
It
will
certainly
easier
to
prototype
on.
They
started
creating
it
and
it's
a
lot
easier
when
we
have
so
we're
handing
this
over
to
IT
organizations
and
they
can
actually
look
at
the
scripts
and
figure
out
the
flow
of
it,
and
some
of
them
are
actually
been
able
to
modify
and
then
add
functionality
themselves.
So
one
guy
added
IRM
Frank
felt
he
wanted
to
buy
it.
B
B
B
Yeah,
so
it's
very
very
easy
to
get
up
and
running
so
for
this
we
have
a
package
web
browser
which
creates
two
zip
files
for
one
for
the
provisioning
job
and
one
for
the
for
the
governor's
job,
and
then
you
can
just
create
your
web
jobs
and
upload
the
zip
files
and
just
work.
So
it's
very
easy
for
it
to
hand
over
to
an
IT
organization.
I
have
and
have
them
install.
It
actually
makes
that's
yeah,
so
I
guess
the
issue
with
team
size.
B
If
you
suddenly
have
House
entries,
then
it
will
take
time
to
just
they're,
spinning
up
each
side,
sequentially
all
right.
So
if
you
have
a
lot
of
pipes
being
order
right
away
at
one
time
of
course,
then
you
would
have
to
wait
since
it
only
keeps
one
side
at
a
time
that
could
be
handled
better
if
you
used
to
web
poke,
for
example,
on
the
list,
but
then
you
have
to
make
sure
that
your
web
book
is
renewed.
So
it
adds
to
the
complexity,
to
have
it
more.
B
If
you
need
need
that
kind
of
scale,
but
for
our
scenarios
I
mean
they
don't
order
that
many
fights
every
day,
but
then
again
we're
we're
doing
the
same
kind
of
solution,
creating
office
groups
with
modern
sites.
Then
you
then,
then
the
call
to
create
the
group
is
actually
done
in
seconds.
So
it
doesn't
really
matter.
If
you
had
a
hundred,
they
will
still
be
and
be
very
quick.
Those
you're
holding
this
list
up
with
every
five
minutes.
True
and.
A
B
Tried
yet
partial
and
function
so
it
possible
for
I
haven't
actually
ready
yep,
it
would
be
unnatural,
natural
subsoils,
I!
Guess
you
could
it
could?
It
could
flow
on
the
list
to
trigger
for
new
or
modified
items
which
triggered
the
function
and
I
guess
flow,
Widow
well,
I
hope
flow
automatically
renew
so
that
the
Weber
case
I'm,
not
sure
about
I,
hope,
I
hope
they
do
that
so
so
yeah
for
that
that
could
be
a
possibility,
I'm
sure
sure,
because
we're
family,
because
then
you
can
just
invoke
and
well.
B
You
could
just
invoke
that
web
job
with
a
with
HTTP
call
from
yes,
so
there's
a
different
way
so,
but
but
it's
still
and
there's
not
a
lot
of
moving
parts.
You
have
a
script
which
pulls
the
list
and
then
thus
I
have
a
listing
yeah,
and
this
will-
and
it's
just
up
to
you
how
much
logic
you
want
I
will
not
been
there
for.
But
if
you
just
want
to
just
look
at
the
picture
library
very
simple:
it's
one
list,
ensign
of
template,
I'll
AB,
109
called
picture.
B
So
it's
just
a
declaration
of
having
a
new
list.
Yes,
that
means,
if
you
want
to
have
more
stuff
in
there,
you
can
do
that
as
well,
so
absolutely
and
on
this
matter,
just
packing
it
up
CC.
So
here
so
here's
actually
the
site
or
Casa
template
as
well.
So
if
we
now,
if
we
go
over
to
the
sample,
it
just
tells
you
here
how
to
get
started,
how
to
set
up
the
site
directory
apply.
B
B
A
On
the
Khimki
box,
still
on
the
templates
at
a
a
kind
of
a
regenerate,
the
remote
provisioning
model,
so,
for
example,
this
list
in
stone
creation
and
so
right
or
the
actual
template.
Because
then
a
lot
of
people
are
asking
hey.
But
why
aren't
you
using
WH
these
packages
or
uploading
a
sample
solution
and
all
of
that
and.
B
Yeah
and
I
guess
this
is
the
hard
part
right
creating
these
templates.
This
is
all
XML,
but,
but
so
what
we
typically
do,
we
will
just
create
it.
A
creative
side,
configure
them
and
pull
out
the
template
and
clean
it
up.
Yeah.
But
of
course
it's
not
for
a
regular
user,
maybe
for
a
power
user
with
some
training,
but
everybody
get.
This
XML
is
sort
of
the
hard
part
to
to
know.
A
Down
and
then
like,
like
I,
said,
you
can
always
start
by
creating
the
configuration
in
a
live,
silent
and
export
template
from
there,
and
then
we
can
modify
that
based
on
your
requirements
with
absolutely
typical
case
the
one
day.
What
I
wanted
to
kind
of
a
pinpoint
here
is
the
difference
between
this
classic
site
template.
Still,
this
is
configuration
tab
which
are
applied
and
how
it's
applied
is
that
they're
running
API
calls
towards
the
fight.
So
essentially
we're
saying,
hey,
create
a
me.
A
list
create
me
a
new
page
on
this
page.
A
All
the
data
exists.
Let's
actually
add
this
webpart
on
a
page.
We
do
the
double
SP
a
way
of
doing
that,
using
the
feature,
framework
or
saving
side
as
a
template.
It's
actually
taking
the
whole
slide
from
that
moment
of
time,
and
it's
a
need.
This
isn't
actually
doing
Masseria
it
doesn't
recreate
or
create
a
new
site
based
on
article
simply
it
creates
the
whole
site
based
on
that
template.
A
B
A
That's
that's
probably
a
good
way
of
putting
them
for
those
who
are
not
familiar
with
the
terminology.
It's
a
memory
to
record
it
macro.
What
entries
are
good
by
clicking
in
the
UI
the
feature
framework
wasn't
precisely
that
we
we
kind
of
a
solves
that
it
is,
but
it
wasn't
actually
and
now
we're
getting
to
the
right
direction
and
in
the
future,
by
looking
in
doubles
for
having
this
kind
of
a
recipe,
morale
natively
within
a
product
as
well,
but
let's
there
still
take
some
time
cool
I,
think
that's
it
yeah.
B
I
think
that's
it
so
I
guess
if
I
say
fire
I
could
I
could
if
I
just
tried
to
do
the
engine
I
can
do,
for
example,
the
mr.
governor
script,
Oh
yank
permissions.
So
let
me
if
I
go
into
like
just
go
into
this
height
right
here.
So
if
I
go
to
my
site,
settings
slide
permissions
and
then,
if
I
go
to
my
visitors,
if
your
everyone,
so
let's
I,
just
add
my
demo
ghost
one
more
time
here.
B
B
B
So
now
we
should
get
your
updated
chain
updating
change,
download
member-sisters.
So
if
we
go
back
to
the
directory
and
refresh
so
then
we
should
see
okay,
we
have
them
a
ghost
on
the
surface
oil
so
make
sure
you
could
actually
have
this
as
a
fight
directory
and
and
so
you
can
see,
get
get
besides,
where
you're
explicitly
this
remember
older,
true
to.
A
And
obviously
would
have
hundreds
of
thousands
of
slide
collections,
then
the
process
using
PowerShell
isn't
necessarily
the
right
thing
to
do
you
get
snow,
then.
In
that
case
you
could
use
code
and
multi-threading
and
alternative
options
to
do
that,
but
it
really
comes
down
on
the
scale
of
the
user.
So.
B
We
have
other
governance
functions
as
well
in
production,
where
we
check
as
if
I've
been
used.
Well,
if
not,
if
it
has
been
used
for
six
months,
then
put
on
a
policy
on
the
side
to
have
it
closed,
ensure
that
the
above
we
have
an
about
page
with
all
the
photos
showing
you
the
business
owner
and
maybe
the
classification
data.
If
I
want
to
be
leader,
that
page
will
recreate
it
and
yeah
do
we
need
turn
on
RM
based
classification,
as
people
done
for
site
training.
B
A
Absolutely
absolutely
next
a
lot
of
stones,
excellent
I!
Think
that's
it
for
this
demo
and,
like
Michael,
showed
the
sample
it's
available
in
the
PNP
powershell
github
repo
will
add
that
one
in
the
video
links
as
well
and
there's
the
current
link
to
the
sample
as
well.
Right
now,
it's
it's
when
we're
recording
this.
This
is
only
in
the
dev
branch,
but
it
really
depends
on
when
you
are
actually
watching
the
video.
So
it
should
be
in
the
master
branch
as
well,
but
we
like
the
link
anyway
on
the
road.
A
A
B
Also
right
now
it
actually
checks
which
PNP
packages
you
have
deployed
to
the
Facebook
and
that's
recording
the
property
back
sulphite,
which
is
which
is
not
on
modern
teen
sites,
because
you
can't
set
that
property.
So
that
means
it
will
just
read
it
and
then
they
would
try
to
reapply
the
template
in
case.
You
know
that
can
be
solved
by
having
a
hidden
list
failure
setting
the
metadata.
So
it
is
also
possible
to
to
work
around
it.
Yes,
yeah
absolutely.
A
B
A
A
But
thank
you.
Michael
I,
think
that
seems
a
great
demo,
create
a
story,
create
architecture
and
it's
good
to
stay.
Actually
a
dis,
ready-to-use
solution,
even
using
PowerShell.
What's
a
snap
super
cool
yeah
and
really
shows
nicely
^
p.m.
a
PowerShell
and
because
it's
so
easy
to
manipulate
those
sites.
Yeah.
B
A
A
Open-Source
right,
yes,
that
is
an
open
source
solution.
Absolutely
but
okay,
thank
you!
Thank
you,
Michael
and
we'll
definitely
schedule
another
call
and
another
recording
Sigma
call
on
on
his
journey
on
these
customizations
as
well
in
the
future.
But
thank
you
for
this
one
and
we'll
come
up
with
a
new,
quick
question
or
later.
Thank
you.
Thank
you.