ログオンスクリプトとして実行するGPOを使用してこのセットアップを行い、明らかにクライアントのドライブをマップします。
net use H: \\server1\share\$env:username
とてもシンプル。変数の代わりに特定のユーザー名を入力すると、機能します。また、このスクリプトをクライアントマシンで直接実行すると、機能します。
ログオンスクリプトとして実行するGPOを使用してこのセットアップを行い、明らかにクライアントのドライブをマップします。
net use H: \\server1\share\$env:username
とてもシンプル。変数の代わりに特定のユーザー名を入力すると、機能します。また、このスクリプトをクライアントマシンで直接実行すると、機能します。
これを .bat ファイルでログイン スクリプトとして実行します (サーバー名には FQDN を使用します)。
net use H: \\server.example.com\share\%USERNAME%
それでもうまくいかない場合は、GPO がまだ適用されていません。マシン上で実行することで強制できますgpupdate /force
。テストのために、GPO が「Authenticated Users」グループの正しい OU に適用されていることを確認します (コンピューターもグループ内にあります)。それが機能しない場合は、GPO を「強制」することもできます。gpupdate /force
GPO またはその設定を変更した後は忘れずに実行してください。
次のような .js ログオン スクリプトを試すこともできます。
var WSH = new ActiveXObject("WScript.Shell"); // 地図共有 WSH.Run("net use H: \\\\server.example.com\\share");
これは、引用符の有無にかかわらず機能するはずです。クライアントはすべて Windows 7 ですか? Powershell がネイティブ シェルではなくアドオンであるため、Powershell がインストールされていても、Powershell のログオン/起動スクリプトは以前のバージョンでは機能しないと思います。ダウンレベル クライアントを使用している場合は、cmd バッチ ファイルから powershell スクリプトを呼び出すことができます。ただし、それを行う場合は、Powershell をスキップnet use H:\\server1\share\%username%
して、バッチ ファイルから実行することもできます。
エラーが出ますか?パスを二重引用符で囲むと役に立ちますか?
"\\server1\share\$env:username"