通过 PowerShell 脚本重新验证远程连接

通过 PowerShell 脚本重新验证远程连接

我有一个 PowerShell v1 脚本,它通过 UNC 路径连接到远程服务器。重启后,需要进行身份验证,因为 Windows 显然不会记住,因此脚本无法连接到远程服务器

如何在 PowerShell 脚本中以编程方式处理这种情况?

我需要

1)重新认证

2)通过 UNC 路径连接到远程服务器

也许是“net”命令???

我如何在 PowerShell 脚本中执行此操作?

Get-ChildItem -Path "\\REMOTESERVER\Data\Files" -Filter "*.journal" | 
Where-Object { $_.Name -match 'Daily_Reviews\[\d{1,12}-\d{1,12}\].journal' } | 
Sort-Object -Property CreationTime | ForEach-Object 
{

    $sourcefile = $_.Name
    [...]


 }

谢谢

答案1

您可以将凭据存储在脚本中。然后可以使用私人秘书凭证对象与新-PSDrivecmdlet 连接到共享。然后,您的脚本可以在会话期间访问 PSDriveInfo 对象。

$username = 'domain\username'
$password = 'secret'

$password = $password | ConvertTo-SecureString -AsPlainText -Force

$credential = New-Object System.Management.Automation.PSCredential($username, $password)

New-PSDrive -Name journals -PSProvider FileSystem -Root '\\remoteserver\data\files' -Credential $credential | ForEach-Object { Set-Location "$_`:" }

Get-ChildItem -Filter "*.journal"

相关内容