আমি কীভাবে উইন্ডোজ মেশিন থেকে ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে লগ আউট করতে পারি?


9

আমি নিশ্চিত করতে চাই যে লোকেরা একবার, একটি নির্দিষ্ট মাল্টি-ইউজার মেশিনে কাজ শেষ করে লগ আউট হয়ে গেছে। বর্তমানে, পরবর্তী ব্যবহারকারী কেবল "ব্যবহারকারীর স্যুইচ" করবেন এবং কাজ চালিয়ে যাবেন, তবে প্রোগ্রামগুলি খোলা থাকার সাথে অনেক ব্যবহারকারী একই সাথে লগইন করেছেন বলে মনে হয় এটি সংস্থান ব্যবহার করে।

ব্যবহারকারীরা যদি 24 ঘন্টা সক্রিয় না থাকে তবে কী কোনও মেশিন থেকে স্বয়ংক্রিয়ভাবে লগ আউট করা সম্ভব?


বিকল্পভাবে, মধ্যরাতে বর্তমান ব্যবহারকারী ছাড়া সবাইকে কি লগ আউট করা সম্ভব?

কম্পিউটারটি একটি উইন্ডোজ ডোমেন নেটওয়ার্কে রয়েছে - যদিও আমি কেবলমাত্র একক মেশিনের জন্য অটো-লগআউটটি কাজ করতে চাই (এবং আমি নেটওয়ার্ক প্রশাসক নই)


1
এটি কি উইন্ডোজ ডোমেন নেটওয়ার্ক?
মোয়াব

@ মোয়াব: কম্পিউটারটি একটি উইন্ডোজ ডোমেন নেটওয়ার্কে রয়েছে - যদিও আমি কেবলমাত্র একক মেশিনের জন্য অটো-লগআউটটি কাজ করতে চাই (এবং আমি নেটওয়ার্ক প্রশাসক নই)।
জোনাস

@ জোনাস, আপনার শব্দগুলির পছন্দ এটি একাধিক পিসির মতো শোনাচ্ছে, আপনি এই নতুন তথ্য অন্তর্ভুক্ত করতে আপনার মূল পোস্টটি সম্পাদনা করতে পারেন।
মোয়াব

@ মোয়াব: আমি প্রশ্নটি পরিষ্কার করার চেষ্টা করেছি। এটা কি ভালো?
জোনাস

এটা এখন, একবার দেখুন।
মোয়াব

উত্তর:


6

বর্তমান ব্যবহারকারীকে সংযুক্ত রেখে যাওয়ার সময় সংযোগ বিচ্ছিন্ন ব্যবহারকারীদের লগ আউট করার জন্য, নীচের স্ক্রিপ্ট কোডটি একটি "সিএমডি ফাইল যেমন" লগঅফ ইউজারস.কম "তে অনুলিপি করুন এবং তারপরে মধ্যরাতে এটি পরিষেবা হিসাবে চালান:

@echo off
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b

স্ক্রিপ্টটি "ডিস্ক" বাক্যাংশটি অনুসন্ধান করে ততক্ষণে লগ আউট করে এমন ব্যবহারকারীদের সন্ধানের জন্য ক্যোয়ারী কমান্ডটি ব্যবহার করে কাজ করে ।

আপনি যদি স্ক্রিপ্টটির পরিবর্তে কোনও পরিষেবা হিসাবে অবিচ্ছিন্নভাবে চলতে চান, যখন ব্যবহারকারীরা নির্দিষ্ট সময়ের জন্য সংযোগ বিচ্ছিন্ন / নিষ্ক্রিয় হয়ে পড়েছিল তখন লগ আউট করে আপনি তার পরিবর্তে ব্যবহার করতে পারেন:

@echo off
:Top
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do if %%d GTR 32 (logoff %%b) else %%e GTR 32 (logoff %%b)
choice /T 120 /C 1 /D 1 /N
goto top

এই স্ক্রিপ্টটি একই ক্যোয়ারী কমান্ডটি ব্যবহার করে, তবে ফলাফলের "আইডিএল টাইম" অংশটি পরীক্ষা করে, নিষ্ক্রিয় সময় 32 ("জিটিআর 32") এর চেয়ে বেশি হলে ব্যবহারকারীকে লগ ইন করে। এই শব্দগুচ্ছটি দু'বার ঘটে কারণ "আইডল টাইম" টোকেন দুটি সামান্য ভিন্ন ভিন্ন অবস্থানে আসতে পারে। তারপরে "পছন্দ" দিয়ে শুরু করা লাইনটি শুরুতে লুপ করে আবার অপারেশন করার আগে 2 মিনিট অপেক্ষা করে। আপনি আপনার প্রয়োজন অনুসারে "32" মান বাড়াতে বা হ্রাস করতে পারেন।

এখানে পাওয়া গেছে


@ ই ম্যানসিপেটর: এটি কী করে তা বোঝাতে আপনার মনে হবে এবং আমি ২৪ ঘন্টা কোথায় সেট করতে পারি?
জোনাস

1
সেরা সমাধানটি দ্রুত ব্যবহারকারী স্যুইচিং অক্ষম করা, নতুন ব্যবহারকারী তাদের অ্যাকাউন্টে লগ ইন করার আগে এটি একটি লগ অফ করতে বাধ্য করে।
মোয়াব

