ดาวน์โหลด

แตกไฟล์แล้วรัน หรือติดตั้ง

เวอร์ชัน 0.5.0 ไฟล์ที่บีบอัดไม่ต้องใช้ตัวติดตั้งและไม่เขียนอะไรลงรีจิสทรี และการดูข้อมูลไม่ต้องใช้สิทธิ์ผู้ดูแลระบบ ตัวติดตั้งที่ลงลายเซ็นจะติดตั้งทั้งสองโปรแกรมให้ทั้งเครื่องแทน ฟรีและโอเพนซอร์สภายใต้ GPL-3.0

มีอะไรอยู่ในรีลีส

ไฟล์คืออะไร
BetterWindowsServices-win-x64.zipหน้าต่าง: BetterWindowsServices.exe ไฟล์ปฏิบัติการแบบครบในตัวหนึ่งไฟล์ที่มีรันไทม์ .NET ของตัวเองอยู่ข้างใน
bws-cli-win-x64.zipบรรทัดคำสั่ง: bws.exe ไฟล์ปฏิบัติการแบบครบในตัวหนึ่งไฟล์ สำหรับสคริปต์ งานตามกำหนดเวลา และ CI
BetterWindowsServices-win-x64.msiตัวติดตั้ง: ทั้งสองโปรแกรมใน Program Files สำหรับทุกบัญชีในเครื่อง หน้าต่างอยู่ในเมนูเริ่ม และ bws อยู่ใน PATH ของเครื่อง

เลือกหนึ่งหรือทั้งสองอย่างก็ได้ ทั้งสองเป็นไคลเอนต์ของเอนจินเดียวกันและไม่ต้องพึ่งอีกตัว บนเซิร์ฟเวอร์ บรรทัดคำสั่งเป็นตัวที่เล็กกว่าและทำได้ทุกอย่างที่หน้าต่างทำ

ตัวติดตั้งมีเนื้อหาเท่ากับที่ไฟล์บีบอัดสองไฟล์มีทุกประการ ติดตั้งแบบเงียบด้วย msiexec /i BetterWindowsServices-win-x64.msi /qn เวอร์ชันใหม่ติดตั้งทับเวอร์ชันเก่าได้ และมันไม่ปิดอะไรที่กำลังทำงานอยู่ ดังนั้นให้ปิดหน้าต่างและ bws ที่กำลังรันอยู่ก่อนอัปเกรด เพราะสำเนาที่ค้างไว้อาจหยุดพร้อมข้อผิดพลาด การถอนการติดตั้งจาก Settings, Apps จะลบโปรแกรม รายการในเมนูเริ่ม และรายการ PATH และไม่แตะไฟล์ของคุณเอง

ไฟล์ปฏิบัติการมีลายเซ็น Authenticode ดังนั้น Windows จะแสดงชื่อผู้เผยแพร่ แทนที่จะเตือนว่าเป็นผู้เผยแพร่ที่ไม่รู้จัก

ข้อกำหนด

  • Windows 10 เวอร์ชัน 1809 ขึ้นไป หรือ Windows Server 2019 ขึ้นไป 64 บิตเท่านั้น กระบวนการ 32 บิตอ่านพาธและคีย์รีจิสทรีที่ถูกเปลี่ยนเส้นทาง ซึ่งจะให้คำตอบผิดโดยไม่มีเสียงเตือน
  • ไม่ต้องติดตั้ง .NET ไฟล์ปฏิบัติการทั้งสองมีรันไทม์ .NET ของตัวเอง
  • ต้องใช้สิทธิ์ผู้ดูแลระบบเพื่อเปลี่ยนแปลงอะไรก็ตาม การอ่าน ค้นหา สแนปช็อต และ diff ทำงานได้โดยไม่ต้องมี แต่จะเห็นรายการน้อยลง และเครื่องมือจะบอกไว้ที่ด้านบนแทนที่จะแสร้งว่ารายชื่อคือทั้งเครื่อง

หน้าต่างเก็บไฟล์ของตัวเองไว้ไฟล์เดียว คือเลย์เอาต์ที่คุณทิ้งรายชื่อไว้ ใต้ %APPDATA%\BetterWindowsServices สแนปช็อตไปอยู่ที่ที่คุณบอก bws snapshot create ให้วาง และไปอยู่ในไดเรกทอรีปัจจุบันเมื่อคุณไม่ได้บอก

