Ich haben folgendes powershell skript.:
############################
param (
[string]$computerName,
[string]$username,
[string]$domainName,
[string]$password
)
Write-Host "Computername: $computerName"
Write-Host "Benutzername: $username"
Write-Host "Domänenname: $domainName"
Write-Host "Passwort: $password"
Erstelle den Argumentstring für AutoLogon.exe
$autoLogonArgs = "$username $domainName $password /accepteula"
Starte AutoLogon.exe auf dem Remote-Computer
$process = Invoke-Command -ComputerName $computerName -ScriptBlock {
Start-Process -FilePath "C:\Windows\System32\AutoLogon.exe" -ArgumentList $using:autoLogonArgs -PassThru
}
Erfasse den Exit-Code
$exitCode = $process.ExitCode
Write-Host "Exit-Code: $exitCode"
Start-Sleep -Seconds 3
$process | Format-List -Property *
############################
wenn ich alle Übergabeparameter richtig eingebe:
z.B. so:
powershell .\aktivieren.ps1 -computerName "hostname" -username "User_exist" -domainName "Domain" -password 'geheim'
Ich bekomme da folgende Ausgabe zurück:
#######################
Computername: hostname
Benutzername: User_exist
Domänenname: Domain
Passwort: geheim
Exit-Code:
Name : AutoLogon
SI : 0
Handles : 15
VM : 6402048
WS : 987136
PM : 319488
NPM : 2368
Path : C:\Windows\System32\AutoLogon.exe
Company : Sysinternals - www.sysinternals.com
CPU : 0,03125
FileVersion :
ProductVersion :
Description :
Product :
__NounName : Process
PSComputerName : hostname
RunspaceId : ce0bd10b-6165-46ce-8640-304c73e93de6
PSShowComputerName : True
Id : 800
PriorityClass : Normal
HandleCount : 15
WorkingSet : 987136
PagedMemorySize : 319488
PrivateMemorySize : 319488
VirtualMemorySize : 6402048
TotalProcessorTime : 00:00:00.0156250
BasePriority : 8
HasExited : False
Handle : 2772
SafeHandle : Microsoft.Win32.SafeHandles.SafeProcessHandle
MachineName : .
MainWindowHandle : 0
MainWindowTitle :
MainModule : System.Diagnostics.ProcessModule (AutoLogon.exe)
MaxWorkingSet : 1413120
MinWorkingSet : 204800
Modules : {System.Diagnostics.ProcessModule (AutoLogon.exe), System.Diagnostics.ProcessModule (ntdll.dll), System.Diagnostics.ProcessModule (wow64.dll),
System.Diagnostics.ProcessModule (wow64win.dll)...}
NonpagedSystemMemorySize : 2368
NonpagedSystemMemorySize64 : 2368
PagedMemorySize64 : 319488
PagedSystemMemorySize : 13488
PagedSystemMemorySize64 : 13488
PeakPagedMemorySize : 401408
PeakPagedMemorySize64 : 401408
PeakWorkingSet : 987136
PeakWorkingSet64 : 987136
PeakVirtualMemorySize : 7827456
PeakVirtualMemorySize64 : 7827456
PriorityBoostEnabled : True
PrivateMemorySize64 : 319488
PrivilegedProcessorTime : 00:00:00
ProcessName : AutoLogon
ProcessorAffinity : 15
Responding : True
SessionId : 0
StartInfo : System.Diagnostics.ProcessStartInfo
StartTime : 13.08.2024 12:02:20
SynchronizingObject :
Threads : {System.Diagnostics.ProcessThread}
UserProcessorTime : 00:00:00.0156250
VirtualMemorySize64 : 6402048
EnableRaisingEvents : False
WorkingSet64 : 987136
Site :
Container :
#######################
Da ist jedoch KEIN Return- oder Exit-Code
Gebe ich mutwillig beim User einen nicht existierenden User ein um zu prüfen ob dann ein Return- oder Exit-Code zurückgemeldet wird. z.B. so:
powershell .\aktivieren.ps1 -computerName "hostname" -username "User_NOTexist" -domainName "Domain" -password 'geheim'
Bekomme ich folgende leicht andere Ausgabe zurück:
#######################
Computername: hostname
Benutzername: User_NOTexist
Domänenname: Domain
Passwort: geheim
Exit-Code:
Name : AutoLogon
SI : 0
Handles : 15
VM : 6402048
WS : 978944
PM : 315392
NPM : 2368
Path : C:\Windows\System32\AutoLogon.exe
Company : Sysinternals - www.sysinternals.com
CPU : 0
FileVersion : 3.10
ProductVersion : 3.10
Description : Autologon configuration
Product : Sysinternals Autologon
__NounName : Process
PSComputerName : hostname
RunspaceId : f0ea751d-0f85-4beb-8dfd-5ee503c1b895
PSShowComputerName : True
Id : 5060
PriorityClass : Normal
HandleCount : 15
WorkingSet : 978944
PagedMemorySize : 315392
PrivateMemorySize : 315392
VirtualMemorySize : 6402048
TotalProcessorTime : 00:00:00
BasePriority : 8
HasExited : False
Handle : 2748
SafeHandle : Microsoft.Win32.SafeHandles.SafeProcessHandle
MachineName : .
MainWindowHandle : 0
MainWindowTitle :
MainModule : System.Diagnostics.ProcessModule (AutoLogon.exe)
MaxWorkingSet : 1413120
MinWorkingSet : 204800
Modules : {System.Diagnostics.ProcessModule (AutoLogon.exe), System.Diagnostics.ProcessModule (ntdll.dll), System.Diagnostics.ProcessModule (wow64.dll),
System.Diagnostics.ProcessModule (wow64win.dll)...}
NonpagedSystemMemorySize : 2368
NonpagedSystemMemorySize64 : 2368
PagedMemorySize64 : 315392
PagedSystemMemorySize : 13488
PagedSystemMemorySize64 : 13488
PeakPagedMemorySize : 401408
PeakPagedMemorySize64 : 401408
PeakWorkingSet : 987136
PeakWorkingSet64 : 987136
PeakVirtualMemorySize : 7827456
PeakVirtualMemorySize64 : 7827456
PriorityBoostEnabled : True
PrivateMemorySize64 : 315392
PrivilegedProcessorTime : 00:00:00
ProcessName : AutoLogon
ProcessorAffinity : 15
Responding : True
SessionId : 0
StartInfo : System.Diagnostics.ProcessStartInfo
StartTime : 13.08.2024 12:41:07
SynchronizingObject :
Threads : {System.Diagnostics.ProcessThread}
UserProcessorTime : 00:00:00
VirtualMemorySize64 : 6402048
EnableRaisingEvents : False
WorkingSet64 : 978944
Site :
Container :
#######################
Da ist jedoch ebenfalls KEIN Return- oder Exit-Code.
Was kann ich tun, um zu prüfen ob die Aktivierung- bzw. Änderung lokal auf dem remote Client funktioniert hat?