উইন্ডোজ user ব্যবহারকারী হিসাবে হোমড্রাইভ এবং হোমপথ ওভাররাইড করা


49

আমার নিয়োগকর্তার একটি অ্যাক্টিভ ডিরেক্টরি গ্রুপ নীতি রয়েছে যা আমার উইন্ডোজ 7 ল্যাপটপের হোমড্রাইভকে "এম:" (একটি ম্যাপযুক্ত নেটওয়ার্ক ড্রাইভ) এবং আমার হোমপ্যাথকে "\" এ সেট করে। যেহেতু shared ভাগ করা ড্রাইভের মূলের জন্য আমার কেবল পঠন করার অনুমতি রয়েছে, তাই আমি আমার উইন্ডোজ হোম ডিরেক্টরিতে ফাইল বা ডিরেক্টরি তৈরি করতে পারি না। আইটি বিভাগের সাথে কাজ করার আমার প্রচেষ্টা ব্যর্থ হয়েছে।

বুট বা লগইন সময়ে বিশ্বব্যাপী এই envars পরিবর্তন করার কি আমার জন্য কোনও উপায় আছে ? বিকল্প অ্যাপ্লিকেশন ব্যবহার করার জন্য আমার সমস্ত অ্যাপ্লিকেশনগুলির প্রয়োজন (যেমন "সি:" এবং "\ ব্যবহারকারী \ মাইনেম")। আমার কিছু ইনস্টল ইউটিলিটি রয়েছে (যেমন gvim এবং অন্যান্য) যা ব্যবহারকারীর হোম ডিরেক্টরিতে পছন্দ ফাইল সংরক্ষণ করে।

গুরুত্বপূর্ণ : "সিস্টেম প্রোপার্টি> পরিবেশ পরিবর্তনসমূহ" এর অধীনে এই এনভরগুলি পরিবর্তন করা কার্যকর হয় না । আমি এগুলি উভয় ব্যবহারকারী এবং সিস্টেমের ভেরিয়েবল (একটি রিবুট সহ) হিসাবে সেট করার চেষ্টা করেছি। SET HOMEডস উইন্ডোতে টাইপ করা স্পষ্টভাবে দেখায় যে আমার সেটিংস উপেক্ষা করা হয়েছে। এছাড়াও, উইন্ডোজ শর্টকাটে "স্টার্ট ইন" ব্যবহার করাও এটিকে সমাধান করবে না , কারণ সঠিকভাবে পরিচালনার জন্য আমার এক্সপ্লোরার প্রসঙ্গ মেনু আইটেমগুলির মতো ("উইম সহ সম্পাদনা করুন") দরকার হয় need

এই সংস্থার ল্যাপটপে আমার প্রশাসকের অধিকার রয়েছে, তবে আমি উইন 7 গুরু নই। দিনে ফিরে, একটি বুট স্ক্রিপ্ট এক মিনিটের মধ্যে এটি সমাধান করতে পারত। এটা কি আজও সম্ভব? ধন্যবাদ।


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

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

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

6
আইটি অবশেষে আমার কাছে ফিরে এল। তারা কিছুই পরিবর্তন করবে না। হ্যাঁ, অফিসিয়াল সংস্থার নীতি হ'ল এমন একটি ব্যবহারকারী হোম ডিরেক্টরি সরবরাহ করা যেখানে আমাকে ফাইল তৈরি করার অনুমতি দেওয়া হয় না। উইন্ডোজ অ্যাপ্লিকেশনগুলি যা পছন্দসই ফাইলগুলির মতো ডিফল্ট ব্যবহারকারীর হোম ডিরেক্টরি ব্যবহার করতে ব্যর্থ হয়। এখানে কোনও উইজার্ড নেই যিনি আমাকে এই সম্পর্কে কিছুটা প্রস্তাব দিতে পারেন?
মকেনেক সি

3
হ্যাঁ @ ডি0 আরএফ, তার উচিত এটি গড়িয়ে পড়া এবং এটি নেওয়া উচিত। যদি আইটি আপনার কাজটিকে অসম্ভব করে তোলে তবে এটি পরিবর্তন না হওয়া পর্যন্ত আপনার লড়াই এবং উত্থাপনের প্রয়োজন। আপনি যদি প্যাসিভ বিকাশকারী হন, তবে আপনি একটি ভয়ঙ্কর সংস্থার কাছে আপনার জীবনের যথেষ্ট প্রাপ্য যা আপনাকে আপনার কাজের জন্য প্রয়োজনীয় সরঞ্জামগুলি দেয় না।
স্কট

উত্তর:


38

নীচে কিছু হ্যাক রয়েছে যা আমি বিকাশ করেছি। এগুলি মার্জিত নয়, তবে আপনার কর্পোরেট পরিবেশে এটি কার্যকর হতে পারে।

কেবলমাত্র হোমড্রাইভ

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

set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username

net use g: /delete
net use g: \\localhost\C$\Users\username

হোমড্রাইভ স্থানীয় ডিফল্ট

আপনার যদি নাম দিয়ে কোনওভাবেই "সার্ভার" অ্যাক্সেস করার প্রয়োজন না হয়, আপনি গ্রুপ নীতি সেটিংটি ব্যর্থ হতে এবং আপনার স্থানীয় মেশিনে ফিরে যেতে পারেন। এটির সবচেয়ে সহজ উপায় হ'ল সি: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভার \ ইত্যাদি \ হোস্টগুলিতে একটি এন্ট্রি যুক্ত করা :

127.0.0.1   Server

রিবুট করার পরে আপনার এমন কিছু দেখতে পাওয়া উচিত:

set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\username

হাইব্রিড লোকাল / রিমোট ইউএনসি পাথ সহ হোমড্রাইভ / শেয়ার করুন

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

  1. পরিবর্তন সি: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভার \ ইত্যাদি \ হোস্ট আপনার স্থানীয় মেশিনে "সার্ভার" পুনর্নির্দেশ করতে:

    127.0.0.1   Server
    
  2. স্থানীয় ইউএনসি পথে শংসাপত্রগুলি পাস করার জন্য HKEY_LOCAL_MACHINE Y SYSTEM \ কারেন্টকন্ট্রোলসেট \ নিয়ন্ত্রণ \ Lsa \ MSV1_0 এ নিম্নলিখিত মাল্টি-স্ট্রিং রেজিস্ট্রি মান যুক্ত করুন :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\
    BackConnectionHostNames = Server
    
  3. একটি ডামি ডিরেক্টরি তৈরি করুন যা সার্ভারের মূল হিসাবে কাজ করবে:

    set DUMMY_LOC=C:\Server_Dummy
    
    mkdir %DUMMY_LOC%
    cd /D %DUMMY_LOC%
    
  4. প্রতিটি ইউএনসি পাথের জন্য আপনি প্রকৃত সার্ভারে সরাসরি যেতে চান:

    rem Alternatively you can use an IP below, but it is more likely to break if DNS changes
    set SERVER_FQDN=Server.network.blah.com
    
    rem Take a look at what's available...
    net view \\%SERVER_FQDN%\
    
    mklink /D Remote_Example \\%SERVER_FQDN%\Remote_Example
    net share Remote_Example=%DUMMY_LOC%\Remote_Example /grant:everyone,FULL
    
  5. প্রতিটি ইউএনসি ভাগের জন্য আপনি স্থানীয়ভাবে সংজ্ঞা দিতে চান (যেমন ব্যবহারকারী):

    rem The link isn't really necessary for the share, I just find it easier to manage when all of these hacks are in the same directory
    
    mklink /D Users C:\Users
    net share Users=%DUMMY_LOC%\Users /grant:everyone,FULL
    
  6. রিবুট

উদাহরণস্বরূপ, এটি নিম্নলিখিত ইউএনসি পাথগুলিকে সমাধান করার অনুমতি দেবে:

\\Server\Remote_Example => \\Server.network.blah.com\Remote_Example
\\Server\Users          => C:\Users

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

উদাহরণস্বরূপ, আমার সেটআপে নিম্নলিখিত ভেরিয়েবলগুলি ডোমেন দ্বারা বাধ্য করা হয়:

set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username

তবে আমার ম্যাপিংয়ের কারণে ফলাফলটি হ'ল:

G: => \\Server\Users\username => C:\Users\username

এই পরামর্শগুলি দেখে মনে হচ্ছে যদি তারা কমান্ড লাইনে কাজ করছিলাম তবে তারা সহায়তা করতে পারে। একটি অ্যাপ্লিকেশন প্রভাবিত করতে (gvim মত) আমার সম্ভবত একটি মোড়ক তৈরি করা প্রয়োজন। সমস্ত প্রভাবিত অ্যাপ্লিকেশনগুলিতে আইট্রেট করা অনেক বেশি কাজ বলে মনে হয় না, ফাইল সংযুক্তি পরিবর্তনের কথা উল্লেখ না করা ইত্যাদি my আমার এম: রিম্যাপ করা বুট করার সময় ড্রাইভ করা একটি দুর্দান্ত পরামর্শ, তবে উইন্ডোজ শুরু হওয়ার পরে কীভাবে বিশ্বব্যাপী এটি করা যায় (সমস্ত প্রভাবিত করার জন্য অ্যাপস / শেল)? আমি আশা করি যে এই পরামর্শগুলি অন্যদের সহায়তা করবে, তবে আমি মনে করি না যে তারা আমার ওপি সমাধান করে
মাইকেননাসি

3
আমার কিছুক্ষণের মধ্যে এই পদ্ধতিগুলির প্রয়োজন নেই, তবে আমি বিশেষত gvim এর জন্য সেগুলি বিকাশের কথা স্মরণ করি, যা আমি বিশ্বাস করি যে হোমড্রাইভ এবং হোমপথ ব্যবহার করছিল। এই পদ্ধতিগুলির জন্য আপনি কমান্ড লাইন থেকে চালানোর প্রয়োজন হয় না; ভেরিয়েবল বা ড্রাইভ লেটার ব্যবহার করে যে কোনও অ্যাপ্লিকেশন সমস্ত প্রভাবিত হবে। পদ্ধতি # 2 এবং # 3 "স্থায়ী" এবং পরিবর্তনগুলি আটকে রাখার জন্য কেবল একবার সম্পাদন করা দরকার। সি: ut ব্যবহারকারীগণ \ <You> \ অ্যাপডেটা uted রোমিং \ মাইক্রোসফ্ট \ উইন্ডোজ \ স্টার্ট মেনু \ প্রোগ্রামস \ স্টার্টআপ বা টাস্ক শিডিয়ুলারে কোনও কার্য সেটআপ করে স্টার্টআপে # 1 পদ্ধতিটি স্বয়ংক্রিয়ভাবে সম্পাদন করা যেতে পারে। আশা করি এটা কাজে লাগবে!
টেরেন্স

@ স্থিরতা আহ্, ভাল-নকশা করা জঘন্য কাজগুলির সৌন্দর্য। LMAO এর। এখানে তথ্যের জন্য ধন্যবাদ - এবং এখানে প্রচুর টোনস রয়েছে ...
ডেভিড আই ম্যাকিনটোশ

3

সবচেয়ে ভালো সমাধান আমি দেখেছি লগিনের সময় আগে সেট ভেরিয়েবল ছিল userinit.exe

এটাই আমি করেছি। প্রথমে C:\Windows\System32\userinit.cmdধারণ করে একটি ব্যাচ ফাইল তৈরি করে

@ECHO OFF
SET HOMEDRIVE=C:
SET HOMEPATH=\Users\%USERNAME%
SET HOMESHARE=\\localhost\C$\Users\%USERNAME%
@START C:\Windows\system32\userinit.exe

এবং তারপর এর মান পরিবর্তন HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinitকরতে C:\Windows\System32\userinit.cmdরেজিস্ট্রি হবে।

আরও তথ্য এখানে: https://technet.microsoft.com/en-us/library/cc939862.aspx


উইন 7 এ কাজ করেছিলেন, তবে উইন 10-এ নয়।
পিঁপড়ে


0

আমি মনে করি এই পাথগুলি স্বয়ংক্রিয়ভাবে সেই স্থানে সেট হয়ে গেছে যেখানে আপনার ব্যবহারকারী প্রোফাইল রয়েছে। আপনি যে হোম ড্রাইভটির কথা উল্লেখ করছেন সেটি হ'ল সেই জায়গাটি যেখানে আপনার এনটিউসার.ড্যাট এবং অ্যাপ্লিকেশন ডেটা এবং অন্যান্য ব্যবহারকারীর প্রোফাইল ফোল্ডার সঠিক? এনটি 3.এক্সের সাথে ফিরে, "ব্যবহারকারীর প্রোফাইল" সেটিংসের সাথে আপনার ব্যবহারকারী রেজিস্ট্রি মুরগি ছিল এবং আপনি প্রতিটি ব্যবহারকারীর জন্য একটি পৃথক হোম পাথ সেট করতে পারেন। এগুলি NT4 এ ডেস্কটপ, আমার দস্তাবেজ, স্টার্ট মেনু ইত্যাদির সাথে একটি ব্যবহারকারী প্রোফাইল হিসাবে একত্রিত হয়েছে

সমস্ত প্রোফাইলের অবস্থানগুলি নীচে রেজিস্ট্রি কীগুলিতে সংরক্ষণ করা হয়

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

আপনি বিশেষ প্রোফাইল এবং সাবকি-র জন্য কিছু মান খুঁজে পাবেন: সিস্টেমে প্রতিটি সক্রিয় প্রোফাইলের জন্য একটি। তারা যার যার নিজের অ্যাকাউন্টের এসআইডি সেট আপ করে। আপনার সন্ধানের সবচেয়ে সহজ উপায় হ'ল প্রতিটি পথ ধরে সঠিক পথে ( ProfileImagePathমানের নিচে) সন্ধান করা। আপনি যে মানটিকে চান তার জন্য সেই মানটি পরিবর্তন করতে সক্ষম হবেন; আপনি পরের বার লগ ইন করলে তা কার্যকর হবে। আপনার ফাইলগুলি নতুন পথে কপি করার বিষয়ে নিশ্চিত হন।

