C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.41185 の関連記事表示

<< 0 >>
■41185  ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ hs -(2009/09/14(Mon) 20:21:34)

    分類:[VB.NET/VB2005 以降] 

    いつもお世話になっております。
    以前「ネットワーク上の全PC名を取得するのは?」というタイトルで質問させていただきました。

    内容は、http://bbs.wankuma.com/index.cgi?mode=al2&namber=38952&KLOG=67 です。

    その時、若干話がそれてしまい結局ネットワーク上の全PC名を取得する方法がわからないまま終わらせいてしまいました。
    それで先日、NASを導入したのですが、現在ネットワークに配置したNASを自動で空いているドライブに割り当てる機能を作りたいのですが、やはり
    > 検索した結果 http://www.kit.co.jp/vbit/QAndA08.htm が一番有力だと思うのですが、
    > 公開されているソースの使い方がわかりません。
    このAPIはVisual Basic6.0(SP3) が対象という事で、VB2008にコピペしましたが、文法が違い検証するに出来ない状態です。

    ただ今回は、全コンピューター名の列挙ではなく、NASの名前を検索・空いているドライブに割り当てるという事を実現したいです。

    2008では、どのように記述すればよいのでしょうか?
    APIというものを利用したことがなく、出来ればサンプルコードで理解していきたいのですが、よろしくお願いします。




親記事 /過去ログ71より / 関連記事表示
削除チェック/

■41201  Re[1]: ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ オショウ -(2009/09/15(Tue) 11:32:01)
    No41185 (hs さん) に返信
    > ただ今回は、全コンピューター名の列挙ではなく、NASの名前を検索・空いているドライブに割り当てるという事を実現したいです。

      ネットワーク上のリソースを検索してNASだけ・・・
      と言うことは、何等かの命名規約が無いとできないと思います。

      要は、PCなのかNASなのか判断できない・・・と言うことです。
      リソース名称に何等かの文字列が含まれていたらNASだと判断する。
      と言うことになろうかと。

      それより指定された共有リソースを自PCの指定されたドライブに
      マウント・アンマウントする。と言う仕様の方が現実的ですが・・・

      因みに、http://bbs.wankuma.com/index.cgi?mode=al2&namber=38952&KLOG=67
      の際のAPIは試されたのでしょうか?

      NASが入手できたのであれば、共有ドライブの接続・切断の機能を
      動作確認するのが先決かと・・・

    以上。
記事No.41185 のレス /過去ログ71より / 関連記事表示
削除チェック/

■41205  Re[2]: ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ 魔界の仮面弁士 -(2009/09/15(Tue) 11:55:20)
記事No.41185 のレス /過去ログ71より / 関連記事表示
削除チェック/

■41206  Re[3]: ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ hs -(2009/09/15(Tue) 12:18:13)
    みなさんありがとうございます。

    No41205 (オショウ さん) に返信
    > NASが入手できたのであれば、共有ドライブの接続・切断の機能を
    > 動作確認するのが先決かと・・・

    NASは、I-O DATA社のLANDISKというものです。
    で、接続・切断の動作確認は取れております。

    No41205 (魔界の仮面弁士 さん) に返信
    > こういうときは、API 名でコード検索してみると良いかと思います。

    さっそく調べてみます。
記事No.41185 のレス /過去ログ71より / 関連記事表示
削除チェック/

■41208  Re[1]: ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ 魔界の仮面弁士 -(2009/09/15(Tue) 13:25:11)
    2009/09/15(Tue) 13:42:30 編集(投稿者)

    No41185 (hs さん) に返信
    > 結局ネットワーク上の全PC名を取得する方法がわからないまま終わらせいてしまいました。

    API を使わない列挙方法を示しておきます。

    'Imports System.DirectoryServices

    Dim computers() As String

    Dim domain As String = ワークグループまたはドメイン名
    Using d As New DirectoryEntry("WinNT://" & domain)
    computers = (From c As DirectoryEntry In d.Children _
    Where c.SchemaClassName = "Computer" _
    Select c.Name).ToArray()
    End Using


    > Visual Basic6.0(SP3) が対象という事で、VB2008にコピペしましたが、文法が違い
    そのままコピペするのではなく、[ツール]メニューの
    [Visual Basic 6 コードのアップグレード]を使ってみてください。

    # もっとも、これでアップグレードしたとしても、As Any 構文が原因で変換しきれないため
    # VB6 の知識か API 自体への造詣が無いと、移植作業に若干苦労するかも知れませんが…。
記事No.41185 のレス /過去ログ71より / 関連記事表示
削除チェック/

■41209  Re[1]: ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ 魔界の仮面弁士 -(2009/09/15(Tue) 14:00:10)
    No41185 (hs さん) に返信
    > NASの名前を検索・空いているドライブに割り当てるという事を実現したいです。
    
    空いているドライブは、My.Computer.FileSystem.Drives または System.IO.DriveInfo.GetDrives() を
    列挙すれば調べられるかと思います。WMI の Win32_LogicalDisk クラスという手もあるかな。
    
    
    一方、ドライブの割り当てについては、先に挙がっている API を使う方法のほか、
    WshNetwork オブジェクトを用いる方法などもあります。
    
    
    'Imports System.Runtime.InteropServices
    
    Dim wshNetwork As Object = CreateObject("WScript.Network")
    
    ' http://msdn.microsoft.com/ja-jp/library/cc364409.aspx          
    CallByName(wshNetwork, "MapNetworkDrive", CallType.Method, _
            "Z:", "\\servername\folderName", True, "userName", "password")
    
    MsgBox("Z:に割り当てました。")
    
    ' http://msdn.microsoft.com/ja-jp/library/cc364419.aspx
    CallByName(wshNetwork, "RemoveNetworkDrive", CallType.Method, _
            "Z:", True, True)
    
    MsgBox("Z:を切断しました。")
    
    Marshal.ReleaseComObject(wshNetwork)
    wshNetwork = Nothing
記事No.41185 のレス /過去ログ71より / 関連記事表示
削除チェック/

■41248  Re[2]: ネットワーク上のNASをドライブに割り当てるには?
□投稿者/ hs -(2009/09/16(Wed) 16:00:57)
    No41209 (魔界の仮面弁士 さん) に返信

    いつもありがとうございます。無事にできました。
    今後ともよろしくお願いします。
記事No.41185 のレス / END /過去ログ71より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -