Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Beim Login auf Unterverzeichnis im Benutzerverzeichnis prüfen und dieses ggf. anlegen

Frage Microsoft Windows Netzwerk

Mitglied: mhard666

mhard666 (Level 1) - Jetzt verbinden

14.01.2012 um 18:36 Uhr, 6264 Aufrufe, 4 Kommentare

Wir haben unsere Druck- und Kopiertechnik ausgetauscht und durch netzwerkfähige Geräte ersetzt. Diese können auch auf eine Netzwerkfreigabe scannen. Um nicht für zig Benutzer ein Scan-Verzeichnis von Hand einzurichten, möchte ich per Loginscript bei der Benutzeranmeldung prüfen, ob im Benutzerverzeichnis ein Unterverzeichnis "scan" existiert, dieses ggf. anlegen und einem Scan-Benutzer auf dieses Verzeichnis Schreibrechte geben.

Hallo allerseits.

Die Zielstellung habe ich oben bereits geschildert.

Die Anwendungsumgebung ist eine Win2k8R2-Domäne mit W2k3 Server und W2k8R2 Server als Fileserver und WXPPro und Win7Pro als Clientsysteme.

Die Benutzerverzeichnisse sind die im AD hinterlegten Basisverzeichnisse, welche bei der Anmeldung des Users als Laufwerk Z gemappt werden.

Mein grundlegendes Problem ist, dass ich nicht einfach per Loginscript (Batch) prüfen kann, ob ein Verzeichnis "\\SERVER\Benutzerverzeichnisse\%username%\scan" existiert, da das Benutzerverzeichnis (Basisordner im AD) nicht zwangsläufig "\\SERVER\Benutzerverzeichnisse\%username%" ist.

Ich müsste also auf den AD-Eintrag für das Basisordner zugreifen können, nur erschließt sich mir nicht, wie ich das anstellen kann. Per Batch fällt wohl aus. Meine Vorstellung wäre per kix, vbs oder AutoIT. Mit kix hab ich einige Erfahrung, nur wüsste ich nicht ob und wie ich den Basisordner des Users damit ermitteln kann. Mit vbs oder AutoIT lässt sich soetwas sicher realisieren, nur fehlt mir da wiederum die Erfahrung.

Hat wer eine ähnliche Lösung implementiert, oder eine Idee diesbezüglich, und/oder ein Code-Schnipsel das mir weiterhilft? Vielleicht denke ich ja auch zu kompliziert

Vielen Dank schon mal.

VG mhard666
Mitglied: bastla
14.01.2012 um 21:21 Uhr
Hallo mhard666!

Wenn doch ohnehin für alle Benutzer Laufwerk Z: gilt, sollte doch eigentlich
md Z:\Scan
bzw wenn der Batch sichtbar ablaufen sollte
md Z:\Scan 2>nul
genügen ...

Als Alternative (zum Testen in der CMD-Shell, daher nur "%i" anstatt "%%i"):
for /f "tokens=3" %i in ('net use^|findstr "Z:"') do @echo md "%i\Scan"
Fall es doch serverseitig sein sollte, könnte das etwa (als Direkteingabe in der CMD-Shell und ebenfalls mit einem "Sicherheits-echo" vor dem "md") so gehen:
for /f "tokens=2*" %i in ('dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User))" -attr sAMAccountName distinguishedName homeDirectory -limit 0') do @if "%~j" neq "" echo @md "%~j\Scan"
wobei anstelle von "domainroot" natürlich auch eine bestimmte OU als Startpunkt festgelegt werden kann ...

Grüße
bastla
Bitte warten ..
Mitglied: gemini
14.01.2012 um 22:26 Uhr
Hallo mhard666,

eine Skizze für eine VBS-Lösung:
01.
Set objSysInfo = CreateObject("ADSystemInfo") 
02.
Set objUser = GetObject("LDAP://objSysInfo.UserName") 
03.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
04.
strHomeDirectory = objUser.homeDirectory 
05.
If Not objFSO.FolderExists(strHomeDirectory & "\Scan") Then objFSO.CreateFolder(strHomeDirectory & "\Scan")
Hier eine Auflistung der Attribute für AD User (Windows 2000 / Windows 2003)

Gruß,
gemini
Bitte warten ..
Mitglied: mhard666
17.01.2012 um 15:54 Uhr
Hi,

Danke erstmal.

@gemini

die VBS Lösung gefällt. Ein klitzekleiner Fehler ist allerdings drin: Zeile 2 muss lauten:

01.
Set objUser = GetObject("LDAP://"+objSysInfo.UserName)
@bastla

Die Überlegung auf Laufwerk Z: zu testen hatte ich auch. Zugegebenermaßen ist bei uns die Laufwerkszuweisung nicht so ganz konsequent umgesetzt. Manche User haben kein Benutzerlaufwerk gemappt, bei einigen ist es ein anderer Laufwerksbuchstabe. Von daher bevorzuge ich die vbs-Version.

