Script - Cara memeriksa apakah jalur jaringan tersedia dan kemudian memetakannya


13

Saya ingin skrip screen saver / logon yang memeriksa apakah jalur jaringan tersedia dan kemudian memetakannya ke unit. Jika tidak tersedia maka terputus / tidak terhubung.

Jalur jaringan adalah \ 192.168.1.1 \ drive1

Saya juga perlu menggunakan nama pengguna / kata sandi untuk terhubung ke jalur itu.

Jawaban:


15

Anda dapat menggunakan existperintah untuk memeriksa apakah jalur itu valid:

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

Jika Anda perlu memberikan kredensial (yaitu pengguna Windows Anda saat ini tidak memiliki akses ke share itu), tambahkan /user:

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

Jika ada kemungkinan bagian itu sudah ada, dan Anda ingin menghapusnya jika itu tidak lagi tersedia, tambahkan sebuah elseklausa:

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

Dan sekali lagi, tambahkan /userjika Anda membutuhkannya.

Anda dapat mengikat ini bersama-sama dalam file batch yang mirip dengan yang berikut ini:

@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=

ok saya hanya menyisipkan itu di notepad dan menyimpan sebagai .vbs tetapi ketika saya menjalankan tugas itu memberikan kesalahan Visual Basic?
FernandoSBS

1
Perintah itu adalah perintah batch - itu harus bekerja dari file batch standar.
Geoff

C: \ Windows> jika ada \\ 192.168.1.1 \ volume1 (net use y: \\ 192.168.1.1 \ volume1) e lse (net use / delete y:) Koneksi jaringan tidak dapat ditemukan. Bantuan lebih lanjut tersedia dengan mengetik NET HELPMSG 2250.
FernandoSBS

Saya akan menambahkan suntingan ...
Geoff

Maafkan saya? (5 karakter)
FernandoSBS

6

Powershell akan mempermudah ini:

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}

ok saya hanya menyisipkan itu di notepad dan menyimpan sebagai .vbs tetapi ketika saya menjalankan tugas itu memberikan kesalahan Visual Basic?
FernandoSBS

1
Simpan sebagai .ps1 dan jalankan dari Powershell.
Austin T French

Saya tidak terbiasa dengan PowerShell, bagaimana saya bisa mengotomatiskannya di Penjadwal Tugas?
FernandoSBS

Anda harus benar-benar membagi 2 pertanyaan. Ini adalah situs QA. Juga, cari di google jika Anda belum: google.com/...
Austin T French

OK mengerti. Apa bonus menggunakan PowerShell?
FernandoSBS

0

Itu hanya lebih sederhana untuk hanya mencoba memetakannya menggunakan Windows File explorer atau menggunakan perintah net use. Entah itu berhasil atau tidak.


Jika tersedia saya ingin terhubung secara otomatis ketika saya masuk / screen saver, jika tidak maka saya ingin dihapus dari drive yang dipetakan. Jadi apa yang Anda sarankan bukanlah suatu pilihan.
FernandoSBS

Saya tidak mengerti, jika Anda mengeluarkan penggunaan bersih, jika perintah berhasil itu akan terhubung. Jika perintah gagal, maka dihapus dari drive yang dipetakan. Tampak sederhana bagiku.
mdpc

0

Ini adalah kode terakhir:

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 

Saya menggunakan Test-Path \\192.168.1.1\volume1seperti yang disarankan untuk memeriksa apakah jalur jaringan tersedia dan ((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")untuk memeriksa apakah huruf drive ada.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.