Csatlakozás hálózati erőforrások automatikusan

Csatlakozás hálózati erőforrások automatikusan

A választott programozási nyelv

Megjegyzés: A forgatókönyv korábban létrehozott VBScript, Jscript könnyen átírni KIXtart. Az összes példa ebben a cikkben bemutatásra kerül KIXTart nyelvén.

Az adatok forrása - fájl vagy adatbázis?

Ahhoz, hogy sikeresen egy hálózati erőforrás, a felhasználónak meg kell tudni, hogy a hálózat a lemez nevét, amely összefüggésbe hozható az erőforrás, és a UNC útvonalat a hálózatra csatlakoztatott források. Kívánatos, hogy van egy leírás, hogy javítsa ki a lemez nevét az „Sajátgép” mappát. Természetes kérdés merül fel - hol van a legjobb helyen kell tárolni az információkat? Ez lehet egy szöveges fájl, amely abban rejlik, hogy a Netlogon könyvtár, vagy bármely boltban, például az Active Directory (a továbbiakban AD). Én használtam mindkettőt, és a végén esett a választás az AD. Ez már elég sok oka lehet, hogy át adatok a szöveges fájlt a AD, például az egyszerű karbantartás, csökkentve a program kódot, és így tovább. D.

A működési elve a forgatókönyvet

Ahhoz, hogy tárolja az információt az AD egy csatlakoztatott erőforrás megosztott_mappa szabványos objektum használtuk, amely tájékoztatást tartalmaztak a levél, amely összeköti a hálózati erőforrás; UNC-útvonal egy hálózati erőforrás; leírás a hálózati erőforrás, ami megjelenik a „Sajátgép” mappát; Biztonsági csoport neve, amelynek tagjai lesznek kötve erőforrás.

Bemutatjuk a mechanizmus egy csatlakoztatható a hálózati erőforrások a példa az általános «Otdel1» Unit mappákat. Hagyja mappa a következő hálózati elérési út - «EsmiraldaWork $ Otdel1» csatlakozik a meghajtó „K” és egy leírást a „Service Files” (lásd 1. ábra ..). Az AD bármely OU, például «osztja», objektum létrehozása «Share mappa» (lásd. Ábra. 2). Minden más OU, hozzon létre egy biztonsági csoportot, akiknek a neve egyezik az URL hálózati megosztás után az utolsó „pont”. Ebben a példában, egy megfelelő csoport a csatlakoztatott lemez, fel kell hívni «Otdel1». A csoport tagjai lesznek hálózatra csatlakozik erőforrás a feltétellel, hogy hozzá kell adni a biztonsági fül «Otdel1» mappa megfelelő jogosultsága a mappát. Ha azt szeretnénk, hogy egy pár különböző hozzáférési szinteket, az előtag lehet használni a csoport nevét.

1. ábra: Példa egy hálózati meghajtó megváltoztatja a leírást a „Sajátgép” mappát

2. ábra: Objektum tulajdonságok megosztott mappa Active Directory

Megjegyzés: Abban az esetben, az erőforrás legyen minden felhasználó számára elérhető a hálózat, a «domain felhasználók» meg kell adni a csoport a megfelelő erőforrás-csoport a megfelelő jogokkal.

A szkript hálózati meghajtók

A szkript lehet osztani több logikai részből áll:

  • meghatározza azon csoportok, amelyek a jelenlegi felhasználó;
  • kapcsolatot az AD és a kiolvasott a megfelelő mezők;
  • kapcsolja ki az összes feldolgozott script hálózati meghajtókat;
  • kapcsolat szükséges hálózati meghajtókat;
  • leírása a kiigazítás hálózati meghajtó a „Sajátgép” mappát.

Meghatározása tagság az érintett biztonsági csoport

Meghatározó tagság a megfelelő biztonsági csoportok segítségével végezzük a beépített függvény EnumGroup ():

Amíg Len ($ Group) = 0

A csoportok listája, amely a függvény visszatérési (Group változó $), a következő sablon: DOMAINGROUP. Amint az AD csoportban tárolt nélkül előtag (ebben az esetben az előtag rövid domain név), a kapott csoport lista átalakítani. Az eredmény ajánlott írandó ugyanazt a változót, azaz a CSOPORT:

Csatlakozás az AD és az olvasás a megfelelő mezőértékek

Csatlakozás AD használatával megvalósított adodb-vegyület:

$ StrADSQuery = "SELECT kulcsszavak nevét, leírását, CN, uncname FROM '+ $ domain_ + "' WHERE objectClass = 'kötet'"

$ ObjConnection.Open ( "Active Directory Szolgáltató")

Keresse szükséges objektumokat SQL-lekérdezés. Amint objectclass = „térfogata”, mint egy szűrő:

"SELECT uname, kulcsszavak, leírás, CN FROM '+ $ tartomány + "' WHERE objectClass = 'kötet'"

