> ## Documentation Index
> Fetch the complete documentation index at: https://www.docusnap.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Per Skript scannen

> Systeme, die das Gateway nicht erreicht, mit einem Scan-Skript selbst scannen lassen und die Ergebnisse per Dateiimport einlesen.

Manche Systeme erreicht das Gateway nicht: Die Firewall lässt den Zugriff nicht
zu, der Weg ist ein Double Hop, das Gerät ist mobil oder im Home-Office, der
Backup-Server ist abgeschottet. Ein solches System scannt sich mit einem
Scan-Skript selbst und schreibt eine Ergebnisdatei. Ein Auftrag mit dem
Scan-Modul *Dateiimport* liest die Ergebnisdateien danach über das Gateway in
das Inventar ein.

Der Scan per Skript hat drei Teile:

| Teil | Was geschieht |
| - | - |
| Scan-Skripte bereitstellen | Das Gateway legt sie im *Ablageverzeichnis* ab. |
| Scan-Skripte ausführen | von Hand, per geplanter Aufgabe, Gruppenrichtlinie, Softwareverteilung oder Anmeldeskript; die Ergebnisdatei landet in einem gemeinsamen Ordner |
| Ergebnisse einlesen | Ein Auftrag mit *Dateiimport* liest den Ordner. |

## Ablageverzeichnis

Im Fenster des Gateways setzen Sie im Tab *Einstellungen* das
*Ablageverzeichnis*. Bei jeder Aktualisierung der Scan-Module aktualisiert das
Gateway die Scan-Skripte dort automatisch. Das Dienstkonto des Gateways braucht
Vollzugriff auf das Verzeichnis – siehe
[Das Ablageverzeichnis festlegen](/docs/de/scan/gateway-storage-directory).

## Scan-Skripte

| Datei | Scan-Modul | Wofür | Ergebnisdatei |
| - | - | - | - |
| `Discovery-ActiveDirectory.exe` | *Active Directory* | Active Directory lokal auf einem Domänencontroller | `.dsi` |
| `Discovery-DFS.exe` | *DFS* | DFS lokal auf den Namespace-Servern, ohne Double Hop | `.dsi` |
| `Discovery-DHCP.exe` | *Windows DHCP* | DHCP-Daten lokal auf dem DHCP-Server | `.dsi` |
| `Discovery-DNS.exe` | *Windows DNS* | DNS-Daten lokal auf dem DNS-Server | `.dsi` |
| `Discovery-HPE.exe` | *Storage* | HPE 3PAR, Alletra, Primera ohne Firewall-Freigabe | `.dsi` |
| `Discovery-HyperV.exe` | *Hyper-V* | Hyper-V-Host lokal | `.dsi` |
| `Discovery-Linux` | *Linux* | Linux, 64 Bit, ohne SSH oder ohne `root`/`sudo` | frei benannte `.xml` |
| `Discovery-Linux-Legacy` | *Linux* | Linux, 32 Bit | frei benannte `.xml` |
| `Discovery-Nutanix.exe` | *Nutanix* | Nutanix-Cluster ohne Firewall-Freigabe | `.dsi` |
| `Discovery-Proxmox.exe` | *Proxmox* | Proxmox-Cluster ohne Firewall-Freigabe | `.dsi` |
| `Discovery-VeeamBR.exe` | *Veeam B\&R* | Veeam Backup & Replication 13 | `.dsi` |
| `Discovery-VeeamBR-Legacy.exe` | *Veeam B\&R* | Veeam Backup & Replication 12 | `.dsi` |
| `Discovery-Windows.exe` | *Windows (AD)*, *Windows (IP)* | Windows-Systeme ohne direkten Zugriff | `.dsi` |
| `gensudo.sh` | *Linux* | gibt die `sudo`-Regel für den Scan-Benutzer aus | – |

### Wo die Scan-Skripte laufen

* `Discovery-ActiveDirectory.exe`, `Discovery-DFS.exe`, `Discovery-DHCP.exe`,
  `Discovery-DNS.exe`, `Discovery-HyperV.exe` und die Veeam-Skripte kopieren Sie
  auf den jeweiligen Server und führen sie dort aus.
* `Discovery-Nutanix.exe`, `Discovery-Proxmox.exe` und `Discovery-HPE.exe`
  laufen auf einem beliebigen Rechner, der das Zielsystem erreicht.