Gruß, mhard666
Bitte warten ..
Mitglied: mhard666
24.02.2012 um 08:55 Uhr
Hi,

bevor ich den Beitrag als gelöst markiere, poste ich noch mal die letztlich umgesetzte Lösung.
Zielstellung war, aus dem AD das HomeDir auszulesen, wenn es existiert den Scan-Ordner anzulegen und dem Scan-User entsprechende Berechtigungen auf den Scan-Ordner zuzuweisen. Das ganze soll beim Login des Benutzers passieren.
Der Erste Teil (HomeDir auslesen und Ordner anlegen) geht fantastisch mit der o.g. VBS-Variante, für die Zuweisung der Benutzerrechte muss aber auf externe Tools zurückgegriffen werden. Diese sind entweder kostenpflichtig oder erwarten das Passwort im Klartext, was keine Option darstellt. Aus diesem Grund habe ich für die Umsetzung auf AutoIt zurückgegriffen.

Hier das Script:

01.
;*************************************************** 
02.
; File:    chk_scandir.au3 
03.
04.
;*************************************************** 
05.
 
06.
#include <String.au3> 
07.
 
08.
$strEncPassword = "ein geheimer text :-)" 
09.
$intEncrypt = 0 
10.
$strUser = _StringEncrypt($intEncrypt, "hier steht der verschlüsselte Benutzername...", $strEncPassword) 
11.
$strPassword = _StringEncrypt($intEncrypt, "hier steht das verschlüsselte Passwort...", $strEncPassword) 
12.
$strDomain = _StringEncrypt($intEncrypt, "hier steht die verschlüsselte Domäne...", $strEncPassword) 
13.
 
14.
$strHomeDirectory = "" 
15.
$strScanDirectory = "" 
16.
 
17.
$objSysInfo = ObjCreate("ADSystemInfo") 
18.
$String = "User name: " & $objSysInfo.UserName 
19.
$objUser = ObjGet("LDAP://"& $objSysInfo.UserName) 
20.
$strHomeDirectory = $objUser.homeDirectory 
21.
 
22.
If $strHomeDirectory <> "" Then 
23.
	If FileExists($strHomeDirectory) Then 
24.
		$strScanDirectory = $strHomeDirectory & "\scan" 
25.
;		=== Wenn nicht existiert Ordner anlegen 
26.
		If Not FileExists($strScanDirectory) Then DirCreate($strScanDirectory) 
27.
 
28.
;		=== Erneut prüfen, wenn existiert Berechtigungen setzen 
29.
		If FileExists($strScanDirectory) Then 
30.
			If RunAs ( $strUser, $strDomain, $strPassword, 2, "CACLS " & $strScanDirectory & " /E /C /G scanuser@myhome.local:C" ) = 0 Then 
31.
				Msgbox(0,"Shell Windows","Fehler beim setzen der Zugriffsrechte") 
32.
			EndIf 
33.
		EndIf 
34.
	Else 
35.
		Msgbox(0,"Shell Windows","Homedirectory " & $strHomeDirectory & "existiert nicht") 
36.
	EndIf 
37.
Else 
38.
	Msgbox(0,"Shell Windows","Kein Homedirectory") 
39.
EndIf 
40.
 


Scanuser, Benutzer, Passwort und Domäne sind fiktive Daten und entsprechend anzupassen.
Benutzer, Passwort und Domäne sind die mit $EncPassword verschlüsselten Werte.

Vielleicht hat noch jemand Verwendung dafür. Fragen und Anregungen sind jederzeit willkommen.

VG. mhard666
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Unterverzeichnis für Unterverzeichnis via Batch-Datei durchsuchen
gelöst Frage von dhc-beaverBatch & Shell4 Kommentare

Hallo Forum. Obgleich es viele Werkzeuge gibt, um Bilder von 5MP-Handykameras kleiner zu machen, scheitert man an der Faulheit ...

Batch & Shell
Unterverzeichnis löschen
gelöst Frage von sanaitBatch & Shell4 Kommentare

Moin Moin, echo off rmdir /s /Q D:\Transfer\ diese Batch löscht ja das gesamte Verzeichnis inklusive des Ordners Transfer. ...

Batch & Shell
Unterverzeichnis zählen
gelöst Frage von karla123Batch & Shell20 Kommentare

Hallo liebes Forum, ich habe ein Problem und möchte Euch bitten mir zu helfen. Benötigt wird ein Batch mit ...

Webentwicklung
Htaccess - Umleitung von Unterverzeichnis auf Subdomain
gelöst Frage von 124895Webentwicklung6 Kommentare

Hallo! Folgende Situation: Ich habe mehrere Domains. z.B. hauptdomain1.at , domain2.at , domain3.at und habe eine Subdomain angelegt, über ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 4 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 8 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 8 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 12 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...