VBScriptů se velmi úspěšně dá použít pro práci v síti. Umožňují připojení síťových disků a také připojení síťových tiskáren. To umožňuje jejich použití v Logon a Logoff skriptech, tudíž můžeme vytvořit potřebné síťové prostředí zvlášť pro každého uživatele.
Pro práci vbs v síti je nutno vytvořit objekt sítě – WScript.Network
Zjištění síťového jména počítače:
Kód: Vybrat vše
Set WshNet = CreateObject("WScript.Network")
CompName = WshNet.ComputerName
WScript.Echo CompName
Set WshNet = Nothing
Připojení síťového disku:
Kód: Vybrat vše
strDriveLetter = "Y:"
strShare = "\\MYBOOKWORLD\Public"
blnProfile = False
strUserName = "admin"
strPassword = "admin"
Set oNetwork = CreateObject("WScript.Network")
oNetwork.MapNetworkDrive strDriveLetter, strShare, blnProfile, strUserName, strPassword
Set oNetwork = Nothing
K jednotlivým položkám:
- strDriveLetter = "Y:" – písmeno síťového disku
- strShare = "\\MYBOOKWORLD\Public" – síťová cesta sdíleného adresáře
- blnProfile = False – hodnota „True“ přednastaví domovský adresář na síťový disk
- strUserName = "název účtu"
- strPassword = "heslo"
Připojení tiskárny se zachycením chyby:
Kód: Vybrat vše
tiskarna = "\\PC\HP LaserJet"
Set objNetwork = CreateObject("WScript.Network")
On Error Resume Next
objNetwork.AddWindowsPrinterConnection tiskarna
Select Case Err.Number
Case 0
text = "Tiskárna je připojena """ & tiskarna & """."
icon = vbInformation
Case -2147023688
text = "Chyba: Síťový prostředek """ & tiskarna & """ neexistuje"
icon = vbCritical
Case -2147024811
text = "Připojení k """ & tiskarna & """ již existuje"
icon = vbExclamation
Case Else
text = "Chyba kód: " & Err.Number & " " & Err.Description
icon = vbCritical
End Select
MsgBox text, vbOKOnly + icon, "Etienn@Script:"
Set objNetwork = Nothing
Odeslání e-mailu skriptem
1. způsob - vytvoření URL zástupce a jeho spuštění byl uveden v minulém tématu: https://pc-help.cz/viewtopic.php?f=35&t=197703
2. způsob - pomocí Outlooku zde: https://pc-help.cz/viewtopic.php?f=35&t=94490
3. způsob - pomocí Thunderbirdu zde: https://pc-help.cz/viewtopic.php?f=72&t=121508 (Původně pro Outlook, poté upraven pro Thunderbird)
4. způsob - přímé odeslání pomocí skriptu
Kód: Vybrat vše
'Je třeba restart?
Set objSysInfo = CreateObject("Microsoft.Update.SystemInfo")
If objSysInfo.RebootRequired Then
'Pokud ANO, pošli e-mail
'Zjištění jména serveru
Set WshNet = CreateObject("WScript.Network")
CompName = WshNet.ComputerName
Set emailObj = CreateObject("CDO.Message")
emailObj.From = CompName & "server.cz"
emailObj.To = "spravce@postovniserver.cz"
emailObj.Subject = "Restart po aktualizaci"
emailObj.TextBody = "Server --- " & Compname & " --- Potřebuje restart po aktualizaci!"
Set emailConfig = emailObj.Configuration
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "webmail.postovniserver.cz"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "uživatel"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "heslo"
emailConfig.Fields.Update
emailObj.Send
Set emailObj = Nothing
Set emailConfig = Nothing
Set WshNet = Nothing
End If
Set objSysInfo = Nothing
Všimněte si:emailObj.From = CompName & "server.cz" - toto je adresa odesílatele. CompName je skutečné síťové jméno počítače, ale doména "server.cz" je vymyšlená. Správce tedy obdrží e-mail od např. Technologie01@server.cz, tato adresa však ve skutečnosti neexistuje. Pro ty, kdo už plánují, jak toho zneužít připomínám, že IP adresa odesílatele uvedená v hlavičce e-mailu se "zfalšovat" nedá, tudíž pravého odesilatele lze vždy zjistit.
Uvedený skript používám u technologických počítačů, kde je autorestart po aktualizaci zakázán. Správce je upozorněn e-mailem a restartuje stroj ručně ve vhodné době.
A ještě jedna "lahůdka": Nastavení sdílení na vzdáleném počítači. Nastavení sdílení je jednoduché, pokud jste přímo u počítače. Ale pokud tam nejste a nemáte možnost vzdálené plochy, může pomoci skript. najdete ho zde: https://pc-help.cz/viewtopic.php?f=107&t=95356
Skript funguje napříč všemi systémy. Kromě uvedených podmínek je u Win10 je třeba ohídat ještě jednu položku firewallu - službu WMI:
V dalším díle se podíváme na práci s registry.
Odkazy:
Ovládáme (nejen) windows pomocí visual basic script 1. díl
Ovládáme (nejen) windows pomocí visual basic script 2. díl
Ovládáme (nejen) windows pomocí visual basic script 3. díl
Ovládáme (nejen) windows pomocí visual basic script 4. díl
Ovládáme (nejen) windows pomocí visual basic script 5. díl
Ovládáme (nejen) windows pomocí visual basic script 6. díl
Ovládáme (nejen) windows pomocí visual basic script 7. díl