Saya menjalankan Windows 7 dan ketika saya mencoba menjalankan file batch, dikatakan, "Penerbit tidak dapat diverifikasi. Apakah Anda yakin ingin menjalankan perangkat lunak ini?"
Jadi ketika saya mencoba untuk menandatanganinya dengan sertifikat penandatanganan kode saya, dikatakan "Kesalahan SignTool: Format file ini tidak dapat ditandatangani karena tidak dikenali."
Jadi saya terjebak di antara batu dan tempat yang sulit. Apakah ada cara untuk menghilangkan pesan?
Jawaban:
Saya mendapatkan pesan serupa jika saya menjalankan file batch (atau file executable lainnya) dari lokasi jaringan. Jika ini masalahnya, Anda mungkin ingin mempertimbangkan untuk memindahkannya ke drive lokal. Alternatif lain adalah dengan menggunakan file batch terpisah di drive lokal untuk meluncurkan yang ada di jaringan. File batch peluncuran hanya perlu memiliki satu baris di dalamnya:
Windows tidak akan menolak pada file lokal, dan begitu file itu berjalan, ia dapat memanggil versi jaringan tanpa masalah.
sumber
E:
apakah drive yang dipetakan jaringan?Anda tidak menandatangani file batch. Kedengarannya seperti file batch Anda memanggil sesuatu yang lain yang harus ditandatangani.
Sunting: Sekarang Anda telah memposting file batch, kita dapat melihat bahwa itu karena lokasi jaringan. Atau, kadang-kadang itu akan terjadi jika Anda hanya menyalin file dari lokasi jaringan. Dalam kasus terakhir, itu karena Windows telah menandai file melalui Aliran Data Alternatif untuk berada di beberapa zona Internet lainnya. Anda dapat menyiasati ini dengan satu dari dua cara:
type thefile.bat > %temp%\newfile.bat & type %temp%\newfile.bat > thefile.bat
sumber
Apa yang Anda lihat adalah perintah umum yang disediakan oleh Windows setiap kali Anda mencoba membuka setiap saat file yang telah diunduh. Apa yang terjadi adalah ketika Anda mengunduh file, itu ditandai dengan bendera yang menunjukkan bahwa itu berasal dari Internet dan karenanya berpotensi berbahaya. Ketika Anda mencoba menjalankan file seperti itu, Windows memeriksa untuk melihat apakah itu memiliki tanda tangan yang valid untuk menentukan apakah itu dapat dipercaya.
Apa yang dapat Anda lakukan adalah menghapus flag dari file dengan menggunakan tombol Unblock di properti file, setelah itu, Windows akan meninggalkan Anda sendirian setiap kali Anda mencoba menjalankannya:
Masalahnya adalah bahwa file batch adalah file teks yang dapat dieksekusi. Meskipun dimungkinkan untuk menandatangani file teks, pada akhirnya akan menambahkan sekelompok data biner ke file yang untuk file batch buruk karena bersifat omong kosong dan akan menyebabkan masalah ketika penerjemah perintah mencoba untuk menjalankannya. Mengomentari tanda tangan tidak akan berhasil karena kemudian tanda tangan menjadi rusak.
Oleh karena itu, menandatangani file batch tidak akan berfungsi.
Yang perlu Anda lakukan adalah mencari tahu mengapa sistem meminta Anda ketika mencoba menjalankannya. Secara default, Windows tidak meminta sebelum menjalankan file batch, jadi Anda harus memiliki kebijakan khusus atau program keamanan yang memblokirnya. Periksa program keamanan Anda untuk melihat apakah ada pengaturan verifikasi yang dapat Anda nonaktifkan atau tambahkan pengecualiannya.
Juga periksa konten file batch untuk melihat apakah file tersebut menjalankan file yang dapat dieksekusi yang tidak ditandatangani (meskipun lagi, secara default, Windows tidak meminta file yang dapat dieksekusi kecuali jika file tersebut diunduh atau memerlukan hak yang lebih tinggi, jadi periksa pengaturan Anda).
sumber
goto :eof
sebelum tanda tangan, tetapi kemudian itu akan mengubah hash file dan membuat tanda tangan tidak valid dan dengan demikian file tersebut rusak / tidak aman. Saya kira Anda bisa memiliki garis di sana di akhir file sebelum menandatanganinya, dan itu akan berhasil. Percobaan yang menarik untuk dicoba ...Anda juga dapat mengonversi file .bat menjadi skrip PowerShell, signtool mendukung penandatanganan file-file ini.
sumber