# 3. Using Classes
```
# Exploring Namespaces
### We can list all namespaces by querying the _Namespace class.
Use below command to execute to list all namespaces within the root namespace.
Get-WmiObject -Namespace "root" -Class "__Namespace" | select Name
Get-CimInstance -Namespace "root" -ClassName "__Namespace"
```

```
### Lets use Get-WmiNamespace to list even the nested namespaces
### See Get-WmiNamespace.ps1
```

## Exploring Classes
- Process, hardware, services, etc
- Classes are divided into three categories:
Core Classes
Common Classes
Extended Classes
- Classes are further divided into these types:
Abstract
Static
Dynamic
Association
```
Get-WmiObject -Class *bios* -List
```

```
Get-WmiObject -Namespace root\cimv2 -Class *bios* -List
```

```
Get-CimClass -ClassName *bios*
```

```
To list only dynamic classes (only dynamic classes can be queried)
Get-CimClass -QualifierName dynamic
```