Archive

Archives pour la catégorie ‘Windows’

Consulter le journal des événements avec Powershell

Ambulance

Voici deux méthodes pour exploiter le journal des événements d’un serveur.
 
J’utilise la première solution pour consulter directement les logs sur le serveur.
La commande suivante me permet de consulter les 20 dernières erreurs du journal d’événements Lync Server.

?View Code POWERSHELL
Get-EventLog -LogName "Lync Server" -Newest 20 -EntryType error | fl EntryType,Category,CategoryNumber,Source,Message

 

La deuxième va exporter les 20 dernières erreurs dans un fichier texte pour être consulté plus tard ou être transmit.

?View Code POWERSHELL
Get-EventLog -LogName "Lync Server" -Newest 20 -EntryType error | Export-csv -Path Lync-Error.csv

Vous pouvez adapter les filtres en fonction de vos besoins.

Pour connaitre le nom du journal, je consulte les propriétés de celui qui m’intéresse pour récupérer le nom du fichier evtx.

Lync_Server_Events

Categories: Windows Tags: , ,

Lister les cartes réseaux connectés avec PowerShell

ethernet

Cette commande va permettre de lister uniquement les cartes réseaux ayant le statut connecté.

?View Code POWERSHELL
get-wmiobject win32_networkadapter -filter "netconnectionstatus = 2"
Categories: Windows Tags: , ,

Afficher tous les partages d’un serveur avec Powershell

Cette ligne de commande PowerShell affiche tous les partages d’un serveur.

?View Code POWERSHELL
Get-WmiObject -Class "Win32_Share" -NameSpace "root\CIMV2" -ComputerName "MonServeur"
Categories: Windows Tags: ,

Augmenter la taille d’un volume

Avec les machines virtuelles sur VMware et HyperV, quand il n’y en a plus, il y en a encore. Cela vaut pour le CPU, la mémoire, le réseau et surtout le disque.
Voici comment rapidement étendre un volume de données sur un serveur.
Une fois que vous avez ajouté les gigas nécessaires à votre machine virtuelle, vous pouvez étendre la partition.
Il y a quelques conditions:
- Le volume ne peut pas être le système pour Windows Server 2000 et 2003.
- L’espace ajouté et le volume à étendre doivent être contigus.

Pour Windows 2000 et 2003 Server, utilisez Diskpart.

diskpart-2

Télécharger diskpart pour Windows 2000 ici.

Pour Windows 2008 Server, utilisez le gestionnaire de disques.
Cliquez droit sur le volume souhaité et cliquez sur Etendre le volume.
Suivez ensuite l’assistant.

Plus d’informations dans l’article Microsoft ici.

Pour rappel Microsoft recommande un partition système de 40Go ou plus.
Configuration système requise pour Windows Server 2008

Exporter la liste des fichiers d’un lecteur par extension.

Dans l’idée de faire un peu de ménage sur un lecteur, je cherche à identifier les fichiers multimédia avec le chemin et la taille.
Ce script va créer un fichier texte pour chaque extension.

?View Code POWERSHELL
Get-ChildItem -Recurse -Path "E:\" -Include *.mp3,*.mp4,*.avi -ErrorAction silentlycontinue | ForEach {
Write-Progress -activity "Fichiers Multimédia" -Status $_.FullName
$extension = $_.name.split(".")[-1]
$size ={0:N2}-f ($_.Length/1mb)
$logfile = ".\logs\" + $extension + ".txt"
$present = Test-Path -Path $logfile
    if ( $present -ne "true") {
    Write-host "Création de $logfile"
    $resfile = New-Item -ItemType file -Path $logfile -Force
    Add-Content -Path $logfile -Value "Nom;Chemin;Taille"
    Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
    }
    Else {
    Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
    }
}

Exporter la liste des gros fichiers présents sur un lecteur.

Voici un script pour exporter dans un fichier texte la liste des fichiers de plus de 100Mo présents sur un lecteur.

?View Code POWERSHELL
Get-ChildItem -Recurse -Path "E:\" -ErrorAction silentlycontinue | Where-Object { $_.length -gt 100000000 } | ForEach {
Write-Progress -activity "Fischiers de plus de 100Mo" -Status $_.FullName
$size ={0:N2}-f ($_.Length/1mb)
$logfile = ".\logs\Gros_fichiers.txt"
	$present = Test-Path -Path $logfile
	if ( $present -ne "true") {
Write-host "Création de $logfile"
$resfile = New-Item -ItemType file -Path $logfile -Force
Add-Content -Path $logfile -Value "Nom;Chemin;Taille"
Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
}
Else {
Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
}
}
Categories: Windows Tags: , ,

Afficher l’état d’un service sur les serveurs d’une OU

Je souhaite contrôler rapidement l’état d’un service Citrix sur tous les serveurs présents dans une OU. S’agissant d’une quinzaine de serveurs, j’ai besoin d’une commande qui me retourne l’information en quelques secondes.
La commande PowerShell que j’utilise est la suivante:

Sur un serveur Windows 2008 R2.

?View Code POWERSHELL
Import-Module ActiveDirectory ; Get-ADComputer -SearchBase "OU=Serveurs Citrix,OU=Serveurs,DC=domain,DC=local" -Filter *| Foreach { $status = Get-Service -Name IMAService -ComputerName $_.name ; Write-host $_.name"`t"$service.name"`t"$service.status }

Pour Windows Seven, Windows 2003 et Windows 2008.

?View Code POWERSHELL
$ou = [ADSI]"LDAP://OU=Serveurs Citrix,OU=Serveurs,DC=domain,DC=local" ; foreach ($srv in $ou.psbase.Children ) { if ($srv.ObjectCategory -like '*computer*'){$service= Get-Service -Name IMAService -ComputerName $srv.name ; Write-host $srv.name"`t"$service.name"`t"$service.status}}
Categories: Windows Tags: , ,

Désactiver le contrôle de compte d’utilisateur UAC avec PowerShell

Voici comment désactiver le contrôle de compte d’utilisateur (UAC) avec PowerShell.
UAC (User Account Control) permet de restreindre l’exécution des programmes pour contrôler les modifications du système.
 

L’apparition régulière de ce message peut à la longue devenir lassante.
Voici comment rapidement y mettre fin:

- Exécuter PowerShell en tant d’administrateur
- Lancer la commande:

?View Code POWERSHELL
New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force

- Rebooter l’ordinateur.

Savoir qui est connecté sur un PC distant

Ce script permet de savoir qui est connecté en ce moment sur un ordinateur distant.
Ça marche sur Windows XP et Windows Seven.

?View Code POWERSHELL
$computer = Read-Host "Enter the computer Name"
$loginfo = Get-WmiObject -Computer $Computer -Class Win32_ComputerSystem
"Machine Name: " + $loginfo.Name 
"User Name: " + $loginfo.UserName
Categories: Windows Tags: , , ,

Erreur (0×1) du planificateur de tâches

Il a fallut que je cherche un peu alors je partage l’info.

Dans mon cas, je veux exécuter un .cmd ou un .bat dans dans une tâche planifiée.
Problème, la tâche ne s’exécute pas en renvoyant l’erreur (0×1).
La description de l’erreur est « Une fonction incorrecte ou inconnue a été appelée »

La solution dans mon cas, il manquait dans les propriétés de l’action un chemin dans le champ « Commencer dans (Facultatif): »

Je dis merci au « Facultatif ».