Project

PSWriteOffice

PowerShell document automation across OfficeIMO's document, spreadsheet, presentation, PDF, Project, Access, EPUB, invoicing, and conversion engines.

Stars 654
Forks 82
Open issues 1
Total downloads 4,320,051
Release OfficeIMO-v3.5.3
Language: C# Updated: 2026-11-03
Cmdlet

Protect-OfficeWordDocument

Module
PSWriteOffice
Inputs
OfficeIMO.Word.WordDocument

Protects a Word document with a password.

Syntax

Protect-OfficeWordDocument
[-Document <WordDocument>]
[-PassThru]
[-Password] <String>
[-ProtectionType <ReadOnly|Comments|TrackedChanges|Forms>]
[<CommonParameters>]
#
Parameter set: All Parameter Sets

Description

Sets the protection password and the protection type (default: ReadOnly).

Examples

Protect a generated document as read-only.

New-OfficeWord -Path .\ProtectedReport.docx {
    Add-OfficeWordParagraph -Text 'Confidential report'
    Protect-OfficeWordDocument -Password 'secret' -ProtectionType ReadOnly
}

Sets OfficeIMO.Word document protection while the document is being composed.

Parameters

-Document WordDocument optionalpipeline: True (ByValue)
Document to protect when provided explicitly.
-PassThru SwitchParameter optional
Emit the protected document.
-Password String requiredposition: 0
Password to apply.
-ProtectionType WordDocumentProtectionType optional
Protection type (defaults to ReadOnly).
Possible values: ReadOnly, Comments, TrackedChanges, Forms

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.