8
0

Anlage des Repos

This commit is contained in:
2024-01-24 16:42:38 +01:00
commit 38d6a271c4
1785 changed files with 3051496 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
function Add-Credentials {
param(
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$Server,
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$Username,
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$Password
)
$code = @"
[DllImport("Advapi32.dll", SetLastError=true, EntryPoint="CredWriteW", CharSet=CharSet.Unicode)]
public static extern bool CredWrite([In] ref Credential userCredential, [In] UInt32 flags);
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct Credential
{
public UInt32 flags;
public UInt32 type;
public IntPtr targetName;
public IntPtr comment;
public System.Runtime.InteropServices.ComTypes.FILETIME lastWritten;
public UInt32 credentialBlobSize;
public IntPtr credentialBlob;
public UInt32 persist;
public UInt32 attributeCount;
public IntPtr Attributes;
public IntPtr targetAlias;
public IntPtr userName;
}
"@
Add-Type -MemberDefinition $code -Namespace "ADVAPI32" -Name 'Util'
$cred = New-Object ADVAPI32.Util+Credential
$cred.flags = 0
$cred.type = 2
$cred.targetName = [System.Runtime.InteropServices.Marshal]::StringToCoTaskMemUni($Server)
$cred.userName = [System.Runtime.InteropServices.Marshal]::StringToCoTaskMemUni($username)
$cred.attributeCount = 0
#Erhalten der Credentials: 1 = Session / 2 = Local Machine / 3 = Enterprise
$cred.persist = 3
$cred.credentialBlobSize = [System.Text.Encoding]::Unicode.GetBytes($Password).length
$cred.credentialBlob = [System.Runtime.InteropServices.Marshal]::StringToCoTaskMemUni($Password)
$result = [ADVAPI32.Util]::CredWrite([ref]$cred,0)
return $result
}
Add-Credentials -Server '172.24.11.14' -Username 'digitaldata\KammM' -Password 'LmaA'

View File

