PowerShell for Windows Admins

Jul 28 2016   10:43AM GMT

.psd1 files

Richard Siddaway Richard Siddaway Profile: Richard Siddaway

Tags:
Powershell

.psd1 files are usually used as module manifests

You can test the manifest

PS>  Test-ModuleManifest -Path ‘C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Pester.psd1’ | fl
Name              : Pester
Path              : C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Pester.psd1
Description       : Pester provides a framework for running BDD style Tests to execute and validate PowerShell commands inside of PowerShell and offers a powerful set of Mocking Functions that allow tests to mimic and mock the  functionality of any command inside of a piece of powershell code being tested. Pester tests can execute any command or script that is accesible to a pester test file. This can include functions, Cmdlets,  Modules and scripts. Pester can be run in ad hoc style in a console or it can be integrated into the Build scripts of a Continuous Integration system.
ModuleType        : Script
Version           : 3.4.0
NestedModules     : {}
ExportedFunctions : {Describe, Context, It, Should…}
ExportedCmdlets   :
ExportedVariables : {Path, TagFilter, ExcludeTagFilter, TestNameFilter…}
ExportedAliases   :

or you can view the whole output

PS>  Test-ModuleManifest -Path ‘C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Pester.psd1’ | fl *

LogPipelineExecutionDetails : False
Name                        : Pester
Path                        : C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Pester.psd1
ImplementingAssembly        :
Definition                  :
Description       : Pester provides a framework for running BDD style Tests to execute and validate PowerShell commands inside of PowerShell and offers a powerful set of Mocking Functions that allow tests to mimic and mock the  functionality of any command inside of a piece of powershell code being tested. Pester tests can execute any command or script that is accesible to a pester test file. This can include functions, Cmdlets,  Modules and scripts. Pester can be run in ad hoc style in a console or it can be integrated into the Build scripts of a Continuous Integration system.
Guid                        : a699dea5-2c73-4616-a270-1f7abb777e71
HelpInfoUri                 :
ModuleBase                  : C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0
PrivateData                 : {PSData}
Tags                        : {powershell, unit testing, bdd, tdd…}
ProjectUri                  : https://github.com/Pester/Pester
IconUri                     : http://pesterbdd.com/images/Pester.png
LicenseUri                  : http://www.apache.org/licenses/LICENSE-2.0.html
ReleaseNotes                :
RepositorySourceLocation    :
Version                     : 3.4.0
ModuleType                  : Script
Author                      : Pester Team
AccessMode                  : ReadWrite
ClrVersion                  :
CompanyName                 : Pester
Copyright                   : Copyright (c) 2016 by Pester Team, licensed under Apache 2.0 License.
DotNetFrameworkVersion      :
ExportedFunctions           : {[Describe, Describe], [Context, Context], [It, It], [Should, Should]…}
Prefix                      :
ExportedCmdlets             : {}
ExportedCommands            : {[Describe, Describe], [Context, Context], [It, It], [Should, Should]…}
FileList                    : {}
CompatiblePSEditions        : {}
ModuleList                  : {}
NestedModules               : {}
PowerShellHostName          :
PowerShellHostVersion       :
PowerShellVersion           : 2.0
ProcessorArchitecture       : None
Scripts                     : {}
RequiredAssemblies          : {}
RequiredModules             : {}
RootModule                  : Pester.psm1
ExportedVariables           : {[Path, ], [TagFilter, ], [ExcludeTagFilter, ], [TestNameFilter, ]…}
ExportedAliases             : {}
ExportedWorkflows           : {}
ExportedDscResources        : {}
SessionState                :
OnRemove                    :
ExportedFormatFiles         : {}
ExportedTypeFiles           : {}

You can also import the contents of the .psd1 file

PS>  Import-PowerShellDataFile -Path ‘C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Pester.psd1’

Name                           Value
—-                           —–
Copyright                      Copyright (c) 2016 by Pester Team, licensed under Apache 2.0 License.
ModuleToProcess                Pester.psm1
PrivateData                    {PSData}
PowerShellVersion              2.0
CompanyName                    Pester
GUID                           a699dea5-2c73-4616-a270-1f7abb777e71
Author                         Pester Team
FunctionsToExport              {Describe, Context, It, Should…}
VariablesToExport              {Path, TagFilter, ExcludeTagFilter, TestNameFilter…}
Description                    Pester provides a framework for running BDD style Tests to execute and validate PowerShell co…
ModuleVersion                  3.4.0

which in some ways is more useful as you can easily see what is actually in the manifets rather than dealing with a lot of empty properties.

You can create .psd1 files to hold other data and read them with Import-PowerShellDataFile. Default parameters for your favourite cmdlets is one thing that comes to mind

 Comment on this Post

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

Share this item with your network: