কোন প্রসঙ্গে এসসিসিএম পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্টগুলি চালু আছে?


11

AllSignedমৃত্যুদন্ডের নীতি সহ ক্লায়েন্টগুলিতে পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্টগুলি ব্যবহার করে অবশেষে আমি সাফল্য পেয়েছি । (ইঙ্গিত: এটি সর্বশেষতম পরিষেবা প্যাকটি ইনস্টল করার পরে এবং অ্যাডাম মেল্টজারের কাজটি শুরু করার পরে কাজ শুরু করে ))

অ্যাপ্লিকেশন শনাক্তকরণের জন্য পাওয়ারশেল স্ক্রিপ্টগুলি ব্যবহার করা এখন ব্যবহারিক, এটি আমাকে নিম্নলিখিত বিষয়গুলি অবাক করে তোলে:

  1. কোন প্রসঙ্গে এসসিসিএম ক্লায়েন্ট পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্টগুলি চালায়? পদ্ধতি? ব্যবহারকারী?
  2. আপনি কি ব্যবহারের ধরণে "ব্যবহারকারীর জন্য ইনস্টল করুন" বা "সিস্টেমের জন্য ইনস্টল" নির্বাচন করেন তা নির্ভর করে?

ডকুমেন্টেশন এই বিষয়টিতে বেশ বিরল। এসসিসিএম পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্টগুলির জন্য আমি যে সবচেয়ে ভাল সংস্থান খুঁজে পেয়েছি তা হ'ল এই ক্লাউড ব্লগ পোস্টটি তবে প্রসঙ্গে বিষয়টি নিরব করে।

উত্তর:


13

অভিজ্ঞতামূলক ফলাফল

আমি কিছু পাওয়ারশেল লিখেছিলাম যা যখন সনাক্তকরণ স্ক্রিপ্ট হিসাবে চালানো হয় তখন পরিবেশের ভেরিয়েবলগুলি ডাম্প করে যা সনাক্তকরণ স্ক্রিপ্টটি লগ ফাইলটিতে দেখায়। এই স্ক্রিপ্টটি এই উত্তরের শেষে রয়েছে।

আমি তখন এই স্ক্রিপ্টটি এসসিসিএম ক্লায়েন্ট দ্বারা বিভিন্ন "ইনস্টলেশন আচরণ" এবং "লগন প্রয়োজনীয়তা" পরামিতি সহ একটি ডিপ্লোয়মেন্ট টাইপ মোতায়েন করে চালিত করি। ফলাফলগুলি নীচে সারণিতে রয়েছে:

Test InstallationBehavior LogonRequirement                   DeployedTo LoggedOnUser ScriptRunAs
---- -------------------- ----------------                   ---------- ------------ -----------     
1.1a Install for user     Only when a user is logged on      un2        un2          un2        
1.1b Install for user     Only when a user is logged on      cn1        un2          un2        
1.1c Install for user     Only when a user is logged on      cn1        un1          un1        
1.2a Install for system   Only when a user is logged on      un2        un2          un2        
1.2b Install for system   Only when a user is logged on      cn1        un2          cn1        
1.2c Install for system   Only when a user is logged on      cn1        un1          cn1        
1.3a Install for system   Whether or not a user is logged on un2        un2          un2        
1.3b Install for system   Whether or not a user is logged on cn1        un2          cn1        
1.3c Install for system   Whether or not a user is logged on cn1        un1          cn1        
  • unX ব্যবহারকারীর নাম
  • cnX কম্পিউটার নাম

বিশ্লেষণ

উপরের ফলাফলগুলি অবাক করে দেয় কারণ একটি সনাক্তকরণ স্ক্রিপ্টটি যে প্রসঙ্গে চালিত হয়েছে তা অ্যাপ্লিকেশনটি কোনও ব্যবহারকারী বা সিস্টেমে স্থাপন করা হয়েছিল কিনা তার উপর নির্ভর করে। এটি একটি আশ্চর্যের যথেষ্ট ছিল যে আমি দ্বিতীয়বার পরীক্ষাগুলি চালিয়েছি। ফলাফল ধারাবাহিক ছিল।