@@ -0,0 +1,217 @@
@ECHO OFF
TITLE DIGITAL DATA - ThinClient Steuerungsskript
ECHO Stapelverarbeitungsprogramm
ECHO ThinClient Steuerungsskript
ECHO -
ECHO Digital Data
ECHO Ludwig-Rinn-Strasse 16
ECHO 35452 Heuchelheim
ECHO Tel.: 0641 / 202360
ECHO E-Mail: info@didalog.de
ECHO -
ECHO Version 2.1.0
ECHO Letzte Aktualisierung: 01.11.2012
REM --------------------------------------------------------------
REM Definition der Variablen.
SET RDSSrv01=192.168.0.1
IF "%1"=="" GOTO RDSSrv01_KeinParameterAufruf
SET RDSSrv01=%1
:RDSSrv01_KeinParameterAufruf
SET RDSSrv02=192.168.0.2
IF "%2"=="" GOTO RDSSrv02_KeinParameterAufruf
SET RDSSrv02=%2
:RDSSrv02_KeinParameterAufruf
SET RDSSrv03=192.168.0.3
IF "%3"=="" GOTO RDSSrv03_KeinParameterAufruf
SET RDSSrv03=%3
:RDSSrv03_KeinParameterAufruf
SET ThinClient=%CD%
SET LokalerAdministrator=Administrator
SET DienstProgramm1Starten=1
SET DienstProgramm1Pfad=%ThinClient%
SET DienstProgramm1Datei=ThinClient_Benutzereinstellungen.cmd
SET DienstProgramm2Starten=0
SET DienstProgramm2Pfad="Pfad"
SET DienstProgramm2Datei=.exe
SET DienstProgramm3Starten=0
SET DienstProgramm3Pfad="Pfad"
SET DienstProgramm3Datei=.exe
SET IPTest=-1
SET IPTest_Versuche=30
SET RDSTest=0
SET RDSTest_Versuche=30
REM --------------------------------------------------------------
REM --------------------------------------------------------------
ECHO -
ECHO Ermittle ob IP-Tests und Dienstprogramme aufgerufen werden sollen.
IF "%4"=="" ECHO Standard-Start wird eingeleitet. IP-Tests und Dienstprogramme werden aufgerufen.
IF "%4"== start_RDSTest ECHO IP-Tests und Dienstprogramme werden nicht erneut aufgerufen. && goto %4
IF ThinClient_AdministratorBetrieb == "%4" ECHO Starte ohne vorhergehenden Test, direkt in den Administrator-Modus. && goto %4
IF ThinClient_BenutzerBetriebt == "%4" ECHO Starte ohne vorhergehenden Test, direkt in den Benutzer-Modus && goto %4
IF shutdown_geplant == "%4" ECHO Gehe direkt zum geplanten Herunterfahren des ThinClients. && goto %4
IF shutdown_ungeplant == "%4" ECHO Gehe direkt zum ungeplanten Herunterfahren des ThinClients. && goto %4
IF NOT "%4"=="" ECHO Sprungmarke "%4" wird angesteuert. && goto %4
REM --------------------------------------------------------------
REM --------------------------------------------------------------
ECHO -
ECHO Ermittle das aktuell angemeldete Benutzerkonto.
IF %username% == %LokalerAdministrator% goto ThinClient_AdministratorBetrieb
IF NOT %username% == %LokalerAdministrator% goto ThinClient_BenutzerBetrieb
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:ThinClient_AdministratorBetrieb
ECHO -
ECHO Starte ThinClient im Administrator-Modus.
ECHO Notwendige Anpassungen in der Windows Registry werden vollzogen.
IF EXIST "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg" del "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg"
reg export "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg"
if not %ERRORLEVEL% == 0 ECHO Registry Sicherung kann nicht erstellt werden, wechsle in den Benutzer Betrieb. && goto ThinClient_BenutzerBetrieb
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v Shell /t REG_SZ /d "explorer.exe" /F
ECHO -
ECHO Starte umfassendes Benutzer-Interface.
start "" /D "%ThinClient%" ThinClient_AdministratorBetrieb_Hinweis.vbs
userinit
start explorer.exe /e, "%ThinClient%"
ECHO -
ECHO Anpassungen in der Windows Registry werden wiederrufen.
reg import "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg"
exit
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:ThinClient_BenutzerBetrieb
ECHO -
ECHO Starte ThinClient im Benutzer-Modus.
REM --------------------------------------------------------------
REM --------------------------------------------------------------
if %DienstProgramm1Starten% == 1 ECHO - && ECHO Starte Hintergrund Dienstprogramm Nr 1.
if %DienstProgramm1Starten% == 1 (start "DienstProgramm1" /D "%DienstProgramm1Pfad%" /min %DienstProgramm1Datei%)
REM --------------------------------------------------------------
REM --------------------------------------------------------------
if %DienstProgramm2Starten% == 1 ECHO - && ECHO Starte Hintergrund Dienstprogramm Nr 2.
if %DienstProgramm2Starten% == 1 (start "DienstProgramm2" /D "%DienstProgramm2Pfad%" /min %DienstProgramm2Datei%)
REM --------------------------------------------------------------
REM --------------------------------------------------------------
if %DienstProgramm3Starten% == 1 ECHO - && ECHO Starte Hintergrund Dienstprogramm Nr 3.
if %DienstProgramm3Starten% == 1 (start "DienstProgramm3" /D "%DienstProgramm3Pfad%" /min %DienstProgramm3Datei%)
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:start_IPTest1
ECHO -
ECHO Ermittle ob lokaler ThinClient eine IP Adresse bezogen hat (Windows ab Vista).
if /I %IPTest% GEQ %IPTest_Versuche% goto shutdown_ungeplant
for /F "tokens=12,*" %%i in ('ipconfig^|find "IPv4-Adresse"') do SET IPAdresse=%%j
Ping -n 1 %IPAdresse%>NUL
if %ERRORLEVEL% == 0 ECHO IPv4-Eintrag gefunden. && (SET /a IPTest=%IPTest%+1) && goto start_RDSTest
if %ERRORLEVEL% == 1 (SET /a IPTest=%IPTest%+1) && ECHO Kein IPv4-Eintrag gefunden, ggf. ist dies ein Windows XP OS. && goto start_IPTest2
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:start_IPTest2
ECHO Ermittle ob lokaler ThinClient eine IP Adresse bezogen hat (Windows bis XP).
if /I %IPTest% GEQ %IPTest_Versuche% goto shutdown_ungeplant
for /F "tokens=13,*" %%i in ('ipconfig^|find "IP-Adresse"') do SET IPAdresse=%%j
Ping -n 1 %IPAdresse%>NUL
if %ERRORLEVEL% == 0 ECHO IP-Eintrag gefunden, fahre fort. && goto start_RDSTest
if %ERRORLEVEL% == 1 (SET /a IPTest=%IPTest%+1) && goto start_IPTest1
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:start_RDSTest
if %RDSTest% == %RDSTest_Versuche% goto shutdown_ungeplant
ECHO -
ECHO Starte Verbindungsversuch(e) zum RDS-Server(n).
ECHO -
REM --------------------------------------------------------------
REM --------------------------------------------------------------
ECHO Ermittle ob der erster RDS-Server erreichbar ist.
Ping -n 1 %RDSSrv01%>NUL
if %ERRORLEVEL% == 0 SET RDSSrv=%RDSSrv01% && ECHO Erster RDS-Server ist erreichbar. && goto connect_RDSSrv
if not %ERRORLEVEL% == 0 ECHO Erster RDS-Server ist nicht erreichbar.
ECHO -
REM --------------------------------------------------------------
REM --------------------------------------------------------------
ECHO Ermittle ob der zweiter RDS-Server erreichbar ist.
ping -n 1 %RDSSrv02%>NUL
if %ERRORLEVEL% == 0 SET RDSSrv=%RDSSrv02% && ECHO Zweiter RDS-Server ist erreichbar. && goto connect_RDSSrv
if not %ERRORLEVEL% == 0 ECHO Zweiter RDS-Server ist nicht erreichbar.
ECHO -
REM --------------------------------------------------------------
REM --------------------------------------------------------------
ECHO Ermittle ob der dritte RDS-Server erreichbar ist.
ping -n 1 %RDSSrv03%>NUL
if %ERRORLEVEL% == 0 SET RDSSrv=%RDSSrv03% && ECHO Dritter RDS-Server ist erreichbar. && goto connect_RDSSrv
if not %ERRORLEVEL% == 0 ECHO Dritter RDS-Server ist nicht erreichbar.
ECHO -
REM --------------------------------------------------------------
REM --------------------------------------------------------------
ECHO Es konnte keine Verbindung zu einem RDS-Server hergestellt werden.
if not %ERRORLEVEL% == 0 (SET /a RDSTest=%RDSTest%+1) && ECHO Wiederhole Verbindungsversuch(e) zum RDS-Server(n). && goto start_RDSTest
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:connect_RDSSrv
ECHO Die Verbindung wird nun hergestellt.
%windir%\system32\mstsc.exe ThinClient.rdp /f /v: %RDSSrv%
ECHO Die Verbindung wurde beendet.
ECHO -
goto shutdown_geplant
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:shutdown_geplant
start "" /D "%ThinClient%" /WAIT "ThinClient_BenutzerBetrieb_Abfrage.vbs" %0 %RDSSrv01% %RDSSrv02% %RDSSrv03%
ECHO Das System wird nun heruntergefahren.
"%windir%\system32\shutdown.exe" -s -t 0 /c "Die Sitzung auf dem RDS-Server wurde wie geplant beendet."
pause
exit
REM --------------------------------------------------------------
REM --------------------------------------------------------------
:shutdown_ungeplant
ECHO -
ECHO Das System wird nun aufgrund eines Fehlers heruntergefahren.
ECHO -
ECHO Der Test welcher ermittelt, ob der ThinClient eine IP Adresse besitzt,
ECHO zeigt %IPTest% Fehlversuch(e) auf, die maximale Toleranz liegt derzeit bei %IPTest_Versuche%.
ECHO -
ECHO Der Test welcher ermittelt, ob der ThinClient einen RDS-Server erreichen kann,
ECHO zeigt %RDSTest% Fehlversuch(e) auf, die maximale Toleranz liegt derzeit bei %RDSTest_Versuche%.
ECHO -
"%windir%\system32\shutdown.exe" -s -t 60 /c "Fehler: Netzwerkverbindung unterbrochen oder kein RDS-Server erreichbar. Bitte wenden Sie sich an Ihren Systemadministrator!"
ECHO -
pause
ECHO Wollen Sie das herunterfahren des ThinClients abbrechen um weitere Diagnosen vorzunehmen?
set /p RebootCMD=Soll der Neustart nun abgebrochen werden? (J/N)
if "%RebootCMD%" == "J" %windir%\system32\shutdown.exe -a && ECHO - && ECHO Das Herunterfahren wurde abgebrochen, starte Windows TaskManager. && start "TaskManager" /D "%windir%\system32" taskmgr.exe
if "%RebootCMD%" == "j" %windir%\system32\shutdown.exe -a && ECHO - && ECHO Das Herunterfahren wurde abgebrochen, starte Windows TaskManager. && start "TaskManager" /D "%windir%\system32" taskmgr.exe
if not "%RebootCMD%" == "J" && ECHO Bitte starten Sie den ThinClient manuell neu! && ECHO -
if not "%RebootCMD%" == "j" && ECHO Bitte starten Sie den ThinClient manuell neu! && ECHO -
pause
exit
REM --------------------------------------------------------------

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
msgbox "WICHTIG: Bitte melden Sie sich nicht wieder von Windows ab, solange die DOS-Box (unten links) noch aktiv ist." & vbCRLF & vbCRLF & "Sie verschwindet in Kürze automatisch! Bitte warten Sie...", vbExclamation, "DIGITAL DATA - ThinClient Steuerungsskript"

