我在嘗試理解如何在scriptblock上集成函數時遇到問題。我之所以需要scriptblock是因爲我想在orchestrator中運行powershell腳本,除非有人可以幫助我如何在orchestrator中運行自定義函數。我想運行的函數我從另一個站點獲得它,但我更改了變量的名稱。Scriptblock內部的函數無法理解
Function Get-RDPStatus {
param (
[CmdletBinding()]
[string[]]$ComputerName = $env:COMPUTERNAME
)
begin {
$SelectHash = @{
'Property' = @('Name','ADObject','DNSEntry','PingResponse','RDPConnection')
}
}
process {
foreach ($CurrentComputer in $ComputerName) {
# Create new Hash
$HashProps = @{
'Name' = $CurrentComputer
'ADObject' = $false
'DNSEntry' = $false
'RDPConnection' = $false
'PingResponse' = $false
}
# Perform Checks
switch ($true)
{
{([adsisearcher]"samaccountname=$CurrentComputer`$").findone()} {$HashProps.ADObject = $true}
{$(try {[system.net.dns]::gethostentry($CurrentComputer)} catch {})} {$HashProps.DNSEntry = $true}
{$(try {$socket = New-Object Net.Sockets.TcpClient($CurrentComputer, 3389);if ($socket.Connected) {$true};$socket.Close()} catch {})} {$HashProps.RDPConnection = $true}
{Test-Connection -ComputerName $CurrentComputer -Quiet -Count 1} {$HashProps.PingResponse = $true}
Default {}
}
# Output object
New-Object -TypeName 'PSCustomObject' -Property $HashProps | Select-Object @SelectHash
}
}
end {
}
}
不要忘記問你的問題。 –
他沒有,好了,你需要做的唯一的事情就是打電話給你的函數,定義它,打完這在底部'GET-RDPStatus someinput' – 4c74356b41
其實,問題是我怎樣才能添加此功能工作的一個scriptblock。我試圖在prageet中使用下面的建議,但沒有奏效。 –