আপনি যদি অ্যাকাউন্টটি থেকে প্রোফাইল সরিয়ে নিতে হয় তবে আপনি লগইন হিসাবে রয়েছেন (যেমন মাইকিসি হিসাবে লগ ইন করেছেন এবং আপনি মাইকিসির জন্য প্রোফাইলটি অনুলিপি করার চেষ্টা করছেন) এনটিসার.ড্যাট ফাইল (রেজিস্ট্রি মধুযুক্ত HKEY_CURRENT_USER) কার্নেল দ্বারা লক হয়ে যাবে। আপনি এখনও এই মুরগির অনুলিপি করতে পারেন: রিজেডিতে যান , ডান ক্লিক করুন HKEY_CURRENT_USER, রফতানি নির্বাচন করুন , হাইভ ফাইলগুলিকে রেজিস্ট্রি করতে টাইপটি পরিবর্তন করুন এবং আপনার নতুন স্থানে ntuser.dat হিসাবে সংরক্ষণ করুন।

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


ঠিক আছে, আমার প্রোফাইললিস্টের একমাত্র আইটেমটি প্রাসঙ্গিক বলে মনে হচ্ছে এটি প্রোফাইলআইমেজপথ, যা সি: \ ব্যবহারকারীদের cep মেসেক হিসাবে দেখায়। এটি সেটের সাথে মেলে যা আমাকে সেট করে প্রফ্রফাইল, তবে এটি এখানে আমার ফোকাস নয়। আমাকে হোমপথ এবং হোমড্রাইভকে প্রভাবিত করতে হবে। কেবল মজাদার জন্য আমি "এম:" তে সেট করা মান বা ডেটাযুক্ত আইটেমগুলির জন্য আমার রেজিস্ট্রি অনুসন্ধান করেছি (পুরো স্ট্রিংটি কেবলমাত্র = পরীক্ষিত সাথে মেলে) এবং কেবলমাত্র একটি কম্পিউটার / এইচকেই_উইএসআরএক্স / এক্সএক্সএক্সএক্স / অস্থির পরিবেশ / হোমড্রাইভ নিয়ে এসেছি। এটি সি তে পরিবর্তন করা: আমার বর্তমান লগইন সেশনে কোনও প্রভাব ফেলবে বলে মনে হয় না। পুনরায় বুট করার পরে মানটি এম: এ ফিরে আসে (আশ্চর্য নয়)।
মেকেনাসি

0

গুগলের মাধ্যমে অন্য কেউ যদি এই প্রশ্নে আসে তবে আমি এটি পোস্ট করছি। আমার হোম ডিরেক্টরিটি পরিবর্তন করার এবং আইএস ছেলেরা আমার উপর ক্ষিপ্ত হওয়ার পরিবর্তে, আমি সেটআপ করে ভার্চুয়াল মেশিনে আমার বিকাশ চালিয়েছি। মাইক্রোসফ্ট ভার্চুয়াল মোডে বিধবাদের এক্সপি সরবরাহ করে। http://www.microsoft.com/windows/virtual-pc/download.aspx


0

কিছুটা সহজ বিকল্প হ'ল নীচে স্ক্রিপ্টটি চালানো (এনভ-রিসেট.ভিবিএস) লগনে নির্ধারিত টাস্ক হিসাবে, আনলক করা এবং সম্ভবত প্রতি কয়েক মিনিটের মধ্যেও।

Set shell = WScript.CreateObject("WScript.Shell")  
Set venv = shell.Environment("Volatile")  

scriptingHost = LCase(Right(Wscript.FullName,Len("cscript.exe")))
interactive = Wscript.Interactive And (scriptingHost = "cscript.exe")

If interactive Then 
  Wscript.Echo "WSCRIPT"
  Wscript.Echo "  ScriptingHost = " & scriptingHost
  Wscript.Echo "  FullName = " & Wscript.FullName
  Wscript.Echo "  ScriptFullName = " & Wscript.ScriptFullName
End If  

If interactive Then Call showVolatile()

homedrive = Left(venv("USERPROFILE"),2)
homepath = Mid(venv("USERPROFILE"),3)
If interactive Then 
  Wscript.Echo "COMPUTED"
  Wscript.Echo "  homedrive = " & homedrive
  Wscript.Echo "  homepath = " & homepath
End If  
venv("HOMEDRIVE") = homedrive
venv("HOMEPATH")  = homepath

If interactive Then Call showVolatile()

Wscript.Quit(0)

Sub showVolatile()
  Wscript.Echo "VOLATILE"
  Wscript.Echo "  USERPROFILE = " & venv("USERPROFILE")  
  Wscript.Echo "  HOMEDRIVE = " & venv("HOMEDRIVE")  
  Wscript.Echo "  HOMEPATH = " & venv("HOMEPATH")  
  Wscript.Echo "  HOMESHARE = " & venv("HOMESHARE")  
End Sub
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.