Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Mielőtt helyi vagy távoli Configuration Manager helykiszolgáló sms-szolgáltatóhoz csatlakozik, először meg kell keresnie a helykiszolgáló SMS-szolgáltatót. Az SMS-szolgáltató lehet helyi vagy távoli a használt Configuration Manager helykiszolgálóhoz. A Windows Management Instrumentation (WMI) osztály SMS_ProviderLocation
minden Configuration Manager helykiszolgálón megtalálható, és egy példány tartalmazza a használt Configuration Manager helykiszolgáló helyét.
Az SMS-szolgáltatóhoz egy Configuration Manager helykiszolgálón csatlakozhat a WMI SWbemLocator objektummal vagy a Windows szkriptgazda GetObject
metódusával. Mindkét megközelítés egyformán jól működik a helyi vagy távoli kapcsolatokon, az alábbi korlátozásokkal:
Ezt akkor kell használnia
SWbemLocator
, ha át kell adnia a felhasználói hitelesítő adatokat egy távoli számítógépnek.A használatával
SWbemLocator
nem adhatja át explicit módon a felhasználói hitelesítő adatokat egy helyi számítógépnek.A kapcsolat létrehozásához számos különböző szintaxis használható, attól függően, hogy a kapcsolat helyi vagy távoli. Miután csatlakozott az SMS-szolgáltatóhoz, egy SWbemServices objektummal fog rendelkezni, amellyel hozzáférhet Configuration Manager objektumokhoz.
Megjegyzés:
Ha környezeti minősítőket kell hozzáadnia a kapcsolathoz, lásd: Configuration Manager környezeti minősítő hozzáadása WMI használatával.
Csatlakozás SMS-szolgáltatóhoz
Szerezze be a WbemScripting.SWbemLocator objektumot.
Állítsa a hitelesítési szintet a csomagok adatvédelmére.
Hozzon létre egy kapcsolatot az SMS-szolgáltatóval az SWbemLocator objektum ConnectServer metódusával. Csak távoli számítógép esetén adja meg a hitelesítő adatokat.
A SMS_ProviderLocation object ProviderForLocalSite tulajdonsággal csatlakozzon a helyi számítógép SMS-szolgáltatóhoz, és fogadjon egy SWbemServices objektumot.
Az SWbemServices objektummal érheti el a szolgáltatói objektumokat. További információ: Objektumok áttekintése.
Példák
Az alábbi példa a kiszolgálóhoz csatlakozik. Ezután megpróbál csatlakozni a kiszolgálóHOZ tartozó SMS-szolgáltatóhoz. Ez általában ugyanaz a számítógép lesz. Ha nem, SMS_ProviderLocation a megfelelő számítógépnevet adja meg.
A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.
Function Connect(server, userName, userPassword)
On Error Resume Next
Dim net
Dim localConnection
Dim swbemLocator
Dim swbemServices
Dim providerLoc
Dim location
Set swbemLocator = CreateObject("WbemScripting.SWbemLocator")
swbemLocator.Security_.AuthenticationLevel = 6 'Packet Privacy.
' If the server is local, do not supply credentials.
Set net = CreateObject("WScript.NetWork")
If UCase(net.ComputerName) = UCase(server) Then
localConnection = true
userName = ""
userPassword = ""
server = "."
End If
' Connect to the server.
Set swbemServices= swbemLocator.ConnectServer _
(server, "root\sms",userName,userPassword)
If Err.Number<>0 Then
Wscript.Echo "Couldn't connect: " + Err.Description
Connect = null
Exit Function
End If
' Determine where the provider is and connect.
Set providerLoc = swbemServices.InstancesOf("SMS_ProviderLocation")
For Each location In providerLoc
If location.ProviderForLocalSite = True Then
Set swbemServices = swbemLocator.ConnectServer _
(location.Machine, "root\sms\site_" + _
location.SiteCode,userName,userPassword)
If Err.Number<>0 Then
Wscript.Echo "Couldn't connect:" + Err.Description
Connect = Null
Exit Function
End If
Set Connect = swbemServices
Exit Function
End If
Next
Set Connect = null ' Failed to connect.
End Function
Az alábbi minta a PowerShell használatával csatlakozik a távoli kiszolgálóhoz, és SMS-kapcsolatot kísérel meg.
$siteCode = ''
$siteServer = 'server.domain'
$credentials = Get-Credential
$username = $credentials.UserName
# The connector does not understand a PSCredential. The following command will pull your PSCredential password into a string.
$password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($credentials.Password))
$NameSpace = "root\sms\site_$siteCode"
$SWbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$SWbemLocator.Security_.AuthenticationLevel = 6
$connection = $SWbemLocator.ConnectServer($siteServer,$Namespace,$username,$password)
A kód fordítása
Ehhez a C#-példához a következőre van szükség:
Megjegyzések
A mintametódus a következő paraméterekkel rendelkezik:
Paraméter | Típus | Leírás |
---|---|---|
connection |
-Kezelt: WqlConnectionManager - VBScript: SWbemServices |
|
Érvényes kapcsolat az SMS-szolgáltatóval. | ||
taskSequence |
-Kezelt: IResultObject - VBScript: SWbemObject |
Érvényes feladatütemezés (SMS_TaskSequence). |
taskSequenceXML |
-Kezelt: String - VBScript: String |
Érvényes feladatütemezési XML. |
Robusztus programozás
A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.
.NET-keretrendszer Security
A felhasználónév és a jelszó átadására szolgáló szkript használata biztonsági kockázatot jelent, és ahol lehetséges, el kell kerülni.
Az előző példa csomagvédelmet állít be a hitelesítéshez. Ez ugyanaz a felügyelt SMS-szolgáltató.
A Configuration Manager alkalmazások biztonságossá tételével kapcsolatos további információkért lásd: Configuration Manager szerepköralapú felügyelet.
Lásd még
Az SMS-szolgáltató alapjaiA Configuration Manager környezeti minősítő hozzáadásaa WMI Windows Management Instrumentation használatával