diff --git a/shells/powershell.go b/shells/powershell.go
index ee86d433e775377e55bc259dcdefa7b709618608..48c99f6d5079a391dc4ee7ce4a7aab2b0a83f4d8 100644
--- a/shells/powershell.go
+++ b/shells/powershell.go
@@ -220,6 +220,8 @@ func (b *PsWriter) Finish(trace bool) string {
 	var buffer bytes.Buffer
 	w := bufio.NewWriter(&buffer)
 
+	// write BOM
+	io.WriteString(w, "\xef\xbb\xbf")
 	if trace {
 		io.WriteString(w, "Set-PSDebug -Trace 2\r\n")
 	}