View File

@@ -0,0 +1,68 @@
on error resume next
DIM WshShell, Abfrage1, Abfrage2, RDSSrv, Fehler, Info
SET WshShell = WScript.CreateObject("WScript.Shell")
IF WScript.Arguments(0) ="" THEN
msgbox "ACHTUNG: Diesem Skript wurde keine Startprogramm übergeben." & vbCRLF & "Diese Übergabe müss zwingend als erster Parameter erfolgen!",0,"DIGITAL DATA - ThinClient Steuerungsskript"
WScript.Quit
ELSE
Parameter1=WScript.Arguments(0)
END IF
IF WScript.Arguments(1) ="" THEN
msgbox "ACHTUNG: Diesem Skript wurde keine IP-Adresse übergeben." & vbCRLF & "Diese Übergabe müss zwingend als zweiter Parameter erfolgen!",0,"DIGITAL DATA - ThinClient Steuerungsskript"
WScript.Quit
ELSE
Parameter2=WScript.Arguments(1)
END IF
IF WScript.Arguments(2) ="" THEN
Parameter3 = 0
ELSE
Parameter3=WScript.Arguments(2)
END IF
IF WScript.Arguments(3) ="" THEN
Parameter4 = 0
ELSE
Parameter4=WScript.Arguments(3)
END IF
Abfrage1 = WshShell.Popup("Die Sitzung auf dem RDS-Server wurde wie geplant beendet." & vbCRLF & vbCRLF & "Möchten Sie sich nun erneut anmelden?" & vbCRLF & vbCRLF & "Erfolgt keine Eingabe, fährt der ThinClient in wenigen Sekunden automatisch herunter.", 10, "DIGITAL DATA - ThinClient Steuerungsskript", 4 + 32)
IF Abfrage1 = vbYes then
WshShell.Run "taskkill /im cmd.exe",0, True
Abfrage2 = WshShell.Popup ("Möchten Sie nun die Verbindung, zum zuvor verbundenem RDS-Server wieder aufbauen?" & vbCRLF & vbCRLF & "Über die Schaltfläche - Nein - können Sie die Verbindung zu einerm anderen RDS-Server herstellen" & vbCRLF & "(IP-Adresse muss von Ihnen eingegeben werden!).", ,"DIGITAL DATA - ThinClient Steuerungsskript", 4 + 32)
IF Abfrage2 = vbNo then
DO WHILE RDSSrv="" OR RDSSrv="192.168.x.x"
RDSSrv = InputBox ("Geben Sie hier die gewünschte IP-Adresse ein:","DIGITAL DATA - ThinClient Steuerungsskript", "192.168.x.x")
IF RDSSrv = "" THEN
Fehler = WshShell.Popup("Die Eingabe war ungültig, bitte wiederholen Sie!",5,"DIGITAL DATA - ThinClient Steuerungsskript", 0 + 64)
ELSEIF RDSSrv ="192.168.x.x" THEN
Fehler = WshShell.Popup("Die Eingabe war ungültig, bitte wiederholen Sie!",5,"DIGITAL DATA - ThinClient Steuerungsskript", 0 + 64)
ELSE
'WshShell.Popup ("" &Parameter1& " " &RDSSrv& " 0 0 start_RDSTest")
WshShell.Run "" &Parameter1& " " &RDSSrv& " 0 0 start_RDSTest", 2, true
END IF
LOOP
ELSE
'WshShell.Popup ("" &Parameter1& " " &Parameter2& " " &Parameter3& " " &Parameter4& " start_RDSTest")
WshShell.Run "" &Parameter1& " " &Parameter2& " " &Parameter3& " " &Parameter4& " start_RDSTest", 2, true
WScript.Quit
END IF
ELSE
Info = WshShell.Popup("Der ThinClient fährt sich nun herunter.",5,"DIGITAL DATA - ThinClient Steuerungsskript", 0 + 64)
END IF
WScript.Quit

