powershell/PSUseBOMForUnicodeEncodedFile is a PSScriptAnalyzer diagnostic emitted by tally for PowerShell snippets embedded in Dockerfiles.
tally disables this rule by default because Dockerfile
RUN bodies are inline strings, not
files on disk with encoding metadata. Re-enable it with
include = ["powershell/PSUseBOMForUnicodeEncodedFile"] or by setting
rules.powershell.PSUseBOMForUnicodeEncodedFile.severity = "warning" in .tally.toml.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:bigendianunicodebigendianutf32oemunicodeutf32utf8BOM