* `Discovery-Windows.exe` läuft auf dem System, das es scannt. Für das lokale
  System genügen Benutzerrechte. Administratorrechte braucht es für BitLocker,
  Virenschutz, Energieoptionen, BIOS-Typ, Secure Boot, TPM und
  Benutzerprofile.

### Parameter aller Windows-Skripte

Jedes Windows-Skript (`Discovery-….exe`) schreibt eine `.dsi`-Datei und kennt
diese Parameter:

| Parameter | Wirkung |
| - | - |
| `-h` | Hilfe |
| `-o <Pfad>` | Ausgabeverzeichnis der Ergebnisdatei, etwa eine Freigabe; das ausführende Konto braucht dort Schreibrechte |
| `-n <Dateiname>` | Name der Ergebnisdatei (`.dsi`) |
| `-a <Anzahl>` | Zahl der aufbewahrten älteren Ergebnisse, Vorgabe 4 |
| `-l <Stufe>` | Protokollstufe: `Debug`, `Information`, `Warning`, `Error`, `Critical`, `None`; Vorgabe `None`, `-l` ohne Wert bedeutet `Debug` |
| `-w <Pfad>` | Arbeitsverzeichnis für temporäre Daten |

<Note>
  Die Hilfe von `Discovery-Windows.exe` erscheint als Fenster, nicht in der
  Konsole.
</Note>

### Parameter je Skript

| Skript | Eigene Parameter |
| - | - |
| `Discovery-ActiveDirectory.exe` | `-domain <Domäne>` – ohne: die Domäne des Rechners · `-u <Benutzer>` – ohne: integrierte Anmeldung · `-p <Passwort>` · `-noExtendedAttributes` – erweiterte und benutzerdefinierte Attribute der Objekte werden nicht erfasst · `-noPersonalData` – personenbezogene Daten werden nicht erfasst · `-syncParallel <N>` – Zahl paralleler sekundärer Domänencontroller, Vorgabe 8 |
| `Discovery-DFS.exe`, `Discovery-DHCP.exe`, `Discovery-DNS.exe`, `Discovery-HyperV.exe` | keine – sie laufen auf dem Server selbst, mit der Kennung, unter der sie gestartet werden |
| `Discovery-Nutanix.exe` | `-t <Adresse des Clusters>` · `-u <Benutzer>` · `-p <Passwort>` |
| `Discovery-Proxmox.exe` | `-t <Adresse des Clusters>` · `-u <Benutzer>` mit Realm, etwa `docusnap@pam` · `-p <Passwort>` |
| `Discovery-HPE.exe` | `-t <Ziel>`, auch als URL mit Port, etwa `https://storage.example.com:8080` · `-u <Benutzer>` · `-p <Passwort>` |
| `Discovery-VeeamBR.exe`, `Discovery-VeeamBR-Legacy.exe` | `-MaxHistoryInDays <N>` – Tage Sicherungsverlauf, Vorgabe 42, höchstens 999 |
| `Discovery-Windows.exe` | keine – nur die gemeinsamen |

Ohne `-noExtendedAttributes` und `-noPersonalData` erfasst
`Discovery-ActiveDirectory.exe` beide Arten von Daten. Beispiel aus der Hilfe:

```
Discovery-ActiveDirectory.exe -domain example.com -u user -p password -noExtendedAttributes -noPersonalData -syncParallel 4
```

<Warning>
  Mit `-u` und `-p` steht das Passwort im Klartext auf der Befehlszeile und damit
  in der geplanten Aufgabe oder im Aufrufskript. Verwenden Sie dafür einen eigenen
  Benutzer nur mit Leserechten und schützen Sie die geplante Aufgabe oder das
  Skript vor fremdem Zugriff. Bei `Discovery-ActiveDirectory.exe` nutzen Sie nach
  Möglichkeit die integrierte Anmeldung und lassen `-u` und `-p` weg.
</Warning>

### Linux

`Discovery-Linux` und `Discovery-Linux-Legacy` übertragen Sie auf das System,
machen sie mit `chmod +x` ausführbar und starten sie als `root`. Leiten Sie die
Ausgabe in eine Datei um:

```
./Discovery-Linux > /pfad/ergebnis.xml
```

Ohne Umleitung erscheint das Ergebnis nur auf der Konsole.