View File

@@ -0,0 +1,12 @@
@echo OFF
ECHO -
ECHO Aktiviere Numlock.
REG ADD "HKCU\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2 /F
ECHO -
ECHO Deaktiviere Bildschirmschoner
REG ADD "HKCU\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /F
ECHO -
exit

Binary file not shown.

View File

@@ -0,0 +1,83 @@
Version 3.0.0.0 - xx.xx.2016
NEW: -
FIX: -
CHG: - Komplette Neuentwicklung des Skripts in PowerShell (V2 - um es WinXP kompatibel zu halten).
REM: -
-----------------------------------------------------------
Version 2.1.0 - November 2012
- Erneuter Login durch den Benutzer möglich.
Über ein VBScript (ThinClient_BenutzerBetrieb_Abfrage.vbs) ist realisiert, das der Benutzer nach Ende seiner Sitzung,
die Verbindung zum gleichen Server entweder nochmal aufbauen kann, oder zu einem anderen Server dessen IP-Adresse manuell eingegeben werden muss, herstellen kann.
- Sprungmarke können nun parametrisiert (Übergabeparameter %4) angesteuert werden. Z.B. mit "start_RDSTest" wird der Start der Dienstprogramme und die Anfangstests (IP) übersprungen.
- Erweiterung Installationsskript - kann nun auch durch einen parametrisierten Aufrufs einer VBS-Datei (ThinClient_Installationsskript.vbs) die Comupter Arbeitsgruppe setzen.
-----------------------------------------------------------
Version 2.0.0 - Oktober 2012
- Unterteilung des Skripts in zwei Betreibsarten "ThinClient_AdministratorBetrieb" und "ThinClient_BenutzerBetrieb".
Das Skript list zu Anfang den aktuell angemeldeten Windows-Benutzer aus. Entspricht dieser dem Namen "Administrator",
lädt das Skript den gesamten Desktop und nicht wie im dedizierten Benutzerbetrieb nur die RDP Verbindung.
Hiefür muss der Terminal Dienst gestartet sein, ansonsten stürtzt das Batch-Skript ab!
Die Steuerung wie der lokale Administrator heist, erfolgt über die Variable "LokalerAdministrator".
-----------------------------------------------------------
Version 1.5.1 - September 2012
- ThinClient Script ist nun parametrisierbar aufrufbar.
IP Adresse vom RDS Server kann nun beim Aufruf des Batch-Skripts mitübergeben werden,
wenn keine Adresse übergeben wird, wird auf den Eintrag in dem Batch-Skript zugegriffen (Variablen RDSSrv01, RDSSrv02 und RDSSrv03)
-----------------------------------------------------------
Version 1.5.0 - Juli 2012
- Überarbeitung der gesamten Skript Struktur!
- Überarbeitung der Fehlermedlungen am Ende des Skripts.
Sollte ein wiederholt aufgetretener Fehler zum herunterfahren des ThinClients führen, kann der Administrator nun anhand der Nachrichten in der DOS-Box erkennen,
welche Ursache dazu geführt hat.
- Überarbeitung der IP Adresse Überprüfung. Zweite Überprüfung eingebaut für Windows Versionen ab Vista.
Steuerung nun über die Variabelen "IPTest" und "IPTest_Versuche" möglich. Kann keine gültige IP Adresse bei der Überprüfung gefunden werden,
wird die Variable "IPTest" mit +1 gerechnet. Haben beide Variablen den gleichen Wert, fährt der ThinClient mit einer grafischen Fehlermeldung herunter.
- Erstellung eines Installationsskripts (ThinClient_Installationsskript.cmd).
-----------------------------------------------------------
Version 1.2.1
- Es können nun mehrere Dienstprogramme im Skript hinterlegt werden (DienstProgramm1..., DienstProgramm2... und DienstProgramm3...)
Absichtlich wurden hierfür mehrere Zeilen vorgesehen, damit falls benötigt, die Anwendungen mit unterschiedlichen Parametern aufgerufen werden können.
-----------------------------------------------------------
Version 1.2.0
- Dienstprogramme können nun im Skript hinterlegt werden. Diese werden aufgerufen bevor eine RDS Verbindung hergestellt wird
Über die Variable "DienstProgrammXStarten" wird das Flag gesetzt ob das eingetragene Programm gestartet werden soll.
Mit der Variable "DienstProgrammXPfad" wird der Pfad der Anwendung festgelegt und mit "DienstProgrammXDatei" die eigentliche Ausführbare Datei.
- Das Skript überprüft nun zu Anfang ob der installierte Netzwerkadapter eine gültige IP Adresse bezogen hat (nur Windows 2000 und XP).
Gelingt dies Drei-Mal nicht, fährt der ThinClient mit einer grafischen Fehlermeldung herunter.
-----------------------------------------------------------
Version 1.1.1
- Es können nun drei RDS-Server Adressen hinterlegt werden, wenn der erste nicht erreichbar ist, wird der zweite versucht zu kontaktieren.
Steht dieser ebenfalls nicht zur Verfügung, wird der dritte angepeilt, ist auch dieser nicht erreichbar fährt der ThinClient mit einer grafischen Fehlermeldung wieder herunter.
-----------------------------------------------------------
Version 1.1.0
- Die Variable "RDSTest_Versuche" wurde eingefügt, über welche steuerbar ist, wie oft versucht wird eine Verbindung zum RDS-Server herzustellen.
Der Test startet eine ICMP (PING) Anfrage. Erst wenn diese erfolgreich beanwortet wurde, wird eine RDP Verbindung aufgebaut.
Bei jedem Fehlversuch wird die Variable "RDSTest" mit +1 gerechnet. Wenn die Variablen "RDSTest_Versuche" und "RDSTest" die gleichen Werte aufweisen
(z.B.: aufgrung von Verbindungsfehlversuchen) fährt der ThinClient mit einer grafischen Fehlermeldung herunter.
-----------------------------------------------------------
Version 1.0.0
- Erste funktionierende Version!
--------------------------Legende--------------------------
NEW: = Hinzufügen einer neuen Funktion
FIX: = Korrektur einer vorhandenen Funktion
CHG: = Änderung oder Erweiterung einer vorhandenen Funktion
REM: = Entfernen einer Funktion
-----------------------------------------------------------

