Komut Dosyası - Bir ağ yolunun kullanılabilir olup olmadığı nasıl kontrol edilir ve nasıl eşlenir


13

Bir ağ yolunun kullanılabilir olup olmadığını kontrol eden ve daha sonra bir birimle eşleştiren bir ekran koruyucu / oturum açma komut dosyası istiyorum. Mevcut değilse bağlantıyı keser / bağlanmaz.

Ağ yolu \ 192.168.1.1 \ sürücü1

Ayrıca bu yola bağlanmak için kullanıcı adı / şifre kullanmam gerekiyor.

Yanıtlar:


15

existYolun geçerli olup olmadığını kontrol etmek için komutu kullanabilirsiniz :

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

Kimlik bilgileri sağlamanız gerekiyorsa (örneğin, geçerli Windows kullanıcınızın bu paylaşıma erişimi yoksa) aşağıdakileri ekleyin /user:

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

Paylaşımın zaten var olma olasılığı varsa ve artık kullanılamıyorsa silmek istiyorsanız, bir elsemadde ekleyin :

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

Ve bir kez daha, /userihtiyacınız varsa ekleyin .

Bunu aşağıdakine benzer bir toplu iş dosyasında birbirine bağlayabilirsiniz:

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

Tamam Ben sadece not defterine yapıştırma ve .vbs olarak kaydetme ama bir görev çalıştırdığınızda Visual basic hata veriyor?
— FernandoSBS

1
Bu komut bir toplu komuttur - herhangi bir standart toplu iş dosyasından çalışması gerekir.
— Geoff

C: \ Windows> varsa \\ 192.168.1.1 \ volume1 (net kullanım y: \\ 192.168.1.1 \ volume1) e lse (net use / delete y:) Ağ bağlantısı bulunamadı. NET HELPMSG 2250 yazarak daha fazla yardım alabilirsiniz.
— FernandoSBS

Bir düzenleme ekleyeceğim ...
— Geoff

üzgünüm? (5 karakter)
— FernandoSBS

6

Powershell bunu kolaylaştırır:

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}

Tamam Ben sadece not defterine yapıştırma ve .vbs olarak kaydetme ama bir görev çalıştırdığınızda Visual basic hata veriyor?
— FernandoSBS

1
Bir .ps1 olarak kaydedin ve Powershell'den çalıştırın.
— Austin T Fransız

powershell'e aşina değilim, Görev Zamanlayıcı'da nasıl otomatikleştirebilirim?
— FernandoSBS

Bu 2 soruyu gerçekten bölmelisiniz. Bu bir KG sitesi. Ayrıca, henüz yapmadıysanız google: google.com/…
— Austin T Fransızca

Tamam anladım. Powershell kullanmanın avantajı nedir?
— FernandoSBS

0

Windows Dosya gezgini kullanarak veya net use komutunu kullanarak eşlemeye çalışmak daha kolaydır. Ya çalışıyor ya da çalışmıyor.


Varsa, oturum açtığımda / ekran koruyucumda otomatik olarak bağlanmayı istiyorum, eğer değilse, eşlenen sürücülerden kaldırılmasını istiyorum. Yani önerdiğiniz bir seçenek değil.
— FernandoSBS

Anlayamıyorum, net bir kullanım düzenlersiniz, komut başarılı olursa bağlanır. Komut başarısız olursa, eşlenen sürücülerden kaldırılır. Bana basit geliyor.
— mdpc

0

Bu son kod:

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\volume1Ağ yolunun kullanılabilir ((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")olup olmadığını ve sürücü harfinin olup olmadığını kontrol etmek için önerildiği gibi kullanıyorum .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.