현재 사용자가 사용하는 로컬 또는 원격 시스템에서 아래 코드를 실행하려고합니다.-computerName을 사용하면 powershell invoke-command가 작동하지 않습니다.
$BackUpSqlAgentAndRemoveOldbackup = {
param([string]$AppServer,[string]$SqlInstance,[string]$BackupShare,[string]$alias)
[Environment]::UserName #I got same user name in all cases.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null
$server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $SqlInstance
$backupName = 'SqlAgentJob_' + $SqlInstance + '_' + (Get-Date –format ‘yyyyMMdd_HHmm’) + '_' + $alias + '.sql'
$backupPath = join-path $BackupShare $backupName
$oldBackups = Get-ChildItem $backupShare | where { ($_.name -like 'SqlAgentJob_*.sql') }
$server.JobServer.Jobs.Script() | Out-File -filepath $backupPath
foreach ($item in $oldBackups) { remove-item $item.fullName }
}
@argList는 (더 -comupterName 및 -session)
Invoke-Command -ScriptBlock $BackUpSqlAgentAndRemoveOldbackup -argumentList $argList
이 하나, 그것을 내가
이 하나, 그것은 잘 작동 것을 알 수
@('hafcapp-1', 'hafcsql-1', '\\Host5FileSrv\Backup\test','auto')
없다 실행을 포기 (나는 또한 "- 세션"을 시도, 동일한 결과를 얻을)
Invoke-Command -computerName localhost -ScriptBlock $BackUpSqlAgentAndRemoveOldbackup -argumentList $argList
예외는 다음과 같습니다. 폴더에 액세스 할 수없는 것으로 보입니다.
Cannot find path '\\Host5FileSrv\Backup\test' because it does not exist.
+ CategoryInfo : ObjectNotFound: (\\Host5FileSrv\Backup\test:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
You cannot call a method on a null-valued expression.
+ CategoryInfo : InvalidOperation: (Script:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Cannot bind argument to parameter 'Path' because it is null.
+ CategoryInfo : InvalidData: (:) [Remove-Item], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.RemoveItemCommand
컴퓨터 이름이나 세션을 추가하려면 어떻게해야합니까? (참고 : [환경] : 사용자 이름이 동일한 사용자를 반환) 이것은 "두 번째 홉"원격 문제처럼 보인다