Archive

Articles taggués ‘Serveur’

Exporter la langue des systèmes

Ce script permet d’exporter dans un fichier la liste des ordinateurs et serveurs d’une OU avec le login de l’utilisateur connecté et la langue du système d’exploitation.
Cela ne fonctionne que pour les ordinateurs et serveurs en ligne.

$fileres = ".\Export\FI00_Paris_Comp_Lang.csv"
$expfile = New-Item -ItemType file -Path $fileres -Force
Add-Content -Path $fileres -Value "Computer,LoggedUser,Language"
 
 
Get-QADComputer -SearchRoot "domain.local/FI00_Paris"| ForEach-Object {
 
if ( Test-Connection $_.name -count 1 -quiet)  {
$computer = $_.name
$lang = (Get-WmiObject Win32_OperatingSystem -ComputerName $computer -ErrorAction continue ).oslanguage
$switch = switch ($lang) `
{
1033 {"English"};
1036 {"French"};
default {"Unknown"}
}
$loginfo = Get-WmiObject -Computer $Computer -Class Win32_ComputerSystem
 
$present = Select-String -Path $fileres -Pattern $computer
 
Add-Content -Path $fileres -Value "$($computer),$($loginfo.UserName),$($switch)"
 
}
}

Récupérer à distance le numéro de série

Cette commande permet de récupérer à distance le numéro de série d’un serveur ou ordinateur.

(Get-WmiObject -Class Win32_BIOS -NameSpace "root\CIMV2" -Computer "SRV001").SerialNumber

Configurer la communauté SNMP.

Permet de configurer le service SNMP d’un serveur distant.
Ce script configure la communauté et les hosts autorisés.

$server = Read-Host "Please enter the server name"
		$MachineName = $server
		$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $MachineName)
		$regconf = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters",$true)
		$regconf.SetValue('EnableAuthenticationTraps','0','DWord')
		$regconf = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters\\PermittedManagers",$true)
		$regconf.SetValue('1','localhost','string')
		$regconf.SetValue('2','SV002859','string')
		Write-Host "Server: "$MachineName -ForegroundColor Green
		$regconf.GetValue('1')
		$regconf.GetValue('2')
 
		Write-Host "-------------------------------------" -ForegroundColor Green
		$regconft = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters\\ValidCommunities",$true)
		$regconft.SetValue('casimir','4','DWord')
Categories: Windows Tags: , , ,

Modifier la base de registre à distance.

Voici comment modifier la base de registre d’un serveur à distance.

$servername = "SRV001"
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $servername)
$regconf = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters",$true)
#Ecriture de la valeur.
$regconf.SetValue('EnableAuthenticationTraps','0','DWord')
#Verification de la valeur.
$regconf.GetValue('EnableAuthenticationTraps')

Voici les différents types de valeurs.

Unknown
String
ExpandString
Binary
DWord
MultiString
QWord

Categories: Windows Tags: , ,

Créer un compte administrateur local à distance.

Permet de créer un compte administrateur local sur un serveur distant.

$hostname = Read-Host "Enter the server name" 
$username  = Read-Host "Enter the user name" 
$password  = Read-Host "Enter the user password"
 
		$domain = ([ADSI]"").name
		$computer = [adsi] "WinNT://$domain/$hostname"
		$user =  "WinNT://$domain/$hostname/$username,user"
		$newuser = $computer.Create("user", "$username")
		$newuser.SetPassword("$password")
		$newuser.SetInfo()
		$newuser.UserFlags.value = $newuser.UserFlags.value -bor 0x10000
		$newuser.CommitChanges()
		$addadm = [adsi] "WinNT://$hostname/Administrators,group"
		$addadm.Add("WinNT://$hostname/$username,user")
		$newuser.SetInfo()
 
Write-Host "User $username create as local administrator of $hostname." -ForegroundColor Green
Categories: Windows Tags:

Liste les serveurs membres d’une OU

Permet de lister tous les serveurs membres du domaine présent dans une OU.
Cette liste exclut donc les contrôleurs de domaine.

Get-QADComputer -SearchRoot "domain.local/FI00_Paris" |
Foreach {
 
$start = $_.name.StartsWith("SRV")
		if ( $start -eq  "true" -and $_.ComputerRole -ne "DomainController"  ){
		Write-Host $_.name
		}
		else {}
		}
Categories: Active Directory Tags:

Enlever à distance un adminstrateur local.

Enlever à distance d’un compte du domaine du groupe « Administrators » d’un ordinateur ou serveur.

 $computer  = Read-Host "Enter computer name" 
 $user = Read-Host "Enter user name" 
 $domain = ([ADSI]"").name 
 ([ADSI]"WinNT://$computer/Administrators,group").Remove("WinNT://$domain/$user")

Ajout à distance d’un administrateur local.

Ajouter à distance d’un compte du domaine dans le groupe « Administrators » d’un ordinateur ou serveur.

 $computer  = Read-Host "Enter computer name" 
 $user = Read-Host "Enter user name" 
 $domain = ([ADSI]"").name 
 ([ADSI]"WinNT://$computer/Administrators,group").Add("WinNT://$domain/$user")

Espace disque libre sur les serveurs de BAL.

Ce script affiche la taille et le pourcentage d’espace disque libre sur tous les volumes montés sur les serveurs de boites aux lettres.

$mbserver = Get-MailboxServer 
Foreach ($server in $mbserver) { 
"___________" 
"" 
$server.name 
"___________" 
"" 
Get-WmiObject win32_volume -ComputerName $server.name | Sort-Object -Property capacity | Format-Table  @{e={$_.systemname};n="Server" }, @{e={$_.name};n="Volume" }, @{ e={[math]::round($_.Capacity/1GB,2)};n="Capacity (GB)" }, @{ e={[math]::round($_.FreeSpace/1GB,2)};n="FreeSpace (GB)" }, @{ e={[math]::round(($_.FreeSpace*100)/$_.Capacity) };n="PourcentFree" } }

Afficher la configuration IP d’un serveur distant.

Permet d’afficher la configuration IP des cartes actives sur un serveur distant.

Get-WmiObject  -Class "Win32_NetworkAdapterConfiguration"  -ComputerName "server001" | Where-Object {$_.IpEnabled -Match "True"} | Select-Object DNSHostName,DHCPEnabled,IPAddress,IPSubnet,DefaultIPGateway,DNSServerSearchOrder,WINSPrimaryServer,WINSSecondaryServer,MACAddress,DNSDomain,Description
Categories: Windows Tags: , ,