โปรแกรมใช้ภาษาอังกฤษ หน้าต่างอ่านไฟล์ภาษา languages\gui.<code>.json ที่วางไว้ข้างๆ และเลือกตามภาษาของ Windows โดยไม่มีสวิตช์ การแปลจึงเป็นการมีส่วนร่วมที่เพิ่มได้โดยไม่ต้องสร้างใหม่ CONTRIBUTING.md บอกวิธี

แอนตี้ไวรัสและ EDR

เครื่องมือนี้ทำสิ่งที่ผู้ดูแลระบบทำกับบริการ และส่วนหนึ่งคือสิ่งที่ซอฟต์แวร์ความปลอดภัยเฝ้าดู

มันหยุดและเริ่มบริการ จบกระบวนการที่อยู่เบื้องหลังบริการได้ และอ่าน security descriptor กับสิทธิพิเศษที่ต้องใช้ของทุกบริการ EDR ที่แจ้งเตือนกระบวนการที่จบ svchost.exe กำลังทำหน้าที่ของมัน และการบังคับหยุดที่นี่อาจดูเหมือนกันทุกประการ

สิ่งที่มันไม่ทำ เพื่อให้คุณตรวจสอบคำกล่าวนี้ได้: มันไม่ฉีดอะไรเข้ากระบวนการใดๆ ไม่แพ็กหรือทำให้โค้ดอ่านยาก ไม่ติดตั้งบริการหรือไดรเวอร์ ไม่ทิ้งอะไรไว้ทำงานอยู่ และไม่เปิดการเชื่อมต่อเครือข่าย มันเป็นโอเพนซอร์สภายใต้ GPL-3.0 และคุณสร้างไฟล์ปฏิบัติการทั้งสองเองได้

ถ้านโยบายของคุณต้องการข้อยกเว้น ให้ยกเว้นไฟล์ปฏิบัติการสองไฟล์นี้ตามไฟล์แทนที่จะยกเว้นทั้งโฟลเดอร์ สิ่งเดียวที่ควรดูแลด้วยความระมัดระวังเท่ากับตัวเครื่องมือเองคือไฟล์สแนปช็อต: มันอธิบายทั้งเครื่อง

สร้างจากซอร์ส

.NET 10 SDK บน Windows

git clone https://github.com/donislawdev/BetterWindowsServices
cd BetterWindowsServices
dotnet build BetterWindowsServices.slnx -c Release
dotnet test BetterWindowsServices.slnx -c Release

บางการทดสอบอ่าน service control manager จริงของเครื่องที่รันอยู่ และเปรียบเทียบสิ่งที่เครื่องมือนี้บอกกับสิ่งที่ sc.exe บอก การทดสอบเหล่านั้นอ่านอย่างเดียว ไฟล์ปฏิบัติการไฟล์เดียวที่รีลีสบรรจุมาจากการ publish สองครั้งนี้ ครั้งละหนึ่งไฟล์ที่มีรันไทม์อยู่ข้างใน:

dotnet publish src/Bws.Cli/Bws.Cli.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
dotnet publish src/Bws.Gui/Bws.Gui.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

ไฟล์เหล่านี้อยู่ที่ bws.exe และ BetterWindowsServices.exe ใต้ bin/Release/.../win-x64/publish/ ของแต่ละโปรเจกต์ ไฟล์ .pdb ข้างๆ คือสัญลักษณ์สำหรับดีบัก และไม่มีอะไรต้องใช้มันเพื่อรัน

ต้องใช้ทรัพยากรเท่าไร

วัดบนเครื่องเดียวที่มี 804 บริการ ตัวเลขของคุณจะต่างออกไป จำนวนบริการ ดิสก์ และโปรเซสเซอร์ล้วนทำให้ตัวเลขเปลี่ยน

ประมาณหนึ่งในห้าวินาที

สำหรับ bws list ที่จะอ่านทั้งเครื่อง

ประมาณ 19 MB

สำหรับบรรทัดคำสั่งบนเครื่องเดียวกัน