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

Benutzerverzeichnis, trotz der Ausführung eines anderen Users - Ist das möglich?

Frage Entwicklung Batch & Shell

Mitglied: netgearsdk

netgearsdk (Level 1) - Jetzt verbinden

15.07.2013, aktualisiert 16.07.2013, 1887 Aufrufe, 10 Kommentare, 1 Danke

Hallo zusammen,


Ich möchte eine Batch Datei schreiben, welche auf das Benutzerverzeichnis "C:\Users\HansPeter\Desktop" zugreifen soll.
Das Problem ist jedoch, dass ich diese Batch Datei über unseren Software Verteiltool als Domain Administrator ausgeführt wird.
Wenn ich im Batch auf die Variable %username% zugreifen möchte, nimmt er mir den User Name vom den Domain Administrator.

Ist es möglich im Batch, trotz der Ausführung des Domain Administrators, auf das das Benutzerverzeichnis vom angemeldenten user zuzugreifen.

Ich möchte schlussendlich Files im Userverzeichnis vom angemeldeten User kopieren.

Vielen Dank bereits im Voraus!
Mitglied: bastla
15.07.2013 um 17:37 Uhr
Hallo netgearsdk!

Das Einzige, was mir trotz Deiner ausführlichen Problembeschreibung dazu einfiele, wäre:
xcopy "C:\Users\%User%\*" "D:\%test%\"
Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.07.2013 um 21:03 Uhr
[OT]
Moin bastla,

hmmja, rate mal, was das Einzige war, das mir zu diesem Beitrag einfiel...

Aber dann dachte ich: Hey, der hat doch noch Potential...

Aber es war ganz, ganz knapp vor einer Spontanreaktion..

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: netgearsdk
16.07.2013 um 09:51 Uhr
Hallo @bastla

Tut mir leid, ich habe die Frage ausführlicher formuliert.
Hoffe jetzt ist meine Frage klar.

Danke & Gruß
Bitte warten ..
Mitglied: Invisan
16.07.2013, aktualisiert um 10:53 Uhr
Hi Netgear das sollte mit dem Befehl

wmic computersystem get UserName gehen.


Output sieht dann ungefähr so aus


UserName
Domäne\meinnormaleruser

whoami
Domäne\meinadminuser


Hier nochmal nen kleiner Codeschnipsel dazu.


01.
 
02.
@echo off &setlocal 
03.
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do ( 
04.
  set "t=%%a" 
05.
  setlocal enabledelayedexpansion 
06.
  echo User: !t! 
07.
08.
 
Bitte warten ..
Mitglied: bastla
16.07.2013 um 11:00 Uhr
@ Invisian
Gute Lösung ...

[Etwas OT]
Die Zuweisung an eine "gewöhnliche" Variable (im Beispiel: %t%) ist nur dann sinnvoll, wenn Du Teistrings bilden willst, die sich nicht per Delimiter trennen lassen (etwa die ersten 3 Zeichen ermitteln) - ansonsten kannst Du einfach die Schleifenvariable (hier: %%a) verwenden:
01.
@echo off &setlocal 
02.
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do echo User: %%a
[/Etwas OT]

Grüße
bastla
Bitte warten ..
Mitglied: Invisan
16.07.2013 um 11:10 Uhr
Zitat von bastla:
@ Invisian
Gute Lösung ...

[Etwas OT]
Die Zuweisung an eine "gewöhnliche" Variable (im Beispiel: %t%) ist nur dann sinnvoll, wenn Du Teistrings bilden
willst, die sich nicht per Delimiter trennen lassen (etwa die ersten 3 Zeichen ermitteln) - ansonsten kannst Du einfach die
Schleifenvariable (hier: %%a) verwenden:
01.
@echo off &setlocal 
02.
> for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do echo User: %%a 
03.
> 
[/Etwas OT]

Grüße
bastla


Hi bastla,

danke für die Info. Was for schleifen etc angeht stehe ich noch am Anfang und benutze einfach das was ich in anderen BAT Files finde und für nützliche halte. Dementsprechend bleiben da dann halt auch ab und zu Sachen über die nicht unbedingt nötig sind ^^


Mfg Invi
Bitte warten ..
Mitglied: netgearsdk
16.07.2013, aktualisiert um 11:41 Uhr
Hallo bastla
Hallo Invisa

Vielen Dank für eure Antworten!
Jedoch möchte ich z.b. einen Ordner im Benutzerverzeichnis erstellen.

01.
@echo off &setlocal 
02.
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do echo User: %%a 
03.
mkdir "C:\Users\%%a\Downloads\test" 
04.
pause
Er nimmt im Pfad die Variable nicht an.
In anderen Programmiersprachen kann man ja den Pfad / String unterbrechen und mit & Variable & hinzufügen und anschliessend den Rest des Pfads eingeben. Wie ist das im Batch möglich?
Besten Dank!
Bitte warten ..
Mitglied: bastla
16.07.2013, aktualisiert um 13:37 Uhr
Hallo netgearsdk!

Was Du möchtest wäre ja eher
01.
@echo off &setlocal 
02.
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do ( 
03.
    echo User: %%a 
04.
    md "C:\Users\%%a\Downloads\test" 
05.
06.
pause
bzw ohne die Ausgabe einfach
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do md "C:\Users\%%a\Downloads\test"
Die Schleifenvariable %%a steht nur innerhalb der Schleife zur Verfügung - wenn der Wert auch außerhalb der Schleife benötigt wird, könntest Du ihn tatsächlich einer anderen Variablen zuweisen:
01.
@echo off &setlocal 
02.
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do set "User=%%a" 
03.
echo User: %User% 
04.
md "C:\Users\%User%\Downloads\test" 
05.
pause
Grüße
bastla
Bitte warten ..
Mitglied: Invisan
16.07.2013 um 14:48 Uhr
Zitat von bastla:
Hallo netgearsdk!

Was Du möchtest wäre ja eher
01.
@echo off &setlocal 
02.
> for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do ( 
03.
>     echo User: %%a 
04.
>     md "C:\Users\%%a\Downloads\test" 
05.
> ) 
06.
> pause 
07.
> 
bzw ohne die Ausgabe einfach
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do 
> md "C:\Users\%%a\Downloads\test" 
> 
Die Schleifenvariable %%a steht nur innerhalb der Schleife zur Verfügung - wenn der Wert auch außerhalb der Schleife
benötigt wird, könntest Du ihn tatsächlich einer anderen Variablen zuweisen:
01.
@echo off &setlocal 
02.
> for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do set "User=%%a" 
03.
> echo User: %User% 
04.
> md "C:\Users\%User%\Downloads\test" 
05.
> pause 
06.
> 
Grüße
bastla



Hi Bastla,

super Arbeit da warst du ein wenig schneller als ich ^^ Allerdings ist da noch nen kleiner Fehler drin. Die Ausgabe der WMIC erhält standardmäßig so wies aussieht ein Leerzeichen am Ende. Dieses hast du beim delimiter nicht angegeben. Solange das Leerzeichen vom Delimiter nicht ausgenommen wird scheint es zu Fehlern zu kommen. Das obere Skript setzt dann Downloads\test nach vorne und danach die hälfte des Usernamens. Das untere Skript enthält dann das überflüssige Leerzeichen und funktioniert damit als Befehl dann auch nicht.


Mfg Invi
Bitte warten ..
Mitglied: netgearsdk
18.07.2013, aktualisiert um 15:51 Uhr
Hallo zusammen
@Invisan
@bastla

Danke euch beiden.
Ich habe das Problem folgendermassen gelöst:

01.
@echo off &setlocal 
02.
for /f "tokens=2 delims=\" %%a in ('wmic computersystem get Username') do set "User=%%a" 
03.
echo User: %User% 
04.
set str=%User: =% 
05.
echo "C:\Users\%str%\Downloads\test" 
06.
pause

Vielen Dank nochmals....
MFG
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Java Ausführung nur als lokaler Admin möglich?
gelöst Frage von crack24Windows Userverwaltung1 Kommentar

Hallo, ich habe hier eine Mitarbeiterin, die über ein Java Applet von der IHK Website diverse Azubi Anmeldungen erledigen ...

Batch & Shell
Probleme bei der Ausführung eines VB-Scriptes
Frage von AuricGoldfingerBatch & Shell1 Kommentar

Hallo zusammen, ich habe folgendes Script geschrieben: Leider bekomme ich bei der Ausführung den Fehler Was mache ich falsch?? ...

KiXtart
Kixtart, Problem mit der Ausführung
Frage von Dominik86KiXtart3 Kommentare

Guten Tag an alle, ich habe ein kleines Problem. Ich soll für einen bestimmten Ordner eine automatische Überwachung erstellen. ...

Xenserver
Ordnerunleitung für funktionierende Programm Ausführung
gelöst Frage von Hans3003Xenserver1 Kommentar

Hallo Zusammen, Habe ne Frage zur Ordnerumleitung, hier mein SYstem: Xenserver 6.5 mit XenDesktop 7.6 und 4x Windows Server ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 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 2 TagenDSL, VDSL2 Kommentare

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

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell18 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Windows 10
Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App
Tipp von kgbornWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...