#Prepare the host and load the CM SDK/Database
Clear-Host
Add-Type -Path "d:\Program Files\Hewlett Packard Enterprise\Content Manager\HP.HPTRIM.SDK.dll"
$Database = New-Object HP.HPTRIM.SDK.Database
$Database.Connect()
#Load the various record types
$PersonalFolderRecordType = $Database.FindTrimObjectByName([HP.HPTRIM.SDK.BaseObjectTypes]::RecordType, "Personal Files")
$PersonalDocumentRecordType = $Database.FindTrimObjectByName([HP.HPTRIM.SDK.BaseObjectTypes]::RecordType, "Personal Document")
$CorporateFolderRecordType = $Database.FindTrimObjectByName([HP.HPTRIM.SDK.BaseObjectTypes]::RecordType, "Corporate Files")
$CorporateDocumentRecordType = $Database.FindTrimObjectByName([HP.HPTRIM.SDK.BaseObjectTypes]::RecordType, "Corporate Document")
#Prepare the example set
$FolderNumber = "17/99999"
$ExemplarFolder = $Database.FindTrimObjectByName([HP.HPTRIM.SDK.BaseObjectTypes]::Record, $FolderNumber)
if ( $ExemplarFolder -eq $null ) {
$ExemplarFolder = New-Object HP.HPTRIM.SDK.Record -ArgumentList $Database, $CorporateFolderRecordType
$ExemplarFolder.LongNumber = $FolderNumber #Assumes pattern is "YY/GGGGG"
$ExemplarFolder.TypedTitle = "test"
$ExemplarFolder.Save()
Write-Host "Created folder $($ExemplarFolder)"
} else {
#purge any existing records
$ExistingContents = New-Object HP.HPTRIM.SDK.TrimMainObjectSearch -ArgumentList $Database,Record
$ExistingContents.SearchString = "container:[uri:$($ExemplarFolder.Uri)]"
foreach ( $Result in $ExistingContents )
{
Write-Host "Removing existing record $(([HP.HPTRIM.SDK.Record]$Result).Number)"
([HP.HPTRIM.SDK.Record]$Result).Delete()
}
}
#Create 4 records within the folder, the first 2 personal and the second 2 corporate
for ( $i = 0; $i -lt 4; $i++ ) {
$ExemplarDocument = New-Object HP.HPTRIM.SDK.Record -ArgumentList $Database, $(If ( $i -lt 2 ) { $PersonalDocumentRecordType } Else { $CorporateDocumentRecordType })
$ExemplarDocument.DateRegistered = (get-date).AddYears(-1*$i)
$ExemplarDocument.DateCreated = (get-date).AddYears(-1*$i)
$ExemplarDocument.TypedTitle = "test"
$ExemplarDocument.SetContainer($ExemplarFolder,$true)
$ExemplarDocument.Save()
Write-Host "Created document $($ExemplarDocument.Number)"
}