Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tally.wharflab.com/llms.txt

Use this file to discover all available pages before exploring further.

powershell/PSUseBOMForUnicodeEncodedFile is a PSScriptAnalyzer diagnostic emitted by tally for PowerShell snippets embedded in Dockerfiles.
PropertyValue
SeverityWarning
CategoryPSScriptAnalyzer
Auto-fixNo

Description

For a file encoded with a format other than ASCII, ensure Byte Order Mark (BOM) is present to ensure that any application consuming this file can interpret it correctly. You can use this rule to test any arbitrary text file, but the intent is to ensure that PowerShell scripts are saved with a BOM when using a Unicode encoding.

How

For PowerShell commands that write to files, ensure that you set the encoding parameter to a value that produces a BOM. In PowerShell 7 and higher, the following values of the Encoding parameter produce a BOM:
  • bigendianunicode
  • bigendianutf32
  • oem
  • unicode
  • utf32
  • utf8BOM
When you create a script file using a text editor, ensure that the editor is configured to save the file with a BOM. Consult the documentation for your text editor for instructions on how to save files with a BOM.

Further reading

For more information, see the following articles:

Source

This rule documentation is adapted from Microsoft’s PSScriptAnalyzer documentation for UseBOMForUnicodeEncodedFile, licensed under CC BY 4.0.