محاضرة WSH العملية --- المحاضرة 2 إنشاء المستخدمين والأدلة والمواقع
الكاتب:Eve Cole
وقت التحديث:2009-05-30 19:53:49
المحاضرة الثانية: إنشاء المستخدمين والأدلة والمواقع
-------------------------------------------------- ----------------------------------
ستستخدم هذه المحاضرة ADSI، وهي واجهة خدمة Active Directory. يمكنك العثور على بعض المعلومات ذات الصلة على موقع 15Seconds.com.
1. قم بإنشاء مستخدم، يقوم التعليمة البرمجية التالية بإنشاء المستخدم user1 على الخادم المستقل الأبيض. كلمة المرور الأولية هي user1، ويتم استخدام ADSI.
شفرة:
-------------------------------------------------- ----------------------------------
اسم المستخدم خافت، UserPass Dim oDomain، oUser اسم المستخدم = "user1" UserPass = "user1" تعيين oDomain =
GetObject("WinNT://white") Set oUser = oDomain.Create ("user"، اسم المستخدم) إذا (err.number = 0) ثم
oUser.SetInfo oUser.SetPassword UserPass oUser.SetInfo آخر WScript.Echo "إنشاء مستخدم" & اسم المستخدم & "خطأ في حالة انتهاء تعيين oUser = لا شيء تعيين oDomain = لا شيء."
-------------------------------------------------- ----------------------------------
2. إنشاء دليل استخدم FileSystemObject لإنشاء دليل:
شفرة:
-------------------------------------------------- ----------------------------------
Dim FsObject Dim tmpFolder Set FsObject = WScript.CreateObject("Scripting.FileSystemObject")
tmpFolder = "D:userdateuser1" إذا لم يكن FsObject.FolderExists(tmpFolder) إذن
FsObject.CreateFolder(tmpFolder) إذا كان Err.Number<>0 ثم WScript.Echo "إنشاء دليل" وtmpFolder
& "الفشل!" نهاية إذا نهاية إذا
-------------------------------------------------- ----------------------------------
لاحظ أنه قبل إنشاء الدليل، تحقق مما إذا كان الدليل موجودًا أم لا، فلا داعي لإنشائه.
3. إنشاء موقع يعد الروتين الفرعي التالي مسؤولاً عن إنشاء موقع WWW. معنى كل معلمة هو: عنوان IP للموقع، ودليل جذر الموقع، ووصف الموقع، واسم المضيف، ورقم المنفذ، واسم الكمبيوتر (تم تغييره إلى LOCALHOST)، وما إذا كان سيتم ذلك. ابدأ فورًا، الحساب المستخدم للوصول المجهول، وكلمة مرور الحساب المستخدم للوصول المجهول، ودليل ملف السجل.
تقوم الدالة بإرجاع الرقم التسلسلي للموقع الذي تم إنشاؤه في IIS (في IIS، يتم ترقيم كافة المواقع بشكل تسلسلي، حيث يكون الأول هو 1).
مثال على المكالمة:
شفرة:
-------------------------------------------------- ----------------------------------
معرف الموقع=
ASTCreateWebSite"10.1.3.122"، "d:userdatauser1"، "www_user1"، "80"، "LocalHost"، True، "IUSR_user1"، "8iui%"
#"،"D:Logfiles")وظيفة ASTCreateWebSite(IPAddress, RootDirectory, ServerComment, HostName, PortNum,
الكمبيوتر، ابدأ، AnonymousUserName، AnonymousUserPass، LogFileDirectory) Dim w3svc، WebServer،
NewWebServer، NewDir Dim Bindings، BindingString، NewBindings، Index، SiteObj، bDone On Error
استئناف الخطأ التالي. مسح المجموعة w3svc = GetObject("IIS://" & Computer & "/w3svc") إذا
Err.Number <> 0 ثم WScript.Echo "لا يمكن فتح: "&"IIS://" & Computer & "/w3svc" & VbCrlf & "سيتم إنهاء WScript.Quit (1) إذا كان BindingString = IpAddress & quot; & رقم المنفذ & quot; &
اسم المضيف لكل خادم ويب في w3svc إذا كان WebServer.Class = "IIsWebServer" إذن
Bindings = WebServer.ServerBindings إذا BindingString = Bindings(0) ثم
WScript.Echo "تعارض عنوان IP:" & IpAddress & "، يرجى التحقق من عنوان IP!" & VbCrlf & "إلغاء إنشاء هذا الموقع."
إنهاء الدالة إذا انتهى إذا كان الفهرس التالي = 1 bDone = False
بينما (لم يتم) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/w3svc/" &
الفهرس) إذا كان (Err.Number = 0) فإن الفهرس = الفهرس + 1 آخر
Err.Clear Set NewWebServer = w3svc.Create("IIsWebServer"، الفهرس) إذا
(Err.Number <> 0) ثم الفهرس = الفهرس + 1 وإلا Err.Clear
تعيين SiteObj = GetObject("IIS://"&Computer&"/w3svc/" & Index) إذا
(Err.Number = 0) ثم bDone = True Else Index
= الفهرس + 1 النهاية إذا النهاية إذا النهاية إذا (الفهرس > 10000)
ثم WScript.Echo "يبدو أنه لا يمكن إنشاء الموقع. الرقم التسلسلي للموقع الذي يتم إنشاؤه هو: "&Index&"." & VbCrlf & "إلغاء إنشاء هذا الموقع." إنهاء الوظيفة إذا Wend NewBindings = Array( 0)
NewBindings(0) = BindingString NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment = ServerComment NewWebServer.AnonymousUserName = AnonymousUserName
NewWebServer.AnonymousUserPass = AnonymousUserPass NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = صحيح NewWebServer.EnableDefaultDoc = صحيح NewWebServer.DefaultDoc
= "Default.htm, Default.asp, Index.htm, Index.asp" NewWebServer.LogFileDirectory = LogFileDirectory
مجموعة NewWebServer.SetInfo NewDir = NewWebServer.Create("IIsWebVirtualDir"، "ROOT")
NewDir.Path = RootDirectory NewDir.AccessRead = صحيح NewDir.AppFriendlyName = "التطبيق" &
ServerComment NewDir.AppCreate True NewDir.AccessScript = True Err.Clear
NewDir.SetInfo إذا (Err.Number = 0) ثم WScript.Echo آخر "خطأ في إنشاء الدليل الرئيسي."
إنهاء إذا كانت البداية = True ثم Err.Clear Set NewWebServer = GetObject("IIS://"
& الكمبيوتر & "/w3svc/" & الفهرس) NewWebServer.Start إذا كان Err.Number <> 0 ثم
WScript.Echo "خطأ في بدء الموقع" Err.Clear Else End If End If
ASTCreateWebSite = وظيفة IndexEnd تقوم الوظيفة التالية بإنشاء موقع FTP: الوظيفة ASTCreateFtpSite(IPAddress,
RootDirectory، ServerComment، HostName، PortNum، Computer، Start، LogFileDirectory) Dim MSFTPSVC،
FtpServer، NewFtpServer، NewDir Dim Bindings، BindingString، NewBindings، Index، SiteObj، bDone
عند حدوث خطأ، استأنف الخطأ التالي. قم بمسح مجموعة MSFTPSVC = GetObject("IIS://" & Computer & "/MSFTPSVC")
إذا كان Err.Number <> 0، فإن WScript.Echo "لا يمكن فتح: "&"IIS://" & Computer & "/MSFTPSVC" & VbCrlf
& "سيتم إنهاء البرنامج." WScript.Quit (1) End If BindingString = IpAddress & ": "& PortNum
& ": " & HostName لكل FtpServer في MSFTPSVC إذا كان FtpServer.Class = "IIsFtpServer" ثم
Bindings = FtpServer.ServerBindings إذا BindingString = Bindings(0) ثم
WScript.Echo "تعارض عنوان IP:" & IpAddress & "، يرجى التحقق من عنوان IP!" & VbCrlf & "إلغاء إنشاء هذا الموقع."
الدالة End If End If Next Index = 1 bDone = False while
(لم يتم ذلك) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index)
إذا كان (Err.Number = 0) فإن الفهرس = الفهرس + 1 وإلا Err.Clear
تعيين NewFtpServer = MSFTPSVC.Create("IIsFtpServer"، الفهرس) إذا (Err.Number <>
0) ثم الفهرس = الفهرس + 1 آخر Err.Clear
تعيين SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index) إذا (Err.Number = 0)
ثم bDone = True Else Index = Index + 1
نهاية إذا نهاية إذا نهاية إذا (الفهرس> 10000) ثم
WScript.Echo "يبدو أنه لا يمكن إنشاء الموقع. الرقم التسلسلي للموقع الذي يتم إنشاؤه هو: "&Index&"." & VbCrlf & "إلغاء إنشاء هذا الموقع."
إنهاء وظيفة الخروج إذا Wend NewBindings = Array(0) NewBindings(0) =
BindingString NewFtpServer.ServerBindings = NewBindings NewFtpServer.ServerComment =
ServerComment NewFtpServer.AllowAnonymous = خطأ NewFtpServer.AccessWrite = صحيح
NewFtpServer.AccessRead = صحيح NewFtpServer.DontLog = خطأ NewFtpServer.LogFileDirectory =
تعيين LogFileDirectory NewFtpServer.SetInfo NewDir = NewFtpServer.Create
("IIsFtpVirtualDir"، "ROOT") NewDir.Path = RootDirectory NewDir.AccessRead = صحيح
Err.Clear NewDir.SetInfo إذا (Err.Number = 0) ثم WScript.Echo آخر "حدث خطأ أثناء إنشاء الدليل الرئيسي." End If Start = True ثم Err.Clear Set NewFtpServer =
GetObject("IIS://" & الكمبيوتر & "/MSFTPSVC/" & الفهرس) NewFtpServer.Start If
Err.Number <> 0 ثم WScript.Echo "خطأ في بدء تشغيل الموقع، Err.Clear آخر!"
End If End If ASTCreateFtpSite = وظيفة IndexEnd
-------------------------------------------------- ----------------------------------