MS
This commit is contained in:
@@ -540,6 +540,56 @@ Public Class ClassWindream
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
Public Shared Function GetWMSessionAsUser(Domain, ServerName, UserName, Password)
|
||||
Try
|
||||
Dim SessionAsUser
|
||||
Dim aConnect, aUserId, aSession
|
||||
|
||||
' Hilfsobjekte erschaffen, um eine Verbindung zum windream Server herzustellen
|
||||
' mit der gewünschten Benutzer-Identität
|
||||
aConnect = CreateObject("Windream.WMConnect")
|
||||
'Bei einer impersonifizierten Session ist zu beachten, dass die ModuleID 9 zu nutzen ist.
|
||||
'Wird keine Session-ID angegeben, hat die Session die ID 0 (‚Default‘).
|
||||
aConnect.ModuleId = 9
|
||||
If Err.Number <> 0 Then
|
||||
Dim msg = "Error in CreateObject (aConnect) - Err.Number: " & Err.Number & vbNewLine & Err.Description
|
||||
ClassLogger.Add(msg, True)
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
aUserId = CreateObject("WMOTool.WMUserIdentity")
|
||||
If Err.Number <> 0 Then
|
||||
Dim msg = "Error in CreateObject('WMOTool.WMUserIdentity') - Err.Number: " & Err.Number & vbNewLine & Err.Description
|
||||
ClassLogger.Add(msg, True)
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
aUserId.aDomain = Domain
|
||||
aUserId.aServerName = ServerName
|
||||
aUserId.aUserName = UserName
|
||||
aUserId.aPassword = Password
|
||||
|
||||
aSession = aConnect.Login(aUserId)
|
||||
|
||||
|
||||
If Err.Number <> 0 Then
|
||||
Dim msg = "Error in Connect.Login(aUserId) - Err.Number: " & Err.Number & vbNewLine & Err.Description
|
||||
ClassLogger.Add(msg, True)
|
||||
Return Nothing
|
||||
Else
|
||||
SessionAsUser = aSession
|
||||
If aSession.aLoggedin = True Then
|
||||
Return SessionAsUser
|
||||
End If
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Dim msg = "Unexpected Error in GetWMSessionAsUser: " & ex.Message
|
||||
ClassLogger.Add(msg, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
|
||||
End Function
|
||||
Public Shared Function Stream_File(ByVal filenameQuelle As String, ByVal zielpfad As String, Optional ImportAll As Boolean = False)
|
||||
Try
|
||||
aktWMObject = Nothing
|
||||
@@ -601,19 +651,29 @@ Public Class ClassWindream
|
||||
'==================================================================
|
||||
' create a session
|
||||
'==================================================================
|
||||
Session = CreateObject("Windream.WMSession", dmsServer)
|
||||
'Prüfen ob sich personifiziert angemeldet werden muss?
|
||||
If FAU_AD_USER <> "" Then
|
||||
Session = GetWMSessionAsUser(FAU_AD_DOMAIN, FAU_AD_SERVER, FAU_AD_USER, FAU_AD_USER_PW)
|
||||
Else
|
||||
Session = CreateObject("Windream.WMSession", dmsServer)
|
||||
End If
|
||||
'==================================================================
|
||||
' login session
|
||||
'==================================================================
|
||||
Connect.LoginSession(Session)
|
||||
Dim LoggedIn = Session.aLoggedin
|
||||
If LoggedIn Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Login ok. You are logged in as '" & Connect.UserName & "' on Server '" & dmsServer, False)
|
||||
'MsgBox("Login ok. You are logged in as '" + Connect.UserName + "' on Server '" + dmsServer + "'")
|
||||
Else
|
||||
ClassLogger.Add(">> Login on dms-Server failed", False)
|
||||
' MsgBox("Login failed. ")
|
||||
End If
|
||||
Try
|
||||
Connect.LoginSession(Session)
|
||||
Dim LoggedIn = Session.aLoggedin
|
||||
If LoggedIn Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Login ok. You are logged in as '" & Connect.UserName & "' on Server '" & dmsServer, False)
|
||||
'MsgBox("Login ok. You are logged in as '" + Connect.UserName + "' on Server '" + dmsServer + "'")
|
||||
Else
|
||||
ClassLogger.Add(">> Login on dms-Server failed", False)
|
||||
' MsgBox("Login failed. ")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add(">> Persionalized session - User is already logged in!'" & Err.Description & "'")
|
||||
End Try
|
||||
|
||||
Const WMCOMEventWMSessionNeedIndex = 1
|
||||
|
||||
'windream Objekte erstellen ohne Indexierungs-Event
|
||||
@@ -761,7 +821,7 @@ Public Class ClassWindream
|
||||
ClassLogger.Add(">> ATTENTION in Stream File - FileLength = 0, File " & CURRENT_FILEIN_WD & " will be imported")
|
||||
CURRENT_FILEIN_WD = vWLaufwerk & ":" & endgültigerDateiname
|
||||
CURRENT_FILEIN_WD = CURRENT_FILEIN_WD.Replace("\\", "\")
|
||||
|
||||
|
||||
'###
|
||||
ClassLogger.Add(">> File '" & CURRENT_FILEIN_WD & "' was imported.", False)
|
||||
aktWMObject = WMObject
|
||||
@@ -785,7 +845,7 @@ Public Class ClassWindream
|
||||
MsgBox("Unexpected Error in Stream File: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
Public Shared Function Delete_WDFile(ByVal WD_File As String)
|
||||
|
||||
Reference in New Issue
Block a user