none
VBSでユーザーへ割り当てているホームフォルダの一括変更 RRS feed

  • 質問

  • 現在、ファイルサーバの入れ替えを予定しています。

    ファイルサーバはIPアドレスやコンピュータ名などを新旧で別のものにする予定です。

    ※例)旧ファイルサーバ(コンピュータ名:Fileserver1)→新ファイルサーバ(コンピュータ名:Fileserver2)

    そこで問題なのが、ADで割り当てているホームフォルダの設定変更になります。

    現在はADで各ユーザーに対して、"||Fileserver1\users\'ユーザー名'"をIドライブへホームフォルダとして割り当てています。

    今後は"||Fileserver2\users\'ユーザー名'"をHドライブへホームフォルダとして割り当てたいと考えています。

    これをVBSで一括で変更するにはどうスクリプトを書けばいいでしょうか?

    ADの「ActiveDirectoryユーザーとコンピュータ」から一人ずつ手作業で変更するには大変ですので、スクリプトで処理したいと

    思っています。なぜVBSかというと、プログラミングの知識があまりなく、なんとかVBSなら少しかじったことがあるので

    VBSで実現できるのであれば、助かります。

    ADサーバは「WindowsServer2008R2」です。

    VBSだけでは難しいのであれば、ADに用意されているコマンドと組み合わせてでも結構です。

    出来れば、現在のホームフォルダ設定を取得し、そのパスを変更し設定し直すような形でお願いします。

    ADやVBSに詳しい方、ご教授願います。

    宜しくお願い致します。

    2014年1月26日 14:10

回答

  • チャブーンです。

    本来であればPowerShellの方がいいでしょうが、VBSがご要望ということであれば、したのページにサンプルがあるので、それを基にちょっと改変してみました。

    http://www.techtalkz.com/windows-server-2003/35286-script-change-home-folder-users.html

    strBeforeServer = "FileServer1"
    strAfterServer = "FileServer2"
    set objParent = GetObject("LDAP:// ou=OuName, dc=Example, dc=Com")
    objParent.Filter = Array("user")
    strDrive = "H:"
    for each objUser in objParent
    strHomeDir = objUser.HomeDirectory
    strHomeDir = Replace(strHomeDir,strBeforeServer,strAfterServer)
    objUser.HomeDirectory = strHomeDir
    objUser.homeDrive = strDrive
    objUser.SetInfo
    next

    残念ながら検証はしていません。ひとまず試験的な環境で試してみてください。


    2014年1月27日 2:57
    モデレータ

すべての返信

  • チャブーンです。

    本来であればPowerShellの方がいいでしょうが、VBSがご要望ということであれば、したのページにサンプルがあるので、それを基にちょっと改変してみました。

    http://www.techtalkz.com/windows-server-2003/35286-script-change-home-folder-users.html

    strBeforeServer = "FileServer1"
    strAfterServer = "FileServer2"
    set objParent = GetObject("LDAP:// ou=OuName, dc=Example, dc=Com")
    objParent.Filter = Array("user")
    strDrive = "H:"
    for each objUser in objParent
    strHomeDir = objUser.HomeDirectory
    strHomeDir = Replace(strHomeDir,strBeforeServer,strAfterServer)
    objUser.HomeDirectory = strHomeDir
    objUser.homeDrive = strDrive
    objUser.SetInfo
    next

    残念ながら検証はしていません。ひとまず試験的な環境で試してみてください。


    2014年1月27日 2:57
    モデレータ
  • チャブーンさん

    ご回答ありがとうございます。

    試験的に仮ADサーバを立てて、試してみます。

    ありがとうございました!

    2014年2月2日 13:58