Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Windows 7 Netzwerkdrucker mit Authentifizierung per Powershell hinzufügen

Frage Microsoft Windows 7

Mitglied: Coreknabe

Coreknabe (Level 2) - Jetzt verbinden

27.01.2011, aktualisiert 15:03 Uhr, 6112 Aufrufe, 4 Kommentare

Hallo,

folgendes Problem: Ich möchte vorhandene Netzwerkdrucker, die sich auf einem Windows 2003-Server befinden, für Windows 7-Clients bereitstellen. Nun ist es aber so, dass die Benutzer sich noch einmal authentifizieren müssen, um die Drucker nutzen zu können. Dafür habe ich das Skript unten gebastelt. Zusätzlich wird das Passwort noch unsichtbar eingegeben und es erfolgt eine Fehlerabfrage.


01.
@echo off 
02.
cls 
03.
echo. 
04.
echo. 
05.
echo. 
06.
echo  
07.
echo  
08.
echo #               ANMELDUNG AM DRUCKERKONTO               # 
09.
echo  
10.
echo 
11.
echo. 
12.
echo. 
13.
set /p matnr=Bitte die Benutzerkennung eingeben:   
14.
echo. 
15.
echo. 
16.
echo PASSWORT-EINGABE ERFOLGT UNSICHTBAR ! 
17.
echo. 
18.
echo. 
19.
set "GetPW=%temp%\GetPW.vbs"  
20.
echo WScript.Echo CreateObject("ScriptPW.Password").GetPassword()>"%GetPW%"  
21.
echo Bitte Passwort eingeben: 
22.
for /f "delims=" %%i in ('cscript //nologo "%GetPW%"') do set "Pass=%%i"  
23.
del "%GetPW%" 
24.
echo. 
25.
echo. 
26.
net use lpt2: \\SERVER\DRUCKER /user:xxx\%matnr% %Pass% /persistent:no 
27.
echo. 
28.
echo. 
29.
if %errorlevel% == 0 echo 
30.
if %errorlevel% == 0 echo  
31.
if %errorlevel% == 0 echo ### VERBINDUNG OK, DRUCKER KOENNEN ### 
32.
if %errorlevel% == 0 echo ###     JETZT GENUTZT WERDEN                       ### 
33.
if %errorlevel% == 0 echo 
34.
if %errorlevel% == 0 echo 
35.
if %errorlevel% == 2 echo 
36.
if %errorlevel% == 2 echo 
37.
if %errorlevel% == 2 echo !!! FEHLER, BITTE ERNEUT AN WINDOWS ANMELDEN     !!! 
38.
if %errorlevel% == 2 echo  
39.
if %errorlevel% == 2 echo  
40.
echo. 
41.
echo. 
42.
set Pass= 
43.
pause

Für Windows 7 habe ich schon mal dies gefunden, um die gemappten Drucker auszuwählen.:

01.
# PowerShell add share printer 
02.
# Author: Guy Thomas 
03.
$PrinterPath = "\\Server\PrintShare" 
04.
$net = new-Object -com WScript.Network 
05.
$net.AddWindowsPrinterConnection($PrinterPath)
Hier fehlt mir allerdings noch der Code, wo die Benutzer Ihre Kennung und Ihr Passwort eingeben können. Hat jemand ne Idee, wie man das mmit der Powershell macht? Bei Eingabe des Kennworts soll nichts bzw. Sternchen o.ä. erscheinen, wie im Batch oben. Und die Anzeige von Fehlern wäre ebenfalls fein...
Mitglied: dog
27.01.2011 um 15:33 Uhr
Vielleicht solltest du erst AddPrinterConnection() aufrufen, dann sollte sich Windows die Login-Daten merken.
Bitte warten ..
Mitglied: Coreknabe
27.01.2011 um 15:38 Uhr
Funktioniert nicht, weil die mit einer anderen Userkennung ins System kommen.

Um es vielleicht noch einmal etwas zu verdeutlichen: Es stehen Systeme für ALLE bereit. Die Anmeldung an Windows erfolgt mit einem Benutzer der sehr eingeschränkte bis gar keine Rechte hat. Die nötigen Rechte wie z.B. fürs Drucken, müssen erst durch Eingabe der personenbezogenen Kennung und Passwort erlangt werden. Single-Sign-On geht also leider nicht.

Die Drucker sind im System schon vorhanden, nur hat der User, der als Default eingeloggt wird, keine Berechtigungen, diese auch zu nutzen.
Bitte warten ..
Mitglied: Coreknabe
28.01.2011 um 15:34 Uhr
Abfrage von Benutzername und Passwort habe ich umgesetzt, jetzt fehlt mir noch die Info, wie ich die Anmeldedaten an den Netzwerkdrucker knüpfe, mit dem ich drucken will... Sahnehäubchen wäre die Fehlerabfrage (verbunden oder nicht).

Das ist der Code für die Abfrage der Nutzerdaten:

01.
$user=Read-Host -Prompt "Bitte geben Sie Ihren Benutzernamen ein" 
02.
$password=Read-Host -Prompt "Bitte geben Sie Ihr Kennwort ein" -AsSecureString
Bitte warten ..
Mitglied: Coreknabe
07.02.2011 um 14:15 Uhr
Problem gelöst, der komplette Code für alle Interessierten:

01.
$matnr=Read-Host -Prompt "     Bitte geben Sie Ihren Benutzernamen ein" 
02.
write-host "" 
03.
$password=Read-Host -Prompt "     Bitte geben Sie Ihr Kennwort ein" -AsSecureString 
04.
write-host "" 
05.
$pwcl=[System.Runtime.InteropServices.marshal]::PtrToStringAuto([System.Runtime.InteropServices.marshal]::SecureStringToBSTR($password)) 
06.
 
07.
#Credentials an Netzwerkdrucker übergeben und verbinden 
08.
net use lpt2: \\SERVER\DRUCKER /user:DOMÄNE\$matnr $pwcl /persistent:no 
09.
 
10.
#Laden benoetigter Bibliotheken fuer Rueckmeldungen 
11.
$bib="" 
12.
$bib=[reflection.assembly]::LoadWithPartialName("System.Windows.Forms") 
13.
 
14.
#Auswertung Exitcodes und Anzeige Rueckmeldungen 
15.
if ($lastexitcode -eq 0) 
16.
17.
    [System.Windows.Forms.Messagebox]::Show("Verbindung OK!  
18.
    Die Drucker können jetzt genutzt werden.",("Druckerkonto") ) 
19.
20.
 
21.
else 
22.
23.
    [System.Windows.Forms.Messagebox]::Show("   Verbindung fehlgeschlagen!  
24.
    Haben Sie Benutzernamen und Passwort korrekt eingegeben?  
25.
    Beachten Sie auch den Fehlertext in der Eingabemaske. 
26.
    Bitte versuchen Sie es erneut.",("Druckerkonto") ) 
27.
}
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
Windows 2012 Terminalserver Authentifizierung auf Netzwerkebene

Frage von timbow zum Thema Windows Server ...

Windows 10
Windows 10 - GPO Verhindern "Konto hinzufügen" (3)

Frage von 121302 zum Thema Windows 10 ...

Windows Server
gelöst Zusätzlichen Windows Server 2012R2 Domänencontroller hinzufügen (5)

Frage von Mar-west zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (15)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...