Archive

Posts Tagged ‘Howto’

Track Local Network Shares on SCCM 2007

Hi,

If you need to find all the local shares that users create on their computer this post might be good for you,

The first thing you need to do is to edit the sms_def.mof file for the client to start reporting of his local shares\

  1. Open the file …\Microsoft Configuration Manager\Inboxes\clifiles.src\hinv\sms_def.mof with your notepad
  2. search for   SMS_Group_Name (“Shares”), 
  3. You can change all the FALSE parameters to TRUE, or just the SMS_Report, Name and Path
  4. Now you need to wait, it can take some time that the client will start reporting about his shares

The second thing to do is to build a small report, you can use a basic report that show all the shares

SELECT TOP (100) PERCENT dbo.v_GS_SHARE.ResourceID, dbo.v_R_System.Name0 AS Hostname, dbo.v_GS_SHARE.Name0 AS ShareName,
dbo.v_GS_SHARE.Path0 AS Path
FROM dbo.v_GS_SHARE INNER JOIN
dbo.v_R_System ON dbo.v_GS_SHARE.ResourceID = dbo.v_R_System.ResourceID

Or you can use some filter to disable administrative shares

SELECT TOP (100) PERCENT dbo.v_GS_SHARE.ResourceID, dbo.v_R_System.Name0 AS Hostname, dbo.v_GS_SHARE.Name0 AS ShareName,
dbo.v_GS_SHARE.Path0 AS Path
FROM dbo.v_GS_SHARE INNER JOIN
dbo.v_R_System ON dbo.v_GS_SHARE.ResourceID = dbo.v_R_System.ResourceID
WHERE (dbo.v_GS_SHARE.Name0 NOT LIKE ‘_$’) AND (dbo.v_GS_SHARE.Name0 <> ‘admin$’) AND (dbo.v_GS_SHARE.Name0 <> ‘ipc$’)

I’m done here , on my next post I’ll show how to generate report of permission of those shares.

PowerShell: Get Active Directory groups membership for a user

22/10/2013 2 comments

Hi,

When you have to document every change  Because you’re committed to SOX regulation, you need to extract the data fast

This PowerShell script receive an AD username and export .csv with all Active Directory groups (for Fast Copy&Past).

import-module ActiveDirectory
$name = Read-Host ‘What is the username?’
$csvvv = “.csv”
Get-ADPrincipalGroupMembership $name | select name | Export-CSV ($name+$csvvv)

Save it as .ps1 and run it from the powershell command line,

Sending a reminder to users with password is about to expire (PowerShell Script)

11/07/2013 2 comments

One of the most annoying thing in user support is that they never notice the “consider changing your password” balloon, and sometimes they are locked out after their password expired,

To overcome this difficulty with users, I programmed This in PowerShell:

 

  • First, I pull out the users that their password ending soon –

import-module ActiveDirectory

$date1 = ((Get-Date).AddDays(-56)).ToString()
$date2 = ((Get-Date).AddDays(-61)).ToString()

//the default domain password expiration is 60 days

get-ADUser -server “YOURDC” -SearchBase “OU=Divisions,DC=DOMAIN,DC=COM” -Filter {(enabled -eq “TRUE”) -and (PasswordLastSet -lt $date1) -and (PasswordLastSet -gt $date2) -and (PasswordNeverExpires -eq “false”) -and (EmailAddress -notlike ‘\S’)} -Properties * | select EmailAddress, DisplayName, PasswordLastSet | Export-CSV c:\List1.csv

//Please notice that i export only 3 field for each user (EmailAddress, DisplayName, PasswordLastSet)

  • Now we delete the first row, and load the file into $list

get-content c:\list1.csv | select -skip 1| set-content c:\list2.csv

$list = import-csv “c:\list2.csv”

 

  • Now for the loop, it will go to each row and take the user information and send him an email to consider changing his password

ForEach ($row in $list) {
$Subject = “Dear “+$row.DisplayName+”, Your Domain Password Set On “+$row.PasswordLastSet+” And About To Expire”
$Body = “To change youre password press Control+Alt+Delete and choose Change Password `nThis is an automatic message, Please DO NOT reply ……”

send-mailmessage -to $row.EmailAddress -from “<me@domain.com>”  -subject $subject -body $body -smtpServer “smtp.domain.com”
}

You can consolidate all the script parts to one file .ps1 type

This is it, I hope you liked it….

Yair

 

 

HowTo Create SCCM collection based on failed advertisement

Hello
I came across with advertisment that failed 50% because of some setting wrong,

Before installation of the software requested was necessary to install a specific patch failed computers,
I found the following query that finds the computers that have failed in the original Advertisment

SELECT sys.ResourceID,sys.ResourceType,sys.Name,sys.SMSUniqueIdentifier,sys.ResourceDomainORWorkgroup,sys.Client FROM sms_r_system as sys inner join SMS_ClientAdvertisementStatus as offer on sys.ResourceID=offer.ResourceID WHERE AdvertisementID = ‘XXX#####’ and LastStateName = “Failed”

You know the rest here,

Yair

Categories: SCCM Tags: , ,

How-to create collection based on MAC address or UUID

22/04/2011 1 comment

Hi all

I Use this collection to “find unknown” computers  for deploy OSD over PXE, to make the resource unknown i need to delete it, but I don’t know the name of the resource only the MAC / UUID that shown in the PXE boot.

First create a new collection and the member ship rules should be based on query like the images below:

 That’s it,

Yair

Categories: Microsoft, SCCM Tags: , , , ,

PXE not working after restating the sccm 2007 server

Hi All,

Our SCCM server contain the PXE Service Point and WDS (DHCP on another server) – The server is A Virtual Server

Every time we needed to restart the server, the PXE didn’t worked, and we received the cursed TFTP Error….

So i tried to fix this issue by removing the PXE Service point, and reinstalling, but  i needed to create distribution points again to all my software/images

So, after 6 month, i solves this issue

  1. Restart the WDS Service
  2. Restart The PXE Service
  3. Update the Distribution points of the Boot image, x86 and X64 as well, i don’t know why it’s worked, but it fixed it.

Yair

PST Inventory With SCCM

09/01/2011 4 comments

Hi,

We are about to implement Symantec Enterprise Vault and we need to estimate our PST size on our laptops,

So I set the Inventory Collection (Site management ->Site name -> Site settings -> Client agents (properties) -> software inventory client agent)

It will take a few days until the DB will be entered with the information we need, (I set up the software inventory schedule to run every 1 day for the first week, after i have all the information i’ll set it back to run every 7 days as the default setting)

Now There is few ways to see the PST data:

1. Use built-in report called Computers with a specific file and in the file name use %.PST

You should see something like:

2. Use Custom Report For PST as I found on System Center Forum by John Marcum

PST’s on a Client

select Sys.Name0, Sys.User_Name0, SF.FileName, SF.FilePath, SF.FileSize/1024 as Megs
from v_R_System Sys INNER JOIN v_GS_SoftwareFile SF on
Sys.ResourceID = SF.ResourceID
where SF.FileName like ‘%’+’.PST’ and Sys.Name0= @System
Order by SF.FileName

PST’s on Client Count

select Sys.Name0, Sys.User_Name0,
Count(SF.FileName) as FileCount,
Sum(SF.FileSize/1024/1024) as ‘Megs Used’
from v_R_System Sys INNER JOIN v_GS_SoftwareFile SF on
Sys.ResourceID = SF.ResourceID
where SF.FileName like ‘%’+’.PST’ and SF.FileSize/1024/1024 > 0
Group by Sys.Name0, Sys.User_Name0
having Count(SF.FileName) > 1 order by Sys.Name0 Desc

That’s It,

yair