{"id":21581415,"url":"https://github.com/marckassay/pstruecrypt","last_synced_at":"2025-10-13T19:03:18.754Z","repository":{"id":30518465,"uuid":"34072951","full_name":"marckassay/PSTrueCrypt","owner":"marckassay","description":"PSTrueCrypt is a PowerShell module to mount and dismount TrueCrypt containers","archived":false,"fork":false,"pushed_at":"2018-01-10T22:26:50.000Z","size":11269,"stargazers_count":15,"open_issues_count":11,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T19:12:54.851Z","etag":null,"topics":["encryption","mount","powershell","truecrypt","veracrypt"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marckassay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-16T18:24:11.000Z","updated_at":"2022-07-18T05:35:00.000Z","dependencies_parsed_at":"2022-07-24T16:47:19.780Z","dependency_job_id":null,"html_url":"https://github.com/marckassay/PSTrueCrypt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marckassay/PSTrueCrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marckassay%2FPSTrueCrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marckassay%2FPSTrueCrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marckassay%2FPSTrueCrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marckassay%2FPSTrueCrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marckassay","download_url":"https://codeload.github.com/marckassay/PSTrueCrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marckassay%2FPSTrueCrypt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016627,"owners_count":26085855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["encryption","mount","powershell","truecrypt","veracrypt"],"created_at":"2024-11-24T14:12:27.533Z","updated_at":"2025-10-13T19:03:18.721Z","avatar_url":"https://github.com/marckassay.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PSTrueCrypt\r\n\r\nPSTrueCrypt is a PowerShell module for mounting TrueCrypt and VeraCrypt containers.\r\n\r\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/marckassay/PSTrueCrypt/blob/master/LICENSE) [![PS Gallery](https://img.shields.io/badge/install-PS%20Gallery-blue.svg)](https://www.powershellgallery.com/packages/PSTrueCrypt/) [![Build status](https://ci.appveyor.com/api/projects/status/1dnmc2xm6k4s3pjh/branch/master?svg=true)](https://ci.appveyor.com/project/marckassay/pstruecrypt/branch/master)\r\n\r\n## Features\r\n\r\n* No configuration files are needed.  Registry is used to store non-sensitive data for the container.\r\n* Option to update container's last write time upon dismount. This allows cloud storage services to detect a change for upload.\r\n* Uses SecureString and binary string (BSTR) to handle password securely\r\n* Supports the use of keyfiles\r\n* On PowerShell startup, a test will be made to ensure that TrueCrypt and/or VeraCrypt are set in the system environment 'path' variable\r\n\r\n## Limitations\r\n\r\n* No support for full disk/partition or system encryption\r\n\r\n* TrueCrypt or VeraCrypt must be installed\r\n\r\n## Notes\r\n\r\n* Only tested on Windows 10 using .NET 4.6\r\n\r\n* Help documentation has been generated by [platyPS](https://github.com/PowerShell/platyPS)\r\n\r\n* One love, one heart (One repository, one contributor).  So there are most likely unknown limitations and issues.\r\n\r\nPlease add any feedback, concerns, requests and/or bugs in the 'Issues' section of this repository.\r\n\r\n## Instructions\r\n\r\nTo install with PowerShellGet or PsGet run the following command below.  Or download project to your PowerShell Module directory.\r\n\r\n```powershell\r\nInstall-Module PSTrueCrypt\r\n```\r\n\r\n### Mount-TrueCrypt\r\n\r\nMounts a TrueCrypt container with name of 'Kryptos', which must be in the registry.\r\n\r\n```powershell\r\n$ Mount-TrueCrypt -Name Kryptos\r\nEnter password: **********\r\n```\r\n\r\nAlthough not recommended, due to plain-text password variable, this demostrates passing a variable into the Mount-TrueCrypt function.\r\n\r\n```powershell\r\n$ $SecurePassword = \"123abc\" | ConvertTo-SecureString -AsPlainText -Force\r\n$ Mount-TrueCrypt -Name Kryptos -Password $SecurePassword\r\n```\r\n\r\nMounts a TrueCrypt container with name of 'Kryptos' that requires a Keyfile.\r\n\r\n```powershell\r\n$ Mount-TrueCrypt -Name Kryptos -KeyfilePath C:/Music/Outshined.mp3\r\nEnter password: **********\r\n```\r\n\r\n### Dismount-TrueCrypt\r\n\r\n```powershell\r\n$ Dismount-TrueCrypt -Name Kryptos\r\n```\r\n\r\nUsing the alias for Dismount-TrueCryptForceAll, dismounts all TrueCrypt and all VeraCrypt containers respectively.\r\n\r\n```powershell\r\n$ dmt*\r\nAll TrueCrypt containers have successfully dismounted.  Please verify.\r\nAll VeraCrypt containers have successfully dismounted.  Please verify.\r\n```\r\n\r\n### New-PSTrueCryptContainer\r\n\r\nCreates a container setting in the registry, specifying 'Kryptos' for the name which is referenced by PSTrueCrypt. And specifying the path to the container at 'D:\\Kryptos' with 'M' being the letter of the drive.  And claiming the container having been created with VeraCrypt.\r\n\r\n```powershell\r\n$ New-PSTrueCryptContainer -Name Kryptos -Location D:\\Kryptos -MountLetter M -Product VeraCrypt\r\n\r\nNew-PSTrueCryptContainer will add a new subkey in the following of your registry: HKCU:\\SOFTWARE\\PSTrueCrypt\r\nAre you sure you want to proceed?\r\n[Y] Yes  [N] No  [?] Help (default is \"N\"): Y\r\n'Krytos' PSTrueCrypt container has been created!\r\n```\r\n\r\nIdentical as the example directly above except the 'Timestamp' switch parameter is being used to indicate that\r\nthe container's 'Last Write Time' should be updated when dismounted.  This is particularly useful if the container resides\r\nin a cloud storage service directory.\r\n\r\n```powershell\r\n$ New-PSTrueCryptContainer -Name Kryptos -Location D:\\Kryptos -MountLetter M -Product VeraCrypt -Timestamp\r\n\r\nNew-PSTrueCryptContainer will add a new subkey in the following of your registry: HKCU:\\SOFTWARE\\PSTrueCrypt\r\nAre you sure you want to proceed?\r\n[Y] Yes  [N] No  [?] Help (default is \"N\"): Y\r\n'Krytos' PSTrueCrypt container has been created!\r\n```\r\n\r\n### Edit-PSTrueCryptContainer\r\n\r\nUse this function to edit an existing container that has been created with New-PSTrueCryptContainer.\r\n\r\n```powershell\r\n$ Edit-PSTrueCryptContainer Bobby -NewName Bob\r\n\r\nName Location                            MountLetter Product   Timestamp\r\n---- --------                            ----------- -------   ---------\r\nBob  D:\\Google Drive\\Documents\\truecrypt T           TrueCrypt     False\r\n\r\nEdit-PSTrueCryptContainer will set Bobby with the above values.\r\nDo you want to proceed?\r\n[Y] Yes  [N] No  [?] Help (default is \"N\"): Y\r\n'Bob' PSTrueCrypt container has been updated!\r\n```\r\n\r\n### Remove-PSTrueCryptContainer\r\n\r\n```powershell\r\n$ Remove-PSTrueCryptContainer -Name Kryptos\r\nRemove-PSTrueCryptContainer will remove a subkey from your registry: HKCU:\\SOFTWARE\\PSTrueCrypt\r\nAre you sure you want to proceed?\r\n[Y] Yes  [N] No  [?] Help (default is \"N\"): Y\r\nContainer settings has been deleted from registry.\r\n```\r\n\r\n### Show-PSTrueCryptContainers\r\n\r\n```powershell\r\n$ Show-PSTrueCryptContainers\r\n\r\nName   Location                       MountLetter Product   Timestamp IsMounted Last Activity\r\n----   --------                       ----------- -------   --------- --------- ------------------\r\n1pw    D:\\Google Drive\\Documents\\1pw  Y           TrueCrypt      True      True 7/04/2017 06:12:23\r\nKrytos D:\\Google Drive\\               D           TrueCrypt      True     False 5/10/2017 10:10:30\r\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarckassay%2Fpstruecrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarckassay%2Fpstruecrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarckassay%2Fpstruecrypt/lists"}