Read-ADTpmInformation
Reads Trusted Platform Module (TPM) owner information from Active Directory for one or more computers.
Syntax
Read-ADTpmInformation
[-After <DateTime>]
[-Credential <PSCredential>]
[-ResultPageSize <Int32>]
[-SearchBase <String>]
-Server <String>
[-Recurse]
[<CommonParameters>]
Description
The Read-ADTpmInformation cmdlet gets Trusted Platform Module (TPM) owner information from an Active Directory computer object or linked msTPM-InformationObject or performs a search to retrieve this data for multiple computers. The Server parameter is required and specifies the Active Directory Domain Services instance to connect to. The search is not recursive. A search for computer objects is performed in the Active Directory path specified by the SearchBase parameter. The default value of the SearchBase parameter is the default naming context of the target domain. You can also set the SearchBase parameter to the full path of a single computer object.
Examples
Example 1: Get TmpOwnerInformation records from a specified server
PS C:\>$Cred = Get-Credential contoso\adpullreader
PS C:\> Read-ADTpmInformation -Server "Contoso.com" -Credential $Cred -SearchBase "OU=Workstations,OU=Machines,DC=Contoso,DC=com"
Computer : User1-pc.Contoso.com
Time : 23/09/2014 19:31:22
TpmOwnerInformation : System.Security.SecureString
ComputerDistinguishedName : CN=USER1-PC,OU=Workstations,OU=Machines,DC=Contoso,DC=com
Computer : User2-pc.Contoso.com
Time : 21/11/2013 04:38:33
TpmOwnerInformation : System.Security.SecureString
ComputerDistinguishedName : CN=User2-PC,OU=Workstations,OU=Machines,DC=Contoso,DC=com
This command queries for TpmOwnerInformation records corresponding to each computer object in the container "OU=Workstations,OU=Machines,DC=Contoso,DC=com" (not including sub-containers).
The Active Directory query is performed as a user named Contoso.com\adpullreader.
Each returned record is an instance of PsObject with name of the computer, the TPM owner authorization string, and the time at which it was backed up to Active Directory (if known).
Example 2: Get TmpOwnerInformation records from a specified server recursively
PS C:\>Read-ADTpmInformation -Server "Contoso.com" -SearchBase "OU=Machines,DC=Contoso,DC=com" -Recurse
Computer : user3-pc.Contoso.com
Time : 09/23/2014 19:31:22
TpmOwnerInformation : System.Security.SecureString
ComputerDistinguishedName : CN=USER3-PC,OU=LAPTOPS,OU=Machines,DC=contoso,DC=com
Computer : user1-pc.Contoso.com
Time : 11/21/2013 04:38:33
TpmOwnerInformation : System.Security.SecureString
ComputerDistinguishedName : CN=USER1-PC,OU=Workstations,OU=Machines,DC=Contoso,DC=com
This command queries for TpmOwnerInformation records corresponding to each computer object in the container "OU=Workstations,OU=Machines,DC=Contoso,DC=com" and sub-containers.
The Active Directory query is performed under the cmdlet's process credentials.
Each returned record is an instance of PsObject with name of the computer, the TPM owner authorization string and the time at which it was backed up to Active Directory (if known).
Example 3: Get TpmOwnerInformation records for each computer in a specified container after a specified date
PS C:\>Read-ADTpmInformation -Server "Contoso.com" -SearchBase "OU=Workstations,OU=Machines,DC=Contoso,DC=com" -After ([datetime]::Parse("09/01/2014 01:00:00"))
Computer : user3-pc.Contoso.com
Time : 09/23/2014 19:31:22
TpmOwnerInformation : System.Security.SecureString
ComputerDistinguishedName : CN=USER3-PC,OU=LAPTOPS,OU=Machines,DC=Contoso,DC=com
This command queries for TpmOwnerInformation records corresponding to each computer object in the container "OU=Workstations,OU=Machines,DC=contoso,DC=com" (not including sub-containers). The Active Directory query is performed under the cmdlet process's credentials.
Only TPMOwnerInformation that might have been backed up to Active Directory after September 1, 2014 01:00:00 UTC will be retrieved.
Each returned record is an instance of PsObject with name of the computer, the TPM owner authorization string and the time at which it was backed up to Active Directory (if known).
Example 4: Get a TpmOwnerInformation record for a distinguished computer in a specified container
PS C:\>Read-ADTpmInformation -Server "Contoso.com" -SearchBase "CN=USER1-PC,OU=Workstations,OU=Machines,DC=Contoso,DC=com"
Computer : user1-pc.Contoso.com
Time : 23/09/2014 19:31:22
TpmOwnerInformation : System.Security.SecureString
ComputerDistinguishedName : CN=USER1-PC,OU=Workstations,OU=Machines,DC=Contoso,DC=com
This command queries the TPMOwnerInformation record for the computer object with the distinguished computer name: "CN=USER1-PC,OU=Workstations,OU=Machines,DC=Contoso,DC=com".
The Active Directory query is performed under the cmdlet's process credentials.
The returned record is an instance of PsObject with name of the computer, the TPM owner authorization string and the time at which it was backed up to Active Directory (if known).
Parameters
-After
Specifies that TPM owner passwords from Active Directory with corresponding timestamps more recent than the specified DateTime be read.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Specifies the domain account credentials in which this cmdlet operates.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Recurse
Indicates that the cmdlet retrieves recovery information associated with the computer objects in the specified container and all child containers.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResultPageSize
Specifies the maximum number of objects the server should return in a single page of results. The default is 1000, which is the default server MaxPageSize limit. If you change the server MaxPageSize to a value less than 1000, that value will take precedence over this parameter.Changing this value can be useful to throttling network bandwidth and reducing the LDAP server memory footprint required to service this query.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SearchBase
Specifies an Active Directory path in which this cmdlet searches.
Type: | String |
Aliases: | base |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Server
Specifies the name of the server in which to search for TPM information. The value to use for <server> in the Lightweight Directory Access Protocol (LDAP) query "LDAP://<server>/...".
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
Cmdlet parameters can be read from input by Property Name.
Outputs
PsObject
Property Name PropertyType Computer String TpmOwnerInformation SecureString Time DateTime