ahol a $ tartomány - a jelenlegi domain név, amely által meghatározott olvasási globális katalógus RootDSE. Olvasni elég egy normál felhasználó. $ Domain változó formában «DC = tartomány, DC = com»:

$ Domain = "LDAP: //" + $ rootDSE_.Get ( "defaultNamingContext")

Reading területén megfelelő adattípus „string”, az alábbiak szerint:

Ha az adatok típusát a tömböt:

Minden $ Val_Element a $ Val_Array

mezők használt script leírása és az adatok típusát az 1. táblázatban megadott (lásd. ábra. 2).

1. táblázat mezőinek leírása használt megosztott mappa objektum

Minden $ DS $ DSS

használja $ ds_s + ":" / törlés / kitartó

ahol a változó $ ds_s tartalmazza a mező értékét, leírás - a küldemény, amelyre a lemez van szerelve. Mechanizmuson keresztül a script kezeli csak azokat a hálózati meghajtókat, amelyeket a rendszergazda által az AD.

Csatlakozó a szükséges hálózati meghajtókat

meghajtó a kapcsolat által az algoritmus:

Először határozza meg annak szükségességét, hogy csatlakoztassa a hálózati meghajtóhoz információkat, azaz a levelet, amely a meghajtó (leírás mező) van felszerelve; UNC-útvonal erőforrás (UNCName mező); csoport, amelynek tagjai vannak csatlakoztatva egy erőforrás (cn mező).

Az olvasó valószínűleg van egy természetes kérdés: miért használja cn mezőt, ha a csoport neve megjelenik az UNC-útvonal erőforrás? Olvasd CN mező létfontosságú. Az a tény, hogy a hálózati erőforrás lehet a két típusa van: az általános és személyes. Íme két példa. Az első esetben a kapcsolat végre nyilvános mappában adatcsere, ez az úgynevezett «csere». Ennek alapján mappát hozzáféréssel, akkor az úgynevezett «csere», a megfelelő biztonsági csoport - «Bazár» és mivel magában foglalja az összes felhasználó ebben a csoportban, akkor a csoport tagja a csoport a «Domain Users». A második esetben van szükség, hogy az egyes felhasználó saját könyvtára. Ehhez hozzon létre egy mappát, például «HomeDirs» és almappákat hoztunk létre úgy, hogy a megfelelő felhasználói azonosítót. A helyzet megváltozott - a hálózati mappa elérési útvonala nem lehet használni, de ott van a területen CN - a forrás neve, ahol írhat le az összes szükséges információt: a felhasználó nevét és a megfelelő biztonsági csoport (lásd 2. ábra ..).

Így, miután meghatározzuk a három mező, hogy megtudja, ha a felhasználó a megfelelő erőforrás biztonsági csoport magában foglalja az esetben pozitív kimenetele érvényesítés kezdeni erőforrás kapcsolat a két algoritmus. Kiválasztási algoritmus jelenlététől függ, az olvasási értéke a bejelentkezési CN.

A meghajtó csatlakoztatása végezzük használata parancsot:

; tömb elemei $ usergroup_name [] egy csoportja, amely a jelenlegi felhasználói

a $ t = 0 és ubound ($ usergroup_name)

; megszemélyesítés kritérium tagság

; Ezekben a csoportokban PersonalGroup1 ... 3

ha instr (ucase ($ group_b) ucase ( "PersonalGroup1"))<>0 vagy instr (ucase ($ group_b) ucase ( "PersonalGroup2"))<>0 vagy instr (ucase ($ group_b) ucase ( "PersonalGroup3"))<>0

használat $ ds_s + ":" $ uncname

Ha a @ hiba = 5; Hiba elérésekor az erőforrás

$ ERROR_MESSAGE = $ hibaüzenet + "Nem lehet kapcsolódni a hajtás" + $ ds_s + "forrás" + $ cn + chr (13)

használat $ ds_s + ":" $ uncname

Ha a @ hiba = 5; Hiba elérésekor az erőforrás

$ ERROR_MESSAGE = $ hibaüzenet + "Nem lehet kapcsolódni a hajtás" + $ ds_s + "forrás" + $ cn + chr (13)

Előtolóhajtás leírások a „Sajátgép” mappát

