web-dev-qa-db-ja.com

Windowsボックスでの認証を使用したネットワークロケーションへのショートカットの作成

この投稿は短い小説なので、我慢してください...

技術的には単なる一般的なショートカット(つまり* .lnkファイル)ではないネットワークの場所(例:\\server-name\folder)を指す一連のショートカットを管理する効果的な方法を見つけたいのですが、これにより資格情報が要求されます必要に応じて。私は実行可能な解決策を考え出しましたが、このコミュニティによって私のアイデア(および「解決策」)を実行して、より良い方法があるかどうかを確認したいと思いました。

したがって、最初に、ネットワークの場所への一般的なショートカット(* .lnkファイル)を作成するとうまくいきます。代替手段を探している唯一の理由は、StandaloneStacksアプリケーション(WindowsでOSXショートカットスタックをエミュレートする)で使用するためです。フォルダーショートカットを使用すると、フォルダー構造をドリルダウンしようとしますが、代わりにエクスプローラーでルートフォルダーを表示するだけです。

とにかく、いくつかの要件:私はドメインに参加することを許可されていません。必要に応じて各マシンに対して認証を行うことで、ネットワークを突っついています。さらに、ネットワークパスワードは毎月期限切れになるため、Windowsに資格情報を永続的に記憶させたくありません。そうしないと、ロックアウトされます(3回のストライキが発生します)。

私が最初に考えたのは、単にExplorer.exeを使用して、次のようにエクスプローラウィンドウでネットワークの場所を起動することでした。

Explorer.exe /e,/root,"\\server-name\folder"

これはかなりうまく機能しますが、サーバーに対してすでに認証されており、Windowsが資格情報を記憶している場合に限ります。まだ認証されていない場合は、そのコマンドを実行すると、ホームディレクトリ(例:C:\Users\Me\)に移動します。

ネットワークアカウントでこれをrunasでラップすることを考えました。

runas.exe /netonly /user:domain\user "Explorer.exe /separate,/e,/root,\\server-name\folder"

ショートカットを起動するたびにパスワードを入力する必要があるという事実を無視すると、Windowsが期待した方法で資格情報を渡さないことを除いて、これは私を近づけました。常に認証失敗メッセージ(「不明なユーザー名または不正なパスワード」)が表示されます。パスワードの有効期限が急速に切れているため、パスワードをパイプで送信したくありません。

さらに掘り下げた後、組み込みのstartコマンドを発見しました。以下をバッチファイルに入れるだけで、私が望むことを実行できます。

start /max "Folder Title" \\server-name\folder

これにより、最大化されたウィンドウでExplorerが起動し、フォルダーに移動して、Windowsセッション中に初めてログインする場合は資格情報を要求します。最も厄介な部分は、フォルダを起動する前にコマンドプロンプトが点滅することです。最小化して実行するようにコマンドウィンドウを設定しようとしましたが、資格情報のプロンプトも最小化されます。

これまでの私の解決策は、頻繁にアクセスするネットワーク上のすべての場所を指す開始コマンドを含む小さなバッチファイルでいっぱいのフォルダーを作成することです。次に、StandaloneStacksで使用するために、よりきれいなアイコンを使用してこれらのバッチファイルへのショートカットを作成しました。

それで、ネットワークの場所へのショートカットを起動するための独自の小さなユーティリティを作成する以外に、Windowsに機能し、私が決めたものよりも簡単な組み込みのものはありますか? 64ビットのWindows7を使用しています。

その他の注意事項:クライアントからクライアントへとジャンプするため、マシンを永続的に構成することはできません。これにより、必要なフォルダーへのネットワークロケーションの作成と、それらへのマジックショートカットの作成(GUIDを使用)が除外されます。また、Explorerのブックマークをこれらの場所に追加することも除外されます(スタック機能は素晴らしいので、Explorerを起動してショートカットを選択する必要はありませんが、それはそれほど悪い考えではありません)。

4
Cᴏʀʏ

したがって、次にできることは、以下のようなバッチファイルを実行することです。

@echo off
Net Use z: \\server\folder1 /user:jonsmith * /persistent:no
Net Use y: \\server\folder2 /persistent:no
Net Use x: \\server2\folder3 /user:jsmith * /persistent:no

これにより、最初に接続したときにパスワードが要求されます。複数のユーザー名で同じサーバーに接続することはできないため、サーバーで最初に認証するとすぐに、すべてのドライブを切断するかログオフするまで、残りの接続にそのユーザー名とパスワードが使用されます。

1
Canadian Luke