আমরা উপরের সারণি থেকে অস্থায়ীভাবে নিম্নলিখিত অনুমানগুলি আঁকতে পারি:

  1. যখন কোনও অ্যাপ্লিকেশন কোনও ব্যবহারকারীর কাছে স্থাপন করা হয়, তখন সেই অ্যাপ্লিকেশনটির জন্য পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্টটি সেই ব্যবহারকারী হিসাবে চালিত হয়।
  2. যখন কোনও অ্যাপ্লিকেশন কোনও সিস্টেমে স্থাপন করা হয় এবং সিস্টেমের জন্য স্থাপনার ধরণ ইনস্টল করা হয়, তখন সেই অ্যাপ্লিকেশনটির জন্য একটি পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্ট সিস্টেম হিসাবে চালিত হয় is
  3. যখন কোনও অ্যাপ্লিকেশন কোনও সিস্টেমে স্থাপন করা হয় এবং ব্যবহারকারীর জন্য স্থাপনার ধরণ ইনস্টল করা থাকে, তখন সেই অ্যাপ্লিকেশনটির জন্য একটি পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্ট লগ-ইন করা ব্যবহারকারী হিসাবে চালিত হয় is

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

মেলানো প্রসঙ্গ (সাবধান!)

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

যখন কোনও অ্যাপ্লিকেশনটির ইনস্টলেশন আচরণটি "সিস্টেম হিসাবে ইনস্টল করুন" তে সেট করা থাকে তখন ইনস্টলারটি সিস্টেম হিসাবে চালিত হয় [ব্যবহারকারীকে নির্বিশেষে]

যখন কোনও অ্যাপ্লিকেশন কোনও ব্যবহারকারীর কাছে স্থাপন করা হয়, তখন সেই অ্যাপ্লিকেশনটির জন্য পাওয়ারশেল সনাক্তকরণ স্ক্রিপ্টটি সেই ব্যবহারকারী হিসাবে চালিত হয় [ইনস্টলেশন আচরণ "সিস্টেম হিসাবে ইনস্টল করুন" সেট করা নির্বিশেষে]।

এর অর্থ হ'ল এমন একটি অ্যাপ্লিকেশন যার ইনস্টলমেন্ট আচরণ রয়েছে "সিস্টেম হিসাবে ইনস্টল করুন" এবং ব্যবহারকারীর সংগ্রহে নিযুক্ত করা হয়েছে সেগুলি ইনস্টলেশনের জন্য সিস্টেমের প্রসঙ্গটি ব্যবহার করবে তবে সনাক্তকরণের জন্য ব্যবহারকারী প্রসঙ্গটি ব্যবহার করবে।

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

লিপি

function Write-EnvToLog
{
    $appName = 'script-detect-test'

    $logFolderPath = "c:\$appName-$([System.Environment]::UserName)"

    if ( -not (Test-Path $logFolderPath -PathType Container) )
    {
        New-Item -Path $logFolderPath -ItemType Directory | Out-Null
    }

    if ( -not (Test-Path $logFolderPath -PathType Container ) )
    {
        return
    }

    $logFileName = "$appName`__$((Get-Date).ToString("yyyy-MM-dd__HH-mm-ss")).txt"

    $fp = "$logFolderPath\$logFileName"

    Get-ChildItem Env: | Out-File $fp | Out-Null

    return $true
}

try
{
    if ( Write-EnvToLog ) { "Detected!" }
    [System.Environment]::Exit(0)
}
catch
{
    [System.Environment]::Exit(0)
}

একটি কঠিন এসসিসিএম প্রশ্নোত্তরের জন্য +1। আমি আশা করি এখানে এসসিসিএম সম্প্রদায়টি বৃদ্ধি পাবে কারণ এটিই কেবলমাত্র আমি নজর রাখছি (ট্যাগগুলির জন্য ইমেল সাবস্ক্রিপশন)) এখানে তাদের কমিন রাখার প্রেরণা হিসাবে কিছু অতিরিক্ত রেপ পেতে হবে।
MDMoore313

2
ধন্যবাদ @ বিগহমি। আমি এসসিসিএম-এর জন্যও ফিল্টার করছি ... তবে আমি একটি গুচ্ছ মিস করছি কারণ মোবাইলে ফিল্টার করা স্ট্রিম পাওয়ার কোনও ব্যবহারিক উপায় নেই ।
alx9r

2
দুর্দান্ত এসসিসিএমের প্রশ্ন! আসুন @ বিগহমি এবং আমি - [এসসিএমসি] ট্যাগের রক্ষক join আক্ষরিক অর্থে আমাদের মধ্যে কয়েকজন রয়েছে।

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