Powershell 从输出创建新脚本

Powershell 从输出创建新脚本,powershell,Powershell,希望这对某人来说是件容易的事,但我就是没有这样的经验。我正在从电脑中提取映射的网络驱动器信息。我正在测试路径,以确保它处于活动状态,并且此人仍然可以访问。测试很好。这是我的问题 如果测试为$true,我希望它向一个新的.ps1文件输出一行代码,以便重新映射驱动器。我想我就快到了,但是我不能在输出一行代码而不是这行代码的输出上下功夫。谢谢你的帮助 foreach ($Drive IN $Drives) { $MND = $Network.OpenSubKey("$Drive") $

希望这对某人来说是件容易的事,但我就是没有这样的经验。我正在从电脑中提取映射的网络驱动器信息。我正在测试路径,以确保它处于活动状态,并且此人仍然可以访问。测试很好。这是我的问题

如果测试为$true,我希望它向一个新的.ps1文件输出一行代码,以便重新映射驱动器。我想我就快到了,但是我不能在输出一行代码而不是这行代码的输出上下功夫。谢谢你的帮助

foreach ($Drive IN $Drives)
{
    $MND = $Network.OpenSubKey("$Drive")
    $Share = $MND.GetValue("RemotePath")
    $Path = Test-Path "$Share\*"
    IF ($Path -eq $true)
    {
        $ErrorActionPreference = "SilentlyContinue"
        Stop-Transcript | out-null
        $ErrorActionPreference = "Continue"
        Start-Transcript -path C:\output.ps1 -append
        "New-PSDrive -Name "$Drive" -PSProvider FileSystem -Root "$Share" -Persist"
        Stop-Transcript
    }
}

根据您的评论,您可能不想使用
Start Transcript
(因为您会得到许多您不想要的标题内容),而是想使用一些输出到文件的内容,如
Out file-Append
Add content

您还需要删除可能不必要的内部双引号(或者可以用单引号替换):


还值得检查一下,您是否有权将文件写入C:\的根目录,在Windows的更高版本中,非管理员默认情况下会被阻止。

我是个白痴。我没有让自己太难,而是将整个IF改为一行“New PSDrive-Name$Drive-PSProvider FileSystem-Root$Share-Persist”|输出文件C:\output.ps1-appender感谢提示!根文件只是一个例子。我正在写我桌面上的文件夹。我还发现我想再修改一下,因为我是远程操作的,不想知道我是否有权限。所以我让它创建包含整个测试路径的脚本等等。只是想给一个“他现在在哪里”的更新哈哈。再次感谢!
"New-PSDrive -Name $Drive -PSProvider FileSystem -Root $Share -Persist" | Add-Content c:\output.ps1