►
Description
Phil Bossman shares tricks he uses at his job to manage Citrix application deployments. Phil uses a framework called the PowerShell App Deployment Toolkit to manage application installers.
RTPSUG: https://rtpsug.com/
PSAppDeployToolkit: https://psappdeploytoolkit.com/
Meetup: https://www.meetup.com/Research-Triangle-PowerShell-Users-Group/
Twitter: @rtpsug @Schlauge
A
Hey
everybody
and
welcome
to
the
research
triangle,
powershell
user
group.
My
name
is
mike
canakis
I'd
like
to
welcome
you
all
here
this
evening,
we're
going
to
be
talking
with
phil
bossman,
who
is
one
of
the
co-leads
of
the
research
triangle.
Powershell
group
tonight
is
may
the
5th,
and
we
welcome
in
phil
to
talk
about
application
deployment
and
desktop
engineering
tricks.
Hey
phil,
how's
it
going
good
evening
how.
A
All
right,
so,
let's
talk
a
little
bit.
This
topic
that
you
have
tonight
can
be
a
little
open-ended,
so
frame
the
scope
for
me
and
ad
admin.
What
are
we
going
to
be
talking
about
because
I
talked
to
you
earlier
and
I
am
not
currently
familiar
with
the
toolkit
that
you're
talking
about
so
bring
everybody
up
to
speed.
What
are
we
going
to
be
talking
about
tonight?
A
B
B
You
know
system
center
stuff
that
who
you
know
things
we
do
with
powershell
and
stuff
like
that,
and
so
in
that
zone
fashion
I'm
like
well,
I
could,
you
know,
throw
in
a
bunch
of
stuff
together,
and
I
started
going
down
this
road
of
like
like
a
little
bit
of
here
a
little
bit
of
there
a
little
bit
of
there
and
it
really.
I
couldn't
really
come
together
with
the
idea
of
a
single
topic.
B
Then
I
could
you
know,
work
through
that
that
message
and
so
that
I
finally
found
you
know
ps
app
deploy
and
it
is
a
framework
for
deploying
applications
in
powershell
and
the
entire
thing
is
written
in
powershell,
so
I'm
like
well.
I
could
certainly
talk
about
that.
I
really
kind
of
want
to
talk
about
it,
but
I
also
want
to
explore
beyond
it
and
what
else
it
can
do
beyond
what
it.
B
What
it's
really
designed
to
do-
and
you
know
this
is
a
product
that
was
you
know,
I'm
certainly
you
know
not
the
guy
who
wrote
this
or
you
know
it's
just
a
product.
That's
been
out
in
the
community
for
some
years
now.
It's
probably
you
know
2012.,
I
think
that's
when
they
first
started.
You
know
it's
what
you
know.
These
guys
started
2013
august
2013.,
and
so
here
we
I
just
jumped
right
into
it-
is
ps
app
deploy.
You
get
a
question.
A
B
A
So
so,
in
a
sense
tonight's
gonna
be
about
this
toolkit
that
you
use
right.
That
has
helped
you
solve
some
issues
and
then
at
some
point
maybe
you'll
get
into
a
discussion
about
hey.
I
found
some
weaknesses
or
some
things
I
wish
I
could
do,
and
I
was
able
to
extend
it
a
little
further
so
for
the
for
the
viewers
at
home.
That
may
not
be
familiar
with
our
user
group
and
you-
and
I
talk
a
little
bit
about
your
background
and
why
you
have
a
need
for
this
kind
of
tool.
A
B
I've,
you
know
been
the
industry,
for
you
know,
I
don't
know
since
96.
You
know
I've
been
doing
I.t
for
that
long
and
then
grew
up
and
been
using
powershell
since
first
first
mona
ii
version
two
when
it
released,
you
know,
got
its
feet
under
its
wings
and
then
I've
been
in
the
started
off
in
the
desktop
side.
Where
I
was
doing
desktop
imaging,
I
was
actually
making
images.
Then
I
almost
they
graduated,
but
you
know
I
got
transitioned
into
thin
clients.
Then
clients
took
me
to
server
administration
server.
B
Administration
took
me
to
citrix,
and
that's
you
know
me
right
now.
My
main
role
right
now
is
a
citrix
architect
right
now,
and
so
that's
what
I
do
on
a
permit
role,
but
because
I've
come
through
that
pipeline.
I
have
experience
all
the
way
back
there.
So
I
give
advice-
and
you
know,
assist
people
in
those
roles
as
well
and
so
doing
os
deployments
using
mdt
using
sccm
all
that
other
stuff.
You
know
other
application
deployment
toolkits.
B
Basically,
you
know
like
avanti,
and
you
know
pdq
all
of
those
tools,
kind
of
basically
allow
you
to
manage,
and
you
know,
support
an
infrastructure
from
that
perspective,
and
so
I've
been
in
that
space
for
a
long
time.
So,
right
now
in
citrix
world
people
like
oh,
just
app
delivery,
but
it's
a
little
bit
more
than
just
app
delivery,
you're
managing
the
servers,
you're
managing
the
applications
and
you're
managing
the
end
nodes
themselves,
so
you're
touching
the
entire
stack.
And
so
that's
really.
A
And
so
I
met
phil
a
few
years
ago
by
coming
to
this
user
group
as
a
regular
member
and
then
then
going
on
to
a
leadership
role
and
helping
phil
run.
The
group
phil
has
been
a
leader
of
this
group
for
some
time
and
one
of
the
great
things
about
phil
is
that
he's
one
of
those
guys
that
everybody
knows
someone
like
this?
A
His
title
does
not
really
accurately
depict
what
his
function
is
at
work,
he's
sort
of
a
guy
where
many
different
people
come
to
him
for
help
to
get
solutions
done
for
many
different
things.
A
So
we
talked
about
citrix,
engineer,
client
and
server,
but
phil
is
also
involved
in
active
directory
and
sql
and
other
things,
because
he's
a
guy
that
has
a
lot
of
knowledge
and
has
a
lot
of
ability
to
take
a
various
set
of
tools
and
figure
out
a
way
to
work
them
together,
which
is
kind
of
a
good
lead-in
to
what
this
talk
is
about
tonight,
right
so
yeah,
maybe
maybe
we'll
turn
it
over
to
you
here
and
let
you
go
from
there,
but
so
for
those
you
know
not
familiar.
That's
the
lead-in!
A
B
So
where,
where
we're
going
with,
that
is
that
the
idea
is
like
hey,
you
know,
let's
kind
of
talk
about
something
you
do
in
a
day,
and
so
I
tried
to
put
together
like
an
outline
of
all
of
those
things
and,
as
I
said
before
it
I
felt
it
was
so
sporadic.
It
was
all
over
the
place
that
it
wouldn't
be
a
good
message
and
that
this
is
at
least
something
that
I
can
can
talk
to,
and
I've
used.
B
You
know
in
the
in
the
past
and
then,
when
I
like
saying
is
when
I
was
trying
to
hey,
I
can
I
don't
necessarily
want
to.
You
know,
talk
to
ps
app
deploy
here.
It
is
and
how
to
use
it
and
and
hey
like
it's
the
greatest
thing,
it's
kind
of
like
a
sales
pitch.
That's
not
what
I
want
to
even
accomplish
at
this
point
is
I
want
to
give
you
an
idea
of
what
it
is.
B
So
I
don't
want
to
jump
ahead
of
at
this
point
and
so,
first
of
all,
what
is
psop
deploy
app
deploy
is
a
framework
okay.
That
will
give
you
a
gui
interface.
So
here's
a
good
example
of
hey,
hey.
I
want
to
do
an
app
install
and
please
close
the
following
applications
and
defer
some
stuff.
It
will
give
you
some
other
gui's,
screenshots
kind
of
thing.
Hey
you
know
this
is
this
is
their
marketing.
This
is
the
web
page.
B
So
if
you're
looking
for
the
application,
it's
basically
ps
app,
deploy
toolkit
and
then
you
can
download
it.
It's
basically
it's
in
github,
so
that's
the
best
part
is
we've
gone
through
some
discussions
in
the
past.
You
can
look
back
at
the
our
past
meetings
about
how
to
basically
clone
a
repository
download
the
repository
and
do
all
that
kind
of
stuff.
At
this
point,
so
I'm
going
to
defer
you
back
out
to
that,
so
the
latest
version
is
3.4.
B
They
are
you
know,
from
from
the
website,
they're
looking
for
to
do
some
more
stuff
in
the
future.
Actually
you
know
it's
from
here
down
here:
there's
a
to
use.
B
No
well
yes,
and
no,
so
this
is
not
a
audio
admin
studio.
It's
not
something
like
from
from
flexera.
It
is
not
an
app
packager.
So
this
is
not.
This
doesn't
really
package
applications,
so
it
can
do
some
of
that.
It
it's
a
framework
that
does
that.
So,
let's,
let's
just
get
into
the
weeds,
then
so,
if
you're
looking
for
the
the
bits
to
get
it,
one
of
the
easiest
things
to
do
is
to
fork
it
into
your
own
git
repository.
B
Okay,
get
your
docs
in
there.
Here's
your
examples,
but
the
meat
and
the
the
meat
of
the
application
is
in
this
folder
called
toolkit
so
which
has
three
files:
basically
a
ps1
and
two
exes
themselves,
or
an
exe
plus
the
config
and
then
the
config
of
the
toolkit.
So
there's
some
branding
stuff,
the
the
meat
of
it
is.
B
This
main
excuse
me
this
main
ps1,
then
some
additional
functions
and
then
extensions,
but
then
there's
also
a
config
file,
so
we'll
get
into
a
lot
of
those
details,
I'm
just
going
to
skim
over
it
at
this
point.
What
these
are.
So
you
have
some
branding
icons
and
pngs,
so
you
can
brand
this
thing
as
you
want
to
in
that
fashion,
so
we're
gonna,
I'm
gonna
jump
out
real,
quick
and
we're
gonna
talk
about
the
toolkit
itself.
So
what
is
this
toolkit?
And
what
is
it?
You
know:
why?
B
Are
there
a
bunch
of
files
in
that
kind
of
fashion?
And
so
when
you
actually
do
it
this
way
so
scroll
to
the
top
hey?
This
is
powershell,
so
they
were
good
enough.
This
is
written
by
sean
and
dan
and
here's
who
the
author,
so
I
want
to
give
them
credit,
because
you
know
these
guys
did
a
really
good
job
to
start
with,
so
you
can
simply
run
so.
The
idea
of
the
application
deploy
toolkit
is
that
you
can
deploy
applications
as
a
separate
install,
so
instead
of
actually
creating
like
a
setup
installer.
B
So
in
my
past
days
of
application
deployment,
we
would
hey
use
flexera
and
we
would
actually
wrap
the
entire
application
and
we
would
profile
the
application
we
created
an
exe
and
a
binary
and
we'd
set
that
out.
That'd
be
one
way
to
do
it
in
this
fashion.
Well,
you
deploy
an
actual
folder,
so
you
would
deploy
this
entire
folder
toolkit
and
the
exe
that
you'd
run
is
basically
deploy
application.exe
with
some
command
line.
Arguments,
if
you
need
so
and
then
it
would
do
the
rest
of
it.
B
So
you
will
add
the
binaries
and
the
bits
that
you
need
and
so
you'll
add
the
installer
files.
You
can
install
any
files
that
you
might
need.
You
know
if
you
need
an
xml
file
or
anything
you
need
to
add
to
it.
So
you
would
then
package
this
entire
piece
up
together.
This
itself
would
be
the
package
itself,
all
right,
so
come
back
to
where
we
were
talking
about
the
reason
there
is
an
exe
right
here
and
then
there's
also
a
ps1.
B
Is
you
can
call
this
from
the
as
described
in
the
help?
Here
you
can
call
it
straight
from
powershell,
so
called
ps1
with
the
document
down
deployment
type
along
with
the
deployment
mode,
and
so
it
will
just
do
that,
install
or
if
you're,
using
sccm
or,
if
you're,
using
like
avanti
deployment
you
can
they
don't
like?
Basically,
just
hey,
you
can't
just
run
a
ps1
and
that's
an
installer
that
just
doesn't
work
that
way,
so
they
actually
just
wrapped
the
whole
application
in
just
an
exe.
So
there
is
a
service
exe
that
does
some.
B
You
know
this
is
kind
of
inside
baseball,
but
if
you're
doing
like
sccm
or
something
to
that
effect,
you
need
an
exe
that
you're
running,
and
so
there
are
certain
things
when
happens
when
it's
running
on
your
system
or
if
it's
not
so
all
that
kind
of
plays
into
so.
If
you're
a
desktop
engineer,
deployment
engineer,
you
certainly
know
those
things
but
effectively.
This
allows
you
to
give
you
just
an
exe
so
long
as
you
package
your
your
secondary
files
with
it,
it
will
just
run
the
entire
thing
and
it
has
command
line
options.
B
Deployment
type
allows
you
to
say:
hey
default
to
install,
but
you
can
do
install
uninstall
repair.
So
those
are
your
deployment
types.
Then
there's
a
deployment
mode.
So
what
it
means
hey.
Are
you
going
to
be
interactive?
Do
you
want
to
be
silent
or
not?
Interactive
means
completely
silent,
so
it
means
you're
running
this
in
a
non-interactive
mode,
so
you're
running
a
system
which
there
is
nobody
logged
in
at
all,
and
so
there's
the
different
ways
in
which
you
do
it.
So
from
a
deployment
perspective,
those
are
kind
of
the
core.
B
So
that's
really
what
you
need
to
find
out
at
this
point.
So
that
is
the
core
at
this
point
of
what
app
deployment
is
now
you
go
well
that
doesn't
help
or
that's
all
nice
and
good.
What
does
that
really
mean
for
me
overall,
all
right?
So
here's
what
we
have
I'm
going
to
go
through.
I
was
going
through
going
to
go
through
this
idea
of.
Actually
you
know
demoing
this,
but
I
think
it's
a
lot
easier
and
you
don't
need
to
sit
and
watch
me.
B
You
know
create
files
and
do
stuff,
so
I
actually
just
created
a
couple
pre-packaged
files,
so
this
orca
file,
so
orca
orca,
is
a
it's.
You
know
people
who
in
work
in
that
space
know
what
orca
is
orca
is
allows
you
to
open
and
work
with
msi
files.
So
an
msi
is
just
a
database
with
a
bunch
of
pieces.
Inside
of
it
you
can
open
up
an
msi
and
you
can
modify
stuff,
you
can
add
it
and
you
can
really
tear
it
apart.
B
Make
templates
transforms
stuff
like
that
with
orca,
so
but
it's
just
a
really
small
tool,
so
hey,
but
it
is
an
msi
file,
hey
just
something
really
small
that
I
can
send
an
msi
to
so
all
I
did
was
I
created
this
folder
called
files
create
a
folder
called
support
files
so
that
when
I'm
packaging,
this
whole
thing
up.
Here's
just
some
support
files.
B
Hold
on
to
stick
so
first
thing:
we're
going
to
do
is
when
you
get
this
new
file.
B
What
you
do
is
you
scroll
down
and
you
define
some
variables
for
this
installer,
so
I'm
going
to
say,
hey
it's
from
microsoft,
who
it
is,
and
so
the
reason
why
we
do
this
and
we'll
get
to
that
in
a
couple
of
minutes,
is
we're
going
to
define
some
variables,
okay
to
define
the
application
you're
trying
to
deploy.
So
this
is
where
you
would
then
you
know
this
is
my
script.
B
So
if
I'm
modifying
this
over
time,
you
can
do
some
version
controls
through
what
we
changed
won't
be
to
build
it
that
kind
of
stuff,
because
effectively
what
you're
building
here
is
it's
an
installer
script?
Okay,
so
there
are
so
we
just
described
before
we're
going
to
scroll
down
some
more
we're
find
ended
our
variables.
Now
we
are,
there
is
a
new
section
for
one
for
installations,
one
for
uninstalls
and
one
for
repairs.
B
B
So
all
we're
going
to
do
is
going
to
say:
hey
we're
going
to
execute
an
msi
the
install
action
on
that
msi.
That's
all
we're
going
to
do
so!
That's
what
we've
done
here
then
we're
going
to
keep
going
down.
Hey,
there's
an
uninstall
section!
Well,
how
do
we
do
in
the
uninstall?
We
go
to
msi
action,
uninstall
msi
and
go
from
there,
and
it
is
as
simple
as
that.
So
we're
going
to
here,
orca
we're
going
to
install
interactively,
and
here
we
go.
B
And
it
is
now
installing
and
hey
look
what
I
get.
I
get
this
nice
dialogue.
You
can
see
the
install
happening
behind
me
and
it's
all
done
hey.
We
got
a
pop-up
notification.
So
very
simply
all
I've
done
is
added
two
lines
of
code
and
I
changed
out
some
variables
and
I
got
all
of
that.
Other
call
it
magic
from
this
installer.
B
B
So
it
gives
us
the
logs
in
a
readable
format
as
well
and
so
hey
everything
that
it
did.
It
did
an
inventory
of
my
system.
It
told
me
how
much
machines
it
was
the
version
that
I
was
using
it.
It
gave
us
a
bunch
of
information
and
then,
when
it
actually
did
the
install
you
can
say
hey,
it
showed
a
tooltip
when
it
closed
the
execute
and
where's
the
msi
execute
msi.
So
here
it
does.
It
did
the
install
so
effectively
for
free.
I
got
a
bunch
of
scaffolding.
B
B
So
if
I
am
now
working
so
if
I'm
now
working
so
I
did
this
from
a
command
line
right,
but
I
can
just
as
easily
do
the
exact
same
installer.
Actually
I'm
doing
uninstall
here
we
go
so
we're
going
to
do
the
uninstall,
but
we're
going
to
run
the
exe
version
of
it,
and
so
now
there's
nothing
that
the
user
there's
nothing
in
the
dialogue
that
happens
here,
because
we
left
it
as
interactive.
We're
going
to
see
the
interactive
uninstall
here
it
says.
B
So
if
I
had
sccm
and
we
clicked
on
hey
in
our
package
manager,
hey
I'm
going
to
do
this
install
we
can
give
that
user
some
dialogue.
I
can
change
this
branding,
as
I
talked
about
before
we're
going
to
see
this.
This
picture
we're
going
to
see,
so
you
can
change
that
branding.
You
can
change
this
notification
as
well,
or
you
can
simply
do
the
same
thing
again.
Just.
B
B
The
reason
I
like
on
the
orca
is
that
it
installs
and
uninstalls
really
fast.
B
And
we
can
watch
it
uninstall
and
there
it
goes
it's
doing
uninstall
it's
done,
and
it's
now
done
so
real
simple,
that's
that's
kind
of
the
thing!
So
people
you
know
may
have
asked
in
the
past
hey,
so
I
have
to
use
all
these
extra
files
just
to
get
me
that.
Why
is
that
beneficial?
We
kind
of
talked
about
at
this
point.
It
gives
us
these
extra
logging,
okay,
it's
created
as
a
central
like
logging.
B
B
Okay,
now
with
the
config
file,
there
are
things
that
the
software
or
the
toolkit
has
been
designed
to
use.
So
here
at
this
point
that
log
folder
we
talked
about
that,
I
was
jumping
to
well
that's
configurable
too,
so
we
can
centralize
all
your
log
files
of
how
you're
doing
installs
there's
an
option
here
to
say:
hey:
does
this
installer
require
admin
rights?
You
can
define
it
here
that
way
later
on,
you
won't
have
to
check
for
it
if
you're
doing
some
installer
of
some
msi.
Oh,
this
msi
requires
that
you
know
admin
insults.
B
You
can
simply
at
build
time
say
this
won't
run
without
admin
rights.
Where
else
did
I
want
to
talk
about
here,
so
whether
we
can
press
the
files,
it
will
generate
these
log
files,
but
then
how
big
are
they
and
do
they
roll
and
that
kind
of
stuff?
We
certainly
want
to
talk
about
that.
B
You
can
change
out
your
branding
stuff
and
how
big
the
branding
is
going
to
go
so
again.
That
is
where
this
config
file
is,
where
you're
going
to
manage
that
one
of
the
other
things
is
what's
really
kind
of
cool
too,
is
that
they
define
hey.
You
can
kind
of
later
a
lot
of
these
messages
that
they
present
to
the
user.
So
some
of
those
things
that
we
saw
before
hey
installing
application
on
installing
application-
that's
all-
can
be
configured
in
an
xml
so
that
you
can,
you
know,
change
the
language.
B
You
can
say
it
in.
I
don't
know
what
range
oh,
this
is
dutch
danish
and
then
french
and
such-
and
this
comes
in
the
box
as
it
is
so
when
we're
talking
about
languages,
one
of
the
other
things
we
saw
is
so
there
is
an
option
here
for
balloon
tool:
tips
hey!
So
we
kind
of
got
some
of
those
installers.
Here
I
wanted
to
just
jump
out
here
and
not
show
that
the
dialog
box
so
because
I
got
a
bing
bing
every
single
time
I
did
an
install.
B
I
don't
really
care
just
show
the
user
and
keep
keep
on
going,
so
that
is
at
least
another
option,
and
so
some
of
these
timeouts,
the
two
you
can
certainly
reach
in
here
and
figure
out
all
or
explore
more
more
what
it
can
do
for
you.
But
what
are
the
options
they've
given
at
that
point
and
then
it's
playing
into
the
registry
actually
at
this
point,
this
is
a
good
point
too,
because
it
throws
stuff
into
the
registry
or
for
deferrals
and
we'll
get
to
that
in
a
minute.
B
B
We
do
number
two
we're
gonna.
Do
we
did
an
install
and
we're
gonna
do
interactively
and
you
notice
here
I'm
just
going
up
again.
I
can
run
the
exact
same
command
line
and
it's
going
to
do
whatever's
in
this
folder,
not
that
folder.
So
I
don't
get
the
pop-up.
I
don't
get
the
balloon
tip.
That's
really
all
I
did
and
you
didn't
really
notice
in
the
background,
but
it
was
doing
some
other
stuff
behind
the
scenes.
A
B
Chat:
okay,
it's
in
the
chat,
okay,
so
in
that
manager
toolkit
is
cmtrace
is
one
of
those.
The
reason
I
like
cm
trace
is:
it
is
a
log
viewer,
but
it
also
none
of
my
logs
are
going
to
have
errors
in
it.
So
if
it
actually,
the
line
had
failed
or
error
because
it
failed.
It
would
highlight
this
line,
yellow
if
it
said
error
in
it,
it
would
highlight-
and
it
does
some
as
you
can
see
at
this
point-
it
does
these
formatting
for
things.
B
A
B
The
other
thing
that
I
like
really
like
about
samtrace
is
that
it
will
follow.
It
will
fall
if
you,
if
you're
on
the
last
line
of
the
file
like
a
tail.
B
So
if
I
was
on
this
line,
you
notice
here
I'm
and
it
would
go
down,
it
would
scroll
and
then
you'd
see
the
scroll
bar
moving
up
and
down
isn't
moving.
But
if
I
was
on
the
last
line,
it
would
then
follow.
It
would
then
tail
down,
so
I
can
watch
it.
So,
oh
my
I'm
in
the
install
log,
let's
just
jump
out
to
the
ins,
my
log
files,
let's
go
back
to
the
uninstaller.
B
Correct
so
tonight
something
wrong,
or
maybe
I'm
watching
the
wrong
vlog
file.
I
think
I'm
like
watching
the
wrong
one,
because
I
have
a
bunch
of
them
that
I
was
I've
been
playing
with
him.
I
didn't
I
didn't
do
a
whole
cleanup
before
we
started
so
either
way.
So
yes,
so,
but
to
to
a
dill's
point,
is
this
is
not
something
that
I'm
gonna
get
to
the
idea
that
a
lot
of
this
you
can
do
in
powershell.
B
This
isn't
doing
stuff
that
you
can't
do
other
places,
or
this
is
also
not
something
that
you
can't
do
in
other
functionality
with
other
functionality
or
call
don't
even
say.
A
better
thing
like
better
is,
is
all
is
so
subjective.
As
to
you
know,
somebody's
betters
to
others
is
a
lot
of
people
use
this
and
are
in
out
in
the
in
the
environment
the
desktop
engineering
sccm
world
just
straight
up,
because
it
allows
them
to
do
something.
It's
it's
one
of
these
things.
It
gets
the
job
done.
B
A
B
Extension
logs,
even
I
was
fully
just
trolling
for
the
rest,
no,
no
we're
good,
but
but
but
I'm
even
expanding
that
into
this
even
this
tool
so
to
the
other
point
is
that
there
are
certainly
a
lot
of
other
package
managers
and
there
are
certainly
other
tools
to
effectively
package
up
applications
like
you
know,
hey
you
work
for
chocolatey
and
chocolatey
can
do
some
of
this
hey.
Stick
it
all
in
a
nougat
package,
and
you
can
add
your
scripts
there
that
works
too.
B
Along
with
hey,
you
can
throw
the
whole
thing
into
wrapping
your
own
into
an
msi
as
a
whole,
and
so
there's
only
one
you're,
just
installing
an
msi,
and
it
does
all
the
work
for
you,
but
that's
a
lot
of
work
and
that's
a
lot
of
overhead
that
you're
going
to
pull
on,
and
but
everything
has
its
own
overhead
and
that's
what
really?
What
I
wanted
to
kind
of
talk
about
at
this
point.
A
B
With
the
stuff
too,
and
dig
in
and
get
and
to
be
able
to
do
stuff
easily
for
sure
yeah
yeah
all
right,
so,
let's,
let's
jump
into
kind
of
a
different
version:
hey
I
just
grabbed
firefox,
and
so
we
could
do
an
install
of
firefox
and
one
of
the
things
with
this
firefox.
I
wanted
to
hear
me
launch
my
ie
just
in
the
background.
I'm
gonna
stick
it
over
here.
Actually,
I'm
gonna
stick
over
there.
B
So
one
of
the
other
things
that
we're
gonna
that
again
all
this
stuff
is
pretty
much
the
same.
Hey
I
did
an
entire
copy
of
this
toolkit
folder.
I
created
this
files
folder
I
created
the
support.
Folder,
there's
really
nothing
in
it,
but
we'll
see
what's
in
it
going
to
be
later
and
then
I
started
modifying
this
deploy.app.
B
Okay,
I
add
some
content
here
then
I'm
going
to
scroll
down
to
the
installation
section
and
one
of
the
functions
is
that
we
can
start
up
a
welcome
message,
but
then
we
can
also
say
hey.
I
need
to
make
sure
that
these
applications
are
closed.
In
order
for
my
installer
to
go
all
right,
I'm
going
to
allow
the
user
to
then
defer
this
install
up
to
three
times.
I'm
also
going
to
do
some.
B
So
if
you
don't
turn
that
on,
it
will
basically
just
minimize
all
the
windows
and
bring
you
to
the
front
instead
of
everything
else,
but
I
don't
necessarily
like
that.
So
why
I'm
talking
about
this
is
that
inside
the
pre-installation
section,
I
added
this
little
welcome
message
like
hey
before
we
start
the
install.
We
want
to
actually
do
some
some
checking
work
and
then
we
want
to
die
here
or
we
want
to
die.
Make
sure
we
can
continue
on
then
the
install
looks
looks
just
like
we
did
before.
B
Okay,
I'm
going
to
come
here
and
I'm
going
to
say,
install
this
msi
and
where's
that
msi,
so
we
we
found
that
we
installed
over
there
all
right,
we'll
go
down
a
little
further.
Oh
you
know
what
in
the
post
install
we're
gonna
do
some
extra
some
funny
stuff,
we're
gonna,
say:
hey
we're,
gonna,
add
the
icon
to
the
desktop
all
right:
we
can.
We
can
do
that
kind
of
stuff.
It's
gonna,
be
a
simple
copy
file
copy
this
file
from
that
location
of
that
file.
So
this
is
just
powershell.
B
We
can
add
90
lines
here.
We
can
do
less
all
right,
so
we're
going
to
keep
going
down
hey
when
you're
doing
your
installs,
especially
when
you're
doing
the
new
version
of
like
sccm
or
other
tools
even
with
avanti.
Again,
if
you're
working
in
a
software
deployment
model
said
they
usually
like
to
keep
the
installs
right
next
to
the
uninstalls.
So
if
you
can
install
this,
tell
me
how
to
uninstall
it
too.
So
I
can
take
things
away
right.
B
So
the
same
thing
well
in
as
far
as
firefox
is
concerned:
it's
actually
you
can't
just
uninstall
the
msi,
because
the
msi
is
actually
a
wrapper
of
the
exe,
so
you
actually
have
to
use
an
exe
in
order
to
uninstall
it.
So
that's
kind
of
a
fun
funny
thing
that
at
least
I
wanted
to
throw
in
there
and
say
that
is
possible.
Just
know
that
it's
there
and
then
we're
going
to
do
some
cleanup
and
we're
going
to
clean
up
the
the
icons
we're
doing
at
that
point.
I'm
not!
B
A
A
B
Good
to
go
all
right,
so
we
can
see.
You
know
we
got
this
standard
message.
You
noticed
some
of
this
text.
You
probably
didn't
read
it
fast
enough,
but
a
lot
of
this
text
that
we
see
was
all
inside
that
config
file
and
this
dialog
box.
Hey
here
we
are,
this
is
the
exe
we
need
to
close.
We
have
a
deferral
that
we
can
do
and
you
could
also
later
on.
You
can
defer
to
a
time,
but
we're
going
to
say
no.
I
don't
want
to
do
that.
B
Install
and
then
at
this
point
the
installer,
the
log
file,
I'm
going
to
say
the
person
default
deferred
and
we
close
the
application,
and
so
that
goes
back
to
ccm
or
others
that
the
return
code
that
came
back
to
the
controlling
application
says.
I
know
that
the
user
deferred
this
application.
We
need
to
do
the
install
again,
so
we
come
back
later
on
an
hour
later.
Let's
do
the
install
again
so
the
in
those
installers
and
hey
look
now.
B
So
at
this
point
this
is
open
and
you
know
I'm
like
screw
it.
I'm
gonna
ready
to
go
close
those
applications
for
me,
so
it
went
and
it
closed
that
application.
For
me,
and
now
it's
gonna
start
my
install-
and
you
notice
too,
is
that
I
stuck
this
installer
over
here.
So
I
could
see
this
here.
I
want
to
show
the
user
that
this,
but
I
can
actually
move
this
dialog
box
around
as
I
want
to
so
that
is
one
of
the
things.
Actually,
you
know
what
I
was.
Why
did
I
put
that
there?
B
I
know
how
I
put
that
there
is
you'll
notice
that
here
you
can
specify
the
windows
location
inside
the
box
inside
this
applique
inside
psf.
Deploy
it'll
only
give
you
one
option
two
options,
but
I
could
put
it
dead
center.
I
could
put
it
up
at
the
center
or
I
can
put
it
in
the
bottom
right,
but
I'm
like
I
don't.
I
want
to
put
it
somewhere
else,
so
this
is
just
nothing
more
than
powershell.
B
B
I'm
gonna
go
the
other
way
and
then
I
added
it
to
the
validate
set,
and
so
very
simply,
I
you
know
jumped
in
and
I
made
this
product
do
differently
than
what
it's
designed
to
in
the
game,
and
so
that's
why,
before
when
I
said,
if
you're,
if
you're
going
to
use
this
tool,
it's
best
to
fork
your
own
copy,
do
any
modifications,
because
the
the
best
value
is
to
actually,
you
know,
contribute
back.
So
if
I
needed
to,
I
could
write
this
back
up
hey.
B
This
now
supports
the
top
right
of
the
installer,
any
dialog
boxes
in
the
top.
Right
now,
at
least
this
version
of
it
and
because
it
is
contained
within
its
folder
that
this
is
its
own
copy,
which
is
different
than
orca,
like
this
version
doesn't
support
that,
because
this
is
not
a
copy,
so
it's
kind
of
a
benefit,
but
it's
also
one
of
those
that
keeps
it
kind
of
self-contained.
So
I
always
wanted
to
bring
that
up
as
well.
I
know
it's
kind
of
inside
baseball,
but
it
is
one
of
those
values.
B
So
the
last
kind
of
example
I
wanted
to
bring
up
at
this
point
is
you
know
these
were
kind
of
like
simple
installers
and
you
know
orca
firefox
people
see
that
hey.
I
can
do
some
referrals.
I
wanted
to
give
you
an
example
of
something
that
that
is
more
more
complicated,
so
yeah,
I'm
in
the
citrus
world.
This
is
one
of
the
latest
ones
we've
built
is.
This
is
a
citrix
workspace,
app
installer?
Okay,
so
it
also
requires
uniprint.
So
here's
one
of
these
support
applications.
B
So
this
is
an
extra
secondary
application
and
you
know
for
people
don't
know
so
people
probably
know
what
citrix
is.
This
is
the
citrix
client,
but
there's
a
product
called
uniprint
and
it
basically
allows
you
to
do
remote,
printing
or
defer
printing
down
to
the
client,
and
so
I
don't
need
to
install
like
client
printers
on
inside
the
servers,
and
I
don't
have
to
manage
printings.
B
I
can
just
one
printer
and
it
will
create
effectively
pdfs
that
render
down
to
the
client,
and
so
it
allows
us
to
have
a
unified
printer
across
my
entire
citrix
environment,
without
having
to
mention
printers
so
that's
kind
of
a
different
world,
but
I
wanted
to
come
back
to
hey,
create
create
these
add
these
folders
add
these
files
and
then
the
only
file
that
I'm
now
modifying
is
this
deploy.application
and
here's
what
we
can
play
with
all
right.
So
everything
looks
the
same.
B
B
We
have
execute
process.
Now
I
was
expecting
somebody
to
jump
out
and
say:
hey
I've
seen
this
execute
process,
this
execute
msi,
that's
not
really
like
standard
inside
of
you
know,
powershell,
it's
not
really
power
stylish,
it's
actually
inside
of
ps
app
deploy,
but
why
would
I
use
that
versus
you
know,
execute
pro
start
process.
Excuse
me
not
execute
process,
so
why
would
you
use?
Why
would
I
not
use
execute
process?
Why
would
I
use
execute
process
instead
of
start
process?
B
Well,
the
fact
is
that
these
are
piece
app
deploy,
centric
and
so
all
that
logging
that
we
got
for
free.
Basically,
it
conforms
to
that
same
standard
and
the
same
thing.
With
this
execute
msi.
I
can
then
define
the
install
action
and
based
up
on
other
command
line,
art
and
other
configuration
changes.
I
can
say
what
the
status
of
those
installs
are.
How
does
it
log?
Does
it
log
verbose?
Is
it
not
verbose?
All
of
that
comes
for
free
for
us.
A
B
Yeah
yeah:
this
is
all
I'm
actually
going
to
run
this
because
it's
going
to
take
like
a
couple
of
minutes-
and
this
is
actually
oh-
you
know
a
running
machine
with
citrix
on
it,
so
I'd
have
to
do
the
uninstall
first
and
then
it
reaches
the
paint,
so
we're
not
actually
going
to
run
it,
but
I
wanted
to
actually
show
what
you
know
the
fact.
Our
first
example
just
said:
hey
it's
a
simple
msi
install,
but
this
is
going
to
be
something
you
know
this
is
a
real
world
thing.
B
This
is
what
you
typically
do
in
bigger
packages
is
they're
going
to
do
a
couple.
You
know
chain
a
couple,
installs
together,
you're
going
to
do
some
logic
about
which
to
do
so
here.
This
is
the
single
install
for
both
64
and
32-bit,
but
then
based
upon
which
one
msi
we
have
to
run
because
it's
not
centric.
So
we
have
to
do
some
logic
there.
So
that's
also
one
of
the
values
of
you
know
having
it
in
powershell
is
that
you
can
run
whatever
kind
of
logic.
B
You
want
any
questions,
so
we're
going
to
jump
again
to
post
install
again.
I
just
use
the
same,
install
progress.
We
can
say
where
it's
going
to
go.
We
can
change
the
text.
I
don't
know
if
I
can
kind
of
mention
that
at
this
point
we
saw
that
text,
but
we
can
continuously
update
that
dialog
box
as
it
was
going
so
before
we
had.
You
know
the
default,
which
is
just
installing.
B
Then
we
came
here
to
say:
hey
installing
the
up
specific
tools
then
later
on.
It's
just
going
to
refresh
that
dialog
to
say:
hey
configuring,
registering
and
kind
of
like
we
talked
before
this
set
registry.
Key
is
unique
to
ps,
app
deploy
and
it
allows
us
to
actually
use
each
key
local
machine
instead
of
hklm
kind
of
you
know.
Instead
of
using
like
the
colon
and
that
kind
of
thing
it
does
all
that
kind
of
magic
for
you,
and
so
it
just
allows
you
it's
more
visible
to
read.
B
Granted
it's
not
really
power
shellish,
but
it's
kind
of
offloading.
Some
of
that
work
for
you
and
then
the
same
thing
here
is
they
have
a
this
whole
thing
which
again
this
is
more
people
who
work
with
software
installs
across
the
board.
Is
that
you
need
to
add
this
to
everybody's
hd
user?
Well,
this
is
kind
of
a
wrapper
function
that
will
allow
that
you
to
write
this
to
every
single
person's,
eighth
key
local
user,
ht,
current
user.
B
So
inside
everybody's
profile
will
write
this
value
to
everybody's
profile,
whoever's
on
the
machine,
then
here
we
are
running
again,
then
we
do
and
then
a
simple
copy.
So
this
idea
that
we
can
run.
We
can
chain
a
bunch
of
functions
together
and
do
it
it's
like
just
another
powershell
script,
so
we
go
to
the
uninstall.
We
do
the
same
thing
hey.
B
This
is
just
the
reverse:
we're
going
to
do
the
uninstall
using
the
same
exe,
because
it
does
these
msi's
need
to
go
with
an
uninstall
prompt
and
then
we
do
some
people
clean
up
this
installer.
We
didn't
really
care
about
the
registry,
so
we
just
left
the
registry
alone,
because
you
don't
necessarily
you
can
always
add,
but
you
don't
never.
You
know
you
want
to
be
more
careful
about
deleting
crap
from
the
registry
than
just
throwing
new
stuff
in
the
registry.
A
So
this
is
an
opportunity
for
people
in
the
chat
to
come
back
around
to
anything
that
we
were
talking
about
earlier,
that
maybe
you
got
just
a
partial
answer
for
anything
in
the
chat
as
I'm
watching
you
feel
like
I
see
you
mentioned
a
few
tidbits
here,
it
looks
like
ps
have
to
deploy,
so
I'm
in
80
admin.
This
is
something
I've
never
used,
but
very
popular
with
the
people
in
the
chat.
A
A
lot
of
people
have
used
this
from
one
thing
or
another,
and
I
noticed
there's
a
lot
of
little
like
add-ons
that
you
called
out
like
psf
deploy
just
as
this
little
wrinkle.
That
makes
life
a
little
easier.
They're,
not
like
wow
features
like
just
like
you
mentioned,
hklm,
being
expanded
or
execute
process
versus
start
process
seems
like
there's
a
lot
of
little
like
easy.
Well,
what
do
I
say?
B
So
I
think
kind
of
in
that
same
fashion,
some
people
like
get
another
example
here.
Is
this
like
that
we're
going
to
jump
into?
Let
me
jump
to
that.
One
yeah,
I
don't
care
about
modifying
it
file
is
that
this
is
kind
of
a
simpler
installer,
and
actually
this
is
the
uninstall,
but
this
installer
is
nothing
more
than
just
unzipping
a
file
and
putting
it
into
system32.
B
So
call
it
an
installer
call
that
whatever
it
is,
it's
not
actually
doing
anything
but
unzipping
a
zip
file
into
the
machine,
and
so
we
use
this
quite
often
just
to
keep
a
unified
log
so
that,
if
I'm
going
to
do
a
full
install
using
msi,
I
want
psf
deploy
to
have
it
logged,
but
then
hey.
I
want
to
install
some
files.
I
want
to
just
throw
a
file
on
the
on
the
c
drive.
We'll
use
this
we'll
use
this
entire.
B
You
know
piece
it's
kind
of
like
heavy-handed
just
to
give
us,
but
then
we
have
a
log.
We
get
a
similar
log
that
matches
with
it.
So
fact
that
I
ran
you
know
this
install
along
with
this
install
and
this
install
and
they
all
just
become
the
same
lock
all
the
logs
in
the
same
place
and
the
fact
that
hey,
we
just
copied
some
files
of
this
disk
simple
as
that.
B
B
B
There
are
some
people
who
have
written
articles
about
it.
So
if
you
look
up
psf
psadt,
that's
how
they
typically
refer
to
it.
If
you
google,
it
you'll,
probably
find
it
on
the
internet,
and
you
can
find
some
articles
on
how
to
do
it.
Probably
even
some
youtube
videos,
but
you
know
I'm
a
powershell
guy
like
show
me
the
powershell
way
to
do
it
right,
and
so
one
of
the
things
that
actually
back
in
there.
B
Is
that
is
that,
like
show
me,
the
help
show
me
a
module
kind
of
so
they
inside
this
config
file?
Is
this
help,
and
so
they
have
this
help
function
is
the
script
that
will
give
us
come
on
there.
It
is,
but
the
people
who
wrote
ps
app,
deploy
a
a
way
and
like
here's,
all
the
function,
so
we
see
otherwise
execute
msi
and
so
here's
the
powershell
help
for
that
so
hey.
Well.
How
does
it
work?
What
are
my
command
line
arguments?
What
is
this
you
know?
Will
it
do
any
validation?
B
Is
this
required?
All
of
that
is
written
full
up
in
powershell,
so
they
did
a
really
good
job
here,
but
the
discoverability
is
not.
This
can
be
desired
and
that's
one
thing
I
don't
like
about,
but
hey
this
is
powershell
I
can
make
this
do
whatever
I
want
and
the
fact
that
they
wrote
a
gui
web
form
to
do
this.
So
I
can't
like
highlight
this.
I
can't
like
do
anything
at
that
point.
So
what
I
wrote
back
here
is,
I
wrote,
a
module.
B
You
know
I
just
so,
I'm
going
to
say
import
module,
psadt
and
psa
dt
psm1.
All
it
does.
Is
it
imports
that
module
that
I
just
had,
but
now
I
have
get
command
module,
ps8t,
there's
everything
that
I
just
saw,
but
the
power
show
away.
So
now
I
can
say
you
know
help
you
know
execute.
What
do
you
want?
Msi
there
you
go
so
there's
the
execute.
Help
for
msi.
B
B
I
don't
yep
this
way
there
it
goes
so
then
I
can
throw
this
on
a
different
screen
and
I
can
start
you
know
and
I
can
dump
into
vs
code
and
going
oh.
This
is
what
I'm
looking
for
gives
me
my
help
here:
hey
here's,
the
parameters,
I'm
looking
for
that
kind
of
stuff,
and
so
this
is
something
that
you
know.
If
you
look
at
their
their
to-do
list
inside
of
ps
code,
I
mean
inside
their
github
packet,
hey,
they
want
to
make
it
a
module,
but
it's
not
that.
B
So
if
you
wanted
to
do
that,
hey
you
can
you'd
have
to
add
that
to
it,
and
so
I'm
free
to
you
know,
I'm
more
than
happy
to
show
you
how
I
did
this,
but
I
don't
think
that's
key,
but
the
thing
is
that
now
I
have
the
ability
to
you
know.
Even
you
know,
figure
out
those
kind
of
things
and
I
can
and
play
with
this
game
hey
here
we
are
playing
games.
So
that's
the
last
comment
I
have
with
psap
deploy
at
least
one
of
the
things.
B
That
is
that,
if,
if
you've
never
seen
it
before
you're
trying
to
do
some
discovery
inside
of
it
is
that
hey
it
may
do
everything
you
wanted
to
do
you
kind
of
see
that
I
added
some
functionality
by
modifying
the
to
move
the
folder
around.
Excuse
me
the
display
dialog
around,
but
you
can
simply
look
at
the
code
and
where
they're
doing
that,
follow
it
make
it
do
what
you
want
to
do,
or
you
know
what
I
want
to
get
it
so
that
it
can
show
me
a
module
all
right.
B
Well
then,
I
had
to
add
some
other
stuff.
So
now
it's
a
module,
or
at
least
it's
not
a
full
module,
but
it's
partial
of
a
module,
so
I
can't
actually
run
stuff
from
here,
but
it
at
least
gives
me
what
I'm
looking
for
at
least
some
of
the
ability
tab
complete
and
some
the
help
that
I'm
looking
for.
So
it's
not
feature
complete.
B
But
again
I
you
know
yeah
it's
where
it
is,
but
this
at
least
tells
me
all
their
functions
that
I
can
do
within
psf
deploy
and,
as
you
can
see
here
at
this
point
now
we
can
do
measure.
There's
82,
there's
82
functions
that
that
this
group
wrote
that
will
allow
you
to
help
hey
doing
windows
updates.
You
know,
here's
this
bar
the
dialog
box
talked
about
the
balloon
tips.
Okay,
so
you
can
write
your
own
balloon
tips
in
that
code
that
you're
talking
about
like
hey,
you
can
start
popping
up
stuff
for
them.
B
B
A
Stuff,
so
the
boys
were
talking
in
the
chat,
I
shouldn't
say
the
boys,
because
julie
is
there
as
well.
Our
attendees
are
oh
we're
talking
in
the
chat
and
some
people
were
very
interested
in
your
little
pseudo
module.
You
wrote
there,
so
I
don't
know
if
there's
a
way
that
they
can
steal
that
from
you.
B
Well,
actually,
we'll
show
the
code,
that's
no
problem
either.
So
pretty
straightforward,
just
ps
manifest
we're
gonna
export
everything
we
got
here.
Then
we
go
to
the.
B
What
I
did
is,
I
then
went
to
the
main
function.
So
main
has
its
own
thing.
So
this
is
what
happens
when
you
call
you
know
any
of
the
functions
within
psf,
deploy
they
I'm
gonna
scroll,
scroll
scroll,
so
please
feel
free
there
so
think,
through
what
we
have
here-
and
here
we
are,
we
actually
so
inside.
B
The
main
function
is
all
the
functions
that
they
include,
so
I
just
did
copy
and
stuck
it
down
here
and
paste,
and
so
now
this
this
module
or
this
module
is
nothing
but
a
just
a
load
of
function,
definitions!
That's
all
it's
doing
now.
Your
kicker
is
that
these
functions
don't
actually
do
anything
or
they
won't
run
independently.
So
let's
show
you
that,
because
it's
not
that
part,
so
you
actually
get
logged
on
user.
B
B
B
Oh,
if
I
could
spell
function
right,
that's
why
it
doesn't
work.
So
this
function
assumes
a
bunch
of
variables
already
defined.
It
wants
to
use
all
these
other
variables
that
are
defined
in
the
script
source
and
my
invocation
script
name
and
a
bunch
of
other
stuff,
so
it
assumes
that
it's
inside
of
psat
they've
already
been
defined,
so
I'm
not
defining
all
that
stuff
so
kind
of
in
that
example,.
B
So
if
you
see
the
very
top
at
the
very
beginning
of
this
main,
it's
creating
a
bunch
of
you
know
like
system-wide
variables
that
we
kind
of
got
for
free.
I
keep
saying
get
for
free,
but
the
reason
why
all
of
these
functions
all
this
ps
app
deploy
toolkit
it's
defining
all
these
functions
and
it
gives
you
but
not
functions
to
find
all
these
variables
that
it
assumes
it's
our
own
place.
B
Yeah,
so
now
that
this
module's
at
least
loaded
into
here,
I
can
now
do
this.
I
can
now
do
hey
look
at
that
and
now
tab
complete
works
for
me
right
so
now
I
can
do
all
this
other
fun
stuff
that
I
couldn't
do
other
places,
so
I
can
kind
of
do
that
that
that
discovery
here,
and
so
that's
really
where
it
came
to
me.
It's
like
hey.
B
A
B
Deploy
I
want
to
watch
the
whole
thing,
install,
let's
say
interactive.
I
have
to
put
interactive
there,
otherwise
it
assumes
like
this
is
designed
to
be
run
or
assumes
like
you
know,
sccm
is
running
it
or
something
like
that.
So
it
wants
to
be
a
non-interactive
and
then
we're
gonna
get
a
message
in
the
middle
and
then
also
we're
going
to
get
a
message
down
here.
B
A
So
so
one
of
the
interesting
things
about
when
phil
sort
of
gets
going
with
the
topics
he
likes
to
talk
about
is
his
his
sort
of
unique
perspective.
And
that's,
I
think
why
many
of
the
people
in
the
community
love
the
powershell
language.
So
much
as
you
can
look
at
a
project
and
you
could
see
kind
of
where
they
stopped
or
where
they
did
something
that
they
thought
would
be
useful.
Like
that
help
file,
you
know
gui,
and
you
know,
with
just
a
little
bit
of
work.
B
Yeah
and
I
the
fact
that
it
is
powershell
it
it's,
it's
not
beyond
someone's
abilities
to
come
and
figure
out
what
it
is.
So
I
came
here
and
going.
What
do
we
got
here?
There's
show
help
console
like
what
is
this.
Oh,
it's
a
win
form
of
some
kind,
they're,
just
drawing
a
bunch
of
stuff,
I'm
like
well
where's
the
list
of
commandments
and
then
I
finally
found
it.
I'm
like.
Oh
it's
right
here,
oh
like
that
there.
So
it's
right
here!
So
they
come
in
here.
B
This
is
how
they're
doing
it
so
they're
listing
all
their
functions.
They're
just
saying
get
command
of
functions
where
hey,
where
they're
they
know
they're
already
in
the
function,
but
then
give
me
everybody
where
it's
me
and
then
they
do
and
they
exclude
my
stuff.
My
module
didn't
do
that
because
they
have
some
internal
functions,
so
there's
not
net
and
they
just
select
out
the
name
and
that's
how
they
build
that
list
on
the
left.
I'm
like
okay!
Well,
I
can
do
this
again,
so
I
started
off
with
that,
but
I
was
like.
B
I
want
the
internal
functions
too.
So
it's
it's!
It's!
It's
possible
it
with
some
work
you
can
get
to
the
stage
of
you
know
effectively
reverse
engineering
what's
there
and
ultimately,
because
you
have
your
own
forked
copy
of
it,
you
can
make
it
whatever
it
is.
You
want,
I
think
we
kind
of
talked
there's.
There
is
a
functionality
for
extensions,
so
they
created
this
function
unzip,
but
you
can
add
your
own,
so
they
put
a
place
to
add
your
own
separate
from
theirs,
and
you
can
do
that
here
too.
So
there
is
some.
B
A
But
so
phil,
don't
don't
don't
get
question.
Don't
have
don't
be
wondering
about
your
talk
from
choir
group
here.
This
has
been
one
of
the
most
active
chats
in
the
last
few
months
that
we've
had
we
happen
to
have
a
knowledgeable
group
of
people,
so
I
think
a
lot
of
questions
haven't
made
it
to
you,
because
four
or
five
people
have
been
able
to
jump
in
and
sort
of
answer
questions
or
give
the
unique
sort
of
spin
on
it.
A
So
with
that
being
said,
though,
that
people
don't
bite
phil
the
modifications
that
you
made
and
so
on.
That's
up
in
your
github
right.
B
B
A
A
I
apologize
for
that,
but
we're
gonna
wrap
this
up
here
in
a
few
minutes,
give
everybody
a
last
chance-
and
I
just
want
to
comment
for
for
our
users
that
are
catching
us
on
youtube
in
that
you
may
not
be
familiar
with
the
user
group
user
group
meets
twice
a
month
on
first
and
third
wednesday
month
and
it's
an
open
group.
You
don't
need
to
have
any
skill
set
or
any
prerequisites
to
come
and
join.
A
So
if
you
enjoy
these
topics
that
you're
seeing
on
our
youtube
channel,
obviously
you
can
do
more
on
the
youtube
channel,
but
you
can
join
us
in
person
and
you
can
ask
your
questions
and
be
a
part
of
the
live
interactive
chat
if
you're
interested
in
doing
that,
you
can
check
us
out
at
www.rtpsug.com
or
if
you're
familiar
with
meetup
the
research
triangle,
powershell
user
group
or
you
can
reach
out
to
phil
and
myself
on
twitter.
I'm
at
my
connecticus
and
phil
is
at
schlog.
B
A
Yeah,
it's
a
so
we
would
love
to
have
anybody
join
us
and
that's
the
whole
point
of
this
community
is
to
just
present
ideas
and
allow
people
to
participate
in
here.
So
anybody
have
anything
they
want
to
wrap
up
with
here
before
we
finish,
this
up
fill
any
closing
thoughts
or
anything.
B
No,
I
think
you
know,
I
hope
everybody
got
value
out
of
it
and
if
you
have
any
questions
you
know
certainly
reach
out.
A
Okay,
so
again,
as
if
you're
watching
at
home,
just
to
give
you
a
little
feel
as
to
how
this
works,
we're
going
to
wrap
this
up
for
the
recording,
but
we
have
a
discussion
that
continues
afterwards
with
the
user
group
that
doesn't
make
it
to
the
recording.
So
we're
going
to
say
goodnight
to
everybody
who
joined
us.
We
hope
you
enjoyed
this
one
and
come
back
and
join
us
for
more
thanks
again.
Everyone
and
thank
you,
phil
great
job
tonight.