1
00:00:02,340 --> 00:00:06,280
This is the default list of PS providers that we can see

2
00:00:06,280 --> 00:00:09,840
when we run Get‑PSProvider command.

3
00:00:09,840 --> 00:00:15,140
The role of each PS provider is to manage some kind of data store.

4
00:00:15,140 --> 00:00:21,920
Each PS provider manages a specific component of Windows OS.

5
00:00:21,920 --> 00:00:26,990
We'll have a detailed look into some of these PS providers like Registry,

6
00:00:26,990 --> 00:00:29,740
Environment, Certificate,

7
00:00:29,740 --> 00:00:37,430
but for now I'll quickly give an overview of each PS provider.

8
00:00:37,430 --> 00:00:41,210
The first one in the list is FileSystem provider.

9
00:00:41,210 --> 00:00:45,210
The PowerShell FileSystem provider enables us to view,

10
00:00:45,210 --> 00:00:51,120
edit, and delete files and directories present on the computer using PowerShell.

11
00:00:51,120 --> 00:00:55,750
FileSystem drive provides a hierarchical structure of files and

12
00:00:55,750 --> 00:01:00,420
folders present either on local drive or network share.

13
00:01:00,420 --> 00:01:02,490
As we saw earlier,

14
00:01:02,490 --> 00:01:08,240
each logical drive in the OS has a PS drive associated with it.

15
00:01:08,240 --> 00:01:13,510
From PowerShell 7 onwards, there's a new temp FileSystem drive introduced,

16
00:01:13,510 --> 00:01:16,840
which is mapped to the user's temp directory.

17
00:01:16,840 --> 00:01:20,020
The Registry provider allows to manage registry keys

18
00:01:20,020 --> 00:01:23,520
and values using PowerShell commands.

19
00:01:23,520 --> 00:01:26,900
The registry values can be retrieved, added,

20
00:01:26,900 --> 00:01:32,340
modified, and deleted using registry PowerShell provider.

21
00:01:32,340 --> 00:01:39,840
There are two PS drives associated with Registry provider, HKLM and HKCU.

22
00:01:39,840 --> 00:01:43,580
The Set‑Location command can be used to enter in the PS

23
00:01:43,580 --> 00:01:47,880
drive and retrieve the registry keys and values using

24
00:01:47,880 --> 00:01:52,340
Get‑Item and Get‑ChildItem commands.

25
00:01:52,340 --> 00:01:55,700
The Alias provider enables us to view and edit

26
00:01:55,700 --> 00:02:02,140
aliases that are available by default, as well as to create new ones.

27
00:02:02,140 --> 00:02:07,730
An alias is an alternate name for the PowerShell command or function.

28
00:02:07,730 --> 00:02:12,040
The alias drive will directly list all the available aliases.

29
00:02:12,040 --> 00:02:15,440
It won't have any child objects.

30
00:02:15,440 --> 00:02:20,640
This example lists some of many aliases available by default.

31
00:02:20,640 --> 00:02:26,340
You can also create your own aliases that will also be listed here.

32
00:02:26,340 --> 00:02:29,660
The PowerShell Environment provider lets you add,

33
00:02:29,660 --> 00:02:35,140
retrieve, and delete environment variables and values in PowerShell.

34
00:02:35,140 --> 00:02:38,260
Now we'll study about Environment provider and

35
00:02:38,260 --> 00:02:42,240
environment variables in deep in next module,

36
00:02:42,240 --> 00:02:43,200
but for now,

37
00:02:43,200 --> 00:02:48,110
just remember environment variables are dynamic variables that

38
00:02:48,110 --> 00:02:52,140
describe the environment in which your script is running.

39
00:02:52,140 --> 00:02:57,850
Just like alias drive, Environment drive does not have any child items,

40
00:02:57,850 --> 00:03:05,240
and all the environment variables are listed directly in Env drive.

41
00:03:05,240 --> 00:03:09,440
PowerShell Function provider gets you all the PowerShell functions

42
00:03:09,440 --> 00:03:12,730
that you create during a PowerShell session.

43
00:03:12,730 --> 00:03:21,800
It also lists some of the building functions, like mkdir, chdir, and Clear‑Host.

44
00:03:21,800 --> 00:03:27,180
The PowerShell variable provider includes the variables that PowerShell creates,

45
00:03:27,180 --> 00:03:30,820
the automatic variables, the preference variables,

46
00:03:30,820 --> 00:03:35,610
and the variables that are created during the PowerShell session.

47
00:03:35,610 --> 00:03:38,510
This is how you can list all variables.

48
00:03:38,510 --> 00:03:39,310
Next,

49
00:03:39,310 --> 00:03:45,190
we can see how we can retrieve built‑in variable isWindows value

50
00:03:45,190 --> 00:03:49,640
that basically tells us that the OS is Windows.

51
00:03:49,640 --> 00:03:54,600
The Certificate provider allows us to manage certificates using PowerShell.

52
00:03:54,600 --> 00:03:59,250
The hierarchical structure allows us to navigate either into

53
00:03:59,250 --> 00:04:03,370
computer certificates denoted by LocalMachine or user

54
00:04:03,370 --> 00:04:07,140
certificates denoted by CurrentUser.

55
00:04:07,140 --> 00:04:11,090
We'll learn more about Certificate provider in later model.

56
00:04:11,090 --> 00:04:18,440
The WSMan provider gives access to WS‑Management configuration settings.

57
00:04:18,440 --> 00:04:23,340
You can view WSMan settings using Get‑ChildItem command.

58
00:04:23,340 --> 00:04:28,640
You can configure WinRM settings using WSMan drive.

59
00:04:28,640 --> 00:04:32,660
The example given below sets up trusted host settings on

60
00:04:32,660 --> 00:04:43,000
local computer using Set‑Item command. The next example adds a WinRM listener on Server1.

