Korzystam z systemu Windows 7 i kiedy próbuję uruchomić plik wsadowy, pojawia się komunikat: „Wydawca nie mógł zostać zweryfikowany. Czy na pewno chcesz uruchomić to oprogramowanie?”
Kiedy więc próbuję podpisać go za pomocą certyfikatu do podpisywania kodu, pojawia się komunikat „Błąd SignTool: Nie można podpisać tego formatu pliku, ponieważ nie został rozpoznany”.
Więc utknąłem między kamieniem a trudnym miejscem. Czy istnieje sposób na wyeliminowanie któregoś z komunikatów?
Odpowiedzi:
Otrzymuję podobny komunikat, jeśli uruchamiam pliki wsadowe (lub inne pliki wykonywalne) z lokalizacji sieciowej. W takim przypadku możesz rozważyć przeniesienie go na dysk lokalny. Inną alternatywą jest użycie osobnego pliku wsadowego na dysku lokalnym, aby uruchomić plik w sieci. Uruchamiający plik wsadowy musi zawierać tylko jeden wiersz:
Windows nie będzie bał się na plik lokalny, a po uruchomieniu pliku może bez problemu wywołać wersję sieciową.
źródło
E:
czy dysk jest zmapowany w sieci?Nie podpisujesz plików wsadowych. Wygląda na to, że plik wsadowy wywołuje coś innego, co powinno zostać podpisane.
Edycja: po opublikowaniu pliku wsadowego widzimy, że jest to spowodowane lokalizacją sieci. Czasami może się tak zdarzyć, jeśli po prostu skopiujesz plik z lokalizacji sieciowej. W tym drugim przypadku dzieje się tak, ponieważ system Windows oznaczył plik za pomocą alternatywnego strumienia danych, aby znajdować się w innej strefie internetowej. Możesz obejść ten jeden z dwóch sposobów:
type thefile.bat > %temp%\newfile.bat & type %temp%\newfile.bat > thefile.bat
źródło
To, co widzisz, to ogólny monit wyświetlany przez system Windows przy każdej próbie otwarcia pobranego pliku. Kiedy pobierasz plik, jest on oznaczony flagą wskazującą, że pochodzi on z Internetu, a zatem jest potencjalnie niebezpieczny. Podczas próby uruchomienia takiego pliku system Windows sprawdza, czy ma prawidłowy podpis, aby ustalić, czy można mu zaufać.
Co możesz zrobić, to usunąć flagę z pliku za pomocą przycisku Odblokuj we właściwościach pliku, po czym Windows pozostawi cię w spokoju za każdym razem, gdy spróbujesz go uruchomić:
Problem polega na tym, że pliki wsadowe to pliki tekstowe, które można wykonać. Chociaż możliwe jest podpisanie pliku tekstowego, spowoduje to dodanie do pliku wiązki danych binarnych, co dla pliku wsadowego jest złe, ponieważ jest bełkotliwe i spowoduje problemy, gdy interpreter poleceń spróbuje go wykonać. Komentowanie podpisu również nie będzie działać, ponieważ wówczas podpis zostanie uszkodzony.
Dlatego podpisanie pliku wsadowego nie zadziała.
Musisz dowiedzieć się, dlaczego system wyświetla monit o uruchomienie. Domyślnie system Windows nie pyta przed uruchomieniem plików wsadowych, więc musisz mieć specjalną politykę lub program zabezpieczający, który ją blokuje. Sprawdź programy zabezpieczające, aby sprawdzić, czy istnieje ustawienie weryfikacji, dla którego możesz wyłączyć lub dodać wykluczenie.
Sprawdź także zawartość pliku wsadowego, aby zobaczyć, czy działa plik wykonywalny, który nie jest podpisany (choć ponownie domyślnie system Windows nie wyświetla plików wykonywalnych, chyba że został pobrany lub wymaga podwyższonych uprawnień, więc sprawdź ustawienia).
źródło
goto :eof
przed podpisem, ale wtedy zmieniłoby to skrót pliku i unieważniłoby podpis, a tym samym plik jako uszkodzony / niepewny. Przypuszczam, że możesz mieć linię na końcu pliku przed podpisaniem go, i powinna działać. Ciekawy eksperyment do wypróbowania…Możesz także przekonwertować plik .bat na skrypt PowerShell, signtool obsługuje podpisywanie tych plików.
źródło