የኮርፖሬሽን አጠቃቀም የቴክኖሎጂ አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም የኮርፖሬሽን አጠቃቀም , አንድ Python-powered mass reboot መሣሪያ, በ click-by-click ሞንቶኒያ ለማግኘት ጊዜ አይችልም የሚመሠረተ አስተዳዳዳሪዎች ለ. አንድ እውነተኛ Barberion እንደ, ይህ ፍጥነት, ኃይል, እና ከባድ ፍጥነት ጋር ማሽኖች ዝርዝርን ያካትታል. BarbaricBoot BarbaricBoot ምን ነው? አንድ የኮምፒውተር ስም ዝርዝር ያውቃል እና በእነርሱ ላይ ተለዋዋጭ reboots ያውቃል, እያንዳንዱ ጉድጓድ እና በጉድጓድ ላይ አግኝቷል. Perfect for Windows-centric environments (የኮምፒውተር አግኝቷል) የፕላስቲክ መሣሪያዎች (አንድ የፕላስቲክ መሣሪያዎች እና የፕላስቲክ መሣሪያዎች) የፕላስቲክ መሣሪያዎች (አንድ የፕላስቲክ መሣሪያዎች እና የፕላስቲክ መሣሪያዎች) የፕላስቲክ መሣሪያዎች (አንድ የፕላስቲክ መሣሪያዎች እና የፕላስቲክ መሣሪያዎች) እና የፕላስቲክ መሣሪያዎች (አንድ የፕላስቲክ መሣሪያዎች እና የፕላስቲክ መሣሪያዎች) ይጠቀማሉ. BarbaricBoot shutdown ለምን BarbaricBoot? ውጤታማነት: ሰዓታትではなく ደቂቃዎች ውስጥ ሰከንዶች መጀመር. ቀላልነት: አንድ ፋይል, አንድ ትዕዛዝ, ዝቅተኛ መጫን. እባክዎን ይጠቀማል: በይነገጽ እና በይነገጽ ላይ በይነገጽ እና በይነገጽ. “የእነርሱም አግኝቷል” – “እነርሱም አግኝቷል” – “እነርሱም አግኝቷል” – “እነርሱም አግኝቷል” – “እነርሱም አግኝቷል” እንዴት ይሰራል መውሰድ: በ pcs.log ውስጥ የእርስዎን ማሽን ስም (አንድ እያንዳንዱ መስመር ላይ) ያግኙ. መተግበሪያ: BarbaricBoot በ Python ውስጥ concurrent.futures ይጠቀማል እና በቀላሉ እስከ 20 ተለዋዋጭ reboots ይጀምራል. ግምገማዎች: የእርስዎን ትዕዛዞችን ለመቀነስ ማንኛውም ማሽኖች ዝርዝሮች ያገኛሉ-እርስዎ ስኬታማነት እና ስኬታማነት ትዕዛዞች ያገኛሉ. እንዴት መጫን እና BarbaricBoot መጠቀም መስፈርቶች Python 3.6 ወይም ከዚያ በላይ የ Windows አስተዳዳሪ ባህሪያት (የሽያጭ ማቀዝቀዣ ባህሪያት) አንድ pcs.log ፋይሎች የእርስዎን ትክክለኛ ማሽኖች ያካትታል (አንድ እያንዳንዱ መስመር ላይ) አግኙን **Save the Script \ Copy the complete code (provided below) to your admin machine. BarbaricBoot.py **Prepare Your Targets \ Create a plain text file called in the same directory as your script, listing each machine to be rebooted. pcs.log **Run BarbaricBoot \ Open a terminal and execute: “Python BarbericBoot.py“ ሙሉ ኮድ #Another /\_[]_/\ # fine |] _||_ [| # ___ \/ || \/ # /___\ || # (|0 0|) || # __/{\U/}\_ ___/vvv # / \ {~} / _|_P| # | /\ ~ /_/ [] # |_| (____) # \_]/______\ Barberion # _\_||_/_ Production # (_,_||_,_) # import concurrent.futures import subprocess import logging from threading import Lock # Set up logging for failed reboots logging.basicConfig(filename='failed_reboots.log', level=logging.INFO) # Lock for thread-safe printing and updating counters print_lock = Lock() def reboot_machine(machine_name, success_counter, failure_counter): try: subprocess.run(['shutdown', '/r', '/t', '0', '/m', f'\\\\{machine_name}', '/f'], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) with print_lock: success_counter[0] += 1 print(f"\rTotal successful reboots: {success_counter[0]}, Total failed reboots: {failure_counter[0]}", end='') except subprocess.CalledProcessError as e: with print_lock: failure_counter[0] += 1 print(f"\rTotal successful reboots: {success_counter[0]}, Total failed reboots: {failure_counter[0]}", end='') logging.error(f"Failed to reboot {machine_name}: {e}") def main(): with open('pcs.log') as file: machines = file.readlines() total_hosts = len(machines) print(f"Total hosts in file: {total_hosts}") # Shared counters for successful and failed reboots successful_reboots = [0] failed_reboots = [0] # Use ThreadPoolExecutor for parallel execution with concurrent.futures.ThreadPoolExecutor(max_workers=20) as executor: futures = [executor.submit(reboot_machine, machine.strip(), successful_reboots, failed_reboots) for machine in machines] # Wait for all tasks to complete, i suppose you can comment out for rapid fire. concurrent.futures.wait(futures) # Final print to ensure the last count is displayed correctly print(f"\nFinal count - Total successful reboots: {successful_reboots[0]}, Total failed reboots: {failed_reboots[0]}") if __name__ == "__main__": main() የቁማር Tips Parallelism ያካትታሉ ወይም ያካትታሉ: max_workers=20 ያካትታሉ ወይም ያካትታሉ, የእርስዎ የአካባቢው tolerance መሠረት. መግቢያ: ሁሉም የቅርብ ጊዜ ፍላጎቶች በ failed_reboots.log ላይ ይመዝገቡ. Rapid Fire Option: በ concurrent.futures.wait(futures) መስመር ላይ አስተያየት ያውቃሉ. መጨረሻው ጥያቄዎች BarbaricBoot ለወደፊቱ አይሆንም. እርስዎ ፈጣን ይጠቀማል, እርስዎ ፈጣን ይጠቀማል, የእርስዎን መለያዎች ደህንነት ይሰጣል, እና የእርስዎን መጨረሻ መለያዎች ሁልጊዜ ተስማሚ ይሆናል!