স্ক্রিপ্ট - কোনও নেটওয়ার্ক পাথ পাওয়া যায় কিনা তা পরীক্ষা করে কীভাবে তা ম্যাপ করবেন


13

আমি একটি স্ক্রিন সেভার / লগন স্ক্রিপ্ট চাই যা কোনও नेटवर्क পাথ উপলব্ধ কিনা তা পরীক্ষা করে এটি একটি ইউনিটে ম্যাপ করে। এটি উপলভ্য না হলে এটি সংযোগ বিচ্ছিন্ন করে / সংযুক্ত হয় না।

নেটওয়ার্ক পাথটি \ 192.168.1.1 \ ড্রাইভ 1

সেই পথে সংযোগ করতে আমার ব্যবহারকারীর নাম / পাসওয়ার্ডও ব্যবহার করতে হবে।

উত্তর:


15

existপাথটি বৈধ কিনা তা পরীক্ষা করতে আপনি কমান্ডটি ব্যবহার করতে পারেন :

if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1

যদি আপনাকে শংসাপত্র সরবরাহ করতে হয় (যেমন আপনার বর্তমান উইন্ডোজ ব্যবহারকারীর সেই অংশে অ্যাক্সেস নেই), যোগ করুন /user:

if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1 /user:myDomain\myUser myPassword

যদি শেয়ারটি ইতিমধ্যে বিদ্যমান থাকার সুযোগ থাকে এবং আপনি যদি এটি আর উপলভ্য না হন তবে এটি মুছতে চান, একটি elseধারা যুক্ত করুন:

if exist \\192.168.1.1\drive1 (net use s: \\192.168.1.1\drive1) else (net use /delete s:)

এবং আবারও, /userআপনার প্রয়োজন হলে এটি যুক্ত করুন।

আপনি নীচের মত একই ব্যাচ ফাইলে এগুলি সবগুলি বেঁধে রাখতে পারেন:

@echo off
if exist \\192.168.1.1\drive1 (set shareExists=1) else (set shareExists=0)
if exist y:\ (set driveExists=1) else (set driveExists=0)
if %shareExists%==1 if not %driveExists%==1 (net use y: \\192.168.1.1\drive1)
if %shareExists%==0 if %driveExists%==1 (net use /delete y:)
set driveExists=
set shareExists=

ঠিক আছে, আমি কেবল এটি নোটপ্যাডে আটকানো এবং .vbs হিসাবে সংরক্ষণ করছি কিন্তু যখন আমি এটির কোনও কাজ পরিচালনা করি তখন এটি ভিজ্যুয়াল বেসিক ত্রুটি দেয়?
ফার্নান্দোএসবিএস

1
এই কমান্ডটি একটি ব্যাচ কমান্ড - এটি কোনও মানক ব্যাচ ফাইল থেকে কাজ করা উচিত।
জেফ

সি: \ উইন্ডোজ> যদি বিদ্যমান থাকে \\ 192.168.1.1 \ ভলিউম 1 (নেট ব্যবহারের y: \\ 192.168.1.1 \ ভলিউম 1) এবং এলএস (নেট ব্যবহার / মুছুন y:) নেটওয়ার্ক সংযোগটি পাওয়া যায়নি। নেট হেল্পএমএসজি 2250 টাইপ করে আরও সহায়তা পাওয়া যায়
ফার্নান্দোএসবিএস

আমি একটি সম্পাদনা যুক্ত করব ...
জেফ

আমি দুঃখিত? (5 টি চর)
ফার্নান্দোএসবিএস

6

পাওয়ারশেল এটিকে সহজ করে তুলবে:

If(Test-Path \\192.168.1.1\Drive1)
  {
    net use M: \\192.168.1.1\Drive1 /user:Domain\UserName Password
  }
else {net use M: /delete > nul}

ঠিক আছে, আমি কেবল এটি নোটপ্যাডে আটকানো এবং .vbs হিসাবে সংরক্ষণ করছি কিন্তু যখন আমি এটির কোনও কাজ পরিচালনা করি তখন এটি ভিজ্যুয়াল বেসিক ত্রুটি দেয়?
ফার্নান্দোএসবিএস

1
এটি একটি .ps1 হিসাবে সংরক্ষণ করুন এবং পাওয়ারশেল থেকে এটি চালান।
অস্টিন টি ফরাসি

আমি পাওয়ারশেলের সাথে পরিচিত নই, আমি কীভাবে এটিকে টাস্ক শিডিয়ুলারে স্বয়ংক্রিয় করতে পারি?
ফার্নান্দোএসবিএস

আপনার সত্যই 2 টি প্রশ্ন বিভক্ত করা উচিত। এটি একটি QA সাইট। এছাড়াও, গুগল করুন আপনার যদি ইতিমধ্যে না থাকে: google.com/…
অস্টিন টি ফরাসী

ঠিক আছে বুঝেছি. পাওয়ারশেল ব্যবহারের বোনাস কী?
ফার্নান্দোএসবিএস

0

উইন্ডোজ ফাইল এক্সপ্লোরার ব্যবহার করে বা নেট ইউজ কমান্ডটি ব্যবহার করে এটি ম্যাপ করার চেষ্টা করা সহজ। হয় এটি কাজ করে বা এটি কাজ করে না।


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

আমি বুঝতে পারি না, এটি আপনি একটি নেট ব্যবহার জারি করেছেন, যদি কমান্ডটি সফল হয় তবে এটি সংযুক্ত হয়ে যাবে। যদি কমান্ডটি ব্যর্থ হয়, তবে এটি ম্যাপযুক্ত ড্রাইভগুলি থেকে সরানো হবে। আমার কাছে সহজ মনে হচ্ছে
এমডিপিসি

0

এটিই চূড়ান্ত কোড:

function run{
net use
If(Test-Path \\192.168.1.1\volume1)
  {
    if (((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")) 
        {
            "already mounted and accessible"
        }
    else
        {
            net use Y: \\192.168.1.1\volume1
            "mounting"
        }
  }
else { 
    if (((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory"))
        {
            net use Y: /delete
            "removing"
        }
}
exit 4
}

run 

Test-Path \\192.168.1.1\volume1নেটওয়ার্কের পথ পাওয়া যায় ((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")কিনা তা পরীক্ষা করতে এবং ড্রাইভ লেটারের উপস্থিতি আছে কিনা তা পরীক্ষা করতে আমি পরামর্শ হিসাবে ব্যবহার করেছি use

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