কমান্ড লাইনের মাধ্যমে উইন্ডোজ সিস্টেমে সমস্ত ব্যবহারকারীর অ্যাকাউন্টের তালিকা করুন


6

আমি একটি কমান্ড চাইব যে একটি উইন্ডোজ (ভিস্তা,,, ইত্যাদি) সিস্টেমে সমস্ত ব্যবহারকারীর অ্যাকাউন্টগুলির একটি তালিকা যাতে আমি পরবর্তী কমান্ড দিয়ে তাদের মাধ্যমে পুনরাবৃত্তি করতে পারি list

net user আমি সেই ডেটা দেয় যার জন্য আমি অনুসন্ধান করছি, তবে এটি অন্যান্য জাঙ্কের একগুচ্ছ যোগ করে যা ব্যবহারকারীদের বিশ্লেষণে অসুবিধা হতে পারে।

আদর্শভাবে, আমি যেমন আউটপুট পাবেন:

> usercommand
user1
user2
user3

উত্তর:


7

আপনি যদি উইন্ডোজ কমান্ড লাইনে কঠোরভাবে ব্যবহারকারীদের মাধ্যমে পুনরাবৃত্তি করতে চান তবে সবচেয়ে সহজ উপায় হ'ল wmicএকটি forলুপের সংমিশ্রণ ।

for /f "tokens=* skip=1" %%a in ('wmic UserAccount get Name') do (
    if not "%%a"=="" (
        :: %%a is a variable containing an account name
    )
)

কমান্ডের হৃদয় হল wmic UserAccount get Nameযা অ্যাকাউন্টগুলির একটি তালিকা মুদ্রণ করে। আপনি কিছু ফিল্টারিং করতে ইচ্ছুক হতে পারেন, যেমন করণ তার ভিবিএস স্ক্রিপ্ট উত্তরে যেমন করেছিলেন, তেমন কিছু দিয়েছিলেন wmic UserAccount where "LocalAccount=True" get Name। যে কোনও ক্ষেত্র ফিল্টারযোগ্য; তাদের সমস্ত দেখতে, ব্যবহার wmic UserAccount get(বাদ দেওয়া Name) ব্যবহার করুন ।

forলুপ কেবল কমান্ড আউটপুট পার্স করতে ব্যবহার করা হয়। এটি প্রথম লাইনটি এড়িয়ে যায় (যা কলামের শিরোনামটি প্রিন্ট করে), এবং শেষ লাইনটি ifকমান্ড দিয়ে এড়িয়ে যায় , কারণ এটি খালি রয়েছে। দেখুন for /?আরও তথ্যের জন্য।


2
আপনি যদি কোনও ডোমেইনে থাকেন (কমপক্ষে সাম্বা ডোমেনে, উইন্ডোজ এডি সম্পর্কে জানেন না), wmicএমন সমস্ত ডোমেন অ্যাকাউন্টের তালিকাও দেবে যা আপনার পছন্দমতো নাও হতে পারে এবং বেশ কিছুটা সময়ও নেয়। wmic useraccount where "localaccount=true" get nameএটি প্রতিরোধ করে
মার্টিন ভন উইট্টিচ

10

যে কেউ এখানে আছেন কেবলমাত্র আপনার মেশিনে সমস্ত ব্যবহারকারীকে কমান্ড লাইনে তালিকাভুক্ত করার জন্য একটি উপায় অনুসন্ধান করছেন এবং লুপের প্রয়োজন নেই don't কেবল এই আদেশটি চালান:

net user

এবং এটি এই ফর্ম্যাটে আপনার যা প্রয়োজন তা আউটপুট করবে

-------------------------------------
User1    User2    User3    User4
The command completed successfully.

1
এই তথ্যটি ইতিমধ্যে প্রশ্নে রয়েছে।
ক্রিশ্চফাটি

এটি সত্য, তবে আমি সরাসরি এটির উত্তরগুলিতে স্ক্রোল করা সমস্ত লোকের জন্য এখানে রেখেছি। এটি একটি সাধারণ প্রশ্ন, এবং আমি লিখার সময় কমান্ড লাইনে কোনও মেশিনে সমস্ত ব্যবহারকারীকে কীভাবে তালিকাভুক্ত করা যায় তার জন্য এটি প্রথম নম্বর অনুসন্ধান ফলাফল। প্রশ্ন পড়া যদিও গুরুত্বপূর্ণ।
ট্রু ক্যামেলটাইপ

0

এই উইন্ডোজ পাওয়ারশেল স্ক্রিপ্টটি একটি সারণী বিন্যাসে ব্যবহারকারীদের একটি তালিকা সরবরাহ করবে, আপনি যা খুঁজছেন ঠিক তা নয় তবে অন্য কোনও কমান্ডে ফিড করতে আপনি যে ফর্ম্যাটটি ব্যবহার করতে পারেন তাতে আউটপুটটিকে পুনরায় ফর্ম্যাট করা খুব কঠিন হওয়া উচিত নয়।

$computerName = "$env:computername"
$computer = [ADSI]"WinNT://$computerName,computer" 
$computer.psbase.Children | Where-Object { $_.psbase.schemaclassname -eq 'user' } | Format-Table Name, Description -autoSize 

এই স্ক্রিপ্ট দ্বারা অনুপ্রাণিত: পাওয়ারশেল.com
রিচার্ড লুকাস

0
  1. GetLocalUser.vbs এর মতো নামের সাথে নিম্নলিখিতটি সংরক্ষণ করুন :

    Set colItems = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("Select * from Win32_UserAccount Where LocalAccount=True")
    For Each objItem in colItems
        Wscript.Echo objItem.Name
    Next
    
  2. কমান্ড লাইন থেকে নিম্নলিখিত হিসাবে চালান:

    cscript //NoLogo GetLocalUsers.vbs
    

0

আপনি যা জিজ্ঞাসা করছেন এটি আক্ষরিক অর্পণ করবে:

dir / b C: \ ব্যবহারকারীরা


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