View File

@@ -0,0 +1,204 @@
@echo OFF
TITLE DIGITAL DATA - ThinClient Installationsskript
ECHO Stapelverarbeitungsprogramm
ECHO ThinClient Installationsskript (nur mit Windows XP getestet).
ECHO -
ECHO Digital Data
ECHO Ludwig-Rinn-Strasse 16
ECHO 35452 Heuchelheim
ECHO Tel.: 0641 / 202360
ECHO E-Mail: info@didalog.de
ECHO -
ECHO Version 1.0.3
ECHO Letzte Aktualisierung: 12.10.2012
ECHO -
REM ------------------------------------------------------------
REM Definition der Variablen.
SET RemoteUserName=User
SET RemoteUserPasswort=remote
SET ComputerName=TC-%random%
REM SET RegisteredOwner=%ComputerName%
SET RegisteredOrganization=Firma
SET InstallQuelle=%CD%
SET ThinClient=%ProgramFiles%\System\ThinClient
REM ------------------------------------------------------------
REM ------------------------------------------------------------
ECHO Achtung - unbedingt beachten:
ECHO Bitte starten Sie dieses Skript unbedingt als Administrator.
ECHO Und bitte nicht aus einer Netzwerk-Quelle.
ECHO -
REM ------------------------------------------------------------
pause
cls
if not exist "%ProgramFiles%\System\ThinClient" ECHO Programmpfad wird nun angelegt. && goto PfadAnlage
if exist "%ProgramFiles%\System\ThinClient" ECHO Programmpfad bereits vorhanden. && goto ohnePfadAnlage
:PfadAnlage
mkdir "%ThinClient%"
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Programmpfad wurde angelegt.
:ohnePfadAnlage
ECHO -
ECHO Die Dateien werden nun kopiert.
xcopy "%InstallQuelle%\*.*" "%ProgramFiles%\System\ThinClient" /V /Y
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
set /p ComputerName=Bitte bestimmen Sie nun den Namen des PCs/TCs (Der Default lautet %ComputerName%):
ECHO Der neue Name wird nun eingetragen.
REG ADD "HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %ComputerName% /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
set /p ComputerArbeitsgruppe=Bitte bestimmen Sie nun den Namen der Arbeitsgruppe des PCs/TCs:
ECHO Die neue Arbeitsgruppe wird nun eingetragen.
start "" /D "%CD%" ThinClient_Installationsskript.vbs %ComputerArbeitsgruppe%
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
set /p RegisteredOwner_Abfrage=Wollen Sie nun benutzerdefinierte Eingaben fuer die Computer Registrierung taetigen? (Ansonsten werden Standardwerte verwendet) (J/N)
if "%RegisteredOwner_Abfrage%" == "J" goto RegisteredOwner_Eingabe
if "%RegisteredOwner_Abfrage%" == "j" goto RegisteredOwner_Eingabe
if not "%RegisteredOwner_Abfrage%" == "J" goto RegisteredOwner_Anlage
if not "%RegisteredOwner_Abfrage%" == "j" goto RegisteredOwner_Anlage
:RegisteredOwner_Eingabe
set /p ComputerName=Bitte geben Sie nun den gewuenschten Namen an (Default lautet %ComputerName%):
set /p RegisteredOrganization=Bitte geben Sie nun noch die dazugehoerige Firma an (Default lautet %RegisteredOrganization%):
:RegisteredOwner_Anlage
ECHO -
ECHO Die neue Computer Registrierung wird eingespielt.
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v RegisteredOwner /t REG_SZ /d %ComputerName% /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v RegisteredOrganization /t REG_SZ /d "%RegisteredOrganization%" /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
set /p RemoteUserName_Abfrage=Wollen Sie nun benutzerdefinierte Eingaben fuer das lokale Anmelde-Konto eingeben? (Ansonsten werden Standardwerte verwendet) (J/N)
if "%RemoteUserName_Abfrage%" == "J" goto RemoteUserName_Eingabe
if "%RemoteUserName_Abfrage%" == "j" goto RemoteUserName_Eingabe
if not "%RemoteUserName_Abfrage%" == "J" goto RemoteUserName_Anlage
if not "%RemoteUserName_Abfrage%" == "j" goto RemoteUserName_Anlage
:RemoteUserName_Eingabe
set /p RemoteUserName=Bitte geben Sie nun den gewuenschten Benutzernamen an:
set /p RemoteUserPasswort=Bitte geben Sie nun noch das dazugehoerige Passwort fuer das Konto %RemoteUserName% an:
:RemoteUserName_Anlage
ECHO -
ECHO Der neue Benutzer wird angelegt.
net user %RemoteUserName% %RemoteUserPasswort% /ADD /passwordchg:no /comment:"Dedizierter Auto-Login Benutzer" /expires:never
ECHO Das Passwort wird nochmals Ueberschrieben.
net user %RemoteUserName% %RemoteUserPasswort%
ECHO -
ECHO Der neue Benutzer wird in die Windows Registry als Auto-Login Konto eingetragen.
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v DefaultUserName /t REG_SZ /d %RemoteUserName% /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v DefaultPassword /t REG_SZ /d %RemoteUserPasswort% /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Aktiviere nun automatische Anmeldung am System.
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v AutoAdminLogon /t REG_SZ /d 1 /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Lokale Sicherheitsrichtlinie wird angepasst, Passwoeter laufen nicht mehr ab.
net accounts /maxpwage:UNLIMITED
ECHO -
ECHO Deaktiviere Stromspareinstellung.
%windir%\system32\powercfg.exe /IMPORT ThinClient /FILE "%ThinClient%\ThinClient.pow"
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
%windir%\system32\powercfg.exe /SETACTIVE ThinClient
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
%windir%\system32\powercfg.exe /HIBERNATE OFF
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Das Festplattenlaufwerk wird aufgrund der Eingabe umbennant.
%windir%\system32\Label.exe C: %ComputerName%
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Das System, wird als - im Internet bereits Registriert - gesetzt.
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v RegDone /t REG_SZ /d 1 /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Deaktiviere die Windows Willkommenseite.
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v LogonType /t REG_DWORD /d 0 /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Deaktiviere nicht benoetigte Windows Dienste.
sc.exe config wuauserv start= disabled
sc.exe config Themes start= disabled
sc.exe config ERSvc start= disabled
sc.exe config srservice start= disabled
sc.exe config WZCSVC start= disabled
sc.exe config SharedAccess start= disabled
sc.exe config Schedule start= disabled
sc.exe config TermService start= disabled
ECHO -
ECHO Bitte geben Sie nun an, zu welchen Servern sich dieser ThinClient verbinden soll.
ECHO Die Werte die Sie eingeben, werden als Aufruf-Parameter dem Batch-Skript übergeben, alternativ können Sie dieser Werte direkt im Batch-Skript eintragen.
set /p RDSSrv01=Bitte geben Sie nun die IP-Adresse des RDS-Servers (Terminal Server) ein:
set /p RDSSrv02=Wenn ein FailSafe Server zur Verfüngung stehen, koennen Sie diesen nun eingeben (IP-Adresse):
set /p RDSSrv03=Wenn noch ein FailSafe Server zur Verfüngung stehen, koennen Sie diesen nun auch eingeben (IP-Adresse):
ECHO -
ECHO Installiere ThinClient Skript.
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v Shell /t REG_SZ /d "cmd /c start /d %ThinClient% /min ThinClient.cmd %RDSSrv01% %RDSSrv02% %RDSSrv03%" /F
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Export des soeben erstellten Registry Eintrags.
IF EXIST "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg" del "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg"
reg export "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" "%ThinClient%\MOD_HKLM_Boot_mit_ThinClient_Skript.reg"
if %ERRORLEVEL% == 0 ECHO Der Befehl wurde erfolgreich ausgefuehrt.
if %ERRORLEVEL% == 1 ECHO Es ist ein Fehler aufgetreten. Bitte pruefen! && pause
ECHO -
ECHO Die Installation wurde abgeschlossen.
ECHO Die Einstellungen werden beim naechsten Neustart wirksam.
ECHO -
set /p OpenReadme=Soll nun die Readme Datei angezeigt werden? (J/N)
if "%OpenReadme%" == "J" start notepad.exe "%CD%\ThinClient_Readme.txt"
if "%OpenReadme%" == "j" start notepad.exe "%CD%\ThinClient_Readme.txt"
ECHO -
set /p RebootCMD=Soll nun neugestartet werden? (J/N)
if "%RebootCMD%" == "J" %windir%\system32\shutdown.exe -r -t 60 /c "Achtung dieser PC ist nach dem Neustart nur noch ein TC." && ECHO - && exit
if "%RebootCMD%" == "j" %windir%\system32\shutdown.exe -r -t 60 /c "Achtung dieser PC ist nach dem Neustart nur noch ein TC." && ECHO - && exit
if not "%RebootCMD%" == "J" ECHO Bitte starten Sie manuell neu! && ECHO - && pause
if not "%RebootCMD%" == "j" ECHO Bitte starten Sie manuell neu! && ECHO - && pause
exit

