ich würde gerne via Powershell SDK das Flag "PXE fähig" für mehrere Rechner setzen.

kann mir einer verraten wie der Command dafür ist??
Ich habe leider in der Doku dafür nichts gefunden.
Vielen Dank und viele Grüße
IronStorm
Moderator: moderators





munzur wrote: ↑10. Aug 2023, 11:21 /***********************************************************************
* DESCRIPTION : Creates a record in the table 'Dhcp_Entries' for all clients
* having a macaddress and no PXE flag
***********************************************************************/
DECLARE @ClientID int
DECLARE @MACAddress CHAR(12)
DECLARE @UUID uniqueidentifier
DECLARE @IPAddress varchar(255)
DECLARE @SubnetMask varchar(255)
DECLARE @StandardGateway varchar(255)
DECLARE @DNSServer varchar(255)
DECLARE @Name varchar(50)
DECLARE @PXEID int
--
-- Create missing records in Dhcp_Entries
DECLARE PXE_Cursor CURSOR FOR
SELECT Client_id, MACAddress, UUID, IPAddress, SubnetMask, StandardGateway, DNSServer, [name]
FROM Clients
WHERE LEN(MACAddress) BETWEEN 8 AND 12 AND Client_id NOT IN (SELECT Client_id FROM Dhcp_Entries)
AND MACAddress NOT IN (SELECT macaddress FROM clients WHERE LEN(macaddress) = 12 GROUP BY macaddress HAVING (COUNT(macaddress)) > 1)
AND [name] NOT IN (SELECT [name] FROM clients GROUP BY [name] HAVING (COUNT([name])) > 1)
AND UUID NOT IN (SELECT UUID FROM clients GROUP BY UUID HAVING (COUNT(UUID)) > 1)
AND MACAddress NOT IN (SELECT haddress FROM Dhcp_Entries)
AND [name] NOT IN (SELECT info FROM Dhcp_Entries)
AND UUID NOT IN (SELECT UUID FROM Dhcp_Entries)
--
OPEN PXE_Cursor
FETCH NEXT FROM PXE_Cursor INTO @ClientID, @MACAddress, @UUID, @IPAddress, @SubnetMask, @StandardGateway, @DNSServer, @Name
--
WHILE @@FETCH_STATUS = 0
BEGIN
IF CHARINDEX(',', @StandardGateway) > 0
SET @StandardGateway = Substring(@StandardGateway, 1, CHARINDEX(',', @StandardGateway) - 1);
IF CHARINDEX(',', @DNSServer) > 0
SET @DNSServer = Substring(@DNSServer, 1, CHARINDEX(',', @DNSServer) - 1);
--
INSERT INTO Dhcp_Entries (bootinfo, haddress, ipaddress, netmask, gateway, dns, timelease, info, UUID, Client_id)
VALUES (2, @MACAddress, dbo.fnc_GetFirstIP(@IPAddress), dbo.fnc_GetFirstIP(@SubnetMask), @StandardGateway, @DNSServer, 1000, @Name, @UUID, @ClientID)
SELECT @PXEID = SCOPE_IDENTITY()
UPDATE Clients SET pxe_id = @PXEID WHERE client_id = @ClientID
--PRINT @ClientID
--
FETCH NEXT FROM PXE_Cursor INTO @ClientID, @MACAddress, @UUID, @IPAddress, @SubnetMask, @StandardGateway, @DNSServer, @Name
END
CLOSE PXE_Cursor
DEALLOCATE PXE_Cursor;
-- Set the id of matching Dhcp_Entries to the Clients table
UPDATE Clients SET pxe_id = (SELECT de.id FROM Dhcp_Entries de WHERE de.haddress = MACAddress AND de.UUID = UUID)
WHERE pxe_id NOT IN (SELECT id FROM Dhcp_Entries)
#####################################
Hier wird allerdings für jeden Client das Flag gesetzt.
Users browsing this forum: No registered users and 2 guests