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.