問題タブ [unc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - パス文字列がローカル マシンかリモート マシンかを判断する方法
C# またはその他の .NET 言語を使用して、ファイル パス文字列がローカル マシン上にあるかリモート サーバー上にあるかを判断する最善の方法は何ですか?
以下を使用して、パス文字列が UNC であるかどうかを判断できます。
これは、C:\ またはその他のドライブ文字で始まるパスではうまく機能しますが、次のようなパスについてはどうでしょうか。
...どちらもローカル マシンを参照します。これらは UNC パスですが、ローカルのままです。
c# - マップされたドライブまたは共有フォルダーから.NETプログラムを実行する
あるマシンのリモートフォルダー(「ソース」フォルダーはマップされたドライブ-「Z:\ folder」)のファイルとフォルダーを別のマシンの別のリモートフォルダー(「宛先」)にマージするC#Windowsフォームアプリケーションを作成しました。 folderは、共有フォルダー( "\\ computername \ sharedfolder")へのUNCパスです。私は両方のフォルダに対する完全な権限を持っています。ローカルマシンでプログラムを実行すると正常に動作しますが、ソースフォルダー内からプログラムを実行しようとすると、セキュリティ例外が発生して失敗します。
宛先フォルダー(つまり、DirectoryInfo(@ "\\ computername \ sharedfolder")のDirectoryInfoコンストラクターを呼び出すと、失敗が発生します。問題は、マップされたドライブからプログラムを実行しているためだと思います。回避策はありますか?
具体的な例外は次のとおりです。タイプ'System.Security.Permissions.FileIOPermission、mscorlib、Version = 2.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'のアクセス許可の要求が失敗しました。
アップデート
さて、アプリケーションをVisual Studio 2008(以前は2005年にコーディングされていました)に取り込み、.NET 3.5フレームワークをターゲットにして、コンパイルして再試行しました。
まったく同じエラーが発生しました。
更新-解決策
.NET 3.5で試してみましたが、機能しませんでしたが、3.5SP1と言っていることに気づきました。サービスパックは間違いなく必要です。
問題が解決しました。ありがとうございました。
c# - .NET を使用して UNC パスからバイト配列に大きなファイルを読み取る IOException
次のコードを使用して、大きなファイル (280Mb) を UNC パスからバイト配列に読み取ろうとしています。
これは、次のエラーで爆発しています。
ローカル パスを使用してこれを実行すると、正常に動作します。私のテスト ケースでは、UNC パスは実際にはローカル ボックスを指しています。
ここで何が起こっているのですか?
.net - パスが UNC パスかローカル パスかを確認する正しい方法は何ですか?
パスが UNC パスであるかどうかを確認する最も簡単な方法は、もちろん、フル パスの最初の文字が文字またはバックスラッシュであるかどうかを確認することです。これは良い解決策ですか、それとも問題がある可能性がありますか?
私の特定の問題は、パスにドライブ文字がある場合に System.IO.DriveInfo オブジェクトを作成したいということです。
vbscript - リモートコンピューター上のOpenTextFile
このコードを使用してリモートテキストファイルを読み込もうとしています。
以下の私のdeffilePathは、次のような文字列に展開されます。
"\\10.211.19.207\c$\Program Files\Common Files\Symantec Shared\VirusDefs\definfo.dat"
ただし、「Microsoft VBScriptランタイムエラー:ファイル名または番号が正しくありません」というメッセージが表示されます。
何が問題なのですか?
.net - ドライブ文字を含むパスを UNC パスに変換する方法
ドライブ文字のようなパスを .NetW:\Path\Share
のような同等の unc パスに変換するにはどうすればよいですか?\\server\Share\File
コマンド プロンプトで実行するnet use
と、マッピングが一覧表示されます。.Net でその情報を取得するにはどうすればよいですか?
c# - 資格情報を使用して、信頼されていないリモートドメインから共有ファイル(UNC)にアクセスする
私たちは解決する必要のある興味深い状況に遭遇しました、そして私の検索は無に帰しました。したがって、私はSOコミュニティに助けを求めます。
問題はこれです:私たちのドメインになく、リモートファイル共有/UNCを介して信頼できる外部ドメイン内にない共有ファイルにプログラムでアクセスする必要があります。当然、リモートマシンに資格情報を提供する必要があります。
通常、この問題は次の2つの方法のいずれかで解決します。
- ファイル共有をドライブとしてマップし、その時点で資格情報を提供します。これは通常、
NET USE
を複製するコマンドまたはWin32関数を使用して実行されNET USE
ます。 - リモートコンピューターがドメイン上にあるかのようにUNCパスを使用してファイルにアクセスし、プログラムを実行するアカウントがローカルユーザーとしてリモートマシンに複製されていることを確認します(パスワードを含む)。基本的に、ユーザーが共有ファイルにアクセスしようとすると、Windowsが現在のユーザーの資格情報を自動的に提供するという事実を活用します。
- リモートファイル共有を使用しないでください。FTP(またはその他の手段)を使用してファイルを転送し、ローカルで作業してから、ファイルを転送し直します。
さまざまなさまざまな理由から、セキュリティ/ネットワークアーキテクトは最初の2つのアプローチを拒否しました。2番目のアプローチは明らかにセキュリティホールです。リモートコンピュータが危険にさらされた場合、ローカルコンピュータが危険にさらされます。最初のアプローチは、新しくマウントされたドライブが、プログラムによるファイルアクセス中にローカルコンピューター上の他のプログラムが利用できる共有リソースであるため、不十分です。これを一時的なものにすることはかなり可能ですが、それでも彼らの意見には穴があります。
これらは3番目のオプションを受け入れますが、リモートネットワーク管理者はFTPSではなくSFTPを要求し、FtpWebRequestはFTPSのみをサポートします。SFTPはファイアウォールに適したオプションであり、そのアプローチに使用できるライブラリがいくつかありますが、可能であれば依存関係を減らしたいと思います。
リモートファイル共有を使用するマネージドまたはwin32の手段をMSDNで検索しましたが、有用なものを思い付くことができませんでした。
そして私は尋ねます:別の方法はありますか?私が望むことを行う超秘密のwin32関数を見逃しましたか?または、オプション3のバリエーションを追求する必要がありますか?
.net - UNCパスを持つ.Net DriveInfo()?
おはようございます、
UNC パス (例: "\fors343a.ww123.somedomain.net\folder\1\") の DriveInfo インスタンスを取得する方法はありますか?
... 上記の UNC パスを使用すると、ArgumentException ("オブジェクトはルート ディレクトリ (\"C:\\") またはドライブ文字 (\"C\") である必要があります) がスローされます。
それに関する情報を取得するには、何を使用すればよいでしょうか。たとえば、特定のフォルダがローカル ドライブまたは UNC パスに存在するかどうかを確認するにはどうすればよいでしょうか。
.net - IIS 6 でのワイルドカード マッピングと UNC 仮想ディレクトリの問題
運用サーバー (IIS6 を使用する Windows 2003 と F5 BIGIP で負荷分散) では、IIS6 にワイルドカード マッピングを導入すると問題が発生します。.net Framework 3.5 SP1 を使用しています。
この問題は、サーバーが UNC パスを指す仮想ディレクトリに保存されているイメージを時々提供することによってのみ現れます。画像が表示される場合と表示されない場合があります。ワイルドカード マッピングを削除すると、この問題は解決しました。
将来の機能のためにサーバー上でワイルドカード マッピングが必要になるため、これが既知の問題である場合のヘルプ/ポインタは非常に役立ちます。
事前に、助けてくれてありがとう。
編集:失敗する例外は次のとおりです。
メッセージ: ネットワーク BIOS コマンドの制限に達したため、'\ourFileServer\folder1\thumbnails' への変更の監視を開始できませんでした。このエラーの詳細については、Microsoft ナレッジ ベースの記事 810886 を参照してください。UNC 共有でのホスティングは、Windows XP プラットフォームではサポートされていません。ソース: System.Web データ: System.Collections.ListDictionaryInternal TargetSizeVoid .ctor(System.Web.DirectoryMonitor, System.String, Boolean, UInt32) System.Web.DirMonCompletion..ctor の StackTrace(DirectoryMonitor dirMon, String dir, Boolean watchSubtree, UInt32 notifyFilter)
System.Web.DirectoryMonitor.StartMonitoring() で System.Web.DirectoryMonitor.StartMonitoringFile (文字列ファイル、FileChangeEventHandler コールバック、文字列エイリアス) で System.Web.FileChangesMonitor.StartMonitoringFile (文字列エイリアス、FileChangeEventHandler コールバック) で System.Web.Configuration で。 WebConfigurationHost.StartMonitoringStreamForChanges (文字列 streamName、StreamChangeCallback コールバック) で System.Configuration.BaseConfigurationRecord.MonitorStream (文字列 configKey、文字列 configSource、文字列 streamname) で System.Configuration.BaseConfigurationRecord.InitConfigFromFile()