我有一个 JavaScript 函数,我正在尝试将 PowerShell 脚本写入 PowerShell 文件。这是函数:
const script =
`$Win32Product= Get-WmiObject -Class Win32_Product | Where Name -like 'Test Client'
if ($Win32Product -eq $null){$Check=$false}else{$Check=$true}
$Hash = @{ Check = $Check }
Return $Hash | ConvertTo-Json -Compress`;
const writeStringToPowerShellFile = () => {
const blob = new Blob([script], { type: "text/plain" });
const url = URL.createObjectURL(blob);
const link = document.createElement("a");
link.download = "resultScript.ps1";
link.href = url;
link.click();
};
忘记脚本本身是否有意义,问题是当我这样做时,ps1 文件在一行中出现了
"
和 \n
并且基本上只是弄乱了 powershell 命令。我如何确保文件的内容看起来完全像这样:
$Win32Product= Get-WmiObject -Class Win32_Product | Where Name -like 'Test Client'
if ($Win32Product -eq $null){$Check=$false}else{$Check=$true}
$Hash = @{ Check = $Check }
Return $Hash | ConvertTo-Json -Compress
不要使用
JSON.stringify
,因为你正在处理一个字符串,而不是一个对象。
尝试替换:
const fileData = JSON.stringify(script);
const blob = new Blob([fileData], { type: "text/plain" });
与:
const blob = new Blob([script], { type: "text/plain" });