Infopolux
Astuces & Tutoriels informatique [ Windows, Téléphonie, Linux et Messagerie.]
dimanche 25 octobre 2015
Powershell - Administration : Afficher les chemins dont le nombre de caractères excède 260.
Pratique avant d'envisager une migration :
Get-ChildItem -r * |? {$_.GetType().Name -match "File" } |? {$_.fullname.length -ge 260} |%{$_.fullname}
#!:)!
Powershell - Echange : Afficher les destinataires d'une liste de distribution
Y a pas plus simple (forme à améliorer) :
Get-DistributionGroup "nomlidtededistribution"
| fl name,accept*
#!:)!
Powershell - Administration à distance : Vérifier le statut d'un service et le démarrer et administration à distance
Commandes permettant l'administration du PC & Registre à distance (interrogation) :
get-service winrm -computer pcpolux
Status Name DisplayName
------ ---- -----------
Stopped winrm Gestion à distance de Windows
(Gest...
get-service
remoteregistry -computer pcpolux
Status Name DisplayName
------ ---- -----------
Stopped remoteregistry Registre à distance
Start-Service -InputObject (get-Service -ComputerName
pcpolux -Name RemoteRegistry)
Stop-Service -InputObject (get-Service -ComputerName
pcpolux -Name RemoteRegistry)
Attention cela ne marche pas si le service est désactivé sur le PC distant.
#!:)!
#!:)!
Powershell - Exchange : Connecter un boîte aux lettres
Commande permettant de connecter une boîte aux lettres à un utilisateur :
Connect-Mailbox -Identity "Polux" -Database NomDelaBase -User "Polux"
Powershell - Exchange : Afficher les boîtes aux lettres désactivées
Commande qui affiche les boîtes au lettres désactivées :
Get-MailboxDatabase | Get-MailboxStatistics | Where {
$_.DisconnectReason -eq "Disabled " } | Where {
$_.LastLoggedOnUserAccount -like "Toto\Filtrezdequat*" } |
Format-List DisplayName, DisconnectReason
DisplayName :
Polux
DisconnectReason : Disabled
Powershell - Logs : Récupérer les logs
Dans ce mini script, je demande les logs des dernières 24 heures :
$a = (Get-Date).AddMonths(-1)
write-host "votreserveur" -foregroundcolor red -backgroundcolor white
Get-WinEvent -computername ordi -FilterHashtable
@{logname = 'setup'; id = 2} | where {$_.timecreated -gt $a } |Format-Table
timecreated, message -AutoSize -Wrap
Il est évidemment possible d'envoyer un rapport par mail et d'ajouter des serveurs avec l'option "- append " dans un fichier texte, à suivre...
Autre script (ici un serveur récupère les logs des autres à configurer en amont) :
$a =
(Get-Date).Adddays(-10)
Get-WinEvent -computername votreserveur
-FilterHashtable @{logname = 'forwarded*'} | where {$_.timecreated -gt $a
} |Format-Table MachineName,TimeCreated,Message -AutoSize -Wrap| Out-File
"d:\shell\logs\errors.txt"
#Get-WinEvent -computername votreserveur
-FilterHashtable @{logname = 'forwarded*'} | where {$_.timecreated -gt $a }|
format-list -property *
$dir = "d:\shell\logs\"
$expediteur = "Polux@polux.com "
$destinataire
= "Tata@polux.com "
$serveur
= "serveursmtp.polux.com"
Get-ChildItem "$dir"|
Where {-NOT $_.PSIsContainer}| foreach {$_.fullname} |send-mailmessage -from
"$expediteur" -to "$destinataire" -subject "Logs
$i" -smtpServer $serveur
Options :
#Id
#Version
#Qualifiers
#Level
#Task
#Opcode
#Keywords
#RecordId
#ProviderName
#ProviderId
#LogName
#ProcessId
#ThreadId
#MachineName
#UserId
#TimeCreated
#ActivityId
#RelatedActivityId
#ContainerLog
#MatchedQueryIds
#Bookmark
#LevelDisplayName
#OpcodeDisplayName
#TaskDisplayName
#KeywordsDisplayNames
#Properties
#!:)!
Inscription à :
Articles (Atom)