# Provider allows to access some data storage (e.g. File system, registry, remote system, Active Directory)# This concept might sound a bit abstract at first, but becomes very straight forward once you've used it for a while# Provider once connected to the data storage, kind of "mounts" it like a network drive, allowing to browse and manage it# Once the storage is mounted PowerShell creates so called PSDrive# Let's review available providersGet-Psprovider# Let's review some PSDrivesGet-PSDrive# A quick refresher how file system is organised: Drives, Folders, Files# Since PowerShell connects to many different file data storages, it uses the generic term Item and specifies with type. Thus a folder is an Item of Type Directory, same as Registry key, it's best described in the help:HelpNew-Item-full#We have three main nouns we're working with:-Item-managingfiles,folders,registrykeys,certificatesetc.-ItemProperty-Get-ItemPropertyc:\windows\explorer.exe|Format-List*-ChildItem-listscontentofthedirectory-Get-ChildItemc:\Windows# If you've used other shells in the past# You change directories by using Set-Location, however CD is an alias to the command# And since it's PowerShell, you're not only limited to file system# You can create a new directory with New-Item -Name Folder -Type Directory, however you can use MKDIR# You can list a content of current directory with Get-ChildItem, however DIR, and LS are also available# You can list a content of a file with Get-Content, or you can use CAT# Let's put some of what we've seen into practice# File operationsNew-Item-NameTemp-ItemTypeDirectory-Pathc:\Set-LocationC:\Tempnew-item-TypeFile-Namefile1-Value"Kamil"new-item-TypeFile-Namefile2-Value"Kamil"Get-ChildItemGet-Contentfile2#CertificateGet-ChildItemCert:\CurrentUser\My\# Exercises1.CreateafolderinrootofC:withthenameofPowerShell2.Createafileinsidethefolderwiththenameofyourchoiceandnocontent3.RetrieveallitemsfromEnv:drive4.ChecktheversionofNotepad.exeinWindowsdirectory5.DiscovercurrentWindowsbuildversionbyregistryproperty:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion```