Guest User

Untitled

a guest
Jan 16th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. declare @svrName varchar(255)
  2. declare @sql varchar(400)
  3.  
  4. set @svrName = @@SERVERNAME
  5. set @sql = 'powershell.exe -c "Get-WmiObject -ComputerName ' + QUOTENAME(@svrName,'''') + ' -Class Win32_Volume -Filter ''DriveType = 3'' | select name,capacity,freespace | foreach{$_.name+''|''+$_.capacity/1048576+''%''+$_.freespace/1048576+''*''}"'
  6. --creating a temporary table
  7. CREATE TABLE #output
  8. (line varchar(255))
  9. --inserting disk name, total space and free space value in to temporary table
  10.  
  11. insert #output
  12. EXEC xp_cmdshell @sql
  13.  
  14. select rtrim(ltrim(SUBSTRING(line,1,CHARINDEX('|',line) -1))) as drivename
  15. ,round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('|',line)+1,
  16. (CHARINDEX('%',line) -1)-CHARINDEX('|',line)) )) as Float)/1024,0) as 'capacity(GB)'
  17. ,round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('%',line)+1,
  18. (CHARINDEX('*',line) -1)-CHARINDEX('%',line)) )) as Float) /1024 ,0)as 'freespace(GB)'
  19. from #output
  20. where line like '[A-Z][:]%'
  21. order by drivename
  22.  
  23. declare @svrName varchar(255)
  24. declare @sql varchar(400)
  25.  
  26. set @svrName = @@SERVERNAME
  27. set @sql = 'powershell.exe -c "Get-WmiObject -ComputerName ' + QUOTENAME(@svrName,'''') + ' -Class Win32_Volume -Filter ''DriveType = 3'' | select name,capacity,freespace | foreach{$_.name+''|''+$_.capacity/1048576+''%''+$_.freespace/1048576+''*''}"'
  28. --creating a temporary table
  29. CREATE TABLE #output
  30. (line varchar(255))
  31. --inserting disk name, total space and free space value in to temporary table
  32.  
  33. insert #output
  34. EXEC xp_cmdshell @sql
  35.  
  36. select rtrim(ltrim(SUBSTRING(line,1,CHARINDEX('|',line) -1))) as drivename
  37. ,round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('|',line)+1,
  38. (CHARINDEX('%',line) -1)-CHARINDEX('|',line)) )) as Float)/1024,0) as 'capacity(GB)'
  39. ,round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('%',line)+1,
  40. (CHARINDEX('*',line) -1)-CHARINDEX('%',line)) )) as Float) /1024 ,0)as 'freespace(GB)'
  41. from #output
  42. where line like '[A-Z][:]%'
  43. having (CHARINDEX('*',line) -1)-CHARINDEX('%',line)) )) as Float) /1024 ,0) < 20
  44. order by drivename
  45.  
  46. declare @svrName varchar(255)
  47. declare @sql varchar(400)
  48.  
  49. set @svrName = @@SERVERNAME
  50. set @sql = 'powershell.exe -c "Get-WmiObject -ComputerName ' + QUOTENAME(@svrName,'''') + ' -Class Win32_Volume -Filter ''DriveType = 3'' | select name,capacity,freespace | foreach{$_.name+''|''+$_.capacity/1048576+''%''+$_.freespace/1048576+''*''}"'
  51. --creating a temporary table
  52. CREATE TABLE #output
  53. (line varchar(255))
  54. --inserting disk name, total space and free space value in to temporary table
  55.  
  56. insert #output
  57. EXEC xp_cmdshell @sql
  58.  
  59. select rtrim(ltrim(SUBSTRING(line,1,CHARINDEX('|',line) -1))) as drivename
  60. ,round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('|',line)+1,
  61. (CHARINDEX('%',line) -1)-CHARINDEX('|',line)) )) as Float)/1024,0) as 'capacity(GB)'
  62. ,round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('%',line)+1,
  63. (CHARINDEX('*',line) -1)-CHARINDEX('%',line)) )) as Float) /1024 ,0)as 'freespace(GB)'
  64. into #output_2
  65. from #output
  66. where line like '[A-Z][:]%'
  67. order by drivename
  68.  
  69. select *
  70. from #output_2
  71. where [freespace(GB)] < 20
Add Comment
Please, Sign In to add comment