mirror of
https://github.com/EvotecIT/GPOZaurr.git
synced 2026-07-26 20:00:09 +00:00
287 lines
12 KiB
PowerShell
287 lines
12 KiB
PowerShell
Clear-Host
|
|
|
|
$Configuration = @{
|
|
Information = @{
|
|
ModuleName = 'GPOZaurr'
|
|
DirectoryProjects = 'C:\Support\GitHub'
|
|
|
|
FunctionsToExport = 'Public'
|
|
AliasesToExport = 'Public'
|
|
|
|
Manifest = @{
|
|
# Version number of this module.
|
|
ModuleVersion = '0.0.X'
|
|
# Supported PSEditions
|
|
CompatiblePSEditions = @('Desktop')
|
|
# ID used to uniquely identify this module
|
|
GUID = 'f7d4c9e4-0298-4f51-ad77-e8e3febebbde'
|
|
# Author of this module
|
|
Author = 'Przemyslaw Klys'
|
|
# Company or vendor of this module
|
|
CompanyName = 'Evotec'
|
|
# Copyright statement for this module
|
|
Copyright = "(c) 2011 - $((Get-Date).Year) Przemyslaw Klys @ Evotec. All rights reserved."
|
|
# Description of the functionality provided by this module
|
|
Description = 'Group Policy Eater is a PowerShell module that aims to gather information about Group Policies but also allows fixing issues that you may find in them.'
|
|
# Minimum version of the Windows PowerShell engine required by this module
|
|
PowerShellVersion = '5.1'
|
|
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
|
Tags = @('Windows', 'ActiveDirectory', 'GPO', 'GroupPolicy')
|
|
#IconUri = 'https://evotec.xyz/wp-content/uploads/2019/02/PSPublishModule.png'
|
|
|
|
ProjectUri = 'https://github.com/EvotecIT/GPOZaurr'
|
|
|
|
RequiredModules = @(
|
|
@{ ModuleName = 'PSSharedGoods'; ModuleVersion = 'Latest'; Guid = 'ee272aa8-baaa-4edf-9f45-b6d6f7d844fe' }
|
|
@{ ModuleName = 'ADEssentials'; ModuleVersion = 'Latest'; Guid = '9fc9fd61-7f11-4f4b-a527-084086f1905f' }
|
|
@{ ModuleName = 'PSWriteHTML'; ModuleVersion = "Latest"; Guid = 'a7bdf640-f5cb-4acf-9de0-365b322d245c' }
|
|
)
|
|
ExternalModuleDependencies = @(
|
|
#"ActiveDirectory"
|
|
#"GroupPolicy"
|
|
"CimCmdlets"
|
|
'Microsoft.PowerShell.Management'
|
|
'Microsoft.PowerShell.Utility'
|
|
'Microsoft.PowerShell.Security'
|
|
)
|
|
CommandModuleDependencies = @{
|
|
ActiveDirectory = @(
|
|
'Add-GPOPermission'
|
|
'Add-GPOZaurrPermission'
|
|
'Backup-GPOZaurr'
|
|
'Clear-GPOZaurrSysvolDFSR'
|
|
'ConvertFrom-CSExtension'
|
|
'Find-CSExtension'
|
|
'Get-GPOZaurr'
|
|
'Get-GPOZaurrAD'
|
|
'Get-GPOZaurrBackupInformation'
|
|
'Get-GPOZaurrBroken'
|
|
'Get-GPOZaurrDictionary'
|
|
'Get-GPOZaurrDuplicateObject'
|
|
'Get-GPOZaurrFiles'
|
|
'Get-GPOZaurrFilesPolicyDefinition'
|
|
'Get-GPOZaurrFolders'
|
|
'Get-GPOZaurrInheritance'
|
|
'Get-GPOZaurrLegacyFiles'
|
|
'Get-GPOZaurrLink'
|
|
'Get-GPOZaurrLinkSummary'
|
|
'Get-GPOZaurrNetLogon'
|
|
'Get-GPOZaurrOwner'
|
|
'Get-GPOZaurrPassword'
|
|
'Get-GPOZaurrPermission'
|
|
'Get-GPOZaurrPermissionConsistency'
|
|
'Get-GPOZaurrPermissionRoot'
|
|
'Get-GPOZaurrPermissionSummary'
|
|
'Get-GPOZaurrSysvolDFSR'
|
|
'Get-GPOZaurrWMI'
|
|
'Invoke-GPOZaurr'
|
|
#'Invoke-GPOZaurrContent'
|
|
'Invoke-GPOZaurrPermission'
|
|
'Invoke-GPOZaurrSupport'
|
|
'New-GPOZaurrWMI'
|
|
'Optimize-GPOZaurr'
|
|
'Remove-GPOPermission'
|
|
'Remove-GPOZaurr'
|
|
'Remove-GPOZaurrBroken'
|
|
'Remove-GPOZaurrDuplicateObject'
|
|
'Remove-GPOZaurrFolders'
|
|
'Remove-GPOZaurrLegacyFiles'
|
|
'Remove-GPOZaurrPermission'
|
|
'Remove-GPOZaurrWMI'
|
|
'Repair-GPOZaurrNetLogonOwner'
|
|
'Repair-GPOZaurrPermissionConsistency'
|
|
'Restore-GPOZaurr'
|
|
'Save-GPOZaurrFiles'
|
|
'Set-GPOOwner'
|
|
'Set-GPOZaurrOwner'
|
|
'Find-GPO'
|
|
'Get-GPOZaurrFilesPolicyDefinitions'
|
|
'Get-GPOZaurrSysvol'
|
|
'Remove-GPOZaurrOrphaned'
|
|
'Show-GPO'
|
|
'Show-GPOZaurr'
|
|
)
|
|
GroupPolicy = @(
|
|
'Add-GPOPermission'
|
|
'Add-GPOZaurrPermission'
|
|
'Backup-GPOZaurr'
|
|
'Clear-GPOZaurrSysvolDFSR'
|
|
'ConvertFrom-CSExtension'
|
|
'Find-CSExtension'
|
|
'Get-GPOZaurr'
|
|
'Get-GPOZaurrAD'
|
|
'Get-GPOZaurrBackupInformation'
|
|
'Get-GPOZaurrBroken'
|
|
'Get-GPOZaurrDictionary'
|
|
'Get-GPOZaurrDuplicateObject'
|
|
'Get-GPOZaurrFiles'
|
|
'Get-GPOZaurrFilesPolicyDefinition'
|
|
'Get-GPOZaurrFolders'
|
|
'Get-GPOZaurrInheritance'
|
|
'Get-GPOZaurrLegacyFiles'
|
|
'Get-GPOZaurrLink'
|
|
'Get-GPOZaurrLinkSummary'
|
|
'Get-GPOZaurrNetLogon'
|
|
'Get-GPOZaurrOwner'
|
|
'Get-GPOZaurrPassword'
|
|
'Get-GPOZaurrPermission'
|
|
'Get-GPOZaurrPermissionConsistency'
|
|
'Get-GPOZaurrPermissionRoot'
|
|
'Get-GPOZaurrPermissionSummary'
|
|
'Get-GPOZaurrSysvolDFSR'
|
|
'Get-GPOZaurrWMI'
|
|
'Invoke-GPOZaurr'
|
|
#'Invoke-GPOZaurrContent'
|
|
'Invoke-GPOZaurrPermission'
|
|
'Invoke-GPOZaurrSupport'
|
|
'New-GPOZaurrWMI'
|
|
'Optimize-GPOZaurr'
|
|
'Remove-GPOPermission'
|
|
'Remove-GPOZaurr'
|
|
'Remove-GPOZaurrBroken'
|
|
'Remove-GPOZaurrDuplicateObject'
|
|
'Remove-GPOZaurrFolders'
|
|
'Remove-GPOZaurrLegacyFiles'
|
|
'Remove-GPOZaurrPermission'
|
|
'Remove-GPOZaurrWMI'
|
|
'Repair-GPOZaurrNetLogonOwner'
|
|
'Repair-GPOZaurrPermissionConsistency'
|
|
'Restore-GPOZaurr'
|
|
'Save-GPOZaurrFiles'
|
|
'Set-GPOOwner'
|
|
'Set-GPOZaurrOwner'
|
|
'Find-GPO'
|
|
'Get-GPOZaurrFilesPolicyDefinitions'
|
|
'Get-GPOZaurrSysvol'
|
|
'Remove-GPOZaurrOrphaned'
|
|
'Show-GPO'
|
|
'Show-GPOZaurr'
|
|
)
|
|
}
|
|
}
|
|
}
|
|
Options = @{
|
|
Merge = @{
|
|
Sort = 'None'
|
|
FormatCodePSM1 = @{
|
|
Enabled = $true
|
|
RemoveComments = $false
|
|
FormatterSettings = @{
|
|
IncludeRules = @(
|
|
'PSPlaceOpenBrace',
|
|
'PSPlaceCloseBrace',
|
|
'PSUseConsistentWhitespace',
|
|
'PSUseConsistentIndentation',
|
|
'PSAlignAssignmentStatement',
|
|
'PSUseCorrectCasing'
|
|
)
|
|
|
|
Rules = @{
|
|
PSPlaceOpenBrace = @{
|
|
Enable = $true
|
|
OnSameLine = $true
|
|
NewLineAfter = $true
|
|
IgnoreOneLineBlock = $true
|
|
}
|
|
|
|
PSPlaceCloseBrace = @{
|
|
Enable = $true
|
|
NewLineAfter = $false
|
|
IgnoreOneLineBlock = $true
|
|
NoEmptyLineBefore = $false
|
|
}
|
|
|
|
PSUseConsistentIndentation = @{
|
|
Enable = $true
|
|
Kind = 'space'
|
|
PipelineIndentation = 'IncreaseIndentationAfterEveryPipeline'
|
|
IndentationSize = 4
|
|
}
|
|
|
|
PSUseConsistentWhitespace = @{
|
|
Enable = $true
|
|
CheckInnerBrace = $true
|
|
CheckOpenBrace = $true
|
|
CheckOpenParen = $true
|
|
CheckOperator = $true
|
|
CheckPipe = $true
|
|
CheckSeparator = $true
|
|
}
|
|
|
|
PSAlignAssignmentStatement = @{
|
|
Enable = $true
|
|
CheckHashtable = $true
|
|
}
|
|
|
|
PSUseCorrectCasing = @{
|
|
Enable = $true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FormatCodePSD1 = @{
|
|
Enabled = $true
|
|
RemoveComments = $false
|
|
}
|
|
Integrate = @{
|
|
ApprovedModules = 'PSSharedGoods', 'PSWriteColor', 'Connectimo', 'PSUnifi', 'PSWebToolbox', 'PSMyPassword', 'ADEssentials'
|
|
}
|
|
}
|
|
Standard = @{
|
|
FormatCodePSM1 = @{
|
|
|
|
}
|
|
FormatCodePSD1 = @{
|
|
Enabled = $true
|
|
#RemoveComments = $true
|
|
}
|
|
}
|
|
PowerShellGallery = @{
|
|
ApiKey = 'C:\Support\Important\PowerShellGalleryAPI.txt'
|
|
FromFile = $true
|
|
}
|
|
GitHub = @{
|
|
ApiKey = 'C:\Support\Important\GithubAPI.txt'
|
|
FromFile = $true
|
|
UserName = 'EvotecIT'
|
|
#RepositoryName = 'PSPublishModule' # not required, uses project name
|
|
}
|
|
Documentation = @{
|
|
Path = 'Docs'
|
|
PathReadme = 'Docs\Readme.md'
|
|
}
|
|
Style = @{
|
|
PSD1 = 'Minimal' # Native
|
|
}
|
|
}
|
|
Steps = @{
|
|
BuildModule = @{ # requires Enable to be on to process all of that
|
|
Enable = $true
|
|
DeleteBefore = $false
|
|
Merge = $true
|
|
MergeMissing = $true
|
|
SignMerged = $true
|
|
Releases = $true
|
|
ReleasesUnpacked = $false
|
|
RefreshPSD1Only = $false
|
|
}
|
|
BuildDocumentation = @{
|
|
Enable = $true # enables documentation processing
|
|
StartClean = $true # always starts clean
|
|
UpdateWhenNew = $true # always updates right after new
|
|
}
|
|
ImportModules = @{
|
|
Self = $true
|
|
RequiredModules = $false
|
|
Verbose = $false
|
|
}
|
|
PublishModule = @{ # requires Enable to be on to process all of that
|
|
Enabled = $false
|
|
Prerelease = ''
|
|
RequireForce = $false
|
|
GitHub = $false
|
|
}
|
|
}
|
|
}
|
|
|
|
New-PrepareModule -Configuration $Configuration |