Page 1 of 1

Defender Onboarding Script

Posted: 15. May 2023, 12:02
by nureinagent
Hallo Zusammen,

ich versuche gerade das Onbaording Script für den MS Defender für Endpoint in ein Softwarepaket zu bauen.
Eigentlich hatte ich da auch nicht mit Problemen gerechnet, allerdings wird "augenscheinlich" die CMD nicht ausgeführt.

Eigentlich sollte es doch reichen wenn ich:

Code: Select all

[Set:DefenderOnboard]
Call "%SRC%\WindowsDefenderATPOnboardingScript.cmd"
in der Setup.inf ausführe oder nicht?

Danke für die Hilfe ...

Gruß

Re: Defender Onboarding Script

Posted: 15. May 2023, 14:35
by StephanSch
Du rufst den Abschnitt aber schon auf? Einfach nur den Abschnitt einfügen reicht nicht.

Also bspw. wie üblich in Product:

Code: Select all

[Product]
#Set:DefenderOnboard
P.S. Könnte auch unsere Sicherheitseinstellung sein, aber wir mussten den Umweg gehen über quasi "Als Administrator ausführen":

Code: Select all

[Product]
#Set:Installation, DONTDELETE
#Reg:ActivateSecurityCenter,DONTDELETE

[Set:Installation]
AddMeter -1
CallHidden "cmd.exe" /c powershell.exe -executionpolicy bypass -File "%SRC%\wdefenderadmin.ps1"
WaitWhileProcessExists "cmd.exe",60
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status,OrgId") == "0" Then "Set:InstallErrorReg" EndIf
If "%ErrorLevel%" <> "0" Then "SET:InstallationError" EndIf

[Reg:ActivateSecurityCenter]
;Wartungscenter aktivieren
HKLM,"SYSTEM\CurrentControlSet\Services\wscsvc","Start",0x00010001,"0x00000002"

[Set:InstallErrorReg]
ErrorLogMsg "OrgId nicht in Registry gefunden"
Abort

[Set:InstallationError]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% wdefenderadmin.ps1
Abort

[Set:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% 

wdefenderadmin.ps1

Code: Select all

# Prüft ob administrativ ausgeführt wird. Wenn nicht ruft es sich selber nochmal so auf und macht unten weiter
$identity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$princ = New-Object System.Security.Principal.WindowsPrincipal($identity)
if(!$princ.IsInRole( `
   [System.Security.Principal.WindowsBuiltInRole]::Administrator))
{
  $powershell = [System.Diagnostics.Process]::GetCurrentProcess()
  $psi = New-Object System.Diagnostics.ProcessStartInfo $powerShell.Path
  $script = $MyInvocation.MyCommand.Path
  $prm = $script
  foreach($a in $args) {
    $prm += ' ' + $a
  }
  $psi.Arguments = $prm
  $psi.Verb = "runas"
  [System.Diagnostics.Process]::Start($psi) | Out-Null
  return;
 }
 
 # Netzwerkstandort auf Privat setzen
invoke-item "C:\EmpirumAgent\Packages\<lokalerOrdner>\WindowsDefenderATPOnboardingScript.cmd"

Re: Defender Onboarding Script

Posted: 31. May 2023, 09:02
by nureinagent
Hi, danke für dein Feedback,

hab es tatsächlich hinbekommen.
Mit

Code: Select all

Callhidden "%SRC%\WindowsDefenderATPOnboardingScript.cmd"
im
[Set:Installation]
Bereich klappt es.
Jetzt klau ich mir noch die If Prüfung von Dir ...

Danke!