Mechanizmus átnevezni egy hálózati meghajtót a „Sajátgép” mappát, akkor a legjobb kezdeni befejezése után a folyamat összekötő hálózati meghajtók magukat. Az olvasó lehet egy logikus kérdést: „Miért akarsz?”. Több oka is van. Íme néhány közülük: Képzeld el, hogy van egy hosszú utat hálózat - meghajtóbetűket nem láthatók. Egyetértenek abban, hogy ez kellemetlen. Másodszor, a felhasználónak kell tudni bizonyos helyzetekben, ahol az erőforrás található. Harmadszor, még ha a felhasználó nem olvassa UNC-útvonalakat lemezek, és a nevét a szokásos, „az én egység Files” vagy a „Saját projektek”. Azonnal világossá válik, hogy mi a célja lemezen. Hidd el, nem minden felhasználó felel meg a „hatalom felhasználó.” Ez annak a ténynek köszönhető, hogy a meghajtó kapcsolat időt vesz igénybe, ami függ a helyét a munkaállomás, szerver terhelését és egyéb tényezők. Pontosan kiszámítani a nem lehetséges, úgy, hogy gyorsítsák fel a program futása jobban osztja a blokkok csatlakozni meghajtók és módosítsa a leírást via-késleltetés funkció. A funkció számítás eredményeképpen időintervallum segítségével új makrót @Ticks, amely visszaadja az ezredmásodperc, mivel a boot meghatározott időkülönbség alatt - az említett időintervallum, késések, végezzük a hurok:

$ Q = @Ticks + $ delay_size * 1000; x - több másodperces késleltetés

Amíg @Ticks> = $ Q

Tekintsük mindegyik mechanizmus hálózati meghajtók külön-külön. Kezdjük a Windows XP, mert ahol a leginkább egyértelmű és egyszerű.

Átnevezése leírásai hálózati meghajtók Windows XP

csatolási pont hálózati meghajtók szervezik a következő módon: a HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2 álmappájában hálózati meghajtókat alfejezetek amelyek neve szerint szervezik az elvet: „## szerver neve # mappa nevét, amelyhez közös podpapka1 # #. # PodpapkaX”. Minden ilyen almappák 3 kötelező paraméter, a negyedik - _LabelFromReg is létre kell hozni (lásd 3. ábra ..).

3. ábra részlete az adatbázist, amely leírja a csatolási pont a hálózati meghajtók (Windows XP)

A név módosításához egy hálózati meghajtót a mappában „My Computer”, hogy módosítsa az értéket egy string változó _LabelFromReg.

Meghatározni egy változó $ key_path kiszámításához szükséges a mappa nevét, UNC-útvonal: meg kell cserélni a „” szimbólum a „#”:

Itt az ideje, hogy kiemelje ezt a kérdést a programozás. Tehát, megnéztük az átalakulás csak egy karakter, de a kifejezés áll, egy sor karakterek kell következetesen átalakítani:

A $ c = 1 Len ($ keyw_s)

A példában az átmenetet a két szimbólum használatával Cycle For ... Next kombinációja funkciók balra és jobbra. Végül, a változó $ szimbólum egy hexadecimális szám (HEX).

Most kell fogadni különálló első és második szimbólumok az egyes HEX-szám és az első karakterrel esetben, ha az ASCII kódja nagyobb mint 128, átalakítani (lásd. 3. táblázat). Az első karakter, és a második karaktert meghatározása a következő:

Mi jár a végrehajtását az algoritmus átalakítására az első karakter hexadecimális szám. Célszerű egy olyan rendszer alkalmazása a zászlók és kézi válasszon ... ügyben.

Itt egy példa az átalakulás az első betű a kifejezést - „C”. A korábban megadott, ezt a szimbólumot megfelel a hexadecimális érték D1, kezdve a 2. táblázatban, a D át kell alakítani a két, és magát a számot a 21:

Ebben az esetben csak utasítás által használt válasszon ... ügyben. A zászló rendszert használnak, hogy meghatározzák a konverziós algoritmus, attól függően, hogy a karakter HEX kód:

Meghatározása a 2. bájtos karakterek végre az ASCII karakteres kódot:

Mivel a leírás a vonal csak 32 karaktert, és csak akkor frissítjük rögzíteni egy részét, annak érdekében, hogy elkerüljék a lemondás a „farok” kell állítani az összes többi szimbólum:

A $ r = 1 és 32 közötti-len ($ keyw_s)

Végül az utolsó érintés - a felvétel a megfelelő értékeket a rendszerleíró adatbázisban:

WriteValue ($ keyw_path + "" + $ ds_s + "\ _ LabelFromReg", "cache", $ t "REG_BINARY")

WriteValue ($ keyw_path + "" + $ ds_s + "\ _ LabelFromReg", "verzió", $ r_w1 + 1 "REG_DWORD")

WriteValue ($ keyw_path + "" + $ ds_s + "\ _ GVI", "verzió", $ r_w2 + 1 "REG_DWORD")

Ebben a példában azt végrehajtani kapacitású változat szakaszban _LabelFromReg és _GVI.

Most meg kell tanítani a forgatókönyvet, hogy meghatározzák, milyen operációs rendszer fut, és lesz kész egy leírást hálózati meghajtók.

Típusú rendszer különösen KIXTart alkalmazásával határoztuk @PRODUCTTYPE makró.

4. táblázat listája értékek visszatértek makró @ProductType

Kapcsolódó cikkek