1

毎朝、リモート システムでテキスト ファイルを編集するプロセスを自動化しようとしています。

私のスクリプト:

$User = "USER"
$File = "C:\secureString.txt"
$c = New-Object -TypeName System.Management.Automation.PSCredential `
 -ArgumentList $User, (Get-Content $File | ConvertTo-SecureString)

New-PSDrive -Name "X" -PSProvider FileSystem -Root "\\192.168.1.69\ifs\home" -Credential $c
(Get-Content X:\textFile.txt).Replace(","," ") | Set-Content X:\textFile.TXT

さて、これは最初は問題なく機能しましたが、数日後に次のエラーが発生しました。

New-PSDrive : Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again

これを難しくしている重要な点をいくつか挙げてみましょう。

  • リモート システムは Windows ではありません。(AS400のIFS)
  • IFS は、スクリプトを実行している Windows マシンから到達可能です。(IP を入力すると、Windows エクスプローラーで IFS を参照できます。)
  • リモート システムにアクセスするには資格情報が必要です。(AS400 ユーザーの資格情報。)
  • ファイルをIFSから取り出し、Windowsでローカルに編集してから元に戻すことはできません。

これを行うより良い方法はありますか?そうでない場合、マルチ接続エラーを修正して再発を防ぐにはどうすればよいですか?

「なぜ 400 でファイルを編集しないのですか??」と誰かが尋ねるでしょう。私はおそらくそうするでしょう。それにはいくつかの問題があったため、最初にpowershellを試しました。これは5 分間の取引であると想定されていましたが、代わりに物事を複雑にしすぎたと思います。

4

0 に答える 0