Mapowanie dysków sieciowych skryptem

0

Cześć,
Piszę skrypt, który przy starcie zmapuje odpowiednie dyski sieciowe.
mam coś takiego:

@echo off
net use G: /delete
net use G: \\IP_servera\Data /user:nazwa_usera haslo

Jednak gdy uruchamiam skrypt to dostaje komunikat, ze moje hasło jest niepoprawne. Gdy usunę z skryptu hasło i wpisze go ręcznie to wszystko jest ok. Prośba o pomoc.

0

Masz jakąś spacej w haśle?

net use G: \\IP_servera\Data /user:nazwa_usera "haslo"
1

spacji nie mam, ale mam: dwukropek, ^, cudzysłów i ], resztę są zwykłe litery

Odpowiadaj w postach.

https://ss64.com/nt/syntax-esc.html

0
Panczo napisał(a):

spacji nie mam, ale mam: dwukropek, ^, cudzysłów i ], resztę są zwykłe litery

Odpowiadaj w postach.

https://ss64.com/nt/syntax-esc.html

Czegoś nie rozumiem. Bo mi nie działa nadal.

Zrobiłem tak:

: => :
; => ^;
^ => ^^
/ => ^/
" => ^"

0

Nie wiem co zrobiłeś bo nie wiem jaki ma być wynik.

Z drugiej strony jaki jest sens tak wymyślnego hasła, skoro zapisujesz go otwartym tekstem...

0
Panczo napisał(a):

Nie wiem co zrobiłeś bo nie wiem jaki ma być wynik.

Z drugiej strony jaki jest sens tak wymyślnego hasła, skoro zapisujesz go otwartym tekstem...

Też tak myślę, ale to nie to moje wymogi dotyczące hasła i sposobu mapowania..

Wynikiem ma być zmapowany dysk, do którego jest login i hasło.
Hasła nie mogę tutaj podać całego ale składa się z liter i tych znaków specjalnych co je wymieniłem wyżej. Wiadomo liter nie trzeba w żaden sposób escapowac, tylko te znaki specjalne.
Dwukropek nie jest znakiem specjalnym wiec też nie trzeba.
Średnik jest więc trzeba wpisać ^;
przy ^ => ^^
przy / => ^/ (tutaj mam wątpliwości czy to znak specjalny, ale jak potraktuję jak zwykły znak, to też nie działa)
" => ^"

No ale coś jest nie tak bo nie działa :(

0

Może użyj echo aby uzyskać hasło i zobacz gdzie masz blad

0
Panczo napisał(a):

Może użyj echo aby uzyskać hasło i zobacz gdzie masz blad

hmm jak wyświetlam przez echo to wygląda na to, że jedyny znak specjalny w moim haśle to ^. Ale escapowanie go nic nie daje (^^), nadal mam błędne hasło.
Jak escapowałem go w echo to wyświetliło się poprawne hasło.

0

@nobo: może jest podwójne escapowanie? Spróbuj zamienić ^ na ^^^^.

Możesz też spróbować użyć PowerShell'a

0

a zrób taki test:

cmdkey /delete:IP_servera

i wejdz na udział sieciowy, aby sprawdzić czy będziesz miał monit o hasło,jeśli tak to go nie wpisuj tylko anuluj

Póżniej:

cmdkey /add:IP_servera /user:nazwauzytkownika /pass:hasło

i wejdź na udział nie powinien pytać o hasło

0
Panczo napisał(a):

a zrób taki test:

cmdkey /delete:IP_servera

i wejdz na udział sieciowy, aby sprawdzić czy będziesz miał monit o hasło,jeśli tak to go nie wpisuj tylko anuluj

Póżniej:

cmdkey /add:IP_servera /user:nazwauzytkownika /pass:hasło

i wejdź na udział nie powinien pytać o hasło

Zrobiłem taki test i działa. Pojawia się monit o hasło.
Spróbowałem zrobić tym cmdkey ale nie wpisuje z automatu hasła. Tylko muszę go ręcznie wpisać - pojawia sie monit.

screenshot-20210820093719.png

0

a przekaż hasło tak:

/pass:"hasło"

jaeżeli masz " w haśle to zneutralizuj tak ""

0
Panczo napisał(a):

a przekaż hasło tak:

/pass:"hasło"

jaeżeli masz " w haśle to zneutralizuj tak ""

No to teraz pojawiło się Credental added succesfully ale zmapowany dysk nie pojawia sie w mój komputer

0

ale czy wejdziesz na udział bez podawania hasła?

0
Panczo napisał(a):

ale czy wejdziesz na udział bez hasła?

Nie, trzeba podać login i hasło

0

Jeżeli cmdkey /add:IP_servera /user:nazwauzytkownika /pass:hasło zwraca Credental added succesfully, a ty nie możesz wejść na udział bez hasła tzn. że to hasło się źle zapisało

0
Panczo napisał(a):

Jeżeli cmdkey /add:IP_servera /user:nazwauzytkownika /pass:hasło zwraca Credental added succesfully, a ty nie możesz wejść na udział bez hasła tzn. że to hasło się źle zapisało

czy przez cmdkey pojawi mi się podmapowany dysk w mój komputer? Czy wtedy to jakoś inaczej działa? Bo na tym mi zależy.

0

Nie cmdkey zapisuje poswiadczenia do danego serwera, wtedy mozna zmapować dyski bez podawania nazwy użytkownika i hasła.
Czyli tak:

net use G: /delete
cmdkey /delete:IP_servera
cmdkey /add:IP_servera /user:nazwauzytkownika /pass:hasło
net use G: \\IP_servera\Data 

Chodzi tylko o to, żeby poprawnie zapisać te poświadczenia

0
Panczo napisał(a):

Nie cmdkey zapisuje poswiadczenia do danego serwera, wtedy mozna zmapować dyski bez podawania nazwy użytkownika i hasła.

Czyli tak:

net use G: /delete
cmdkey /delete:IP_servera
cmdkey /add:IP_servera /user:nazwauzytkownika /pass:hasło
net use G: \\IP_servera\Data 

Chodzi tylko o to, żeby poprawnie zapisać te poświadczenia

Aa ok, ale i tak jak dam najpierw cmdkey a potem net use to musze wprowadzić haslo recznie :( Hasło na pewno podałem prawidłowe

0

Zawsze można spróbować zmapować przy pomocy autoita. To tylko jedna linijka. Jest kompilowalny do exe. Co prawda bardzo łatwo go zdekompilować, ale zawsze to coś. Sam z tego korzystałem zamiast bawić się w baty.

https://www.autoitscript.com/autoit3/docs/functions/DriveMapAdd.htm

0

Jeżeli echo z poprzednich testów zwracało Ci prawidłowe hasło to zrób tak:

echo hasło | NET USE G: \\IP_servera\Data  /user:"user" * 

1 użytkowników online, w tym zalogowanych: 0, gości: 1