Назад | Перейти на главную страницу

Не удалось проверить общее пространство через базу данных sql записанного пути с помощью powershell

Может ли кто-нибудь сказать мне, почему я не справился с этим кодом?

1, я подключаюсь к базе данных 2, я запрашиваю полезную информацию из базы данных (получить путь) 3, я проверил свободное пространство по запрошенному пути

Вот мои коды:

######connect to windows authentication local database################################

$connection= new-object system.data.sqlclient.sqlconnection #Set new object to connect to sql database

$Connection.ConnectionString ="server=.;database=sharespace;trusted_connection=True" # Connectiongstring setting for local machine database with window authentication

Write-host "connection information:"

$connection #List connection information

Write-host "connect to database successful."

$connection.open() #Connecting successful

#########query drop paths############################################################

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand #setting object to use sql commands

$SqlQuery = "select Droppath from sharespace" #setting query "get drop paths"

$SqlCmd.CommandText = $SqlQuery # get query

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter #

$SqlAdapter.SelectCommand = $SqlCmd #

$SqlCmd.Connection = $Connection

$DataSet = New-Object System.Data.DataSet

$SqlAdapter.Fill($DataSet) 

#$Connection.Close()

$DataSet.Tables[0].rows[1]
#############check free space form drop paths###########################################


$var=$dataset.tables[0].rows[1]  #
#$var.system.data.datarow

$var.droppath

$map = new-Object -com wscript.Network 

$map.mapNetworkDrive("v:",$($var.droppath))

$fso = new-Object -com Scripting.FileSystemObject

$do = $fso.getdrive("v:")

$do.AvailableSpace

$do.TotalSize

#$var|get-member

$map.RemoveNetworkDrive("v:")

$Connection.Close()

Я уверен, что запрошенный мной путь действителен, потому что я тестирую этот путь с помощью cmd. Но здесь я потерпел неудачу .... Журналы ошибок:

  Exception calling "MapNetworkDrive" with "2" argument(s): "The network location     cannot be reached. For information about network troubleshooting, see Windows Help."
  At D:\checkfreespace.ps1:47 char:21
  + $map.mapNetworkDrive <<<< ("v:",$($var.droppath))
  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : ComMethodTargetInvocation

  Exception calling "GetDrive" with "1" argument(s): "Exception from HRESULT: 0x800A0044 (CTL_E_DEVICEUNAVAILABLE)"
  At D:\checkfreespace.ps1:51 char:20
  + $do = $fso.getdrive <<<< ("v:")
  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : ComMethodTargetInvocation

  Exception calling "RemoveNetworkDrive" with "1" argument(s): "This network connection does not exist."
  At D:\checkfreespace.ps1:59 char:24
  + $map.RemoveNetworkDrive <<<< ("v:")
  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : ComMethodTargetInvocation

Произошла ваша первая ошибка:

$map.mapNetworkDrive <<<< ("v:",$($var.droppath))

Сетевое расположение недоступно

Так в чем же ценность $var.droppath, и доступно ли это вне этого скрипта?