none
Подключить сетевой диск по имени пользователя RRS feed

  • Вопрос

  • Доброго времени суток уважаемые дамы и господа!!!

    Как на Posh"е подключить сетевой диск пользователю из AD,если данный пользователь входит в оприделённую группу(группы)?

    24 марта 2010 г. 8:20

Ответы

  • если правильно понял, то как то так:

    param ($username, $pass)
    write-host "username: " $username
    write-host "pass: " $pass

    (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $false, $username, $pass)


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    • Помечено в качестве ответа nibelung04 25 марта 2010 г. 8:19
    24 марта 2010 г. 9:30

  • (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $true, $username, $pass) 
    

    True  в конце означает, что  диск будет persistent. Вроде я так делал.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    • Помечено в качестве ответа nibelung04 25 марта 2010 г. 8:18
    25 марта 2010 г. 8:00

Все ответы

  • В принципе я набрасал что то вроде:

     

    $filter = "(&(objectcategory=user)(Name=$env:username))"
    $ds = New-object System.DirectoryServices.DirectorySearcher([ADSI]"",$filter)
    $user = ($ds.Findone()).properties.memberof

    foreach ($grouppath in $user)
    {
      $group = ([adsi]"LDAP://$($grouppath.tostring())").sAMAccountname
      switch ($group)
      {
        "group1" {net use S: \\server\share1 }
        "group2" {net use S: \\server\share2 }
        "group3" {net use S: \\server\share3 }
        "group4" {net use S: \\server\share4 }

      }
    }

    Но мне не хотелось бы использовать команду net use и хотелось бы передовать скрипту имя пользователя как параметр - а в этом я не особо то и силён.И попутно возникает вопрос: как сделать так,чтобы диск подключался persistent?

    24 марта 2010 г. 8:27
  • Можно вот так:

    (new-object -com WScript.Network).MapNetworkDrive("x:","\\server\share")

    Посмотрите , я писал в соседней теме .

    Что-то не пойму, куда вы хотите передавать имя пользователя.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    24 марта 2010 г. 8:43
  • Можно вот так:

    (new-object -com WScript.Network).MapNetworkDrive("x:","\\server\share")

    Посмотрите , я писал в соседней теме .

    Что-то не пойму, куда вы хотите передавать имя пользователя.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)

    Я читал Ваш пост и спасибо Вам за него.Имя пользователя я хочу передовать для подключения сетевого диска по имени пользователя и паролю.А запускать скрипт хотелось бы как .\script.ps1 UserName Password.Извините если я не достаточно ясно выразился,когда задавал вопрос
    24 марта 2010 г. 8:50
  • Хм, а пароль вы откуда брать будете ?

    Сделать запуск с передачей параметров проще простого

    script.ps1 -username Bakanov -pass qwerty
    или так
    script.ps1 Bakanov qwerty
    внутри:

    param ($username, $pass)
    write-host "username: " $username
    write-host "pass: " $pass

    ну и переменными уже можете действовать как хотите.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    • Предложено в качестве ответа Bakanov Denis 24 марта 2010 г. 14:45
    24 марта 2010 г. 8:59
  • Хм, а пароль вы откуда брать будете ?

    Сделать запуск с передачей параметров проще простого

    script.ps1 -username Bakanov -pass qwerty
    или так
    script.ps1 Bakanov qwerty
    внутри:

    param ($username, $pass)
    write-host "username: " $username
    write-host "pass: " $pass

    ну и переменными уже можете действовать как хотите.

     


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)

    Это я знаю.А как теперь передать эти параметры в команду подключения диска?
    24 марта 2010 г. 9:06
  • если правильно понял, то как то так:

    param ($username, $pass)
    write-host "username: " $username
    write-host "pass: " $pass

    (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $false, $username, $pass)


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    • Помечено в качестве ответа nibelung04 25 марта 2010 г. 8:19
    24 марта 2010 г. 9:30
  • если правильно понял, то как то так:

    param ($username, $pass)
    write-host "username: " $username
    write-host "pass: " $pass

    (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $false, $username, $pass)


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)

    Если я правильно понял то я смогу запускать скрипт как \script.ps1 UserName Password?Если да то зачем тогда эта часть не пойму:

    write-host "username: " $username
    write-host "pass: " $pass


    24 марта 2010 г. 9:50
  • Поняли правильно.
    Просто так, что бы на вывести на экран, можете смело удалять.
    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    24 марта 2010 г. 9:51
  • Поняли правильно.
    Просто так, что бы на вывести на экран, можете смело удалять.
    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)

    Спасибо Вам большое!А как сделать подключаемый диск PERSISTENT???
    25 марта 2010 г. 6:05
  • Что вы имели в виду ?
    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    25 марта 2010 г. 7:01
  • Что вы имели в виду ?
    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    Иными словами чтобы он и после перезагрузки переподключался.Как в команде net use s: \\server\shara /persistent:yes
    25 марта 2010 г. 7:23

  • (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $true, $username, $pass) 
    

    True  в конце означает, что  диск будет persistent. Вроде я так делал.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)
    • Помечено в качестве ответа nibelung04 25 марта 2010 г. 8:18
    25 марта 2010 г. 8:00

  • (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $true, $username, $pass) 
    
    

    True  в конце означает, что  диск будет persistent. Вроде я так делал.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)

    Это то что нужно!Спасибо Вам!
    25 марта 2010 г. 8:18

  • (new-object -com WScript.Network).MapNetworkDrive("u:", "\\server\share", $true, $username, $pass) 
    
    

    True  в конце означает, что  диск будет persistent. Вроде я так делал.


    Если сообщение было информативным, отметьте его как правильный ответ. Сразу видно ответ на вопрос :-)

    Это то что нужно!Спасибо Вам!
    25 марта 2010 г. 8:18