পাওয়ারশেল: আমি কীভাবে পিডব্লিউডলাস্টসেটকে জিজ্ঞাসা করব এবং এর অর্থ কী?


17

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

এই মুহুর্তে, আমি যে AD অ্যাকাউন্টটি দেখছি সেখান থেকে pwdLastSet বৈশিষ্ট্যটি কীভাবে পড়তে হবে তা আমি ইতিমধ্যে আটকে রয়েছি। এমনকি এর মতো সাধারণ কিছু চালানো:

[adsi] "LDAP://cn=user1,ou=Staff,ou=User Accounts,dc=ramalamadingdong,dc=net" | Format-List *

pwdLastSet এর জন্য ফলাফলগুলি দেয় যা এরকম প্রদর্শিত হয়:

pwdLastSet            : {System.__ComObject}

আমার মনে হচ্ছে আমি এই ভুল উপায়ে চলেছি, সুতরাং pwdLastSet অ্যাট্রিবিউটটির আউটপুট (মানটি উইন্ডোজ ইপচের উপর ভিত্তি করে এবং খুব বেশি মানব পাঠযোগ্য নয়) ফর্ম্যাট করার সর্বোত্তম উপায় কী?

উত্তর:


13

আপনি কোনও স্ন্যাপ-ইন ছাড়াই এটি করতে পারেন। আমি এটি চেষ্টা করেছিলাম এবং এটি কাজ করেছে:

PS #> cher সন্ধানকারী = নতুন-অবজেক্ট ডিরেক্টরি সার্ভিসেস। ডিরেক্টরি ডিরেক্টরি
PS #> cher সন্ধানকারী.ফিল্টার = "(& (সংখ্যার নাম = ব্যবহারকারী 1))"
PS #> $ ফলাফল = $ সন্ধানকারী.ফিনডোন ()
PS #> [তারিখের সময়] :: থেকে ফাইলটাইম ($ ফলাফল.properties.pwdlastset [0])

বুধবার, 10 জুন, 2009 4:32:08 অপরাহ্ন

আমি একটি সিস্টেমও পাই
__ "

