0

シームレスな citrix セッション内でマップされたネットワーク ドライブを変更する必要があります。PS3 を使用してプログラムを起動する限り、大したことはありません。

$y = \\server\share1    
if(!(get-psdrive y)){
New-PSDrive -Name Y $y -Persist -PSProvider FileSystem
}
else{
    Get-PSDrive Y | Remove-PSDrive -Force
    New-PSDrive -Name Y $y -Persist -PSProvider FileSystem
}

この問題は、$y を別の値 (\server\share2 など) に変更し、アクティブなシームレス セッション内でドライブを再マップした後に発生します。すでに開始されている Citrix シームレス アプリ内で再マッピングが行われ、ドライブには share2 のコンテンツが表示されますが、エクスプローラーでのその名前 (たとえば、ダイアログとしてファイルを保存) はまだ \server\share1 であり、混乱を招きます。

既に開始されているシームレス アプリ内の共有の名前も更新する方法はありますか。

  • もちろん、すべてのアクション/シームレスなアプリの開始は、同じ ica セッションで行われます。
  • XenApp 6

ありがとう

4

1 に答える 1

0

私はそれを管理しました。それは醜い解決策だと思いますが、私にとってはうまくいきます。誰かがより良い解決策を持っている場合は、私に知らせてください。

これが私のものです: Windows は、これまでに接続された各共有の名前をレジストリの "hkcu:Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" に保存します。

Label が定義されている場合は、その名前が使用されます。したがって、各共有にラベルを付けるだけです。ただし、複数のネットワーク ドライブが接続されている場合は、すべてのネットワーク ドライブのすべてのラベルが変更されることに注意してください。

$regkeypart1 = "hkcu:Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\"
$regkeypart2 = "_LabelFromDesktopINI"
foreach( $currentItem in Get-ChildItem -Path $regkeypart1){
    set-itemproperty -Path $regkeycomplete -Name $regkeypart2 -Value "New Volume Display Label"
}

ラベルを削除したい場合は、レジストリ内のすべての共有の「_LabelFromDesktopINI」を削除するか空にしてください。

于 2014-08-11T07:56:36.523 に答える