Forum
Merhaba,
Active Directory katılan kullanıcılara powershell kullanarak mesaj atmak istiyorum. Bununla ilgili
1.satır (Get-ADComputer -SearchBase "OU=Test-PC,OU=Bilgisayarlar,DC=abcd,DC=local" -Filter *).name
önce OU içindeki pc leri listeleme yapıyorum. Sonra,
2.satır (Get-ADComputer -SearchBase "OU=Test-PC,OU=Bilgisayarlar,DC=abcd,DC=local" -Filter *).name | ForEach-Object {Invoke-Command -ComputerName $_{msg * "Merhaba Dunya"}}
Bunu kullanarak pc lere mesaj atabiliyorum ama kullanıcıya özel nasıl atacagımı bulamadım. yazılan kod içerisinde kırmızı yazan yerlere 1.satırda Get-ADUser yazdıgım zaman ou içindeki kullanıcıları listeleyebiliyorum. ama ikinci satırda yazdıgımda msj iletemiyorum. Muhtemelen 2.satırda kırmızı olarak yazdıgım ComputerName yerine kullanıcı hesabını belirtecek birsey yazmam gerekiyor. Ama yapamadım. Yardıma ihtiyacım var.
Bu arada lütfen net send demeyin. onu denedim.
iyi çalışmalar.
Linkte "Yes, we are going to send messages to all users, but actually to all computers" yazıyor zaten kullanıcıya değil cihaza gönderebilirsiniz yazılan batch username zorunluluğunu kaldırmış oluyor. Bu tip düzenlemeler için chatgpt kullanın derim..
'balık vermez, nasıl tutulabildiğine yönlendirir'
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız. Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz. Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
@ibrahimyildiz hocam gpt de denedım ama yapamadım. verdigi kodu aynen uyguluyorum sisteme göre ama olmadı
Denediğim bir şey değil belki de user ou'suna uyguluyorsunuzdur computer içeren ou'lara uygulamanız lazım.
'balık vermez, nasıl tutulabildiğine yönlendirir'
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız. Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz. Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Merhaba, özel bir talep olduğu için oturup yazacak vaktim yok ancak kullandığınız msg.exe nin switchlerine bakmanız gerekli.
username kısmını kullanırsanız yada PS tarafını remote ps ile session sorgulayarak yapmayı deneyebilirsiniz.
$ouPath = "OU=HedefOU,DC=alanadi,DC=com"
$username = "hakan"
$message = "Merhaba Hakan, bu bir test mesajıdır."
$computers = Get-ADComputer -Filter * -SearchBase $ouPath
foreach ($computer in $computers) {
$computerName = $computer.Name
$session = New-PSSession -ComputerName $computerName
Invoke-Command -Session $session -ScriptBlock {
param($msg)
$userSession = Get-WmiObject -Class Win32_ComputerSystem | Select-Object -ExpandProperty UserName
if ($userSession -eq "DOMAIN\$using:username") {
msg.exe * $msg
}
} -ArgumentList $message
Remove-PSSession -Session $session
}
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Rica ederim
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************