`gensudo.sh` kopieren Sie auf das Linux-System, machen es mit
`chmod +x gensudo.sh` ausführbar und starten es mit `./gensudo.sh`. Es gibt eine
Zeile für die `sudoers`-Datei aus: `yourusername ALL = NOPASSWD:` und dahinter
jeden Befehl, den der Scan als `root` ausführt. Ersetzen Sie `yourusername`
durch den Scan-Benutzer und setzen Sie die Zeile mit `visudo` ans Ende der
`sudoers`-Datei.

<Note>
  Die Befehlsliste ändert sich mit neuen Versionen. Verwenden Sie immer die
  Ausgabe des aktuellen `gensudo.sh`.
</Note>

## Ablage für Scan-Skripte und Ergebnisse

Empfohlen ist eine versteckte Freigabe auf dem Rechner des Gateways mit zwei
Ordnern:

| Ordner | Beispiel | Recht für die Systeme |
| - | - | - |
| Scan-Skripte – zugleich das Ablageverzeichnis | `C:\DocusnapScript\Scripts`, freigegeben als `\\<Gateway-Rechner>\DocusnapScript$\Scripts` | Lesen |
| Ergebnisse, einer je Organisation oder Domäne | `\\<Gateway-Rechner>\DocusnapScript$\<Organisation>#<Domäne>` | Ändern |

Für die Berechtigungen empfiehlt sich das Vorgehen von Microsoft: auf der
Freigabe *Jeder* mit Vollzugriff, über NTFS-Berechtigungen nur die Gruppen
*Domänencomputer* und *Domänencontroller* mit Ändern.

Der Ordner für die Ergebnisse ist zugleich der *Ordnerpfad* des
Dateiimport-Auftrags. Das Dienstkonto des Gateways braucht darauf Lese- und
Schreibzugriff. Läuft das Gateway unter dem lokalen Systemkonto, muss der Ordner
lokal auf dem Rechner des Gateways liegen; für eine Freigabe braucht das Gateway
ein Domänenkonto mit Zugriff darauf.

## Ausführung automatisieren

### Geplante Aufgabe per Gruppenrichtlinie

Für Windows-Systeme in einer Domäne, vor allem für `Discovery-Windows.exe` auf
vielen Rechnern, legen Sie in einer Gruppenrichtlinie unter
*Computerkonfiguration* › *Einstellungen* › *Systemsteuerungseinstellungen* ›
*Geplante Aufgaben* eine Aufgabe an:

| Tab | Einstellung |
| - | - |
| *Allgemein* | als Konto das lokale Systemkonto `NT-AUTORITÄT\SYSTEM` (empfohlen) oder ein Konto mit lokalen Administratorrechten; *Unabhängig von der Benutzeranmeldung ausführen*; *Mit höchsten Privilegien ausführen*; *Konfigurieren für* das passende Betriebssystem |
| *Trigger* | nach Zeitplan, etwa wöchentlich am Montag um 10:00 Uhr; für aktuellere Daten häufiger |
| *Aktionen* | *Programm starten* mit `\\<Gateway-Rechner>\DocusnapScript$\Scripts\Discovery-Windows.exe` und dem Argument `-o "\\<Gateway-Rechner>\DocusnapScript$\<Organisation>#<Domäne>"` |
| *Einstellungen* | *Ausführung der Aufgabe bei Bedarf zulassen*; *Aufgabe so schnell wie möglich nach einem verpassten Start ausführen*; *Aufgabe beenden, falls Ausführung länger als* 1 Tag |

<Warning>
  Der Kontoname `NT-AUTORITÄT\SYSTEM` ist sprachabhängig. Bei
  Domänencontrollern mit unterschiedlichen Sprachen ersetzen Sie nach dem Anlegen
  in der Datei
  `\\<Domäne>\SYSVOL\<Domäne>\Policies\<GUID der Richtlinie>\Machine\Preferences\ScheduledTasks\ScheduledTasks.xml`
  jeden Kontonamen im Attribut `runAs` durch die SID des lokalen Systemkontos,
  `S-1-5-18`.
</Warning>

### Geplante Aufgabe auf dem Server

