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.
Új számítógépet közvetlenül a Configuration Manager-adatbázishoz az ImportMachineEntry metódus meghívásával adhat hozzá a SMS_Site osztályban. Ezzel operációs rendszereket telepíthet olyan számítógépekre, amelyeket még nem észlelt automatikusan a Configuration Manager.
Tipp
Az Import-CMComputerInformation PowerShell-parancsmagot is használhatja.
A következő adatokat kell megadnia:
NETBIOS-számítógép neve
MAC-cím
SMBIOS GUID
Megjegyzés:
A MAC-címnek olyan hálózati adapternek kell lennie, amely rendelkezik illesztőprogramtal a Windows PE környezetben. A MAC-címnek kettőspont formátumúnak kell lennie. Használja például a 00:00:00:00:00:00
címet. Más formátumok megakadályozzák az ügyfél számára a szabályzat fogadását.
Adjon hozzá egy újonnan importált számítógépet egy gyűjteményhez. Ez lehetővé teszi, hogy azonnal hozzon létre hirdetéseket az operációs rendszerek központi telepítéséhez a számítógépen.
Új számítógépet társíthat egy referencia-számítógéphez. További információ: Társítás létrehozása két számítógép között Configuration Manager.
Új számítógép hozzáadása
Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.
Hívja meg az ImportMachineEntry metódust a SMS_Site osztályban.
Adja hozzá az ImportMachineEntryből kapott erőforrás-azonosítót egy gyűjteményhez.
Példa
Az alábbi példametódus egy új számítógépet ad hozzá a Configuration Manager. A számítógép importálásához a SMS_Site osztály ImportMachineEntry metódusa használható. Ezután a számítógép hozzá lesz adva egy egyéni gyűjteményhez. "Minden rendszer" gyűjtemény.
Fontos
A példa korábbi verziójában a számítógép hozzá lett adva a "Minden rendszer" gyűjteményhez. Már nem lehet módosítani a beépített gyűjteményeket, helyette egyéni gyűjteményt használni.
A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.
Sub AddNewComputer (connection, netBiosName, smBiosGuid, macAddress)
Dim inParams
Dim outParams
Dim siteClass
Dim collection
Dim collectionRule
If (IsNull(smBiosGuid) = True) And (IsNull(macAddress) = True) Then
WScript.Echo "smBiosGuid or macAddress must be defined"
Exit Sub
End If
If IsNull(macAddress) = False Then
macAddress = Replace(macAddress,"-",":")
End If
' Obtain an InParameters object specific
' to the method.
Set siteClass = connection.Get("SMS_Site")
Set inParams = siteClass.Methods_("ImportMachineEntry"). _
inParameters.SpawnInstance_()
' Add the input parameters.
inParams.Properties_.Item("MACAddress") = macAddress
inParams.Properties_.Item("NetbiosName") = netBiosName
inParams.Properties_.Item("OverwriteExistingRecord") = False
inParams.Properties_.Item("SMBIOSGUID") = smBiosGuid
' Add the computer.
Set outParams = connection.ExecMethod("SMS_Site", "ImportMachineEntry", inParams)
' Add the computer to the all systems collection.
set collection = connection.Get("SMS_Collection.CollectionID='ABC0000A'")
set collectionRule=connection.Get("SMS_CollectionRuleDirect").SpawnInstance_
collectionRule.ResourceClassName="SMS_R_System"
collectionRule.ResourceID= outParams.ResourceID
collection.AddMembershipRule collectionRule
End Sub
public int AddNewComputer(
WqlConnectionManager connection,
string netBiosName,
string smBiosGuid,
string macAddress)
{
try
{
if (smBiosGuid == null && macAddress == null)
{
throw new ArgumentNullException("smBiosGuid or macAddress must be defined");
}
// Reformat macAddress to : separator.
if (string.IsNullOrEmpty(macAddress) == false)
{
macAddress = macAddress.Replace("-", ":");
}
// Create the computer.
Dictionary<string, object> inParams = new Dictionary<string, object>();
inParams.Add("NetbiosName", netBiosName);
inParams.Add("SMBIOSGUID", smBiosGuid);
inParams.Add("MACAddress", macAddress);
inParams.Add("OverwriteExistingRecord", false);
IResultObject outParams = connection.ExecuteMethod(
"SMS_Site",
"ImportMachineEntry",
inParams);
// Add to All System collection.
IResultObject collection = connection.GetInstance("SMS_Collection.collectionId='ABC0000A'");
IResultObject collectionRule = connection.CreateEmbeddedObjectInstance("SMS_CollectionRuleDirect");
collectionRule["ResourceClassName"].StringValue = "SMS_R_System";
collectionRule["ResourceID"].IntegerValue = outParams["ResourceID"].IntegerValue;
Dictionary<string, object> inParams2 = new Dictionary<string, object>();
inParams2.Add("collectionRule", collectionRule);
collection.ExecuteMethod("AddMembershipRule", inParams2);
return outParams["ResourceID"].IntegerValue;
}
catch (SmsException e)
{
Console.WriteLine("failed to add the computer" + e.Message);
throw;
}
}
A példametó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. |
netBiosName |
-Kezelt: String -Vbscript: String |
- A számítógép NETBIOS-neve. |
smBiosGuid |
-Kezelt: String -Vbscript: String |
A számítógép SMBIOS GUID azonosítója. |
MacAddress |
-Kezelt: String -Vbscript: String |
A számítógép MAC-címe a következő formátumban: 00:00:00:00:00:00 . |
A kód fordítása
A C# példa a következő fordítási követelményekkel rendelkezik:
Névterek
Rendszer
System.Collections.Generic
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Összeszerelés
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
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 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
ImportMachineEntry metódus a SMS_Site osztályban
Az operációs rendszer központi telepítésének számítógép-kezelésével kapcsolatos tudnivalók