[সিস্টেম। আমি এটি কখনই খুঁজে পাইনি, তাই আমি উপরের উদাহরণটি ব্যবহার করে এগিয়ে চলেছি।

আপনি যদি AD (বা এক্সচেঞ্জ বা এসকিউএল সার্ভার) দিয়ে প্রচুর কাজ করে যাচ্ছেন তবে আপনি এটির জন্য স্ন্যাপিন পেতে এবং এটি ব্যবহার করতে চাইতে পারেন।


1
সিনট্যাক্স শেখার চেষ্টা করার জন্য আমি পাওয়ারশেলে বিভিন্ন সাধারণ কাজ করতে কিক করছিলাম। আমি হতাশাগ্রস্থ ছিলাম যে যেখানেই আমি উত্তরটি দেখেছি এটি একটি অ্যাড-ইন ব্যবহার করা হয়েছিল। ধন্যবাদ!
বব

19

উইন্ডোজ / / উইন্ডোজ সার্ভার ২০০৮ আর 2 এর সাথে আসা ইনবিল্ট এডি কমান্ডলেটগুলি এখন এটি কেবল যথেষ্ট করতে পারে। উইন্ডোজ 7 এ পাওয়ারশেল প্রম্পট থেকে:

Import-Module ActiveDirectory
Get-ADUser 'user1' -properties PasswordLastSet | Format-List

"পাসওয়ার্ডলাস্টসেট" অ্যাট্রিবিউট প্রকৃত "পিডব্লডলাস্টসেট" বৈশিষ্ট্যের অনুবাদিত সংস্করণ হিসাবে উপস্থিত বলে মনে হয়।


শুধু কৌতূহল মানে পাসওয়ার্ডলাস্টসেটের কোনও মূল্য অনুপস্থিত মানে ... এটি কি 100% এর অর্থ এই যে প্রথমদিকে পাসওয়ার্ড সেট হওয়ার পরে কোনও পরিবর্তন হয়নি?
মিখাইল

এটি পরীক্ষা করার জন্য আমার কাছে একটি বাক্স নেই, তবে আমি মনে করি এটি সম্ভবত আরও ভালভাবে কোনও পাসওয়ার্ড সেট করা হয়নি been
নিওবাইট

@ মিখাইল, পাসওয়ার্ডলাস্টসেটের কোনও মূল্যের বেশিরভাগ সময় অনুপস্থিতির অর্থ হ'ল আপনি একটি উন্নত প্রম্পটে কমান্ডটি চালাবেন না।
জেপি ব্লাঙ্ক

3

একটি সহজ উপায় আছে।

এডিএসআই অবজেক্টের কনভার্টলার্জইন্টিজোরটোইন্ট 64 নামে একটি পদ্ধতি রয়েছে। এটি ADSI অবজেক্টের একটি পদ্ধতি এবং সিস্টেম নয় Note লক্ষ্য করুন যে টাইমস্ট্যাম্পের অ্যাটটিবুটটির মূল্য জিজ্ঞাসা করে ফিরে আসা কম্বজেক্ট, সুতরাং r. user.pwdLastSet.value.ConversLargeIntegerToInt64 () কাজ করবে না। আপনি নিম্নলিখিত হিসাবে এটি প্রার্থনা করা প্রয়োজন:

$user.ConvertLargeIntegerToInt64($user.pwdLastSet.value)

এটি আপনাকে এলডিএপি টাইমস্ট্যাম্পটি দেবে, যা উপরের ব্র্যাচ দ্বারা বর্ণিত হিসাবে একটি পঠনযোগ্য তারিখে রূপান্তর করা দরকার। এটি ADSI সরবরাহকারী দ্বারা প্রদত্ত যে কোনও টাইমস্ট্যাম্প অ্যাট্রিবিউট মানটির জন্য কাজ করবে, এবং কনভার্টলার্জইন্টেজারটিওআইন্ট 64 পদ্ধতিটি (আমার বিশ্বাস) ডিরেক্টরি প্রবেশের প্রতিনিধিত্বকারী কোনও বস্তুর দ্বারা প্রকাশিত (আমার বিশ্বাস)।

এগুলি একসাথে রেখে, পাসওয়ার্ডটি শেষ সেট করার সময় আপনি কীভাবে তারিখটি পাবেন তা এখানে:

$user = [ADSI]'LDAP://cn=someusername,ou=someou,dc=somedomain,dc=com'
[datetime]::FromFileTime($user.ConvertLargeIntegerToInt64($user.pwdLastSet.value))

3

এডি কম্পিউটারগুলি প্রদর্শন করার জন্য এখানে একটি সহজ উপায়:

Get-ADComputer -Filter *  -Properties name,LastLogonDate,PasswordLastSet,modified,modifyTimeStamp |
  FT Name,DNSHostName,LastLogonDate,PasswordLastSet,modified,modifyTimeStamp | 
    Out-File Computers.csv

1

ইনস্টল করুন: http://www.quest.com/powershell/activeroles-server.aspx

ওপেন পাওয়ারশেল

নিম্নলিখিত আদেশগুলি চালান:

অ্যাড-পিএসএসএনপিন কোয়েস্ট.অ্যাক্টিভারলস.এডম্যানেজমেন্ট

Get-QADUser | ফুট প্রদর্শনের নাম, পাসওয়ার্ডলাস্টসেট

প্রথম কমান্ডটি সবেমাত্র আপনার ডাউনলোড করা সন্ধানের স্ন্যাপিন লোড করে। আপনি যদি আপনার স্টার্টমেনুতে অনুসন্ধান করতে শর্টকাটটি ব্যবহার করেন তবে আপনাকে এটি করার দরকার নেই। দ্বিতীয় কমান্ডটি সমস্ত এবং ব্যবহারকারীদের একটি তালিকা পায় এবং শেষ সময় পাসওয়ার্ডটি পরিবর্তিত হয়েছিল।


1

আপনার স্ক্রিপ্টে রূপান্তরকারী এসএলાર્জইন্টিজার ফাংশন যুক্ত করুন, আপনি এটি এখানে পেতে পারেন:

পাওয়ারশেল: অ্যাক্টিভ ডিরেক্টরি IADSLargeInteger কে System.Int64 এ রূপান্তর করুন

আপনি এটি কীভাবে ব্যবহার করবেন তা এখানে:

$user = [adsi] "LDAP://cn=user1,ou=Staff,ou=User Accounts,dc=ramalamadingdong,dc=net"
[datetime]::FromFileTimeUtc((ConvertADSLargeInteger $user.pwdlastset.value))

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