Für die Scan-Skripte, die auf einem einzelnen Server laufen –
Domänencontroller, DFS-, DNS-, DHCP- und Veeam-Server – legen Sie eine Aufgabe
in der Aufgabenplanung des Servers an, etwa wöchentlich am Sonntag. Sie läuft
unter einem Konto mit den Rechten des jeweiligen Dienstes oder unter dem lokalen
Systemkonto, mit *Unabhängig von der Benutzeranmeldung ausführen* und *Mit
höchsten Privilegien ausführen*. Die Aktion startet das Scan-Skript aus der
Freigabe mit `-o` auf den Ergebnisordner.

### Softwareverteilung und Anmeldeskript

Jedes Werkzeug zur Softwareverteilung kann die Scan-Skripte ebenso starten. Auf
Linux-Systemen startet ein Bash-Skript bei der Anmeldung oder ein Eintrag in
`crontab` das Scan-Skript.

## Mobile Geräte und Home-Office

Mobile Windows-Systeme erreicht der Scan über das Gateway oft nicht. Zwei Wege
halten sie trotzdem aktuell. Beide verteilen eine geplante Aufgabe per
Gruppenrichtlinie oder per Softwareverteilung. Die Gruppenrichtlinie greift,
sobald der Benutzer einmal im Büro angemeldet war.

### Über VPN

Die Aufgabe startet `Discovery-Windows.exe` erst, wenn die VPN-Verbindung steht.
Benutzer bauen die Verbindung oft erst nach der Anmeldung auf.

| Tab | Einstellung |
| - | - |
| *Trigger* | *Bei einem Ereignis*, Protokoll *Microsoft-Windows-NetworkProfile/Betriebsbereit*, Quelle *NetworkProfile*, Ereignis-ID *10000* |
| *Aktionen* | *Programm starten* mit dem UNC-Pfad zu `Discovery-Windows.exe` und `-o` auf den Ergebnisordner |
| *Bedingungen* | optional auf ein bestimmtes Netzwerk beschränkt |

### Über OneDrive

Dieser Weg braucht nur eine Internetverbindung und ein eigenes OneDrive-Konto,
das alle mobilen Arbeitsplätze gemeinsam nutzen. Andere Cloud-Speicher
funktionieren entsprechend.

* Fügen Sie das Konto auf jedem Gerät mit einem eigenen Ordner hinzu, etwa
  `C:\Docusnap`, und wählen Sie beim Einrichten *Ihre Ordner sichern* ab.
* Im Ordner `Script` liegt die aktuelle `Discovery-Windows.exe`.
* Die Aufgabe läuft unter dem lokalen Systemkonto, mit dem Trigger *Bei
  Anmeldung* für jeden Benutzer, und schreibt mit `-o` in einen Ordner im
  OneDrive-Verzeichnis. OneDrive ist bei der Anmeldung unter Umständen noch nicht
  verbunden; lassen Sie in den Einstellungen der Aufgabe deshalb mehrere
  Wiederholungen nach einem Fehlschlag zu.
* Richten Sie dasselbe OneDrive-Konto auf dem Rechner des Gateways ein. Der
  Dateiimport-Auftrag liest den Ergebnisordner von dort.

## Ergebnisse einlesen

Legen Sie einen Auftrag mit dem Scan-Modul *Dateiimport* an und tragen Sie im
Schritt *Pfadauswahl* unter *Ordnerpfad* den Ergebnisordner als absoluten Pfad
ein, etwa `C:\Import\` oder `\\Server\Freigabe\`. Der Auftrag liest alle
Ergebnisdateien im Ordner, gleich von welchem Scan-Skript. Als wiederkehrender
Auftrag holt er die Ergebnisse der geplanten Scan-Skripte regelmäßig ab.

<Warning>
  Der Auftrag löscht die Ergebnisdateien nach dem Einlesen. Um sie zusätzlich
  aufzubewahren, nutzen Sie den Parameter `-a` des Scan-Skripts in dessen
  Ausgabeverzeichnis, nicht im Importordner.
</Warning>

## Weiterführend

Das Scan-Modul *Dateiimport* mit Rechten und Voraussetzungen beschreibt
[Dateien per Dateiimport erfassen](/docs/de/scan/file-import). Das Verzeichnis für
die Scan-Skripte richten Sie unter
[Das Ablageverzeichnis festlegen](/docs/de/scan/gateway-storage-directory) ein. Zeitpläne
und Kontenwahl über alle Scan-Module hinweg stehen in
[Empfehlungen für Scans](/docs/de/scan/best-practices).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.