Namespaces
A namespace is used to organize types into a hierarchy, grouping types with related functionality together. A namespace can be considered like a folder in a file system.
PowerShell is for the most part implemented in the System.Management.Automation
namespace. This namespace has associated documentation: https://docs.microsoft.com/dotnet/api/system.management.automation?view=powershellsdk-7.0.0.
Similarly, types used to work with the filesystem are grouped together in the System.IO
namespace: https://docs.microsoft.com/dotnet/api/system.io.
For the following given type name, the namespace is everything before the final label. The namespace value is accessible as a property of the type:
PS> [System.IO.File].Namespace
System.IO
In PowerShell, the System
namespace is implicit. The System.AppDomain
type was used at the start of the chapter to show which assemblies PowerShell is currently using. This can be shortened to:
[AppDomain]::CurrentDomain...