From 1141d557a721bf2f88cb514210070f47136b4ebc Mon Sep 17 00:00:00 2001 From: htcfreek <61519853+htcfreek@users.noreply.github.com> Date: Sun, 20 Nov 2022 12:24:06 +0100 Subject: [PATCH 1/9] Initial commit for 0.1 --- README.md | 5 +- repoTools/CreateReleaseFile.ps1 | 4 +- src/Readme.txt | 32 - .../0.1/AdmPwd.PSModule/AdmPwd.PS.dll | Bin 0 -> 25000 bytes .../AdmPwd.PSModule/AdmPwd.PS.dll-Help.xml | 944 ++++++++++++++++++ .../AdmPwd.PSModule/AdmPwd.PS.format.ps1xml | 169 ++++ .../0.1/AdmPwd.PSModule/AdmPwd.PS.psd1 | Bin 0 -> 5074 bytes .../0.1/AdmPwd.PSModule/AdmPwd.Utils.dll | Bin 0 -> 27048 bytes .../ResetLapsPassword/0.1/Install/Install.ps1 | Bin 0 -> 15664 bytes .../ResetLapsPassword/0.1/LICENSE.txt | 21 + .../ResetLapsPassword/0.1/README.txt | 62 ++ .../EmpirumPackageData.xml | 219 ++++ 12 files changed, 1420 insertions(+), 36 deletions(-) delete mode 100644 src/Readme.txt create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll-Help.xml create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.format.ps1xml create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.psd1 create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.Utils.dll create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/Install/Install.ps1 create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/LICENSE.txt create mode 100644 src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/README.txt create mode 100644 src/ResetLapsPassword 0.1/EmpirumPackageData.xml diff --git a/README.md b/README.md index bf5ebd8..79bc63c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,10 @@ A PreOS-Package for Matrix42 Empirum that can reset the LAPS password of a computer on reinstall. -You can use the package with Windows 11 (Windows LAPS & Legacy LAPS) and Windows 10 (Legacy LAPS) The package requires an up to date Empirum WinPE environment (at least 1.8.12) and PowerShell 5.1! +You can use the package with Windows 11 (Windows LAPS & Legacy LAPS) and Windows 10 (Legacy LAPS). +The package requires an up to date Empirum WinPE environment (at least 1.8.12) and PowerShell 5.1! + +The package has the Legacy LAPS PowerShell module form the Microsoft LAPS installer included. (Link to the installer: https://www.microsoft.com/en-us/download/details.aspx?id=46899) ### Features - Support for both LAPS versions (Legacy & Windows). diff --git a/repoTools/CreateReleaseFile.ps1 b/repoTools/CreateReleaseFile.ps1 index 5e68e8f..6084a87 100644 --- a/repoTools/CreateReleaseFile.ps1 +++ b/repoTools/CreateReleaseFile.ps1 @@ -24,9 +24,7 @@ Param( [String]$ReleaseDir="\release" [String]$OutFileName="$($ReleaseName)_v$($ReleaseVersion).zip" [String[]]$CompressFiles = @( - "$($RepoDir)$($SrcDir)\*", - "$($RepoDir)\LICENSE.md", - "$($RepoDir)\DISCLAIMER.md" + "$($RepoDir)$($SrcDir)\*" ) [String]$HashFile="$($RepoDir)$($ReleaseDir)\$($OutFileName).sha256" diff --git a/src/Readme.txt b/src/Readme.txt deleted file mode 100644 index 2fa1cc2..0000000 --- a/src/Readme.txt +++ /dev/null @@ -1,32 +0,0 @@ -## Repo name: repo-template -## Repo owner: htcfreek (Heiko) - https://gtihub.com/htcfreek -## Repo URL: https://gtihub.com/htcfreek/REPO -######################################## - -This is my private template for new repositories. - -⚠ Support Note: -The provided code/content in this repository isn't developed by "Matrix42 AG". It was created by the repository owner htcfreek (Heiko). This means that the company "Matrix42 AG" isn't responsible to answer any support requestes regarding the tools, scripts and packages in this repository in any way! - -Contents: -/.gitignore : Config file for git. -/src : Directory for source files. -/src/Readme.txt : Readme.txt which will be included in release. -/repoTools : Folder for repos scripts and tools. -/repoTools/CreateReleaseFile.ps1 : Script to generate files for release. - -Download: -Download the files form this page: http://github.com/htcfreek/REPO/release/latest - -Usage: -To use .... - - -CREDITS -------- -This repository includes scripts (and other files) that where created while my day to day job work. I want to say thank you to my employer who allows me to share them with you (the community). - - -LEGAL NOTES -------------- -See DISCLAIMER.md and LICENSE.md! diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll new file mode 100644 index 0000000000000000000000000000000000000000..82769d3499d191dfb8d5bcccaa416afaf889e45d GIT binary patch literal 25000 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 literal 0 HcmV?d00001 diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll-Help.xml b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll-Help.xml new file mode 100644 index 0000000..f099542 --- /dev/null +++ b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.dll-Help.xml @@ -0,0 +1,944 @@ + + + + + Find-AdmPwdExtendedRights + + Searches Active Directory tree for holders of permission to read local administrator password on computer accounts. + + + + + Find + AdmPwdExtendedRights + + + + + Searches Active Directory tree for holders of CONTROL_ACCESS right on computer accounts. Holders of this right have permission to read admin account password in given subtree. + +What the cmdlet is looking for is: +- Holders of Full Control permission on computer objects +- Holders of All Extended Rights on computer objects +- Holders of CONTROL_ACCESS on attribute that stores local administrator password on computer objects + +Cmdlet thus helps identify security principals who have the permission to read local administrator passwords on computers in given AD subtree. +Cmdlet analyzes containers by default, but can analyze individual computer accounts as well. + + + + Find-AdmPwdExtendedRights + + Identity + + Identification of container where to start analysis. Analysis is performed for given container and all subcontainers. +Identification of container can be either name of distinguishedName of container + + String + + + IncludeComputers + + Whether or not to perform analysis on computer accounts. By default, only containers are analyzed + + SwitchParameter + + + SchemaNotUpdated + + Whether or not AD schema contains LAPS specific attributes. Including this parameter allows this command to run when AD schema was not updated yet. + + SwitchParameter + + + + + + Identity + + Identification of container where to start analysis. Analysis is performed for given container and all subcontainers. +Identification of container can be either name of distinguishedName of container + + String + + String + + + + + + IncludeComputers + + Whether or not to perform analysis on computer accounts. By default, only containers are analyzed and only ACLs on containers are analyzed and ACEs that are inherited to comuters are evaluated. +When this parameter is present, ACLs on computer objects are analyzed as well, and non-inherited permissions are evaluated. + + + SwitchParameter + + SwitchParameter + + + + + + SchemaNotUpdated + + Whether or not AD schema contains LAPS specific attributes. Including this parameter allows running this command to run when AD schema was not updated yet. +In this case, holders of CONTROL_ACCESS on attribute that stores local administrator password on computer objects are not detected, because the attribute is expected to be missing from AD schema. + + + SwitchParameter + + SwitchParameter + + + + + + + + System.String[] + + + + + + + + + + + + AdmPwd.PSTypes.ExtendedRightsInfo + + + + + + + + + + + + + + Caller needs to have permission to read ACL on containers and computer objects to succesfully call this cmdlet + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Find-AdmPwdExtendedRights -Identity MyComputers + + Looks for security principals with permission to read local administrator password in MyComputers container and subcontainers + + + + + + + + + -------------------------- Example 2 -------------------------- + + PS C:\> + + Find-AdmPwdExtendedRights -Identity "dc=myDomain,dc=com" + + Looks for security principals with permission to read local administrator password in entire domain + + + + + + + + + + + + + + + Get-AdmPwdPassword + + Finds admin password for given computer + + + + + Get + AdmPwdPassword + + + + + Finds local admin password and password expiration timestamp for given computer + + + + Get-AdmPwdPassword + + ComputerName + + Name of the computer to get admin password for + + String + + + + + + ComputerName + + Name of the computer to get admin password for + + String + + String + + + + + + + + + System.String[] + + + + + + + + + + + + AdmPwd.PSTypes.PasswordInfo + + + + + + + + + + + + + + Caller needs to be delegated the permission to read password - see cmdlet Set-AdmPwdReadPasswordPermission. +When ReadPassword permission is not delegated, cmdlet returns empty string instead of password. + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Get-AdmPwdPassword -ComputerName:MyComputer + + Gets password of local administrator on computer MyComputer + + + + + + + + + + + + + + + Reset-AdmPwdPassword + + Requests reset of local admin password for given computer. + + + + + Reset + AdmPwdPassword + + + + + Requests reset of local admin password for given computer. +Password refresh request can be either immediate (occurs during next GPO refresh) or planned for specific time (occurs on next GPO refresh after planned time) + + + + Reset-AdmPwdPassword + + ComputerName + + Name of the computer to reset password for + + String + + + WhenEffective + + Time when password shall be changed. When omitted, password change is requested immediately. +Note that password is changed during next GPO refresh after requested date/time on computer password reset is requested for +Format of the date/time accepted is the same as in active regional settings + + DateTime + + + + + + ComputerName + + Name of the computer to reset password for + + String + + String + + + + + + WhenEffective + + Time when password shall be changed. When omitted, password change is requested immediately. +Note that password is changed during next GPO refresh after requested date/time on computer password reset is requested for +Format of the date/time accepted is the same as in active regional settings + + DateTime + + DateTime + + + + + + + + + System.String[] + + + + + + + + + + + + AdmPwd.PSTypes.PasswordResetStatus + + + + + + + + + + + + + + Caller needs to be delegated the permission to request password reset - see cmdlet Set-AdmPwdResetPasswordPermission + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Reset-AdmPwdPassword -ComputerName:MyComputer -WhenEffective:"1.3.2014 15:00" + + Requests change of local admin account on computer MyComputer during next GPO refresh after 1.3.2014 15:00 + + + + + + + + + + + + + + + Set-AdmPwdAuditing + + Sets auditing for requests for passwords for local admin acocunts on computers in given container + + + + + Set + AdmPwdAuditing + + + + + Sets auditing for requests for passwords for local admin acocunts on computers in given container.; +Auditing user Windows AD auditing. Audit of DS Access must be enabled so as audit records were generated. +Successful attempts are audited by default +Audit entries can then be collected by audit collection system of choice (such as Microsoft ACS) + + + + Set-AdmPwdAuditing + + Identity + + Identificatin of container where to set auditing. Audit ACLs are inherited to computer accounts in given container and subcontainers + + String + + + AuditedPrincipals + + List of identities whose access to computer passwords is subject of audit. +Typically, Everyone of Authenticated Users are used here + + String[] + + + AuditType + + Whether to audit Success or Failure + + AuditFlags + + + + + + Identity + + Identificatin of container where to set auditing. Audit ACLs are inherited to computer accounts in given container and subcontainers + + String + + String + + + + + + AuditedPrincipals + + List of identities whose access to computer passwords is subject of audit. +Typically, Everyone of Authenticated Users are used here + + String[] + + String[] + + + + + + AuditType + + Whether to audit Success or Failure + + AuditFlags + + AuditFlags + + + Success + + + + + + System.String[] + + + + + + + + + + System.Security.AccessControl.AuditFlags + + + + + + + + + + + + AdmPwd.PSTypes.ObjectInfo + + + + + + + + + + + + + + Caller need to have permission modify SACL on respective container + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Set-AdmPwdAuditing -Identity:MyComputers -AuditedPrincipals:"Authenticated Users" + + Sets up audit of successful password read attempts on computers in MyComputers container and subcontainers + + + + + + + + + + + + + + + Set-AdmPwdComputerSelfPermission + + Gives computers permission to report passwords of their local admin accounts to AD + + + + + Set + AdmPwdComputerSelfPermission + + + + + Gives computers permission to report passwords of their local admin accounts to AD. +This is mandatory action to perform before solution can be used. Every computer that is expected to maintain own admin password needs to have this permission delegated + + + + Set-AdmPwdComputerSelfPermission + + Identity + + Identification of container where to set permissions. Permissions are then inherited to computers within this container and subcontainers. +Identity can be either name or distinguishedName of the container + + String + + + + + + Identity + + Identification of container where to set permissions. Permissions are then inherited to computers within this container and subcontainers. +Identity can be either name or distinguishedName of the container + + String + + String + + + + + + + + + System.String[] + + + + + + + + + + + + AdmPwd.PSTypes.ObjectInfo + + + + + + + + + + + + + + Caller needs to have permission to modify ACL on respective container + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Set-AdmPwdComputerSelfPermission -Identity:MyComputers + + Delegates permission to report new local admin passwrd to AD for computers under container MyComputers + + + + + + + + + + + + + + + Set-AdmPwdReadPasswordPermission + + Delegates the permission to read passwords of local admin account of computers in given container + + + + + Set + AdmPwdReadPasswordPermission + + + + + Delegates the permission to read passwords of local admin account of computers in given container + + + + Set-AdmPwdReadPasswordPermission + + Identity + + Identification of container where to set permissions. Permissions are then inherited to computers within this container and subcontainers. +Identity can be either name or distinguishedName of the container + + String + + + AllowedPrincipals + + List of security principals (user accounts of groups) to delegate the permission to + + String[] + + + + + + Identity + + Identification of container where to set permissions. Permissions are then inherited to computers within this container and subcontainers. +Identity can be either name or distinguishedName of the container + + String + + String + + + + + + AllowedPrincipals + + List of security principals (user accounts of groups) to delegate the permission to + + String[] + + String[] + + + + + + + + + System.String[] + + + + + + + + + + + + AdmPwd.PSTypes.ObjectInfo + + + + + + + + + + + + + + Caller needs to have permission to modify ACL on respective container + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Set-AdmPwdReadPasswordPermission -Identity:MyComputers -AllowedPrincipals:MyDomain\AdmPwdPasswordReaders + + Allows members of group MyDomain\AdmPwdPasswordReaders to read local admin password of computers in container MyComputers + + + + + + + + + + + + + + + Set-AdmPwdResetPasswordPermission + + Delegates the permission to request reset of passwords of local admin account of computers in given container + + + + + Set + AdmPwdResetPasswordPermission + + + + + Delegates the permission to request reset of passwords of local admin account of computers in given container + + + + Set-AdmPwdResetPasswordPermission + + Identity + + Identification of container where to set the permission. Permissions are then inherited to computers within this container and subcontainers. +Identity can be either name or distinguishedName of the container + + String + + + AllowedPrincipals + + List of security principals to be allowed to request reset of local admin passwords on computers under given container + + String[] + + + + + + Identity + + Identification of container where to set the permission. Permissions are then inherited to computers within this container and subcontainers. +Identity can be either name or distinguishedName of the container + + String + + String + + + + + + AllowedPrincipals + + List of security principals to be allowed to request reset of local admin passwords on computers under given container + + String[] + + String[] + + + + + + + + + System.String[] + + + + + + + + + + + + AdmPwd.PSTypes.ObjectInfo + + + + + + + + + + + + + + Caller needs to have permission to modify ACL on respective container + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Set-AdmPwdResetPasswordPermission -Identity:MyComputers -AllowedPrincipals:MyDomain\AdmPwdPasswordResetters + + Allows members of group MyDomain\AdmPwdPasswordResetters to request reset of local admin password of computers in container MyComputers + + + + + + + + + + + + + + + + Update-AdmPwdADSchema + + Prepares AD schema for the solution + + + + + Update + AdmPwdADSchema + + + + + Prepares AD schema for the solution. +Cmdlet creates 2 new attributes in schema and adds them to mayContain set of computer objects: + one attribute for admin password + one attribute for password expiration time + + + + Update-AdmPwdADSchema + + + + + + + + + + + + + + + + + + + AdmPwd.PSTypes.DirectoryOperationStatus + + + + + + + + + + + + + + Caller needs to have Schema Admin permission + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + Update-AdmPwdADSchema + + Prepares AD schema for the solution. +User running this cmdlet needs to be member of Schema Admins group + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.format.ps1xml b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.format.ps1xml new file mode 100644 index 0000000..fc725fd --- /dev/null +++ b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.format.ps1xml @@ -0,0 +1,169 @@ + + + + + ExtendedRightsInfo + + AdmPwd.PSTypes.ExtendedRightsInfo + + + + + 45 + + + 60 + + + + + + + ObjectDN + + + ExtendedRightHolders + + + + + + + + PasswordInfo + + AdmPwd.PSTypes.PasswordInfo + + + + + 20 + + + 45 + + + 18 + + + 20 + + + + + + + ComputerName + + + DistinguishedName + + + Password + + + ExpirationTimestamp + + + + + + + + OrgUnitInfo + + AdmPwd.PSTypes.ObjectInfo + + + + + 20 + + + 65 + + + 20 + + + + + + + Name + + + DistinguishedName + + + Status + + + + + + + + OperationStatus + + AdmPwd.PSTypes.DirectoryOperationStatus + + + + + 20 + + + 65 + + + 25 + + + + + + + Operation + + + DistinguishedName + + + Status + + + + + + + + PasswordResetStatus + + AdmPwd.PSTypes.PasswordResetStatus + + + + + 65 + + + 25 + + + + + + + DistinguishedName + + + Status + + + + + + + + diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.psd1 b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/AdmPwd.PSModule/AdmPwd.PS.psd1 new file mode 100644 index 0000000000000000000000000000000000000000..fe4426adad8d8b290e30ecf5415b0d86c181b6b5 GIT binary patch literal 5074 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 CNRul7 literal 0 HcmV?d00001 diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/Install/Install.ps1 b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/Install/Install.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..53aca6cf0df18e73b55a0dac1ae1e280876d5b4f GIT binary patch literal 15664 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 literal 0 HcmV?d00001 diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/LICENSE.txt b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/LICENSE.txt new file mode 100644 index 0000000..04060bb --- /dev/null +++ b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) Heiko Horwedel (htcfreek). All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/README.txt b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/README.txt new file mode 100644 index 0000000..3bea903 --- /dev/null +++ b/src/ResetLapsPassword 0.1/Data/htcfreek/OsPackages/ResetLapsPassword/0.1/README.txt @@ -0,0 +1,62 @@ +## Repo name: PreOS-ResetLapsPassword +## Repo owner: htcfreek (Heiko Horwedel) - https://gtihub.com/htcfreek +## Repo URL: https://github.com/htcfreek/PreOS-ResetLapsPassword +######################################## + + +PACKAGE INFORMATION +------------------- +A PreOS-Package for Matrix42 Empirum that can reset the LAPS password of a computer on reinstall. + +You can use the package with Windows 11 (Windows LAPS & Legacy LAPS) and Windows 10 (Legacy LAPS). +The package requires an up to date Empirum WinPE environment (at least 1.8.12) and PowerShell 5.1! + +The package has the Legacy LAPS PowerShell module form the Microsoft LAPS installer included. (Link to the installer: https://www.microsoft.com/en-us/download/details.aspx?id=46899) + +FEATURES: +- Support for both LAPS versions (Legacy & Windows). +- Immediate password reset with Windows LAPS. +- Using the computer account credentials for password reset. +- Using the domain join credentials when setting only the expiration date under Windows LAPS. +- Forcing the usage of Legacy LAPS if Windows LAPS is available too. + +PACKAGE VARIABLES: +- WindowsLapsResetImmediately : 0 (default) or 1 + Reset the password immediately instead of changing the expiration time. + (Only supported with Windows LAPS on Win11 IP Build 25145 and later.) +- WindowsLapsUseDJCredentials : 0 (default) or 1 + Use the DomainJoin package user credentials instead of the computer account context. + (Only supported with Windows LAPS on Win11 IP Build 25145 and later. "WindowsLapsResetImmidiately" has to be set to 0.) +- ForceLegacyLapsModuleUsage : 0 (default) or 1 + Enforce the usage of the Legacy LAPS (Adm.Pwd) module included in this PreOS package. + (On Windows 11 IP Build 25145 and later the built-in Windows LAPS module will be used by default.) + + +DOWNLOAD AND USAGE +------------------ +Download the files form https://github.com/htcfreek/preos-resetlapspassword/releases. + +After downloading the release file, please extract its content to %EmpirumDir%\Configurator$\PackageStore\PreOSPackages and import the package in your Software Depot. Then you can assign the package and set the package variables if you want to change the default behaviour. + + +SUPPORT +------- +⚠ The provided code/content in this repository isn't developed by "Matrix42 AG". It was created by the repository owner. This means that the company "Matrix42 AG" isn't responsible to answer any support requests regarding the tools, scripts and packages in this repository in any way! + +If you have any problems or want to suggest a new feature please fill a bug in this repository under https://github.com/htcfreek/PreOS-ResetLapsPassword/issues/new. + + +CREDITS +------- +This repository includes scripts (and other files) that where created while my day to day job work. I want to say thank you to my employer who allows me to share them with you (the community). + + +DISCLAIMER +---------- +All named product and company names are trademarks (™) or registered (®) trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. + + +LICENSE +------- +This Repository is licensed to you under the MIT license. +See the LICENSE.md file in the same directory for more information. diff --git a/src/ResetLapsPassword 0.1/EmpirumPackageData.xml b/src/ResetLapsPassword 0.1/EmpirumPackageData.xml new file mode 100644 index 0000000..fb614ba --- /dev/null +++ b/src/ResetLapsPassword 0.1/EmpirumPackageData.xml @@ -0,0 +1,219 @@ + + + + + This package triggers the reset of the LPAS password by setting the expiration time to now for the client on which it is running. + + + + + + 0001-01-01T00:00:00 + + a74065c8-5ee4-43b9-926b-a597fa27aca5 + ResetLapsPassword 0.1 + + + 0 + + + + + 0 + + 1 + + + 1 + + 0 + 1 + + Reset the password immediately instead of changing the expiration time. (Only supported with Windows LAPS on Win11 IP Build 25145 and later.) + 0 + 2022-11-11T11:59:14.4988379+01:00 + + WindowsLapsResetImmediately + + + + + + 0 + + 0 + + + + 1 + + 0 + 1 + + Use the DomainJoin package user credentials instead of the computer account context. (Only supported with Windows LAPS on Win11 IP Build 25145 and later. "WindowsLapsResetImmidiately" has to be set to 0.) + 0 + 2022-11-11T12:02:51.6365081+01:00 + + WindowsLapsUseDJCredentials + + + + + + 0 + + 0 + + + + 1 + + 0 + 1 + + Enforce the usage of the Legacy LAPS (Adm.Pwd) module included in this PreOS package. (On Windows 11 IP Build 25145 and later the built-in Windows LAPS module will be used by default.) + 0 + 2022-11-11T12:36:39.3978234+01:00 + + ForceLegacyLapsModuleUsage + + + + + + 0 + + 0 + + + + 0 + 9 + + This is the container for the os package variables. + 0 + 2022-11-10T10:42:56.070828+01:00 + + ResetLapsPassword + 39 + + + + + 0 + + 0 + + + + 00000000-0000-0000-0000-000000000000 + 0 + + + htcfreek + 0.1 + + false + + + false + 0 + + + + This package triggers the reset of the LPAS password by setting the expiration time to now for the client on which it is running. + %Packages%\htcfreek\OsPackages\ResetLapsPassword\0.1 + + 0 + 0 + false + + 0 + false + + + + 0 + 0 + + + 0 + + + + htcfreek\OsPackages\ResetLapsPassword\0.1 + + + 0 + 0 + 0 +