使用 PowerShell 更改 rdp 文件的内容

Change the contents of a rdp-file with PowerShell

我有一个目录 C:\RDP LINKS\,您可以在其中找到一大堆带有 rdp 快捷方式的文件夹。

问题是,所有快捷方式中的默认名称最近都已更改(最初是 administrator@testdomain.local,现在是 administrator@test2domain.local。

我想用 Powershell 更改 rdp 链接的内容。

如果用记事本打开rdp快捷方式,可以看到属性和默认用户名:

我试过这个脚本:

$configFiles = Get-ChildItem "C:\RDP LINKS\" *.rdp -rec
foreach ($file in $configFiles)
{
    (Get-Content $file.PSPath) |
    Foreach-Object { $_ -replace "administrator@testdomain.local", "administrator@test2domain.local" } |
    Set-Content $file.PSPath
}

脚本运行但名称没有改变。我究竟做错了什么?

试试这个(使用全名 属性 而不是 pspath):

 ls "c:\rdp links\*.rdp" -recurse | %{
     (gc $_ ) -replace "administrator@testdomain.local", "administrator@test2domain.local" |
     set-content $_.FullName -force
}

你想多了。这是直接替换。

$configFiles = (Get-ChildItem "C:\RDP LINKS\" *.rdp) 
foreach ($file in $configFiles)
    {
    (get-content $file) -replace 'administrator@testdomain.local', 'administrator@test2domain.local' | set-content $file
}