2016-09-23 6 views
1

次のバッチスクリプトを使用して、Windows 7コンピュータにログインするすべてのドメインユーザーのネットワーク共有を自動的にマップします。マップネットワークドライブバッチスクリプトと非ドメインユーザーの問題

@echo off 
net use s: "\\domain.com\path\to\share" 

それはログオン時にすべてのユーザーに対して実行されますので、私はC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startupフォルダに配置しました。 より良い方法がある場合は、教えてください。

これはドメインユーザーにとっては問題ありませんが、ローカルユーザーはユーザー名とパスワードの入力を求められます。

私のスクリプトをもう少しエレガントにしたいと思います。ローカルユーザがログインした場合にスクリプトを終了/終了したいと思います。私はいくつかのチェックを行うコードを書く必要があります。私はちょうど方法を知らない。

(編集済み):残念ながら、レジストリの編集はIT部門によって無効になっています。また、アクティブディレクトリとグループポリシーシステムへのアクセス権も持っていません。

+1

ドメインユーザーのログインスクリプトは、ドメインコントローラのNETLOGON/LOGONSCRIPTSフォルダに存在する必要があります。 – Squashman

答えて

1

まず、はい、良い方法があります。 、現在のユーザーに対してのみ

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 

のレジストリエントリを作成します:すべてのユーザーのために、のレジストリエントリを作成するドメインを使用している場合は、また、Netlogon共有にスクリプトを置くことができ

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 

を。

%USERDNSDOMAIN%変数に自分のドメインが含まれているかどうかを確認できます。

https://github.com/deajan/windows_scripts/tree/master/bin/LogonAD

幸運: はここではして始めることができ、完全なグループのチェックログオンスクリプトです。

0

"username"プロンプト(存在しないユーザ名)にanwserを指定し、STDOUTとSTDERRの出力をNULにリダイレクトすることができます。ドメインメンバーの場合、この回答は無視されます(質問はないため)。

echo NoAccess|net use s: "\\domain.com\path\to\share" >nul 2>&1 
+0

実際のユーザー名とパスワードを使用するにはどうしたらいいですか? – user2427836

+0

'net use /?' - クリアテキストのパスワードを気にしない場合。 – Stephan

関連する問題