Administrer adlds avec power shell

 

Windows PowerShell est un shell en ligne de commandes et un environnement de scripts qui apporte la puissance de .NET Framework aux lignes de commandes utilisateurs et aux développeurs de scripts.

Vous pouvez utiliser PowerShell pour administrer les instances ADLDS, pour utiliser PowerShell, cliquer sur Start -> Run et taper Powershell.

 

. Pour connaitre les services présents sur Windows 2008, taper :

PS C:\Users\Administrator> get-service -name *

 

Status Name DisplayName

------ ---- -----------

Running 1-vmsrvc Virtual Machine Additions Services ...

Running ADAM_instance1 instance1

Running ADAM_instance2 instance2

Running AeLookupSvc Application Experience

 

. Pour arrêter une instance ADLDS, on utilise la commande stop-service

PS C:\Users\Administrator> stop-service -name adam_instance1

WARNING: Waiting for service 'instance1 (ADAM_instance1)' to finish stopping...

 

. Pour démarrer une instance ADLDS, on utilise la commande start-service

PS C:\Users\Administrator> start-service -name adam_instance1

WARNING: Waiting for service 'instance1 (ADAM_instance1)' to finish starting...

WARNING: Waiting for service 'instance1 (ADAM_instance1)' to finish starting...

. Pour changer le Displayname d’une instance, on utilise la commande set-service

PS C:\Users\Administrator>set-service -name ADAM_instance1 -DisplayName "ADLDS Instance1"

 

PS C:\Users\Administrator> get-service -name ADAM_instance1

Status Name DisplayName

------ ---- -----------

Running ADAM_instance1 ADLDS Instance1

. Pour changer le type de démarrage

on utilise les commandes get-wmiobject avec l’option -startuptype

Mais auparavant, on peut vérifier le type de démarrage de cette instance avec la commande suivante :

PS C:\Users\Administrator> get-wmiobject win32_service -filter "name = 'adam_instance1'"

ExitCode : 0

Name : ADAM_instance1

ProcessId : 3504

StartMode : Auto

State : Running

Status : OK

 

Puis changer le type de démarrage, par exemple de Auto à Manuel,

PS C:\Users\Administrator> set-service adam_instance1 -startuptype manual

Ensuite vérifier que le type de démarrage est bien positionné manuel.

 

PS C:\Users\Administrator> get-wmiobject win32_service -filter "name = 'adam_instance1'"

ExitCode : 0

Name : ADAM_instance1

ProcessId : 3504

StartMode : Manual

State : Running

Status : OK

 

. Lecture des clefs de registre d’une instance ADLDS avec get-itemProperty

get-itemProperty –path hklm:\system\CurrentControlSet\Services\ADAM_instance1

PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\ADAM_instance1

PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services

PSChildName : ADAM_instance1

PSDrive : HKLM

PSProvider : Microsoft.PowerShell.Core\Registry

Type : 16

Start : 3

ErrorControl : 1

ImagePath : C:\Windows\System32\dsamain.exe -sn:instance1

DisplayName : ADLDS Instance1

DependOnService : {EventSystem}

ObjectName : NT AUTHORITY\NetworkService

ServiceSidType : 1

 

. On peut également lire les clefs de registre d’un niveau -1 de cette instance ADLDS avec get-childitem

get-childitem -path hklm:\system\CurrentControlSet\Services\ADAM_instance1

Ici on peut voir que Diagnostics contient 24 sous clefs.

Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\ADAM_instance1

SKC VC Name Property

--- -- ---- --------

0 24 Diagnostics {1 Knowledge Consistency Checker, 2 Security Events, 3 ExDS Interface Events,...

0 1 Language {Language 0000040C}

0 18 Parameters {System Schema Version, Configuration NC, Machine DN Name, Port LDAP...}

0 3 Enum {0, Count, NextInstance}

 

. Si on veut voir toutes les sous-clés de registre, on utiliser get-childitem combiné, qu’on va lire chaque sous-clé avec select-object avec comme option –ExpandProperty property.

get-childitem -path hklm:\system\CurrentControlSet\Services\ADAM_instance1 | select-object -ExpandProperty property

1 Knowledge Consistency Checker

2 Security Events

3 ExDS Interface Events

4 MAPI Interface Events

5 Replication Events

6 Garbage Collection

7 Internal Configuration

8 Directory Access

9 Internal Processing

10 Performance Counters

11 Initialization/Termination

12 Service Control

13 Name Resolution

14 Backup

15 Field Engineering

16 LDAP Interface Events

17 Setup

18 Global Catalog

19 Inter-site Messaging

20 Group Caching

21 Linked-Value Replication

22 DS RPC Client

23 DS RPC Server

24 DS Schema

Language 0000040C

System Schema Version

Configuration NC

Machine DN Name

Port LDAP

Port SSL

Long instance name

BinPath

CommonBinPath

Service account SID

DSA Working Directory

DSA Database file

Database backup path

Database log files path

Database logging/recovery

DS Drive Mappings

DSA Database Epoch

Strict Replication Consistency

Schema Version

0

Count

NextInstance