Problem ze skryptem .bat - polskie znaki w nazwie grupy lokalnej

Witam,

 

W celu automatyzacji zadań chce utworzyć skrypt tworzący i dodający użytkowników do group. Gdy odpalam normalnie cmd wpisująć

 

NET LOCALGROUP Użytkownicy test /add

 

polecenie wykonuje się poprawnie. Jednak, gdy to samo wpisuję do skryptu .bat Windows wyrzuca błąd, że podana grupa nie istnieje ze względu na polskie znaki w nazwie grupy “Użytkownicy”.

Próbowalem zmian stron kodowych na 1250 i innych lecz to nie pomogło. Jest jakaś alternatywna nazwa dla grupy “Użytkownicy”?.

Jak się dobrze domyśliłeś, to kwestia kodowania. Spróbuj ten skrypt przepisać w innym edytorze, np. Notepad++ i ustaw na próbę (w edytorze, przed zapisaniem…) OEM 852

Na początku skryptu wpisz i przetestuj, które łapie Ci odpowiednie kodowanie (nie wiem, co masz ustawione, to jest właśnie koszmar spolszczania Windowsa):

@chcp 1250 lub @chcp 852

 

Gdy klikam prawym na pliku .bat Edytuj to domyślnie otwiera się windowsowy notatnik. Czy da się gdzies ustawić, żeby bat edytować przez inny program?

Próbowalem różnych stron kodowych, ale podgląd skryptu zamiast grupy Użytkownicy wyświetla U|ytkownicy :slight_smile: A czy można jakoś wydobyć SID grupy Użytkownicy i czy SID zawsze jest taki sam dla tej grupy czy jest generowanmy podczas instalacji systemu?

Zainstaluj notepad++

Co do SIDów, z tego, co pamiętam są takie same, możesz sprawdzić:

 

wbudowana\USERS S-1-5-32-545 (=0x221)

Niestety nie wykrywa po SID’ach. A czy w systemie jest możliwość znajdywania nazw SID’ów? Probowałem szukać w rejestrze nazw Group w kluczu GroupPolicy, alen ie ma tam nic ciekawego.

Za dużo kombinujesz, to problem kodowania. Co do samego pytania:

 

wmic useraccount get name,sid

Jak to Win7 to zamiast użytkownicy wpisz users powinno zadziałać.

2 posty zostały podzielonye na nowy temat: Problem ze skryptem .bat - polskie znaki w nazwie grupy lokalnej