1
@ মোয়াব দ্রুত ব্যবহারকারী স্যুইচিং অক্ষম করা মানে পূর্ববর্তী ব্যবহারকারী যদি স্ক্রীনটি লক করে রাখে তবে কোনও প্রশাসনিক অ-প্রশাসক লগ ইন করতে পারবেন না। @ জোনাস একটি বুদ্ধিমান প্রশ্ন - বন্ধনীর সামান্য বিটটি "ডিস্ক" শব্দটি অনুসন্ধান করে সংযোগ বিচ্ছিন্ন করা ব্যবহারকারীদের জন্য, তারপর লগ আউট করে ব্যবহারকারীদের সন্ধানের জন্য সাপোর্ট.মাইক্রোসফট / কেবি / 186592 থেকে কোয়েরি কমান্ডটি ব্যবহার করছে। পছন্দ কমান্ডটি প্রতি 2 মিনিটে কেবল অপারেশন করার জন্য অপেক্ষা করছে। 24 ঘন্টা বিকল্পের প্রয়োজন নেই কারণ এই স্ক্রিপ্টটি কেবল তখনই কোনও ব্যবহারকারীকে লগ আউট করে যদি অন্য কোনও ব্যবহারকারী ইতিমধ্যে লগ ইন করে থাকে
eMansipater

1
@ জোনাস একটি ব্যাচের ফাইল "%% এ" ব্যবহার করে তবে কমান্ড লাইনে একই জিনিসটি করতে আপনি তার পরিবর্তে "% a" টাইপ করেন - এটি ডিবাগ করতে সহায়তা করবে। স্ক্রিপ্টটি চেষ্টা করার জন্য আমার কাছে উইন্ডোজ মেশিন হ্যান্ডি নেই, সুতরাং এটিতে সূক্ষ্ম কিছু ভুল থাকতে পারে। আপনি "জিটিআর 32 (লগঅফ%% বি)" কমান্ডগুলি উদ্ধৃতি ব্যতীত "ইকো লগঅফ %% বি", অথবা "ইকো লগঅফ% বি" লিখতে চাইলে পরিবর্তনের চেষ্টা করতে পারেন। এইভাবে এটি প্রিন্ট করবে ব্যবহারকারীরা এটি লগ অফ করার চেষ্টা করছে। যদি এটি আবর্জনা মুদ্রণ করে বা কিছুই না এটি স্ক্রিপ্টটি বিকৃত দেখায়। আমি ভীত, আমি এটি পরীক্ষা করার জন্য হৃদয় দিয়ে "ক্যোয়ারী" আউটপুট ফর্ম্যাটটি জানি না।
ইমানসিপেটর

1
@ জোনাস আমার কাছে ক্যোয়ারী কমান্ডের আউটপুট ডাবল চেক করার সুযোগ হয়েছিল এবং স্ক্রিপ্টের সেই অংশগুলি যাতে লগআউটটি কেবল তখনই ঘটে যখন ব্যবহারকারীর একটি নির্দিষ্ট সময়ের জন্য নিষ্ক্রিয় থাকত। 'যদি %% d জিটিআর 32' এর অর্থ টোকেন %% d 32-র চেয়ে বেশি হয় লগঅফ কমান্ড চালানো হয় remote উভয় পরিস্থিতিতে পরীক্ষা করে দেখুন। আপনার পরিবর্তিত সংস্করণটি যে কোনও দীর্ঘ সময় বিবেচনা না করেই কোনও নিষ্ক্রিয় ব্যবহারকারীকে কেবল লগ আউট করে । আমি যদি উইন্ডোজ মেশিনে উঠতে পারি তবে আমি সিনট্যাক্স যাচাই করতে পারি।
ইমানসিপেটর

1
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do if %%d GTR 32 (logoff %%b) else (if %%e GTR 35 (logoff %%b))

নোট করুন যে উপরেরগুলি কেবল অলস মিনিটের জন্য কাজ করবে, আপনি যদি সংযোগ বিচ্ছিন্ন অধিবেশনটি লগ আউট করার আগে অলস সময়ের কয়েক ঘন্টা ব্যবহার করতে চান তবে আপনাকে এটিতে কিছুটা সংশোধন করতে হবে।

for /f "tokens=1-8 delims=,:/ " %%a in ('query user ^| find /i "disc"') do if %%d GTR 23 (if %%h GTR 2012 (logoff %%b))

ঘন্টা সামঞ্জস্য করতে 23 টি পরিবর্তন করুন, উপরের 24 ঘন্টা বা আরও অলস সময়ে কাজ করবে। %% এইচ 2012%% d মানটি এক মিনিটের মান নয় এক ঘন্টা মান নিশ্চিত করে।


0

আমি "স্যুইচ ব্যবহারকারী" বৈশিষ্ট্যটি অক্ষম করার কোনও উপায় অনুসন্ধান করব। এটি সাহায্য করতে পারে।


আমি আসলে "স্যুইচ ব্যবহারকারী" বৈশিষ্ট্যটি পছন্দ করি: এইভাবে, যে কেউ দীর্ঘ গণনা চালায় সে অন্য ব্যবহারকারীদেরও কম্পিউটারটি ব্যবহার করতে বাধা দেয় না।
জোনাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.