Domain Controller in Microsoft сети является центральным сервером для Active Directory. Это - сервер, который поддерживает базу данных аутентификации для всего домена. В дополнение к этой решающей роли это также делает:
Ключевая вещь иметь в виду состоит в том, что база данных, которую сохраняет Контроллер домена, является распределенной базой данных. Контроллеры домена в том же домене, у всех есть копия той же базы данных, что означает, что они должны смочь копировать изменения друг в друге. Кроме того, база данных является мультиосновной базой данных, что означает, что изменения в базе данных могут быть применены к любой копии.
С Сервером 2008 там является новым типом Контроллера домена, Контроллера домена Только для чтения. Этот Контроллер домена имеет всю базу данных за исключением частей аутентификации; выбранная группа пользователей может содержать их детали аутентификации о DC R/O. Причина этого состоит в том, чтобы лучше служить удаленным офисам в случае сбоя соединений WAN, и минимизировать информационное воздействие должно Контроллер домена R/O красться.
Это - представление на 1000 м.
У вас есть IP-адрес самого принтера (для управления или для прямой печати) и вы хотите знать, на каком сервере печати Windows он используется совместно ? Это правильно?
Вы можете «вручную» выполнить поиск на каждом сервере печати (что, как я полагаю, было бы проще, чем запрашивать их все, поскольку я полагаю, что вы, вероятно, логически поймете, где он может находиться, например, сузив его до 5 серверов печати, которые являются локальными для подсети, в которой находится принтер).
Использование Powershell (где $ printservername - вероятное имя хоста сервера печати):
Get-WMIObject -class Win32_Printer -computer $printservername | Select Name,DriverName,PortName | Where-Object {$_.PortName -eq "IP_x.x.x.x"}
Обратите внимание, что вы можете продолжить и запустить его без части Where-Object чтобы увидеть, как выглядит вывод PortName, но он должен быть похож на IP_10.10.10.10 или аналогичный.
Если вы не получите никаких результатов, тогда этот сервер печати не тот, на котором размещен этот IP-адрес.
ОБНОВЛЕНИЕ: поскольку вам нужен входной файл, я пошел дальше и сделал это за вас. Вам потребуются 2 входных файла: один со списком серверов печати, а другой с указанным IP-адресом или IP_x.xxx. Пожалуйста, поймите, что если вы используете что-то еще для своих имен портов, например имя хоста / DNS, вам нужно будет поместить их в свой файл printerIP.txt как таковые. Если вы не знаете точное имя порта, этот скрипт не вернет никакого результата. Кроме того, поместите только одно «имя порта» в printerIP.txt, иначе он не вернет никакого совпадения.
# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Script: Find-WhichPrintServer.ps1
# Author: TheCleaner, serverfault.com
# Date: 1/16/2013
# Comments: This script will query each of the computers in the input file and look for a particular printer's IP address on that print server. If found it will output the name of the print server and printer name and info
# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$printservers = Get-Content -Path C:\PSinput\PrintServers.txt
$printerIP = Get-Content -Path C:\PSinput\printerIP.txt #note this must be the correct format such as IP_x.x.x.x
Get-WMIObject -class Win32_Printer -computer $printservers | Select SystemName,Name,DriverName,PortName | Where-Object {$_.PortName -eq $printerIP} |
Format-Table -Property SystemName, PortName, Name, DriverName -AutoSize
Надеюсь, что это поможет!
один со списком серверов печати и один с указанным IP-адресом или IP_x.xxx. Пожалуйста, поймите, что если вы используете что-то еще для своих имен портов, например имя хоста / DNS, вам нужно будет поместить их в свой файл printerIP.txt как таковые. Если вы не знаете точное имя порта, этот скрипт не вернет никакого результата. Кроме того, поместите только одно «имя порта» в printerIP.txt, иначе он не вернет никакого совпадения.# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Script: Find-WhichPrintServer.ps1
# Author: TheCleaner, serverfault.com
# Date: 1/16/2013
# Comments: This script will query each of the computers in the input file and look for a particular printer's IP address on that print server. If found it will output the name of the print server and printer name and info
# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$printservers = Get-Content -Path C:\PSinput\PrintServers.txt
$printerIP = Get-Content -Path C:\PSinput\printerIP.txt #note this must be the correct format such as IP_x.x.x.x
Get-WMIObject -class Win32_Printer -computer $printservers | Select SystemName,Name,DriverName,PortName | Where-Object {$_.PortName -eq $printerIP} |
Format-Table -Property SystemName, PortName, Name, DriverName -AutoSize
Надеюсь, что это поможет!
один со списком серверов печати и один с указанным IP-адресом или IP_x.xxx. Пожалуйста, поймите, что если вы используете что-то еще для своих имен портов, например имя хоста / DNS, вам нужно будет поместить их в свой файл printerIP.txt как таковые. Если вы не знаете точное имя порта, этот скрипт не вернет никакого результата. Кроме того, поместите только одно «имя порта» в printerIP.txt, иначе он не вернет никакого совпадения.# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Script: Find-WhichPrintServer.ps1
# Author: TheCleaner, serverfault.com
# Date: 1/16/2013
# Comments: This script will query each of the computers in the input file and look for a particular printer's IP address on that print server. If found it will output the name of the print server and printer name and info
# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$printservers = Get-Content -Path C:\PSinput\PrintServers.txt
$printerIP = Get-Content -Path C:\PSinput\printerIP.txt #note this must be the correct format such as IP_x.x.x.x
Get-WMIObject -class Win32_Printer -computer $printservers | Select SystemName,Name,DriverName,PortName | Where-Object {$_.PortName -eq $printerIP} |
Format-Table -Property SystemName, PortName, Name, DriverName -AutoSize
Надеюсь, что это поможет!