View File

@@ -0,0 +1,22 @@
on error resume next
IF Wscript.Arguments(0) = "" THEN
strWorkGroup = "Arbeitsgruppe"
ELSE
strWorkGroup = Wscript.Arguments(0)
END IF
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & strComputer & "'")
objComputer.JoinDomainOrWorkGroup strWorkgroup, NULL, NULL, NULL, 0
'msgbox "Die Arbeitsgruppe mit Namen: "&strWorkGroup&" wurde erfolgreich gesetzt."
WScript.Quit

View File

@@ -0,0 +1,20 @@
Readme zu DIGITAL DATA - Thin Client Programmen
Stand 27.08.2012
Das anbeiliegende ThinClient Installationsskript installiert alle notwendigen Module,
damit ein normaler PC zu einem ThinClient umgewandelt werden kann.
Derzeit kann das Installationsskript alle benötigten Einstellung, bis auf zwei Ausnahmen vornehmen.
Das Herunterfahren aus der Kommandozeile muss speziell autorisiert werden.
Um dies nun abschließend vorzunehmenm sind folgende Schritte durchzuführen:
Start -> Ausführen -> gpedit.msc -> Computerkonfiguration -> Windows Einstellungen -> Sicherheitseinstellungen ->
Lokale Richtlinien -> Zuweisen von Benutzerrechten -> Erzwingen des Herunterfahrens von einem Remotesystem aus
Hier muss der neu angelegte lokale Benutzer noch von Hand eingetragen werden.
Bei Betriebssystemen ohne die gpedit.msc - Konsole (Windows Home Versionen) muss das neu angelegte Konto,
lokale administrative Rechte erhalten.
Zusätzlich ist wichtig, das nur ein aktiver Netzwerkadapter existiert.
Mehrere Netzwerkadapter können zu Fehlern führen!

View File

@@ -0,0 +1,10 @@
Dim wmi : Set wmi = GetObject( "winmgmts:{(RemoteShutdown)}!//./root/cimv2" )
Dim objset : set objset = wmi.instancesof("win32_operatingsystem")
Dim obj, os
for each obj in objset
obj.security_.privileges.add 18, true
set os = obj : exit for
next
os.win32shutdown 5

Binary file not shown.