diff --git a/Deploiement_debian/Agent_Wazhu/installation_wazhu.sh b/Deploiement_debian/Agent_Wazhu/installation_wazhu.sh new file mode 100644 index 0000000..a0efbb2 --- /dev/null +++ b/Deploiement_debian/Agent_Wazhu/installation_wazhu.sh @@ -0,0 +1,67 @@ +func_wazhu(){ +#======================================================================= +# FILE: ~installation_wazhu.sh +# USAGE: ./~installation_wazhu.sh +# DESCRIPTION: Installation et paramétrage de l'agent wazhu sur la machine +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +log_erreurs="$folder/err_log.log" +WAZUH_MANAGER="192.168.44.8" +hostname=$(hostname) +cdm_install="WAZUH_MANAGER=$WAZUH_MANAGER WAZUH_AGENT_NAME=$hostname dpkg -i ./wazuh-agent_4.8.1-1_amd64.deb" +rdl_deamon="systemctl daemon-reload" +enbl_deamon="systemctl enable wazuh-agent" +start_deamon="systemctl start wazuh-agent" +#======================================================================= +##Définition des fonctions + +func_installation_wazhu(){ + if [ "$EUID" -ne 0 ]; then + $cdm_install + $rdl_deamon + $enbl_deamon + $start_deamon + else + sudo $cdm_install + sudo $rdl_deamon + sudo $enbl_deamon + sudo $start_deamon + fi +} + +#======================================================================= +##Script + +echo "Téléchargement du paquet Wazhu" + if wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.8.1-1_amd64.deb 2>> $log_erreurs; then + echo "Téléchargement du paquet Wazhu réussie" + else + echo "Erreur lors du téléchargement du paquet Wazhu" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Installation du paquet Wazhu" + if func_installation_wazhu 2>> $log_erreurs; then + echo "Installation du paquet Wazhu réussie" + else + echo "Erreur lors de l'installation du paquet Wazhu" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 +} + + + + \ No newline at end of file diff --git a/Deploiement_debian/Creation_repo/Creation_arbo_repo.sh b/Deploiement_debian/Creation_repo/Creation_arbo_repo.sh new file mode 100644 index 0000000..77cd624 --- /dev/null +++ b/Deploiement_debian/Creation_repo/Creation_arbo_repo.sh @@ -0,0 +1,94 @@ +#!/bin/bash +#======================================================================= +# FILE: ~Creation_arbo_repo.sh +# USAGE: ./Creation_arbo_repo.sh "" +# DESCRIPTION: Création de l'arborescence de dossier nécessaire à la +# création et l'utilisation d'un dépôt interne pour les postes/serveurs +# tournant sous Debian. +# Si le premier argument est fourni, il est assigné à la variable DIST, +# qui représente le dépôt (par exemple, « buster », « bullseye »). +# Si le second argument est fourni, il est assigné à la variable SECTION, +# qui représente la section (par exemple, « main », « contrib »). +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# sources: http://wiki.drouet.eu/sysadmin/debian_repository +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 09/10/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +ARCHS="i386 amd64" #Spécifie les architectures prises en charge (32 bits i386 et 64 bits amd64) +REPO_ROOT="/var/www/depots_deb" #Racine du dépôt interne. +MIRROR_ROOT="$REPO_ROOT/mirror/dists" #Racine du miroir des distributions dans le dépô +FILELISTS_DIR="$REPO_ROOT/filelists" #Répertoire pour les listes de fichiers. + +#======================================================================= +##Définition des fonctions + +#======================================================================= +##Script + +if [ $# -lt 1 ] ; then + echo "" >&2 + echo "Usage: $0 depot section" >&2 + echo "" >&2 + echo "Cree l'arborescence nécessaire pour créer un depot avec la section souhaitée" >&2 + echo "Genere le fichier de configuration associé pour apt-ftparchive" >&2 + echo "" >&2 + exit 1 +fi + +# le premier argument specifie le depot +if [ -n "$1" ]; then + DIST=$1 + shift +fi + +# le deuxieme argument specifie la section +if [ -n "$1" ]; then + SECTION=$1 + shift +fi + +FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf" + +#creation de l'arborescence +DIR="" + for archi in $ARCHS; do + DIR="$DIR ${FILELISTS_DIR}/dists/${DIST} $REPO_ROOT/mirror/pool-${DIST}/$SECTION/binary-${archi} $MIRROR_ROOT/$DIST/$SECTION/binary-${archi}" + done + +DIR="$DIR $REPO_ROOT/mirror/pool-${DIST}/$SECTION/binary-all $MIRROR_ROOT/$DIST/$SECTION/binary-all" + +mkdir -p $DIR +chown root:sudo $DIR +chmod u=rwx,g=rwxs,o=rx,g+s $DIR +chmod g+ws $DIR + +# generation du fichier de configuration du depot +if [ -f $FTP_ARCHIVE_CONF_FILE ]; then + echo "Le fichier de conf $FTP_ARCHIVE_CONF_FILE existe deja : Abandon" >&2 + echo "Veuillez le compléter a la main (si vous voulez créer une nouvelle section dans un depot existant)" >&2 + echo "ou le supprimer avant de relancer ce script" >&2 + exit 1 +fi + +echo "APT::FTPArchive::Release::Origin \"Internal Repository\";" > $FTP_ARCHIVE_CONF_FILE +echo "APT::FTPArchive::Release::Label \"Internal tools\";" >> $FTP_ARCHIVE_CONF_FILE +echo "APT::FTPArchive::Release::Suite \"$DIST\";" >> $FTP_ARCHIVE_CONF_FILE +echo "APT::FTPArchive::Release::Codename \"$DIST\";" >> $FTP_ARCHIVE_CONF_FILE +echo "APT::FTPArchive::Release::Architecture \"$ARCHS\";" >> $FTP_ARCHIVE_CONF_FILE +echo "APT::FTPArchive::Release::components \"$SECTION\";" >> $FTP_ARCHIVE_CONF_FILE +echo "APT::FTPArchive::Release::Description \"Internal Repository\";" >> $FTP_ARCHIVE_CONF_FILE +echo "" >> $FTP_ARCHIVE_CONF_FILE +echo "Tree \"dists/$DIST\" {" >> $FTP_ARCHIVE_CONF_FILE +echo " Sections \"$SECTION\";" >> $FTP_ARCHIVE_CONF_FILE +echo " Architectures \"$ARCHS\";" >> $FTP_ARCHIVE_CONF_FILE +echo " Directory \"pool-$DIST/\$(SECTION)/binary-\$(ARCH)\";" >> $FTP_ARCHIVE_CONF_FILE +echo " SrcDirectory \"pool-$DIST/\$(SECTION)/source\";" >> $FTP_ARCHIVE_CONF_FILE +echo "}" >> $FTP_ARCHIVE_CONF_FILE + diff --git a/Deploiement_debian/Creation_repo/Prerequis_repo.sh b/Deploiement_debian/Creation_repo/Prerequis_repo.sh new file mode 100644 index 0000000..40d4684 --- /dev/null +++ b/Deploiement_debian/Creation_repo/Prerequis_repo.sh @@ -0,0 +1,27 @@ +#!/bin/bash +#======================================================================= +# FILE: ~maj_repo.sh +# USAGE: ./maj_repo.sh "" +# DESCRIPTION: met a jour le depot debian cible passé en argument +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# sources: http://wiki.drouet.eu/sysadmin/debian_repository +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 09/10/2024 +# REVISION: --- +#======================================================================= +##Définition des variables + +#======================================================================= +##Définition des fonctions + +#======================================================================= +##Script + +# Installation GPG +apt-get install gnupg +gpg --gen-key diff --git a/Deploiement_debian/Creation_repo/maj_repo.sh b/Deploiement_debian/Creation_repo/maj_repo.sh new file mode 100644 index 0000000..7b16b5e --- /dev/null +++ b/Deploiement_debian/Creation_repo/maj_repo.sh @@ -0,0 +1,115 @@ +#!/bin/bash +#======================================================================= +# FILE: ~maj_repo.sh +# USAGE: ./maj_repo.sh "" +# DESCRIPTION: met a jour le depot debian cible passé en argument +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# sources: http://wiki.drouet.eu/sysadmin/debian_repository +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 09/10/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +DISTS=" bookworm " # adapter ala liste des depots que vous possédez +REPO_ROOT="/var/www/depots_deb" +MIRROR_ROOT="$REPO_ROOT/mirror/dists" +GPG_HOME="/root/.gnupg" +FILELISTS_DIR="$REPO_ROOT/filelists" +ARCH_LIST="i386 amd64 all" + +#======================================================================= +##Définition des fonctions + +#======================================================================= +##Script +# vérification si le nombre d'arguments passés est suffisant +if [ $# -lt 1 ] ; then + echo "" >&2 + echo "Usage: $0 [ all|etch|unstable|... ] [ test ]" >&2 + echo "" >&2 + echo "Mise à jour du ou des dépots (all) spécifié en premier argument." >&2 + echo "Un seul dépot peut-être spécifié à la fois." >&2 + echo "" >&2 + echo "Si le deuxième argument est 'test', " >&2 + echo "la mise à jour se fait sur les dépots de test" >&2 + echo "" >&2 + exit 1 +fi + +# Traitement du premier argument - depot à mettre à jour +if [ -n "$1" ]; then + ONLY_DIST="" + tmp_sec=$1 + shift + + for i in ${DISTS} + do + if [ "X$i" = "X$tmp_sec" ]; then + ONLY_DIST=$i + break + fi + done + + if [ "X$tmp_sec" = "Xall" ]; then + ONLY_DIST=${DISTS} + fi + + if [ -z "${ONLY_DIST}" ]; then + echo "ERREUR: depot invalide $tmp_sec" >&2 + exit 1 + fi + + DISTS=${ONLY_DIST} +fi +# Traitement du deuxième argument - depots de prod ou de test +DIST_SUFFIX="" +if [ "X$1" == "Xtest" ]; then + DIST_SUFFIX="-test" + shift +fi + +# Boucle principale pour chaque distribution +for DIST in $DISTS +do + DIST="${DIST}${DIST_SUFFIX}" + FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf" + + rm -f $REPO_ROOT/cache/*db + + # generation des filelist des depots + cd $REPO_ROOT/mirror + for section in `ls pool-${DIST}` + do + for archi in $ARCH_LIST; + do + if [ "x${archi}" = "xall" ]; then + continue + fi + mkdir -p ${FILELISTS_DIR}/dists/${DIST} + echo "Section : ${section}" + echo "Arch : ${archi}" + FILELIST="${FILELISTS_DIR}/dists/${DIST}/${section}-${archi}.filelist" + echo "filelist : $FILELIST" + find pool-${DIST}/$section/binary-${archi} pool-${DIST}/$section/binary-all -name "*.deb" > \ + ${FILELISTS_DIR}/dists/${DIST}/${section}-${archi}.filelist + done + + done + echo "generation apt ftp archive :" + apt-ftparchive generate ${FTP_ARCHIVE_CONF_FILE} + echo "creation du fichier Release :" + # creation des fichiers Release + RELEASE_FILE="${MIRROR_ROOT}/${DIST}/Release" + apt-ftparchive -c $FTP_ARCHIVE_CONF_FILE release \ + ${MIRROR_ROOT}/${DIST}/ > $RELEASE_FILE + + # signature gpg des fichiers Release + rm -f $RELEASE_FILE.gpg + ${DEBUG} gpg --verbose --homedir ${GPG_HOME} -ba \ + --output $RELEASE_FILE.gpg $RELEASE_FILE +done \ No newline at end of file diff --git a/Deploiement_debian/Integration_domain/apt-update.sh b/Deploiement_debian/Integration_domain/apt-update.sh new file mode 100644 index 0000000..323f419 --- /dev/null +++ b/Deploiement_debian/Integration_domain/apt-update.sh @@ -0,0 +1,33 @@ +#!/bin/bash +#======================================================================= +# FILE: ~apt-update.sh +# USAGE: ./~apt-update.sh +# DESCRIPTION: script permettant la mise a jour masquée des paquets du poste +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 18/10/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +log_file="/var/log/apt-logs.log" +#======================================================================= +##Définition des fonctions + +#======================================================================= +##Script +main() ( + { + echo "Mise à jour système: $(date)" + apt update -y + apt upgrade -y + apt autoremove -y + echo '---------------------------------------' + } >> $log_file 2>&1 +) + +main "$@" \ No newline at end of file diff --git a/Deploiement_debian/Integration_domain/integration_domain.sh b/Deploiement_debian/Integration_domain/integration_domain.sh new file mode 100644 index 0000000..50594f5 --- /dev/null +++ b/Deploiement_debian/Integration_domain/integration_domain.sh @@ -0,0 +1,313 @@ +func_integration_domain(){ +#======================================================================= +# FILE: ~integration_domain.sh +# USAGE: ./~integration_domain.sh +# DESCRIPTION: Intégration au domain operis, gestion des droits de connexion, +# paramétrage de connexion kerberos, gestion des droits sudo, ajout d'une +# tâche cron de mise à jour automatique +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +folder=$(pwd) ##dossier local +log_erreurs="$folder/err_log.log" +krb5_file="/etc/krb5.conf" +ntp_file="/etc/ntpsec/ntp.conf" +folder_file="/etc/pam.d/common-session" +samba_file="/etc/samba/smb.conf" +sssd_file="/etc/sssd/sssd.conf" +domain="operis.champlan" +Allowed_GG=(GRP_ADM_POSTE GRP_ADM_DOM GDL_Orvault GDL_LaRéunion GDL_Grenoble GDL_Champlan GDL_Bordeaux) +local_admin="operis" +GG_admin="grp_adm_poste" +cron_file="/etc/crontab" +cron_job="0 9 * * * bash /root/apt-update.sh" +script_auto_update_src="$folder/Integration_domain/apt-update.sh" +script_auto_update_dst="/root/apt-update.sh" +#======================================================================= +##Définition des fonctions +func_dependances(){ + apt-get update + apt install -y realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit policykit-1 ntpdate ntp krb5-user libsss-sudo libsasl2-modules-ldap libpam-mount samba samba-common +} + +func_nommage(){ + echo $nom_poste > /etc/hostname + sed -i "/^127.0.1.1/c\127.0.1.1 $nom_poste.operis.champlan $nom_poste" /etc/hosts +} + +func_krb5(){ +cat < $krb5_file +[libdefaults] +udp_preference_limit = 0 +default_realm = OPERIS.CHAMPLAN + +[realms] + OPERIS.CHAMPLAN = { + admin_server = VM2016DOMORV.OPERIS.CHAMPLAN + kdc = VM2016DOMORV.OPERIS.CHAMPLAN + } + +[domain_realm] + +EOF +} + +func_heure(){ + sed -i '/# Specify one or more NTP servers./a server 192.168.3.72' $ntp_file +} + +func_user_folder(){ + sed -i '/# end of pam-auth-update config/i session optional pam_mkhomedir.so skel=/etc/skel umask=077' $folder_file +} + +func_samba(){ + sed -i "/workgroup = WORKGROUP/c\workgroup = OPERIS" $samba_file + sed -i '/workgroup = OPERIS/a realm = OPERIS.CHAMPLAN' $samba_file + sed -i '/realm = OPERIS.CHAMPLAN/a encrypt passwords = yes' $samba_file + sed -i '/encrypt passwords = yes/a client protection = encrypt' $samba_file +} + +func_sssd(){ + touch $sssd_file + cat < $sssd_file +[sssd] +domains = OPERIS.CHAMPLAN +config_file_version = 2 +# services = nss, pam => ces services sont censés démarrer tout seuls, voir logs ci-dessous lus lors de bugs avec la synchro AD +# The pam responder has been configured to be socket-activated but it's still mentioned in the services' line in /etc/sssd/sssd.conf. +# Please, consider either adjusting your services' line in /etc/sssd/sssd.conf or disabling the pam's socket by calling: +# "systemctl disable sssd-pam.socket" + +[domain/OPERIS.CHAMPLAN] +default_shell = /bin/bash +krb5_store_password_if_offline = True +cache_credentials = True +krb5_realm = OPERIS.CHAMPLAN +realmd_tags = manages-system joined-with-adcli +id_provider = ad +fallback_homedir = /home/%u +ad_domain = OPERIS.CHAMPLAN +use_fully_qualified_names = false +ldap_id_mapping = True +access_provider = ad +ad_gpo_ignore_unreadable = true +EOF + +cp /usr/lib/x86_64-linux-gnu/sssd/conf/sssd.conf /etc/sssd/. +chmod 600 /etc/sssd/sssd.conf + +} + +func_allowedgg(){ + for GG in $Allowed_GG; do + realm permit -g $GG >> /dev/null 2>> $log_erreurs + done +} + +func_sudo() { + local sudoers_file="/etc/sudoers" + # Créer une sauvegarde de sécurité du fichier sudoers + cp $sudoers_file ${sudoers_file}.bak + # Ajouter l'utilisateur local aux sudoers + if ! grep -q "^$local_admin ALL=(ALL) NOPASSWD:ALL" $sudoers_file; then + echo "$local_admin ALL=(ALL) NOPASSWD:ALL" >> $sudoers_file + echo "Droits sudo ajoutés pour l'utilisateur local : $local_admin" + else + echo "L'utilisateur local $local_admin a déjà les droits sudo." + fi + # Ajouter le groupe AD aux sudoers + if ! grep -q "^%$GG_admin@$domain ALL=(ALL) NOPASSWD:ALL" $sudoers_file; then + echo "%$GG_admin@$domain ALL=(ALL) NOPASSWD:ALL" >> $sudoers_file + echo "Droits sudo ajoutés pour le groupe AD : $GG_admin@$domain" + else + echo "Le groupe AD $GG_admin@$domain a déjà les droits sudo." + fi + # Vérifier la syntaxe de sudoers avant d'appliquer les modifications + visudo -c + if [ $? -eq 0 ]; then + echo "Les modifications ont été appliquées avec succès." + else + echo "Erreur de syntaxe dans le fichier sudoers. Restauration de la sauvegarde." + cp ${sudoers_file}.bak $sudoers_file + fi +} + + +func_root(){ + # Définir le fichier à modifier, qui est /etc/passwd, pas un fichier Samba + local passwd_file="/etc/passwd" + # Créer une sauvegarde de sécurité avant toute modification + cp $passwd_file ${passwd_file}.bak + # Désactiver la connexion root en modifiant le shell de login + sed -i '/^root:x:0:0:root:/s#/bin/bash#/usr/sbin/nologin#' $passwd_file + # Vérifier si la modification a été appliquée + if grep -q "^root:x:0:0:root:/root:/usr/sbin/nologin" $passwd_file; then + echo "Connexion root désactivée avec succès." + else + echo "Erreur lors de la désactivation de la connexion root." + fi +} + +func_cron(){ + sudo crontab -l | grep -F "$cron_job" > /dev/null + if [ $? -eq 0 ]; then + echo "Le job cron existe déjà dans la crontab de root." + else + # tranfert du script d'update dans le dossier /root/ + mv $script_auto_update_src $script_auto_update_dst + chown root:root $script_auto_update_dst + chmod +x $script_auto_update_dst + # Ajouter le nouveau job cron + (sudo crontab -l; echo "$cron_job") | sudo crontab - + fi +} + +#======================================================================= +###Script + +echo "Mise a jour dependances pour l'intégration AD" + if func_dependances 2>> $log_erreurs; then + echo "Mise a jour dependances nécessaire à l'intégration AD réussie" + else + echo "Erreur lors de la mise a jour dependances nécessaire à l'intégration AD" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + + +##nommage du poste +echo "nommage du poste en conformité avec le domaine" + read -p "comment voulez-vous nommer ce poste?" nom_poste + while [-z $nom_poste]; do + echo "Erreur lors de la saisie du nom du poste." + read -p "comment voulez-vous nommer ce poste?" nom_poste + done + + if func_nommage >> /dev/null 2>> $log_erreurs; then + echo "Renommage du poste réussie : $nom_poste@$domain" + else + echo "Erreur lors du renommage du poste" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##configuration kerberos +echo "paramétrage du fichier krb5.conf" + if func_krb5 >> /dev/null 2>> $log_erreurs; then + echo "paramétrage du fichier krb5.conf réussie" + else + echo "Erreur lors du paramétrage du fichier krb5.conf" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##Synchronisation du temps de la machine avec le serveur +echo "Synchronisation du temps de la machine avec le serveur" + if func_heure >> /dev/null 2>> $log_erreurs; then + echo "Synchronisation du temps de la machine avec le serveur réussie" + else + echo "Erreur lors de la synchronisation du temps de la machine avec le serveur" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##paramétrage création dossier perso user +echo "Paramétrage création dossier perso user" + if func_user_folder >> /dev/null 2>> $log_erreurs; then + echo "Paramétrage création dossier perso user réussie" + else + echo "Erreur lors du paramétrage création dossier perso user" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##paramétrage samba +echo "Paramétrage samba" + if func_samba >> /dev/null 2>> $log_erreurs; then + echo "Paramétrage samba réussie" + else + echo "Erreur lors du paramétrage samba" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##paramétrage sssd +echo "Paramétrage sssd" + if func_sssd >> /dev/null 2>> $log_erreurs; then + echo "Paramétrage sssd réussie" + else + echo "Erreur lors du Paramétrage sssd" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##jonction au domain +echo "Validation configuration pour la jonction au domain" + if realm discover $domain >> /dev/null 2>> $log_erreurs; then + echo "Configuration pour jonction au domain correct" + else + echo "Erreur dans la configuration pour jonction au domain" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Jonction au domain" + read -p "Veuillez saisir un compte administrateur domaine pour procéder à l'intégration au domains du poste:" user + while ! realm join -U "$user" "$domain" >> /dev/null 2>> "$log_erreurs"; do + echo "Erreur lors de la jonction au domaine." + echo "Nom d'utilisateur ou mot de passe incorrect. Veuillez réessayer." + read -p "Veuillez saisir un compte administrateur domaine valide : " user + done + echo "Jonction au domaine réalisée avec succès." + sleep 2 + +##paramétrage des autorisations d'accès +echo "Paramétrage des autorisations d'accès" + if func_allowedgg >> /dev/null 2>> $log_erreurs; then + echo "Paramétrage des autorisations d'accès réussie" + else + echo "Erreur dans la configuration pour jonction au domain" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##gestion des droits sudos +echo "Gestion des droits sudos" + if func_sudo >> /dev/null 2>> $log_erreurs; then + echo "Gestion des droits sudos réussie" + else + echo "Erreur dans la gestion des droits sudos" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +##désactivation du compte root +echo "Désactivation du compte root" + if func_root >> /dev/null 2>> $log_erreurs; then + echo "Désactivation du compte root réussie" + else + echo "Erreur dans la désactivation du compte root" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +} \ No newline at end of file diff --git a/Laps_Linux/User_Laps4Linux.keytab b/Deploiement_debian/Laps_Linux/User_Laps4Linux.keytab similarity index 100% rename from Laps_Linux/User_Laps4Linux.keytab rename to Deploiement_debian/Laps_Linux/User_Laps4Linux.keytab diff --git a/Deploiement_debian/Laps_Linux/installation_laps.sh b/Deploiement_debian/Laps_Linux/installation_laps.sh new file mode 100644 index 0000000..c5c5781 --- /dev/null +++ b/Deploiement_debian/Laps_Linux/installation_laps.sh @@ -0,0 +1,103 @@ +func_installation_laps(){ +#======================================================================= +# FILE: ~integration_domain.sh +# USAGE: ./~integration_domain.sh +# DESCRIPTION: Intégration au domain operis, gestion des droits de connexion, +# paramétrage de connexion kerberos, gestion des droits sudo +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +folder=$(pwd) ##dossier local +log_erreurs="$folder/err_log.log" +keytab_file="$folder/Laps_Linux/User_Laps4Linux.keytab" +laps_script="$folder/Laps_Linux/laps.sh" +laps_folder="/etc/laps/" +cron_file="/etc/crontab" +cron_job="0 8 * * */2 /etc/laps/laps.sh" +#======================================================================= +##Définition des fonctions +func_folder(){ + if [ ! -d $laps_folder ];then + echo "Création du dosser $laps_folder." + mkdir $laps_folder + else + echo "Dosser $laps_folder déja existant." + fi +} + +func_transfert(){ + cp $keytab_file $laps_folder + chmod u+x $laps_script + cp $laps_script $laps_folder +} + +func_cron(){ + sudo crontab -l | grep -F "$cron_job" > /dev/null + if [ $? -eq 0 ]; then + echo "Le job cron existe déjà dans la crontab de root." + else + # Ajouter le nouveau job cron + (sudo crontab -l; echo "$cron_job") | sudo crontab - + fi +} + +func_lancement_laps(){ + if [ "$EUID" -ne 0 ]; then + /etc/laps/laps.sh + else + sudo /etc/laps/laps.sh + fi + +} +#======================================================================= +##Script +echo "Préparation de l'environnement laps" + if func_folder 2>> $log_erreurs; then + echo "Préparation de l'environnement laps réussie" + else + echo "Erreur lors de la préparation de l'environnement laps" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Transfert des éléments Laps" + if func_transfert 2>> $log_erreurs; then + echo "Transfert des éléments Laps réussie" + else + echo "Erreur lors du transfert des éléments Laps" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Automatisation du script Laps" + if func_cron 2>> $log_erreurs; then + echo "Le job cron de Laps a été ajouté à la crontab de root." + else + echo "Erreur lors de job cron de Laps à la crontab de root" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Premier lancement du script Laps" + if func_lancement_laps 2>> $log_erreurs; then + echo "Premier lancement du script Laps réussie." + echo "Vous pouvez récupéré le mots de passe de l'admin local (operis) via le LAPS sur le contrôleur de domaine." + else + echo "Erreur lors du Premier lancement du script Laps" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +} \ No newline at end of file diff --git a/Deploiement_debian/Laps_Linux/laps.sh b/Deploiement_debian/Laps_Linux/laps.sh new file mode 100644 index 0000000..96afea7 --- /dev/null +++ b/Deploiement_debian/Laps_Linux/laps.sh @@ -0,0 +1,123 @@ +#!/bin/bash +#======================================================================= +# FILE: ~laps.sh +# USAGE: ./~laps.sh +# DESCRIPTION: pseudo LAPS fonctionnant sous linux avec un AD windows +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables + +USER="operis" ##user local dont on doit changer le mot de passe +PASSWORD_LENGTH=16 +PASSWORD_FILE="/var/lib/laps/${USER}_password.txt" +LOG_FILE="/var/log/laps.log" +BASE_DN="DC=OPERIS,DC=CHAMPLAN" +DC="VM2016DOMORV.operis.champlan" +LDAP_URI="ldap://$DC" +LDAP_USER="User_Laps4Linux@OPERIS.CHAMPLAN" # Notez les guillemets +AD_ATTRIBUTE="" + +#======================================================================= +##Définition des fonctions + + +### test de connexion à l'AD +if ! ping -c 4 "$DC" > /dev/null 2>&1; then + echo "$(date '+%Y-%m-%d %H:%M:%S') - contrôleur de domaine injoignable, mise à jour mot de passe non réalisée." >> "$LOG_FILE" + exit 1 +fi + + +### Génération et changement du mot de passe du compte Operis +## Générer un mot de passe aléatoire +PASSWORD=$(openssl rand -base64 $PASSWORD_LENGTH) + +## Changer le mot de passe de l'utilisateur local +echo "$USER:$PASSWORD" | chpasswd +chage -M 30 operis # durée de vie du mot de passe + +## Créer un dossier sécurisé pour stocker le mot de passe s'il n'existe pas +if [ ! -d "$(dirname "$PASSWORD_FILE")" ]; then + mkdir -p "$(dirname "$PASSWORD_FILE")" + chmod 700 "$(dirname "$PASSWORD_FILE")" +fi + +## Stocker le mot de passe dans un fichier sécurisé +echo "$PASSWORD" > "$PASSWORD_FILE" +chmod 600 "$PASSWORD_FILE" + +### Récupération de la date de dernière modification du mot de passe +## Fonction pour convertir une date en FILETIME (100-nanosecondes depuis 1601-01-01) +dt_to_filetime() { + local dt="$1" + local epoch=$(date --date="$dt" +%s) ## Convertion en timestamp Unix (secondes depuis 1970) + local sec_since_1601=$((epoch + 11644473600)) ## Nombre de secondes depuis 1601 + echo $((sec_since_1601 * 10000000)) ## Convertion en FILETIME (100-nanosecondes depuis 1601) +} + +## Obtenir la date de dernière modification du mot de passe +PASSWORD_LAST_MODIFIED=$(chage -l "$USER" | grep "Le mot de passe expire" | cut -d: -f2 | xargs) + +## Convertir la date en anglais pour qu'elle soit correctement parsée par 'date' +PASSWORD_LAST_MODIFIED_EN=$(echo "$PASSWORD_LAST_MODIFIED" \ + | sed 's/janv./Jan/g' \ + | sed 's/févr./Feb/g' \ + | sed 's/mars/Mar/g' \ + | sed 's/avr./Apr/g' \ + | sed 's/mai/May/g' \ + | sed 's/juin/Jun/g' \ + | sed 's/juil./Jul/g' \ + | sed 's/août/Aug/g' \ + | sed 's/sept./Sep/g' \ + | sed 's/oct./Oct/g' \ + | sed 's/nov./Nov/g' \ + | sed 's/déc./Dec/g') + +## Vérification de la date +if [[ -z "$PASSWORD_LAST_MODIFIED_EN" ]]; then + echo "Erreur: Impossible d'obtenir la date de modification du mot de passe pour l'utilisateur $USER." + exit 1 +fi + +## Convertir la date en FILETIME +EXPIRATION_TIME=$(dt_to_filetime "$PASSWORD_LAST_MODIFIED_EN") + +###Connexion et modification de l'objet ordinateur de l'AD +## Obtenir un ticket Kerberos pour l'authentification +kinit "$LDAP_USER" -k -t /etc/laps/User_Laps4Linux.keytab + +## Obtenir l'objet Ordinateur de la machine +FQHN=$(ldapsearch -H $LDAP_URI -Y GSSAPI -U $LDAP_USER -b $BASE_DN "(cn=$HOSTNAME)" dn | grep -oP '^dn: \KCN=.*') + +## Mettre à jour l'attributs ms-Mcs-AdmPwd de l'objet ordinateur dans AD +AD_ATTRIBUTE="ms-Mcs-AdmPwd" + +ldapmodify -H $LDAP_URI -Y GSSAPI <> "$LOG_FILE" +echo "Password for $USER has been updated locally and in AD." \ No newline at end of file diff --git a/Deploiement_debian/Malwarebytes_linux/malwarebytes.sh b/Deploiement_debian/Malwarebytes_linux/malwarebytes.sh new file mode 100644 index 0000000..ee800e2 --- /dev/null +++ b/Deploiement_debian/Malwarebytes_linux/malwarebytes.sh @@ -0,0 +1,64 @@ +func_malwarebytes() +{ +#!/bin/bash +#======================================================================= +# FILE: ~malwarebytes.sh +# USAGE: ./~malwarebytes.sh +# DESCRIPTION: Installation du package malwarebytes sur les postes debians +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +srclist="/etc/apt/sources.list.d/mblinux.list" +folder=$(pwd) ##dossier local +log_erreurs="$folder/err_log.log" +#======================================================================= +##Définition des fonctions + + +#======================================================================= +##Script +echo "création de la source du depôt" + if touch $srclist >> /dev/null 2>> $log_erreurs; then + echo "Création du fichier sourcelist de MalwareBytes réussi" + else + echo "Erreur lors de la création du fichier sourcelist de MalwareBytes" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "Ajout de l'adresse du dépôt au fichier sourcelist" + if echo 'deb [arch=amd64] https://repositories.mwbsys.com/dpkg jessie non-free' | tee -a $srclist >> /dev/null 2>> $log_erreurs; then + echo "Saisie de l'adresse du dépôt réussi" + else + echo "Erreur lors de la Saisie de l'adresse du dépôt" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "Téléchargement du paquet MalwareBytes" + if wget -q -O - https://repositories.mwbsys.com/dpkg/keyring.gpg | apt-key add - >> /dev/null 2>> $log_erreurs; then + echo "Téléchargement du paquet MalwareBytes réussi" + else + echo "Erreur lors du téléchargement du paquet MalwareBytes" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "Installation du paquet MalwareBytes" + if apt-get update; ACCOUNTTOKEN=cbfa3f5f-e8a5-4603-bb2f-f034e56fdf21 apt-get install mblinux >> /dev/null 2>> $log_erreurs; then + echo "Installation du paquet MalwareBytes réussi" + else + echo "Erreur lors du installation du paquet MalwareBytes" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +} \ No newline at end of file diff --git a/OCS_Linux/Ocsinventory-Unix-Agent-2.10.2.tar.gz b/Deploiement_debian/OCS_Linux/Ocsinventory-Unix-Agent-2.10.2.tar.gz similarity index 100% rename from OCS_Linux/Ocsinventory-Unix-Agent-2.10.2.tar.gz rename to Deploiement_debian/OCS_Linux/Ocsinventory-Unix-Agent-2.10.2.tar.gz diff --git a/OCS_Linux/cacert.pem b/Deploiement_debian/OCS_Linux/cacert.pem similarity index 100% rename from OCS_Linux/cacert.pem rename to Deploiement_debian/OCS_Linux/cacert.pem diff --git a/Deploiement_debian/OCS_Linux/ocs.sh b/Deploiement_debian/OCS_Linux/ocs.sh new file mode 100644 index 0000000..6beb38e --- /dev/null +++ b/Deploiement_debian/OCS_Linux/ocs.sh @@ -0,0 +1,97 @@ +func_ocs() +{ +#======================================================================= +# FILE: ~ocs.sh +# USAGE: ./~ocs.sh +# DESCRIPTION: Installation du package ocs et du certificat nécessaire au fonctionnement en https +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables + +server="https://srv-vrm-ocs-001.operis.champlan/ocsinventory" +basevardir="/var/lib/ocsinventory-agent" +configdir="/etc/ocsinventory-agent" +logfile="/var/log/ocsagent.log" +ca="$configdir/cacert.pem" +folder=$(pwd) ##dossier local +log_erreurs="$folder/err_log.log" + +#======================================================================= +##Définition des fonctions +func_dependances(){ + apt-get update + apt install -y make gcc libmodule-install-perl dmidecode libxml-simple-perl libcompress-zlib-perl openssl libnet-ip-perl libwww-perl libdigest-md5-perl libdata-uuid-perl libcrypt-ssleay-perl libnet-snmp-perl libproc-pid-file-perl libproc-daemon-perl net-tools libsys-syslog-perl pciutils smartmontools read-edid nmap libnet-netmask-perl +} + +func_nettoyage(){ + rm -r $basevardir || true + rm -r $configdir || true + rm -r $logfile || true +} + +func_decompression(){ + tar xvzf "$folder/OCS_Linux/Ocsinventory-Unix-Agent-2.10.2.tar.gz" + cd "$folder/Ocsinventory-Unix-Agent-2.10.2" +} + +func_installation(){ + env PERL_AUTOINSTALL=1 perl Makefile.PL && make && make install && perl postinst.pl --server=$server --basevardir=$basevardir --configdir=$configdir --logfile=$logfile --crontab --tag=$service --ssl=1 --nosoftware=0 --ca=$ca --debug --snmp --nowizard + mv "$folder/OCS_Linux/cacert.pem" $configdir +} +#======================================================================= +##Script + +echo "Mise a jour dependances OCS" + if func_dependances >> /dev/null 2>> $log_erreurs; then + echo "Mise a jour dependances OCS réussies" + else + echo "Erreur lors de la mise a jour dependances OCS" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "nettoyage version precedente de l'agent ocs" + if func_nettoyage >> /dev/null 2>> $log_erreurs; then + echo "Nettoyage des versions précédentes OCS réussies" + else + echo "Erreur lors du nettoyage des versions précédentes OCS" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "decompression archive de l'Agent" + if func_decompression >> /dev/null 2>> $log_erreurs; then + echo "Décompression du package OCS réussies" + else + echo "Erreur lors de la décompression du package OCS" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "Installation sans interaction de l'agent" + read -p "Le poste est déployé dans quel service?" service + if func_installation 2>> $log_erreurs; then + echo "Installation du package OCS réussies" + else + echo "Erreur lors de l'installation du package OCS" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 + +echo "test de la connexion au serveur" + if ocsinventory-agent --server $server >> /dev/null 2>> $log_erreurs;then + echo "Connexion au serveur OCS réussie" + else + echo "Tentative de connexion au serveur OCS échouée" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + fi + sleep 2 +} \ No newline at end of file diff --git a/Deploiement_debian/Packages_metiers/installations_packages.sh b/Deploiement_debian/Packages_metiers/installations_packages.sh new file mode 100644 index 0000000..d2b07a6 --- /dev/null +++ b/Deploiement_debian/Packages_metiers/installations_packages.sh @@ -0,0 +1,153 @@ +func_installations_packages() +{ +#======================================================================= +# FILE: ~installations_packages.sh +# USAGE: ./~installations_packages.sh +# DESCRIPTION: Installation des packages nécessaires à l'administration +# et l'utilisations des postes pour les devs +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 15/10/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +folder=$(pwd) ##dossier local +log_erreurs="$folder/err_log.log" + +#======================================================================= +##Définition des fonctions +func_outils_admin_poste(){ + apt-get update + apt install -y net-tools curl wget htop micro tree gpg gnupg2 +} + +func_outils_devs(){ + apt-get update + apt install -y git git-extras gitk meld jq yq fd-find ripgrep parcellite pandoc cloc fzf shellcheck dconf-cli gnome-tweaks gnome-shell-extensions gnome-shell-extension-manager inotify-tools shutter sshfs terminator uuid wl-clipboard flatpak apache2 nginx make build-essential libssl-dev zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev llvm libncurses5-dev php keepass2 pass +} + +func_vscode(){ + wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg + install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg + echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null + rm -f packages.microsoft.gpg + apt install apt-transport-https + apt update + apt install -y code +} + +func_dbeaver(){ + echo "deb https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list + apt install software-properties-common apt-transport-https ca-certificates + curl -fsSL https://dbeaver.io/debs/dbeaver.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/dbeaver.gpg + apt update + apt install -y dbeaver-ce +} + +func_docker(){ + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc + chmod a+r /etc/apt/keyrings/docker.asc + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list + apt update + apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + groupadd docker + usermod -aG docker $USER +} + +func_powershell(){ + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc + chmod a+r /etc/apt/keyrings/docker.asc + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list + apt update + apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + groupadd docker + usermod -aG docker $USER +} + +func_virtualbox(){ + wget -O- -q https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmour -o /usr/share/keyrings/oracle_vbox_2016.gpg + echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle_vbox_2016.gpg] http://download.virtualbox.org/virtualbox/debian bookworm contrib" | tee /etc/apt/sources.list.d/virtualbox.list + apt update + apt install -y virtualbox-7.0 + /sbin/usermod -aG vboxusers $USER +} +#======================================================================= +##Script + +echo "Mise a jour des outils d'administration du poste" + if func_outils_admin_poste 2>> $log_erreurs; then + echo "Mise a jour des outils d'administration du poste réussie" + else + echo "Erreur lors de la mise a jour des outils d'administration du poste" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Mise a jour des outils de developpement" + if func_outils_devs 2>> $log_erreurs; then + echo "Mise a jour des outils de developpement réussie" + else + echo "Erreur lors de la mise a jour des outils de developpement" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Installation de VS Code" + if func_vscode 2>> $log_erreurs; then + echo "Installation de VS Code réussie" + else + echo "Erreur lors de l'installation de VS Code" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Installation de DBeaver" + if func_dbeaver 2>> $log_erreurs; then + echo "Installation de DBeaver réussie" + else + echo "Erreur lors de l'installation de DBeaver" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Installation de Docker" + if func_docker 2>> $log_erreurs; then + echo "Installation de Docker réussie" + else + echo "Erreur lors de l'installation de Docker" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Installation du Container Powershell" + if func_powershell 2>> $log_erreurs; then + echo "Installation de Container Powershell réussie" + else + echo "Erreur lors de l'installation de Container Powershell" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "Installation de VirtualBox" + if func_powershell 2>> $log_erreurs; then + echo "Installation de VirtualBox réussie" + else + echo "Erreur lors de l'installation de VirtualBox" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 +} \ No newline at end of file diff --git a/Deploiement_debian/VPN_Forticlient/Installation_vpn.sh b/Deploiement_debian/VPN_Forticlient/Installation_vpn.sh new file mode 100644 index 0000000..e86c4a2 --- /dev/null +++ b/Deploiement_debian/VPN_Forticlient/Installation_vpn.sh @@ -0,0 +1,68 @@ +func_Installation_vpn() +{ +#======================================================================= +# FILE: ~installation_vpn.sh +# USAGE: ./~installation_vpn.sh +# DESCRIPTION: Installation et paramétrage du vpn-ssl forticlient sur +# les postes Utilisateurs Debian +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 15/10/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +folder=$(pwd) ##dossier local +log_erreurs="$folder/err_log.log" +CERT_PATH1="$folder/VPN_Forticlient/client.pfx" +CERT_PATH2="/opt/forticlient/client.pfx" + + +#======================================================================= +##Définition des fonctions +func_dependances(){ + apt-get update +} + +func_installation(){ + wget -O - https://repo.fortinet.com/repo/7.0/ubuntu/DEB-GPG-KEY | apt-key add - #ajout de la clé du dépôt fortinet + printf "deb [arch=amd64 signed-by=/usr/share/keyrings/repo.fortinet.com.gpg] https://repo.fortinet.com/repo/7.0/ubuntu xenial multiverse\n" | tee /etc/apt/sources.list.d/repo.fortinet.com.list + apt-get update + apt install -y forticlient + mv $CERT_PATH1 $CERT_PATH2 + chown root:root $CERT_PATH2 +} + +#======================================================================= +##Script +echo -e "\033[1m Mise a jour dependances pour l'installation du vpn\033[0m" + if func_dependances 2>> $log_erreurs; then + echo "Mise a jour dependances nécessaire à l'installation du vpn réussie" + else + echo "Erreur lors de la mise a jour dependances nécessaire à l'installation du vpn" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "\033[1m Installation du vpn\033[0m" + if func_installation 2>> $log_erreurs; then + echo "Installation du vpn réussie" + else + echo "Erreur lors de l'installation du vpn" + echo "logs d'erreurs disponibles dans le fichier: $log_erreurs" + exit 1 + fi + sleep 2 + +echo "\033[1m Configuration du vpn \033[0m" +echo "Pour configurer la connexion vpn, charger dans le forticlient le fichier forti_7_linux.conf" +echo "Emplacement du fichier /tmp/Deploiement_debian/VPN_Forticlient/forti_7_linux.conf\n" +echo "Saisir le mot de passe du certificat dans les paramètres de la connexion" +echo "Le mot de passe est dans le keypass du service infra" + +} \ No newline at end of file diff --git a/Deploiement_debian/VPN_Forticlient/client.pfx b/Deploiement_debian/VPN_Forticlient/client.pfx new file mode 100644 index 0000000..1b48bd6 Binary files /dev/null and b/Deploiement_debian/VPN_Forticlient/client.pfx differ diff --git a/Deploiement_debian/VPN_Forticlient/forti_7_linux.conf b/Deploiement_debian/VPN_Forticlient/forti_7_linux.conf new file mode 100644 index 0000000..d4b70c6 --- /dev/null +++ b/Deploiement_debian/VPN_Forticlient/forti_7_linux.conf @@ -0,0 +1,393 @@ + + + 6.0.10.297 + 6.0.10 + 2022/04/13 + 0 + windows + + + 0 + 1 + COMP + 1 + 0 + 0 + 0 + + os-default + 0 + 0 + + + + + <title/> + + + + + + + + + + + + + 1 + 6 + ipsecvpn,sslvpn,scheduler,update,firewall,proxy,shield,endpoint,configd,vuln + + 0 + + 1 + 90 + 120 + 900 + 7 + + + 120 + + + + + 0 + 0 + 0 + http +
+ 80 + Enc 76675e071f1c96929d9f1d7611b457f5ed0028531e950638 + + + + 0 + + 80 + 60 + 8000 + 1 + 1 + 0 + 1 + notify_only + + 1 + 1 + + 1 + interval + 01:50 + 1 + + + + 0 + 1 + 60 + + 1 + 1 + 1 + + + 1 + 65535 + 1 + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + 1 + 1:5 + 0 + 0 + 1 + 0 + 1 + 1 + 0 + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + + + + warn + + + 1 + 0 + 0 + 1 + 4294967295 + 1 + 1 + 0 + + 1 + 4 + 1 + 8 + + 0 + fortinetvirussubmit.com + + + + + 1 + 0 + + + 1 + + + 1 + + + 3 + 2 + + + + + + + + + 1 + 0 + 4 + 2 + 4 + 1 + 0 + 0 + + 4 + + + 0 + + + + 1 + 10 + + + 1 + + + 1 + + + 0 + 3 + + + + .7z,.arj,.bzip,.bzip2,.cab,.gzip,.lzh,.msc,.rar,.tar,.tgz,.zip + + + + + 1 + 1 + 1 + + 0 + 0 + + + 0 + 0 + + + 0 + + + + 100 + + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + + 0 + + + 0 + full + + 0 + 2 + 1 + + 1 + 0 + 0 + 7 + + + 0 + + 2 + 1 + + 1 + 0 + 0 + 7 + + + 0 + 2 + 1 + + 1 + 0 + 0 + 7 + + + + + 1 + 0 + 0 + 0 + + high + + + + 1 + 1 + + + + + 1 + + + + + + 0 +
+ 0 + + + + + + + + + + + + + + + + + + + + + allow + + + + Operis + + 0 + + 1 + 0 + 1 + 0 + 0 + 0 + + + + 1 + 0 + 1 + 1 + + + + VPN-Operis + + champlan.operis.fr:10443 + + + file%3A%2F%2F%2Fopt%2Fforticlient%2Fclient.pfx + 0 + 1 + 0 + 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + + + + + + + + 1 + + + + + diff --git a/Deploiement_debian/deploiement_main.sh b/Deploiement_debian/deploiement_main.sh new file mode 100644 index 0000000..4b181e4 --- /dev/null +++ b/Deploiement_debian/deploiement_main.sh @@ -0,0 +1,112 @@ +#!/bin/bash +#======================================================================= +# FILE: ~deploiement_main.sh +# USAGE: ./~deploiement_main.sh +# DESCRIPTION: menu de gestion du script globale de déploiement des postes utilisateurs debian +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Maxime Tertrais +# COMPANY: Operis +# CREATED: 30/09/2024 +# REVISION: --- +#======================================================================= +##Définition des variables +folder=$(pwd) + +#======================================================================= +##Définition des fonctions +source "$folder/Malwarebytes_linux/malwarebytes.sh" +source "$folder/Integration_domain/integration_domain.sh" +source "$folder/OCS_Linux/ocs.sh" +source "$folder/Laps_Linux/installation_laps.sh" +source "$folder/VPN_Forticlient/Installation_vpn.sh" +source "$folder/Agent_Wazhu/installation_wazhu.sh" +#source "paramétrage des depots" +source "$folder/Packages_metiers/installations_packages.sh" + +func_menu() +{ +## affichage du menu +echo "GESTION DE DEPLOIEMENT DE POSTES DEBIAN" +echo "----------------------------------------" +echo "G - Déploiement/intégration complète du poste au domaine" +echo "M - Installation Malwarebytes" +echo "D - Intégration au domaine" +echo "O - Installation OCS" +echo "L - Installation LAPS" +echo "V - Installation vpn" +echo "W - Installation Wazhu" +echo "S - Montage des Partages Réseaux" +echo "R - Paramétrage des depots" +echo "P - Installation des paquets métier" +echo "" +echo "Q - quitter" +read -n 1 -p "votre choix: " choix +} +#======================================================================= +## Nettoyage de l'écran +clear + +#======================================================================= +##Script +while true ;do + ## Affichage menu + func_menu + + ## gestion des saisies de choix + case $choix in + + g|G) + #func_Déploiement/intégration complète du poste au domaine + echo "Déploiement/intégration complète du poste au domaine" + ;; + m|M) + echo "" + func_malwarebytes + #echo "Installation Malwarebytes" + ;; + d|D) + echo "" + func_integration_domain + #echo "Intégration au domaine" + ;; + o|O) + echo "" + func_ocs + #echo "Installation OCS" + ;; + l|L) + echo "" + func_installation_laps + #echo "Installation LAPS" + ;; + v|V) + echo "" + func_Installation_vpn + #echo "Installation vpn" + ;; + w|W) + echo "" + func_wazhu + #echo "Installation Wazhu" + ;; + r|R) + echo "" + #func_Paramétrage des depots + echo "Paramétrage des depots" + ;; + p|P) + echo "" + func_installations_packages + #echo "Installation des paquets métier" + ;; + q|Q) + echo "" + exit 1 + ;; + esac + +done \ No newline at end of file diff --git a/Installation_imprimante_debian/Ricoh-IM_C2000-PDF-Ricoh.ppd b/Installation_imprimante_debian/Ricoh-IM_C2000-PDF-Ricoh.ppd new file mode 100644 index 0000000..270b8f3 --- /dev/null +++ b/Installation_imprimante_debian/Ricoh-IM_C2000-PDF-Ricoh.ppd @@ -0,0 +1,1446 @@ +*PPD-Adobe: "4.3" +*% +*% Printer Description file +*% for "Ricoh IM C2000 PDF" +*% +*% CreationDate: 2019/01/23 +*% +*% +*% COPYRIGHT (C) 2019 RICOH COMPANY, LTD. +*% +*% Permission is hereby granted, free of charge, to any person obtaining +*% a copy of this software and associated documentation files (the +*% "Software"), to deal in the Software without restriction, including +*% without limitation the rights to use, copy, modify, merge, publish, +*% distribute, sublicense, and/or sell copies of the Software, and to +*% permit persons to whom the Software is furnished to do so, subject to +*% the following conditions: +*% +*% The above copyright notice and this permission notice shall be +*% included in all copies or substantial portions of the Software. +*% +*% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +*% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +*% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +*% NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +*% LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +*% OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +*% WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*% +*% [this is the MIT open source license -- please see www.opensource.org] +*% + +*FileVersion: "1.0" +*FormatVersion: "4.3" +*LanguageEncoding: ISOLatin1 +*LanguageVersion: English +*ModelName: "Ricoh IM C2000" +*PCFileName: "RI3645E3.PPD" +*Manufacturer: "Ricoh" +*Product: "(RICOH IM C2000 PDF)" +*PSVersion: "(3018.102) 0" +*ShortNickName: "Ricoh IM C2000 PDF" +*NickName: "Ricoh IM C2000 PDF" +*1284DeviceID: "MFG:RICOH;MDL:IM C2000;CMD:PDF,PJL;" + +*cupsVersion: 1.1 +*cupsManualCopies: False +*cupsCommands: "" + +*JCLBegin: "<1B>%-12345X@PJL JOB<0A>" +*JCLToPDFInterpreter: "@PJL ENTER LANGUAGE = PDF<0A>" +*JCLEnd: "<1B>%-12345X@PJL EOJ <0A><1B>%-12345X" + +*cupsFilter: "application/vnd.cups-pdf 0 -" + +*%========== Basic Device Capabilities ========== + +*LanguageLevel: "3" +*ColorDevice: True +*DefaultColorSpace: CMYK + +*TTRasterizer: Type42 + +*FileSystem: True + +*Throughput: "20" +*LandscapeOrientation: Minus90 +*HWMargins: 12 12 12 12 + +*%========== InstallableOptions ========== +*OpenGroup: InstallableOptions/Installable Options + +*OpenUI *OptionTray/Option Tray: PickOne +*DefaultOptionTray: NotInstalled +*OptionTray NotInstalled/Not Installed: "" +*OptionTray 1Cassette/Lower Paper Tray: "" +*OptionTray 2Cassette/Lower Paper Trays: "" +*CloseUI: *OptionTray + +*OpenUI *InnerTray2/Internal Tray 2: PickOne +*DefaultInnerTray2: NotInstalled +*InnerTray2 NotInstalled/Not Installed: "" +*InnerTray2 Installed/Installed: "" +*CloseUI: *InnerTray2 + +*OpenUI *ShiftTray/Internal Shift Tray: PickOne +*DefaultShiftTray: NotInstalled +*ShiftTray NotInstalled/Not Installed: "" +*ShiftTray Installed/Installed: "" +*CloseUI: *ShiftTray + +*OpenUI *ExternalTray/External Tray: PickOne +*DefaultExternalTray: NotInstalled +*ExternalTray NotInstalled/Not Installed: "" +*ExternalTray Installed/Installed: "" +*CloseUI: *ExternalTray + +*OpenUI *Finisher/Finisher: PickOne +*DefaultFinisher: NotInstalled +*Finisher NotInstalled/Not Installed: "" +*Finisher FinRUBICONC/Finisher SR3250: "" +*Finisher FinAMURCBK/Finisher SR3270: "" +*Finisher FinUYUNIB/Finisher SR3300: "" +*CloseUI: *Finisher + +*CloseGroup: InstallableOptions + +*JCLOpenUI *PageSize: PickOne +*OrderDependency: 100 JCLSetup *PageSize +*DefaultPageSize: Letter +*PageSize A3/A3 (297 x 420 mm): "@PJL SET FITTOPAGESIZE=A3<0A>" +*PageSize A4/A4 (210 x 297 mm): "@PJL SET FITTOPAGESIZE=A4<0A>" +*PageSize A5/A5 (148 x 210 mm): "@PJL SET FITTOPAGESIZE=A5<0A>" +*PageSize A6/A6 (105 x 148 mm): "@PJL SET FITTOPAGESIZE=A6<0A>" +*PageSize B4/B4 JIS (257 x 364 mm): "@PJL SET FITTOPAGESIZE=JISB4<0A>" +*PageSize B5/B5 JIS (182 x 257 mm): "@PJL SET FITTOPAGESIZE=JISB5<0A>" +*PageSize B6/B6 JIS (128 x 182 mm): "@PJL SET FITTOPAGESIZE=JISB6<0A>" +*PageSize Legal/Legal (8.5 x 14): "@PJL SET FITTOPAGESIZE=LEGAL<0A>" +*PageSize GovernmentLG/8.25 x 14: "@PJL SET FITTOPAGESIZE=GOVERNMENTLG<0A>" +*PageSize EngQuatro/8 x 10: "@PJL SET FITTOPAGESIZE=ENGQUATRO<0A>" +*PageSize Letter/Letter (8.5 x 11): "@PJL SET FITTOPAGESIZE=LETTER<0A>" +*PageSize Statement/5.5 x 8.5: "@PJL SET FITTOPAGESIZE=HALFLETTER<0A>" +*PageSize F/8 x 13: "@PJL SET FITTOPAGESIZE=FGL<0A>" +*PageSize Folio/8.25 x 13: "@PJL SET FITTOPAGESIZE=FOLIO<0A>" +*PageSize FanFoldGermanLegal/8.5 x 13: "@PJL SET FITTOPAGESIZE=FOOLSCAP<0A>" +*PageSize Tabloid/11 x 17: "@PJL SET FITTOPAGESIZE=LEDGER<0A>" +*PageSize 12x18/12 x 18: "@PJL SET FITTOPAGESIZE=A3WIDE<0A>" +*PageSize 11x15/11 x 15: "@PJL SET FITTOPAGESIZE=INCH11x15<0A>" +*PageSize 10x14/10 x 14: "@PJL SET FITTOPAGESIZE=INCH10x14<0A>" +*PageSize SRA3/SRA3 (320 x 450 mm): "@PJL SET FITTOPAGESIZE=SRA3<0A>" +*PageSize SRA4/SRA4 (225 x 320 mm): "@PJL SET FITTOPAGESIZE=SRA4<0A>" +*PageSize Executive/Executive (7.25 x 10.5): "@PJL SET FITTOPAGESIZE=EXECUTIVE<0A>" +*PageSize Env10/Com10 Env. (4.125 x 9.5): "@PJL SET FITTOPAGESIZE=COM10<0A>" +*PageSize EnvMonarch/Monarch Env. (3.875 x 7.5): "@PJL SET FITTOPAGESIZE=MONARCH<0A>" +*PageSize EnvC5/C5 Env. (162 x 229 mm): "@PJL SET FITTOPAGESIZE=C5<0A>" +*PageSize EnvC6/C6 Env. (114 x 162 mm): "@PJL SET FITTOPAGESIZE=C6<0A>" +*PageSize DLEnv/DL Env. (110 x 220 mm): "@PJL SET FITTOPAGESIZE=DL<0A>" +*PageSize 8Kai/8K (267 x 390 mm): "@PJL SET FITTOPAGESIZE=K8<0A>" +*PageSize 16Kai/16K (195 x 267 mm): "@PJL SET FITTOPAGESIZE=K16<0A>" +*PageSize Oficio/8.5 x 13.4: "@PJL SET FITTOPAGESIZE=OFICIO<0A>" +*JCLCloseUI: *PageSize + +*JCLOpenUI *PageRegion: PickOne +*OrderDependency: 100 JCLSetup *PageRegion +*DefaultPageRegion: Letter +*PageRegion A3/A3 (297 x 420 mm): "@PJL SET PAPER=A3<0A>" +*PageRegion A4/A4 (210 x 297 mm): "@PJL SET PAPER=A4<0A>" +*PageRegion A5/A5 (148 x 210 mm): "@PJL SET PAPER=A5<0A>" +*PageRegion A6/A6 (105 x 148 mm): "@PJL SET PAPER=A6<0A>" +*PageRegion B4/B4 JIS (257 x 364 mm): "@PJL SET PAPER=JISB4<0A>" +*PageRegion B5/B5 JIS (182 x 257 mm): "@PJL SET PAPER=JISB5<0A>" +*PageRegion B6/B6 JIS (128 x 182 mm): "@PJL SET PAPER=JISB6<0A>" +*PageRegion Legal/Legal (8.5 x 14): "@PJL SET PAPER=LEGAL<0A>" +*PageRegion GovernmentLG/8.25 x 14: "@PJL SET PAPER=GOVERNMENTLG<0A>" +*PageRegion EngQuatro/8 x 10: "@PJL SET PAPER=ENGQUATRO<0A>" +*PageRegion Letter/Letter (8.5 x 11): "@PJL SET PAPER=LETTER<0A>" +*PageRegion Statement/5.5 x 8.5: "@PJL SET PAPER=HALFLETTER<0A>" +*PageRegion F/8 x 13: "@PJL SET PAPER=FGL<0A>" +*PageRegion Folio/8.25 x 13: "@PJL SET PAPER=FOLIO<0A>" +*PageRegion FanFoldGermanLegal/8.5 x 13: "@PJL SET PAPER=FOOLSCAP<0A>" +*PageRegion Tabloid/11 x 17: "@PJL SET PAPER=LEDGER<0A>" +*PageRegion 12x18/12 x 18: "@PJL SET PAPER=A3WIDE<0A>" +*PageRegion 11x15/11 x 15: "@PJL SET PAPER=INCH11x15<0A>" +*PageRegion 10x14/10 x 14: "@PJL SET PAPER=INCH10x14<0A>" +*PageRegion SRA3/SRA3 (320 x 450 mm): "@PJL SET PAPER=SRA3<0A>" +*PageRegion SRA4/SRA4 (225 x 320 mm): "@PJL SET PAPER=SRA4<0A>" +*PageRegion Executive/Executive (7.25 x 10.5): "@PJL SET PAPER=EXECUTIVE<0A>" +*PageRegion Env10/Com10 Env. (4.125 x 9.5): "@PJL SET PAPER=COM10<0A>" +*PageRegion EnvMonarch/Monarch Env. (3.875 x 7.5): "@PJL SET PAPER=MONARCH<0A>" +*PageRegion EnvC5/C5 Env. (162 x 229 mm): "@PJL SET PAPER=C5<0A>" +*PageRegion EnvC6/C6 Env. (114 x 162 mm): "@PJL SET PAPER=C6<0A>" +*PageRegion DLEnv/DL Env. (110 x 220 mm): "@PJL SET PAPER=DL<0A>" +*PageRegion 8Kai/8K (267 x 390 mm): "@PJL SET PAPER=K8<0A>" +*PageRegion 16Kai/16K (195 x 267 mm): "@PJL SET PAPER=K16<0A>" +*PageRegion Oficio/8.5 x 13.4: "@PJL SET PAPER=OFICIO<0A>" +*JCLCloseUI: *PageRegion + +*DefaultImageableArea: Letter +*ImageableArea A3/A3 (297 x 420 mm): "12 12 830 1179" +*ImageableArea A4/A4 (210 x 297 mm): "12 12 583 830" +*ImageableArea A5/A5 (148 x 210 mm): "12 12 408 583" +*ImageableArea A6/A6 (105 x 148 mm): "12 12 285 408" +*ImageableArea B4/B4 JIS (257 x 364 mm): "12 12 717 1020" +*ImageableArea B5/B5 JIS (182 x 257 mm): "12 12 504 717" +*ImageableArea B6/B6 JIS (128 x 182 mm): "12 12 351 504" +*ImageableArea Legal/Legal (8.5 x 14): "12 12 600 996" +*ImageableArea GovernmentLG/8.25 x 14: "12 12 582 996" +*ImageableArea EngQuatro/8 x 10: "12 12 564 708" +*ImageableArea Letter/Letter (8.5 x 11): "12 12 600 780" +*ImageableArea Statement/5.5 x 8.5: "12 12 384 600" +*ImageableArea F/8 x 13: "12 12 564 924" +*ImageableArea Folio/8.25 x 13: "12 12 583 923" +*ImageableArea FanFoldGermanLegal/8.5 x 13: "12 12 600 924" +*ImageableArea Tabloid/11 x 17: "12 12 780 1212" +*ImageableArea 12x18/12 x 18: "12 12 852 1284" +*ImageableArea 11x15/11 x 15: "12 12 780 1068" +*ImageableArea 10x14/10 x 14: "12 12 708 996" +*ImageableArea SRA3/SRA3 (320 x 450 mm): "12 12 895 1264" +*ImageableArea SRA4/SRA4 (225 x 320 mm): "12 12 626 895" +*ImageableArea Executive/Executive (7.25 x 10.5): "12 12 510 744" +*ImageableArea Env10/Com10 Env. (4.125 x 9.5): "12 12 285 672" +*ImageableArea EnvMonarch/Monarch Env. (3.875 x 7.5): "12 12 267 528" +*ImageableArea EnvC5/C5 Env. (162 x 229 mm): "12 12 447 637" +*ImageableArea EnvC6/C6 Env. (114 x 162 mm): "12 12 311 447" +*ImageableArea DLEnv/DL Env. (110 x 220 mm): "12 12 299 611" +*ImageableArea 8Kai/8K (267 x 390 mm): "12 12 745 1094" +*ImageableArea 16Kai/16K (195 x 267 mm): "12 12 541 745" +*ImageableArea Oficio/8.5 x 13.4: "12 12 600 953" + +*DefaultPaperDimension: Letter +*PaperDimension A3/A3 (297 x 420 mm): "842 1191" +*PaperDimension A4/A4 (210 x 297 mm): "595 842" +*PaperDimension A5/A5 (148 x 210 mm): "420 595" +*PaperDimension A6/A6 (105 x 148 mm): "297 420" +*PaperDimension B4/B4 JIS (257 x 364 mm): "729 1032" +*PaperDimension B5/B5 JIS (182 x 257 mm): "516 729" +*PaperDimension B6/B6 JIS (128 x 182 mm): "363 516" +*PaperDimension Legal/Legal (8.5 x 14): "612 1008" +*PaperDimension GovernmentLG/8.25 x 14: "594 1008" +*PaperDimension EngQuatro/8 x 10: "576 720" +*PaperDimension Letter/Letter (8.5 x 11): "612 792" +*PaperDimension Statement/5.5 x 8.5: "396 612" +*PaperDimension F/8 x 13: "576 936" +*PaperDimension Folio/8.25 x 13: "595 935" +*PaperDimension FanFoldGermanLegal/8.5 x 13: "612 936" +*PaperDimension Tabloid/11 x 17: "792 1224" +*PaperDimension 12x18/12 x 18: "864 1296" +*PaperDimension 11x15/11 x 15: "792 1080" +*PaperDimension 10x14/10 x 14: "720 1008" +*PaperDimension SRA3/SRA3 (320 x 450 mm): "907 1276" +*PaperDimension SRA4/SRA4 (225 x 320 mm): "638 907" +*PaperDimension Executive/Executive (7.25 x 10.5): "522 756" +*PaperDimension Env10/Com10 Env. (4.125 x 9.5): "297 684" +*PaperDimension EnvMonarch/Monarch Env. (3.875 x 7.5): "279 540" +*PaperDimension EnvC5/C5 Env. (162 x 229 mm): "459 649" +*PaperDimension EnvC6/C6 Env. (114 x 162 mm): "323 459" +*PaperDimension DLEnv/DL Env. (110 x 220 mm): "311 623" +*PaperDimension 8Kai/8K (267 x 390 mm): "757 1106" +*PaperDimension 16Kai/16K (195 x 267 mm): "553 757" +*PaperDimension Oficio/8.5 x 13.4: "612 965" + +*JCLOpenUI *InputSlot: PickOne +*OrderDependency: 100 JCLSetup *InputSlot +*DefaultInputSlot: Auto +*InputSlot MultiTray/Bypass Tray: "@PJL SET TRAY=BYPASS<0A>" +*InputSlot 1Tray/Tray 1: "@PJL SET TRAY=TRAY1<0A>" +*InputSlot 2Tray/Tray 2: "@PJL SET TRAY=TRAY2<0A>" +*InputSlot 3Tray/Tray 3: "@PJL SET TRAY=TRAY3<0A>" +*InputSlot 4Tray/Tray 4: "@PJL SET TRAY=TRAY4<0A>" +*InputSlot Auto/Auto Select: "@PJL SET TRAY=ALL<0A>" +*JCLCloseUI: *InputSlot + +*JCLOpenUI *Duplex/Duplex: PickOne +*OrderDependency: 100 JCLSetup *Duplex +*DefaultDuplex: DuplexNoTumble +*Duplex None/Off: "@PJL SET DUPLEX=OFF<0A>" +*Duplex DuplexNoTumble/Long Edge: "@PJL SET DUPLEX=ON<0A>@PJL SET BINDING=LONGEDGE<0A>" +*Duplex DuplexTumble/Short Edge: "@PJL SET DUPLEX=ON<0A>@PJL SET BINDING=SHORTEDGE<0A>" +*JCLCloseUI: *Duplex + +*JCLOpenUI *Collate/Collate: Boolean +*OrderDependency: 100 JCLSetup *Collate +*DefaultCollate: False +*Collate False/Off: "@PJL SET COLLATE=OFF<0A>@PJL SET COPIES=&copies;<0A>" +*Collate True/On: "@PJL SET COLLATE=ON<0A>@PJL SET QTY=&copies;<0A>" +*JCLCloseUI: *Collate + +*OpenGroup: Basic/Basic +*JCLOpenUI *ColorModel/Color Mode: PickOne +*OrderDependency: 100 JCLSetup *ColorModel +*DefaultColorModel: CMYK +*ColorModel CMYK/Color: "@PJL SET RENDERMODE=COLOR<0A>@PJL SET DATAMODE=COLOR<0A>" +*ColorModel Gray/Black and White: "@PJL SET RENDERMODE=GRAYSCALE<0A>@PJL SET DATAMODE=GRAYSCALE<0A>" +*JCLCloseUI: *ColorModel + +*CloseGroup: Basic + +*OpenGroup: Paper/Paper +*JCLOpenUI *MediaType/Paper Type: PickOne +*OrderDependency: 100 JCLSetup *MediaType +*DefaultMediaType: Auto +*MediaType Auto/Plain/Recycled: "@PJL SET MEDIATYPE=PLAINORRECYCLED<0A>" +*MediaType Plain1/Plain 1 (60 - 74 g/m2): "@PJL SET MEDIATYPE=PLAIN<0A>" +*MediaType Plain2/Plain 2 (75 - 81 g/m2): "@PJL SET MEDIATYPE=PLAIN2<0A>" +*MediaType Recycled/Recycled: "@PJL SET MEDIATYPE=RECYCLED<0A>" +*MediaType Special1/Special 1: "@PJL SET MEDIATYPE=SPECIAL<0A>" +*MediaType Special2/Special 2: "@PJL SET MEDIATYPE=SPECIAL2<0A>" +*MediaType Special3/Special 3: "@PJL SET MEDIATYPE=SPECIAL3<0A>" +*MediaType Colored/Color: "@PJL SET MEDIATYPE=COLOR<0A>" +*MediaType Letterhead/Letterhead: "@PJL SET MEDIATYPE=LETTERHEAD<0A>" +*MediaType Preprinted/Preprinted: "@PJL SET MEDIATYPE=PREPRINTED<0A>" +*MediaType Labels/Labels: "@PJL SET MEDIATYPE=LABELS<0A>" +*MediaType Bond/Bond: "@PJL SET MEDIATYPE=BOND<0A>" +*MediaType Cardstock/Cardstock: "@PJL SET MEDIATYPE=CARDSTOCK<0A>" +*MediaType OHP/Transparency: "@PJL SET MEDIATYPE=TRANSPARENCY<0A>" +*MediaType Thick1/Thick 1 (106 - 169 g/m2): "@PJL SET MEDIATYPE=THICK<0A>" +*MediaType Thick2/Thick 2 (170 - 220 g/m2): "@PJL SET MEDIATYPE=THICK2<0A>" +*MediaType Thick3/Thick 3 (221 - 256 g/m2): "@PJL SET MEDIATYPE=THICK3<0A>" +*MediaType Thick4/Thick 4 (257 - 300 g/m2): "@PJL SET MEDIATYPE=THICK4<0A>" +*MediaType Thin/Thin (52 - 59 g/m2): "@PJL SET MEDIATYPE=THIN<0A>" +*MediaType Middlethick/Middle Thick (82 - 105 g/m2): "@PJL SET MEDIATYPE=MIDDLETHICK<0A>" +*MediaType GlossCoated/Coated (Glossy): "@PJL SET MEDIATYPE=GLOSSYCOATED<0A>" +*MediaType MatCoated/Coated (Matte): "@PJL SET MEDIATYPE=MATCOATED<0A>" +*MediaType Envelope/Envelope: "@PJL SET MEDIATYPE=ENVELOPE<0A>" +*JCLCloseUI: *MediaType + +*JCLOpenUI *OutputBin/Destination: PickOne +*OrderDependency: 100 JCLSetup *OutputBin +*DefaultOutputBin: Default +*OutputBin Default/Printer Default: "@PJL SET OUTBIN=SYSDEFAULT<0A>" +*OutputBin Standard/Internal Tray 1: "@PJL SET OUTBIN=UPPER<0A>" +*OutputBin Bin1/Internal Tray 2: "@PJL SET OUTBIN=INNER<0A>" +*OutputBin Shift/Internal Shift Tray: "@PJL SET OUTBIN=UPPER<0A>" +*OutputBin External/External Tray: "@PJL SET OUTBIN=LOWER<0A>" +*OutputBin FinRUBICONCShift/Finisher SR3250 Shift Tray: "@PJL SET OUTBIN=FINISHERSHIFT<0A>" +*OutputBin FinAMURCBKUpper/Finisher SR3270 Upper Tray: "@PJL SET OUTBIN=FINISHERPROOF<0A>" +*OutputBin FinAMURCBKShift/Finisher SR3270 Shift Tray: "@PJL SET OUTBIN=FINISHERSHIFT<0A>" +*OutputBin FinAMURCBKBKLower/Finisher SR3270 Booklet Tray: "@PJL SET OUTBIN=FINISHERBOOKLET<0A>" +*OutputBin FinUYUNIBShift/Finisher SR3300 Shift Tray: "@PJL SET OUTBIN=FINISHERSHIFT<0A>" +*JCLCloseUI: *OutputBin + +*CloseGroup: Paper + +*OpenGroup: Finishing/Finishing +*JCLOpenUI *RICollateKind/Collate Type: PickOne +*OrderDependency: 100 JCLSetup *RICollateKind +*DefaultRICollateKind: Normal +*RICollateKind Normal/Collate: "@PJL SET JOBOFFSET=OFF<0A>" +*RICollateKind RotateCollate/Rotating Collate: "@PJL SET JOBOFFSET=ROTATE<0A>" +*RICollateKind ShiftCollate/Shift Collate: "@PJL SET JOBOFFSET=SHIFT<0A>" +*JCLCloseUI: *RICollateKind + +*JCLOpenUI *StapleLocation/Staple: PickOne +*OrderDependency: 100 JCLSetup *StapleLocation +*DefaultStapleLocation: None +*StapleLocation None/Off: "@PJL SET STAPLE=OFF<0A>" +*StapleLocation StaplessUpperLeft/Top left (stapleless): "@PJL SET STAPLE=STAPLELESSLEFTTOPSLANTPORT<0A>" +*StapleLocation StaplessUpperRight/Top right (stapleless): "@PJL SET STAPLE=STAPLELESSRIGHTTOPSLANTPORT<0A>" +*StapleLocation UpperLeft/Top left: "@PJL SET STAPLE=LEFTTOP<0A>" +*StapleLocation UpperRight/Top right: "@PJL SET STAPLE=RIGHTTOP<0A>" +*StapleLocation LeftW/2 at left: "@PJL SET STAPLE=LEFT2PORT<0A>" +*StapleLocation RightW/2 at right: "@PJL SET STAPLE=RIGHT2PORT<0A>" +*StapleLocation UpperW/2 at top: "@PJL SET STAPLE=TOP2PORT<0A>" +*StapleLocation CenterW/2 at center: "@PJL SET STAPLE=BOOKLET<0A>" +*JCLCloseUI: *StapleLocation + +*JCLOpenUI *RIPunch/Punch: PickOne +*OrderDependency: 100 JCLSetup *RIPunch +*DefaultRIPunch: None +*RIPunch None/Off: "@PJL SET PUNCH=OFF<0A>" +*RIPunch LeftJP2/2 at left (Japan/Europe): "@PJL SET PUNCH=LEFTPORT<0A>@PJL SET PUNCHHOLE=JP2<0A>" +*RIPunch LeftUS2/2 at left (North America): "@PJL SET PUNCH=LEFTPORT<0A>@PJL SET PUNCHHOLE=US2<0A>" +*RIPunch LeftUS3/3 at left (North America): "@PJL SET PUNCH=LEFTPORT<0A>@PJL SET PUNCHHOLE=US3<0A>" +*RIPunch LeftEU4/4 at left (Europe): "@PJL SET PUNCH=LEFTPORT<0A>@PJL SET PUNCHHOLE=EU4<0A>" +*RIPunch LeftNEU4/4 at left (Northern Europe): "@PJL SET PUNCH=LEFTPORT<0A>@PJL SET PUNCHHOLE=NEU4<0A>" +*RIPunch RightJP2/2 at right (Japan/Europe): "@PJL SET PUNCH=RIGHTPORT<0A>@PJL SET PUNCHHOLE=JP2<0A>" +*RIPunch RightUS2/2 at right (North America): "@PJL SET PUNCH=RIGHTPORT<0A>@PJL SET PUNCHHOLE=US2<0A>" +*RIPunch RightUS3/3 at right (North America): "@PJL SET PUNCH=RIGHTPORT<0A>@PJL SET PUNCHHOLE=US3<0A>" +*RIPunch RightEU4/4 at right (Europe): "@PJL SET PUNCH=RIGHTPORT<0A>@PJL SET PUNCHHOLE=EU4<0A>" +*RIPunch RightNEU4/4 at right (Northern Europe): "@PJL SET PUNCH=RIGHTPORT<0A>@PJL SET PUNCHHOLE=NEU4<0A>" +*RIPunch UpperJP2/2 at top (Japan/Europe): "@PJL SET PUNCH=TOPPORT<0A>@PJL SET PUNCHHOLE=JP2<0A>" +*RIPunch UpperUS2/2 at top (North America): "@PJL SET PUNCH=TOPPORT<0A>@PJL SET PUNCHHOLE=US2<0A>" +*RIPunch UpperUS3/3 at top (North America): "@PJL SET PUNCH=TOPPORT<0A>@PJL SET PUNCHHOLE=US3<0A>" +*RIPunch UpperEU4/4 at top (Europe): "@PJL SET PUNCH=TOPPORT<0A>@PJL SET PUNCHHOLE=EU4<0A>" +*RIPunch UpperNEU4/4 at top (Northern Europe): "@PJL SET PUNCH=TOPPORT<0A>@PJL SET PUNCHHOLE=NEU4<0A>" +*JCLCloseUI: *RIPunch + +*CloseGroup: Finishing + +*OpenGroup: PrintQuality/Print Quality +*JCLOpenUI *Resolution/Resolution: PickOne +*OrderDependency: 100 JCLSetup *Resolution +*DefaultResolution: 600dpi +*Resolution 600dpi/600 dpi: "@PJL SET RESOLUTION=600<0A>" +*Resolution 1200dpi/1200 dpi: "@PJL SET RESOLUTION=1200<0A>" +*JCLCloseUI: *Resolution + +*JCLOpenUI *RPSBitsPerPixel/Gradation: PickOne +*OrderDependency: 100 JCLSetup *RPSBitsPerPixel +*DefaultRPSBitsPerPixel: 2BitsPerPixel +*RPSBitsPerPixel 2BitsPerPixel/Standard: "@PJL SET BITSPERDOT=2<0A>" +*RPSBitsPerPixel 1BitsPerPixel/Fast: "@PJL SET BITSPERDOT=1<0A>" +*RPSBitsPerPixel 4BitsPerPixel/Fine: "@PJL SET BITSPERDOT=4<0A>" +*JCLCloseUI: *RPSBitsPerPixel + +*JCLOpenUI *RIPrintMode/Print Mode: PickOne +*OrderDependency: 100 JCLSetup *RIPrintMode +*DefaultRIPrintMode: 0rhit +*RIPrintMode 0rhit/Off: "@PJL SET ECONOMODE=OFF<0A>" +*RIPrintMode 3rhit/Toner Saving: "@PJL SET ECONOMODE=ON<0A>" +*JCLCloseUI: *RIPrintMode + +*CloseGroup: PrintQuality + +*OpenGroup: Effects/Effects +*CloseGroup: Effects + +*OpenGroup: RIColorBalance/Color Balance Details +*CloseGroup: RIColorBalance + +*OpenGroup: JobLog/Job Log +*JCLOpenUI *JobType/JobType: PickOne +*OrderDependency: 100 JCLSetup *JobType +*DefaultJobType: Normal +*JobType Normal/Normal: "" +*JobType SamplePrint/Sample Print: "@PJL PROOFJOB<0A>" +*JobType LockedPrint/Locked Print: "@PJL SECUREJOB<0A>" +*JobType HoldPrint/Hold Print: "@PJL SET SAVEMODE=OFF<0A>@PJL PAUSEDJOB<0A>" +*JobType StoredPrint/Stored Print: "@PJL SET ACCESSMODE=PRIVATE<0A>@PJL SET SAVEMODE=ON<0A>@PJL PAUSEDJOB<0A>" +*JobType StoreandPrint/Store and Print: "@PJL SET ACCESSMODE=PRIVATE<0A>@PJL SET SAVEMODE=ON<0A>" +*JobType DocServer/Document Server: "@PJL SET DISKIMAGE=ON<0A>" +*JCLCloseUI: *JobType + +*JCLOpenUI *Password/Password (4-8 digits): PickOne +*OrderDependency: 100 JCLSetup *Password +*DefaultPassword: None +*Password None/None: "" +*Password 4001/4001: "@PJL SET JOBPASSWORD2=<22>4001<22><0A>" +*Password 4002/4002: "@PJL SET JOBPASSWORD2=<22>4002<22><0A>" +*Password 4003/4003: "@PJL SET JOBPASSWORD2=<22>4003<22><0A>" +*JCLCloseUI: *Password +*CustomPassword True/Custom Password: "@PJL SET JOBPASSWORD2=<22>\1<22><0A>" +*ParamCustomPassword Password: 1 passcode 4 8 + +*JCLOpenUI *UserCode/User Code (up to 8 digits): PickOne +*OrderDependency: 100 JCLSetup *UserCode +*DefaultUserCode: None +*UserCode None/None: "" +*UserCode 1001/1001: "@PJL SET USERCODE=<22>1001<22><0A>" +*UserCode 1002/1002: "@PJL SET USERCODE=<22>1002<22><0A>" +*UserCode 1003/1003: "@PJL SET USERCODE=<22>1003<22><0A>" +*JCLCloseUI: *UserCode +*CustomUserCode True/Custom UserCode: "@PJL SET USERCODE=<22>\1<22><0A>" +*ParamCustomUserCode UserCode: 1 passcode 1 8 + +*JCLOpenUI *UserId/User Id (Up to 8 alphanumeric<0A> [a-z,A-Z,0-9,<2D><2E><2F><3A><5F><5F>] characters): PickOne +*OrderDependency: 100 JCLSetup *UserId +*DefaultUserId: User1 +*UserId None/None: "" +*UserId User1/User1: "@PJL SET USERID=<22>User1<22><0A>" +*UserId User2/User2: "@PJL SET USERID=<22>User2<22><0A>" +*UserId User3/User3: "@PJL SET USERID=<22>User3<22><0A>" +*JCLCloseUI: *UserId +*CustomUserId True/Custom UserId: "@PJL SET USERID=<22>\1<22><0A>" +*ParamCustomUserId UserId: 1 string 1 8 + +*CloseGroup: JobLog/Job Log + +*%========== Font ========== + +*DefaultFont: Courier +*Font AlbertusMT: Standard "(001.000)" Standard ROM +*Font AlbertusMT-Italic: Standard "(001.000)" Standard ROM +*Font AlbertusMT-Light: Standard "(001.000)" Standard ROM +*Font AntiqueOlive-Bold: Standard "(501.009)" ExtendedRoman ROM +*Font AntiqueOlive-Compact: Standard "(501.008)" ExtendedRoman ROM +*Font AntiqueOlive-Italic: Standard "(501.010)" ExtendedRoman ROM +*Font AntiqueOlive-Roman: Standard "(501.008)" ExtendedRoman ROM +*Font Apple-Chancery: Standard "(001.001)" ExtendedRoman ROM +*Font ArialMT: Standard "(501.009)" ExtendedRoman ROM +*Font Arial-BoldMT: Standard "(501.009)" ExtendedRoman ROM +*Font Arial-BoldItalicMT: Standard "(501.009)" ExtendedRoman ROM +*Font Arial-ItalicMT: Standard "(501.012)" ExtendedRoman ROM +*Font AvantGarde-Book: Standard "(501.009)" ExtendedRoman ROM +*Font AvantGarde-BookOblique: Standard "(501.009)" ExtendedRoman ROM +*Font AvantGarde-Demi: Standard "(501.010)" ExtendedRoman ROM +*Font AvantGarde-DemiOblique: Standard "(501.010)" ExtendedRoman ROM +*Font Bodoni: Standard "(501.008)" ExtendedRoman ROM +*Font Bodoni-Bold: Standard "(501.006)" ExtendedRoman ROM +*Font Bodoni-BoldItalic: Standard "(501.007)" ExtendedRoman ROM +*Font Bodoni-Italic: Standard "(501.007)" ExtendedRoman ROM +*Font Bodoni-Poster: Standard "(501.009)" ExtendedRoman ROM +*Font Bodoni-PosterCompressed: Standard "(501.007)" ExtendedRoman ROM +*Font Bookman-Demi: Standard "(501.007)" ExtendedRoman ROM +*Font Bookman-DemiItalic: Standard "(501.008)" ExtendedRoman ROM +*Font Bookman-Light: Standard "(501.006)" ExtendedRoman ROM +*Font Bookman-LightItalic: Standard "(501.007)" ExtendedRoman ROM +*Font Carta: Special "(001.001)" Special ROM +*Font Chicago: Standard "(501.011)" ExtendedRoman ROM +*Font Clarendon-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font Clarendon-Light: Standard "(501.009)" ExtendedRoman ROM +*Font Clarendon: Standard "(501.009)" ExtendedRoman ROM +*Font CooperBlack-Italic: Standard "(001.003)" Standard ROM +*Font CooperBlack: Standard "(001.003)" Standard ROM +*Font Copperplate-ThirtyThreeBC: Standard "(001.002)" Standard ROM +*Font Copperplate-ThirtyTwoBC: Standard "(001.002)" Standard ROM +*Font Coronet-Regular: Standard "(001.000)" ExtendedRoman ROM +*Font Courier-Bold: Standard "(501.010)" ExtendedRoman ROM +*Font Courier-BoldOblique: Standard "(501.010)" ExtendedRoman ROM +*Font Courier-Oblique: Standard "(501.010)" ExtendedRoman ROM +*Font Courier: Standard "(501.010)" ExtendedRoman ROM +*Font Eurostile-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font Eurostile-BoldExtendedTwo: Standard "(501.008)" ExtendedRoman ROM +*Font Eurostile-ExtendedTwo: Standard "(501.010)" ExtendedRoman ROM +*Font Eurostile: Standard "(501.008)" ExtendedRoman ROM +*Font Geneva: Standard "(501.007)" ExtendedRoman ROM +*Font GillSans: Standard "(501.009)" ExtendedRoman ROM +*Font GillSans-Bold: Standard "(501.007)" ExtendedRoman ROM +*Font GillSans-BoldCondensed: Standard "(501.006)" ExtendedRoman ROM +*Font GillSans-BoldItalic: Standard "(501.008)" ExtendedRoman ROM +*Font GillSans-Condensed: Standard "(501.007)" ExtendedRoman ROM +*Font GillSans-ExtraBold: Standard "(501.008)" ExtendedRoman ROM +*Font GillSans-Italic: Standard "(501.008)" ExtendedRoman ROM +*Font GillSans-Light: Standard "(501.009)" ExtendedRoman ROM +*Font GillSans-LightItalic: Standard "(501.009)" ExtendedRoman ROM +*Font Goudy: Standard "(001.003)" Standard ROM +*Font Goudy-Bold: Standard "(001.002)" Standard ROM +*Font Goudy-BoldItalic: Standard "(001.002)" Standard ROM +*Font Goudy-ExtraBold: Standard "(001.001)" Standard ROM +*Font Goudy-Italic: Standard "(001.002)" Standard ROM +*Font Helvetica: Standard "(501.008)" ExtendedRoman ROM +*Font Helvetica-Bold: Standard "(501.010)" ExtendedRoman ROM +*Font Helvetica-BoldOblique: Standard "(501.010)" ExtendedRoman ROM +*Font Helvetica-Condensed-Bold: Standard "(501.009)" ExtendedRoman ROM +*Font Helvetica-Condensed-BoldObl: Standard "(501.009)" ExtendedRoman ROM +*Font Helvetica-Condensed-Oblique: Standard "(501.010)" ExtendedRoman ROM +*Font Helvetica-Condensed: Standard "(501.010)" ExtendedRoman ROM +*Font Helvetica-Narrow-Bold: Standard "(501.010)" ExtendedRoman ROM +*Font Helvetica-Narrow-BoldOblique: Standard "(501.010)" ExtendedRoman ROM +*Font Helvetica-Narrow-Oblique: Standard "(501.008)" ExtendedRoman ROM +*Font Helvetica-Narrow: Standard "(501.008)" ExtendedRoman ROM +*Font Helvetica-Oblique: Standard "(501.008)" ExtendedRoman ROM +*Font HoeflerText-Black: Standard "(501.008)" ExtendedRoman ROM +*Font HoeflerText-BlackItalic: Standard "(501.009)" ExtendedRoman ROM +*Font HoeflerText-Italic: Standard "(501.010)" ExtendedRoman ROM +*Font HoeflerText-Ornaments: Special "(001.001)" Special ROM +*Font HoeflerText-Regular: Standard "(501.009)" ExtendedRoman ROM +*Font JoannaMT: Standard "(501.009)" ExtendedRoman ROM +*Font JoannaMT-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font JoannaMT-BoldItalic: Standard "(501.008)" ExtendedRoman ROM +*Font JoannaMT-Italic: Standard "(501.008)" ExtendedRoman ROM +*Font LetterGothic: Standard "(501.009)" ExtendedRoman ROM +*Font LetterGothic-Bold: Standard "(501.010)" ExtendedRoman ROM +*Font LetterGothic-BoldSlanted: Standard "(501.010)" ExtendedRoman ROM +*Font LetterGothic-Slanted: Standard "(501.010)" ExtendedRoman ROM +*Font LubalinGraph-Book: Standard "(501.009)" ExtendedRoman ROM +*Font LubalinGraph-BookOblique: Standard "(501.009)" ExtendedRoman ROM +*Font LubalinGraph-Demi: Standard "(501.009)" ExtendedRoman ROM +*Font LubalinGraph-DemiOblique: Standard "(501.009)" ExtendedRoman ROM +*Font Marigold: Standard "(001.000)" Standard ROM +*Font MonaLisa-Recut: Standard "(001.000)" Standard ROM +*Font Monaco: Standard "(501.012)" ExtendedRoman ROM +*Font NewCenturySchlbk-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font NewCenturySchlbk-BoldItalic: Standard "(501.009)" ExtendedRoman ROM +*Font NewCenturySchlbk-Italic: Standard "(501.011)" ExtendedRoman ROM +*Font NewCenturySchlbk-Roman: Standard "(501.008)" ExtendedRoman ROM +*Font NewYork: Standard "(501.013)" ExtendedRoman ROM +*Font Optima-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font Optima-BoldItalic: Standard "(501.009)" ExtendedRoman ROM +*Font Optima-Italic: Standard "(501.010)" ExtendedRoman ROM +*Font Optima: Standard "(501.010)" ExtendedRoman ROM +*Font Oxford: Standard "(001.000)" Standard ROM +*Font Palatino-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font Palatino-BoldItalic: Standard "(501.007)" ExtendedRoman ROM +*Font Palatino-Italic: Standard "(501.008)" ExtendedRoman ROM +*Font Palatino-Roman: Standard "(501.006)" ExtendedRoman ROM +*Font StempelGaramond-Bold: Standard "(501.007)" ExtendedRoman ROM +*Font StempelGaramond-BoldItalic: Standard "(501.012)" ExtendedRoman ROM +*Font StempelGaramond-Italic: Standard "(501.009)" ExtendedRoman ROM +*Font StempelGaramond-Roman: Standard "(501.011)" ExtendedRoman ROM +*Font Symbol: Special "(001.008)" Special ROM +*Font Tekton: Standard "(001.001)" Standard ROM +*Font Times-Bold: Standard "(501.009)" ExtendedRoman ROM +*Font Times-BoldItalic: Standard "(501.009)" ExtendedRoman ROM +*Font Times-Italic: Standard "(501.010)" ExtendedRoman ROM +*Font Times-Roman: Standard "(501.010)" ExtendedRoman ROM +*Font TimesNewRomanPS-BoldItalicMT: Standard "(501.011)" ExtendedRoman ROM +*Font TimesNewRomanPS-BoldMT: Standard "(501.009)" ExtendedRoman ROM +*Font TimesNewRomanPS-ItalicMT: Standard "(501.011)" ExtendedRoman ROM +*Font TimesNewRomanPSMT: Standard "(501.010)" ExtendedRoman ROM +*Font Univers: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-Bold: Standard "(501.008)" ExtendedRoman ROM +*Font Univers-BoldExt: Standard "(501.010)" ExtendedRoman ROM +*Font Univers-BoldExtObl: Standard "(501.010)" ExtendedRoman ROM +*Font Univers-BoldOblique: Standard "(501.008)" ExtendedRoman ROM +*Font Univers-Condensed: Standard "(501.011)" ExtendedRoman ROM +*Font Univers-CondensedBold: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-CondensedBoldOblique: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-CondensedOblique: Standard "(501.011)" ExtendedRoman ROM +*Font Univers-Extended: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-ExtendedObl: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-Light: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-LightOblique: Standard "(501.009)" ExtendedRoman ROM +*Font Univers-Oblique: Standard "(501.009)" ExtendedRoman ROM +*Font Wingdings-Regular: Special "(001.001)" Special ROM +*Font ZapfChancery-MediumItalic: Standard "(002.000)" ExtendedRoman ROM +*Font ZapfDingbats: Special "(001.005S)" Special ROM + +*%==========Media Type/Duplex +*UIConstraints: *MediaType Labels *Duplex DuplexNoTumble +*UIConstraints: *Duplex DuplexNoTumble *MediaType Labels +*UIConstraints: *MediaType Labels *Duplex DuplexTumble +*UIConstraints: *Duplex DuplexTumble *MediaType Labels +*UIConstraints: *MediaType OHP *Duplex DuplexNoTumble +*UIConstraints: *Duplex DuplexNoTumble *MediaType OHP +*UIConstraints: *MediaType OHP *Duplex DuplexTumble +*UIConstraints: *Duplex DuplexTumble *MediaType OHP +*UIConstraints: *MediaType Thick4 *Duplex DuplexNoTumble +*UIConstraints: *Duplex DuplexNoTumble *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *Duplex DuplexTumble +*UIConstraints: *Duplex DuplexTumble *MediaType Thick4 +*UIConstraints: *MediaType GlossCoated *Duplex DuplexNoTumble +*UIConstraints: *Duplex DuplexNoTumble *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *Duplex DuplexTumble +*UIConstraints: *Duplex DuplexTumble *MediaType GlossCoated +*UIConstraints: *MediaType MatCoated *Duplex DuplexNoTumble +*UIConstraints: *Duplex DuplexNoTumble *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *Duplex DuplexTumble +*UIConstraints: *Duplex DuplexTumble *MediaType MatCoated +*UIConstraints: *MediaType Envelope *Duplex DuplexNoTumble +*UIConstraints: *Duplex DuplexNoTumble *MediaType Envelope +*UIConstraints: *MediaType Envelope *Duplex DuplexTumble +*UIConstraints: *Duplex DuplexTumble *MediaType Envelope + +*%==========Destination/Collate Kind +*UIConstraints: *OutputBin Default *RICollateKind ShiftCollate +*UIConstraints: *RICollateKind ShiftCollate *OutputBin Default +*UIConstraints: *OutputBin Standard *RICollateKind ShiftCollate +*UIConstraints: *RICollateKind ShiftCollate *OutputBin Standard +*UIConstraints: *OutputBin Bin1 *RICollateKind ShiftCollate +*UIConstraints: *RICollateKind ShiftCollate *OutputBin Bin1 +*UIConstraints: *OutputBin Shift *RICollateKind RotateCollate +*UIConstraints: *RICollateKind RotateCollate *OutputBin Shift +*UIConstraints: *OutputBin External *RICollateKind ShiftCollate +*UIConstraints: *RICollateKind ShiftCollate *OutputBin External +*UIConstraints: *OutputBin FinRUBICONCShift *RICollateKind RotateCollate +*UIConstraints: *RICollateKind RotateCollate *OutputBin FinRUBICONCShift +*UIConstraints: *OutputBin FinAMURCBKUpper *RICollateKind ShiftCollate +*UIConstraints: *RICollateKind ShiftCollate *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKShift *RICollateKind RotateCollate +*UIConstraints: *RICollateKind RotateCollate *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKBKLower *RICollateKind ShiftCollate +*UIConstraints: *RICollateKind ShiftCollate *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinUYUNIBShift *RICollateKind RotateCollate +*UIConstraints: *RICollateKind RotateCollate *OutputBin FinUYUNIBShift + +*%==========Finisher/Staple +*UIConstraints: *Finisher NotInstalled *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *Finisher NotInstalled +*UIConstraints: *Finisher FinRUBICONC *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *Finisher FinRUBICONC +*UIConstraints: *Finisher FinRUBICONC *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *Finisher FinRUBICONC +*UIConstraints: *Finisher FinRUBICONC *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *Finisher FinRUBICONC +*UIConstraints: *Finisher FinAMURCBK *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *Finisher FinAMURCBK +*UIConstraints: *Finisher FinAMURCBK *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *Finisher FinAMURCBK +*UIConstraints: *Finisher FinUYUNIB *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *Finisher FinUYUNIB + +*%==========Input Tray/Staple +*UIConstraints: *InputSlot MultiTray *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *InputSlot MultiTray + +*%==========Media Type/Staple +*UIConstraints: *MediaType Labels *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType Labels +*UIConstraints: *MediaType Labels *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType Labels +*UIConstraints: *MediaType OHP *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType OHP +*UIConstraints: *MediaType OHP *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType OHP +*UIConstraints: *MediaType Thick1 *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Thick1 +*UIConstraints: *MediaType Thick1 *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Thick1 +*UIConstraints: *MediaType Thick1 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType Thick1 +*UIConstraints: *MediaType Thick2 *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Thick2 +*UIConstraints: *MediaType Thick2 *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Thick2 +*UIConstraints: *MediaType Thick2 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType Thick2 +*UIConstraints: *MediaType Thick3 *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType Thick3 +*UIConstraints: *MediaType Thick4 *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType Thick4 +*UIConstraints: *MediaType Middlethick *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Middlethick +*UIConstraints: *MediaType Middlethick *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Middlethick +*UIConstraints: *MediaType GlossCoated *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType GlossCoated +*UIConstraints: *MediaType MatCoated *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType MatCoated +*UIConstraints: *MediaType Envelope *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *MediaType Envelope +*UIConstraints: *MediaType Envelope *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *MediaType Envelope + +*%==========Destination/Staple +*UIConstraints: *OutputBin Standard *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *OutputBin Standard +*UIConstraints: *OutputBin Standard *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *OutputBin Standard +*UIConstraints: *OutputBin Bin1 *StapleLocation StaplessUpperLeft +*UIConstraints: *StapleLocation StaplessUpperLeft *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation StaplessUpperRight +*UIConstraints: *StapleLocation StaplessUpperRight *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *OutputBin Bin1 +*UIConstraints: *OutputBin FinAMURCBKUpper *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKShift *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKBKLower *StapleLocation UpperLeft +*UIConstraints: *StapleLocation UpperLeft *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *StapleLocation UpperRight +*UIConstraints: *StapleLocation UpperRight *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *StapleLocation LeftW +*UIConstraints: *StapleLocation LeftW *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *StapleLocation RightW +*UIConstraints: *StapleLocation RightW *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *StapleLocation UpperW +*UIConstraints: *StapleLocation UpperW *OutputBin FinAMURCBKBKLower + +*%==========Punch/Staple +*UIConstraints: *RIPunch LeftJP2 *StapleLocation CenterW +*UIConstraints: *RIPunch LeftUS2 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch LeftJP2 +*UIConstraints: *StapleLocation CenterW *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftUS3 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftEU4 *StapleLocation CenterW +*UIConstraints: *RIPunch LeftNEU4 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch LeftEU4 +*UIConstraints: *StapleLocation CenterW *RIPunch LeftNEU4 +*UIConstraints: *RIPunch RightJP2 *StapleLocation CenterW +*UIConstraints: *RIPunch RightUS2 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch RightJP2 +*UIConstraints: *StapleLocation CenterW *RIPunch RightUS2 +*UIConstraints: *RIPunch RightUS3 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch RightUS3 +*UIConstraints: *RIPunch RightEU4 *StapleLocation CenterW +*UIConstraints: *RIPunch RightNEU4 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch RightEU4 +*UIConstraints: *StapleLocation CenterW *RIPunch RightNEU4 +*UIConstraints: *RIPunch UpperJP2 *StapleLocation CenterW +*UIConstraints: *RIPunch UpperUS2 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch UpperJP2 +*UIConstraints: *StapleLocation CenterW *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperUS3 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperEU4 *StapleLocation CenterW +*UIConstraints: *RIPunch UpperNEU4 *StapleLocation CenterW +*UIConstraints: *StapleLocation CenterW *RIPunch UpperEU4 +*UIConstraints: *StapleLocation CenterW *RIPunch UpperNEU4 + +*%==========Finisher/Punch +*UIConstraints: *Finisher NotInstalled *RIPunch LeftJP2 +*UIConstraints: *Finisher NotInstalled *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *Finisher NotInstalled +*UIConstraints: *RIPunch LeftUS2 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch LeftEU4 +*UIConstraints: *Finisher NotInstalled *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *Finisher NotInstalled +*UIConstraints: *RIPunch LeftNEU4 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch RightJP2 +*UIConstraints: *Finisher NotInstalled *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *Finisher NotInstalled +*UIConstraints: *RIPunch RightUS2 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch RightEU4 +*UIConstraints: *Finisher NotInstalled *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *Finisher NotInstalled +*UIConstraints: *RIPunch RightNEU4 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch UpperJP2 +*UIConstraints: *Finisher NotInstalled *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *Finisher NotInstalled +*UIConstraints: *RIPunch UpperUS2 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *RIPunch UpperEU4 +*UIConstraints: *Finisher NotInstalled *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *Finisher NotInstalled +*UIConstraints: *RIPunch UpperNEU4 *Finisher NotInstalled +*UIConstraints: *Finisher FinUYUNIB *RIPunch LeftJP2 +*UIConstraints: *Finisher FinUYUNIB *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *Finisher FinUYUNIB +*UIConstraints: *RIPunch LeftUS2 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch LeftEU4 +*UIConstraints: *Finisher FinUYUNIB *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *Finisher FinUYUNIB +*UIConstraints: *RIPunch LeftNEU4 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch RightJP2 +*UIConstraints: *Finisher FinUYUNIB *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *Finisher FinUYUNIB +*UIConstraints: *RIPunch RightUS2 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch RightEU4 +*UIConstraints: *Finisher FinUYUNIB *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *Finisher FinUYUNIB +*UIConstraints: *RIPunch RightNEU4 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch UpperJP2 +*UIConstraints: *Finisher FinUYUNIB *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *Finisher FinUYUNIB +*UIConstraints: *RIPunch UpperUS2 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *RIPunch UpperEU4 +*UIConstraints: *Finisher FinUYUNIB *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *Finisher FinUYUNIB +*UIConstraints: *RIPunch UpperNEU4 *Finisher FinUYUNIB + +*%==========Input Tray/Punch +*UIConstraints: *InputSlot MultiTray *RIPunch LeftJP2 +*UIConstraints: *InputSlot MultiTray *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *InputSlot MultiTray +*UIConstraints: *RIPunch LeftUS2 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch LeftEU4 +*UIConstraints: *InputSlot MultiTray *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *InputSlot MultiTray +*UIConstraints: *RIPunch LeftNEU4 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch RightJP2 +*UIConstraints: *InputSlot MultiTray *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *InputSlot MultiTray +*UIConstraints: *RIPunch RightUS2 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch RightEU4 +*UIConstraints: *InputSlot MultiTray *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *InputSlot MultiTray +*UIConstraints: *RIPunch RightNEU4 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch UpperJP2 +*UIConstraints: *InputSlot MultiTray *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *InputSlot MultiTray +*UIConstraints: *RIPunch UpperUS2 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *InputSlot MultiTray +*UIConstraints: *InputSlot MultiTray *RIPunch UpperEU4 +*UIConstraints: *InputSlot MultiTray *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *InputSlot MultiTray +*UIConstraints: *RIPunch UpperNEU4 *InputSlot MultiTray + +*%==========Media Type/Punch +*UIConstraints: *MediaType Labels *RIPunch LeftJP2 +*UIConstraints: *MediaType Labels *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *MediaType Labels +*UIConstraints: *RIPunch LeftUS2 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch LeftEU4 +*UIConstraints: *MediaType Labels *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *MediaType Labels +*UIConstraints: *RIPunch LeftNEU4 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch RightJP2 +*UIConstraints: *MediaType Labels *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *MediaType Labels +*UIConstraints: *RIPunch RightUS2 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch RightEU4 +*UIConstraints: *MediaType Labels *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *MediaType Labels +*UIConstraints: *RIPunch RightNEU4 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch UpperJP2 +*UIConstraints: *MediaType Labels *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *MediaType Labels +*UIConstraints: *RIPunch UpperUS2 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *MediaType Labels +*UIConstraints: *MediaType Labels *RIPunch UpperEU4 +*UIConstraints: *MediaType Labels *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *MediaType Labels +*UIConstraints: *RIPunch UpperNEU4 *MediaType Labels +*UIConstraints: *MediaType OHP *RIPunch LeftJP2 +*UIConstraints: *MediaType OHP *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *MediaType OHP +*UIConstraints: *RIPunch LeftUS2 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch LeftEU4 +*UIConstraints: *MediaType OHP *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *MediaType OHP +*UIConstraints: *RIPunch LeftNEU4 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch RightJP2 +*UIConstraints: *MediaType OHP *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *MediaType OHP +*UIConstraints: *RIPunch RightUS2 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch RightEU4 +*UIConstraints: *MediaType OHP *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *MediaType OHP +*UIConstraints: *RIPunch RightNEU4 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch UpperJP2 +*UIConstraints: *MediaType OHP *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *MediaType OHP +*UIConstraints: *RIPunch UpperUS2 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *MediaType OHP +*UIConstraints: *MediaType OHP *RIPunch UpperEU4 +*UIConstraints: *MediaType OHP *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *MediaType OHP +*UIConstraints: *RIPunch UpperNEU4 *MediaType OHP +*UIConstraints: *MediaType Thick4 *RIPunch LeftJP2 +*UIConstraints: *MediaType Thick4 *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *MediaType Thick4 +*UIConstraints: *RIPunch LeftUS2 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch LeftEU4 +*UIConstraints: *MediaType Thick4 *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *MediaType Thick4 +*UIConstraints: *RIPunch LeftNEU4 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch RightJP2 +*UIConstraints: *MediaType Thick4 *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *MediaType Thick4 +*UIConstraints: *RIPunch RightUS2 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch RightEU4 +*UIConstraints: *MediaType Thick4 *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *MediaType Thick4 +*UIConstraints: *RIPunch RightNEU4 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch UpperJP2 +*UIConstraints: *MediaType Thick4 *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *MediaType Thick4 +*UIConstraints: *RIPunch UpperUS2 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *RIPunch UpperEU4 +*UIConstraints: *MediaType Thick4 *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *MediaType Thick4 +*UIConstraints: *RIPunch UpperNEU4 *MediaType Thick4 +*UIConstraints: *MediaType GlossCoated *RIPunch LeftJP2 +*UIConstraints: *MediaType GlossCoated *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *MediaType GlossCoated +*UIConstraints: *RIPunch LeftUS2 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch LeftEU4 +*UIConstraints: *MediaType GlossCoated *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *MediaType GlossCoated +*UIConstraints: *RIPunch LeftNEU4 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch RightJP2 +*UIConstraints: *MediaType GlossCoated *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *MediaType GlossCoated +*UIConstraints: *RIPunch RightUS2 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch RightEU4 +*UIConstraints: *MediaType GlossCoated *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *MediaType GlossCoated +*UIConstraints: *RIPunch RightNEU4 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch UpperJP2 +*UIConstraints: *MediaType GlossCoated *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *MediaType GlossCoated +*UIConstraints: *RIPunch UpperUS2 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *RIPunch UpperEU4 +*UIConstraints: *MediaType GlossCoated *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *MediaType GlossCoated +*UIConstraints: *RIPunch UpperNEU4 *MediaType GlossCoated +*UIConstraints: *MediaType MatCoated *RIPunch LeftJP2 +*UIConstraints: *MediaType MatCoated *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *MediaType MatCoated +*UIConstraints: *RIPunch LeftUS2 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch LeftEU4 +*UIConstraints: *MediaType MatCoated *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *MediaType MatCoated +*UIConstraints: *RIPunch LeftNEU4 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch RightJP2 +*UIConstraints: *MediaType MatCoated *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *MediaType MatCoated +*UIConstraints: *RIPunch RightUS2 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch RightEU4 +*UIConstraints: *MediaType MatCoated *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *MediaType MatCoated +*UIConstraints: *RIPunch RightNEU4 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch UpperJP2 +*UIConstraints: *MediaType MatCoated *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *MediaType MatCoated +*UIConstraints: *RIPunch UpperUS2 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *MediaType MatCoated +*UIConstraints: *MediaType MatCoated *RIPunch UpperEU4 +*UIConstraints: *MediaType MatCoated *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *MediaType MatCoated +*UIConstraints: *RIPunch UpperNEU4 *MediaType MatCoated +*UIConstraints: *MediaType Envelope *RIPunch LeftJP2 +*UIConstraints: *MediaType Envelope *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *MediaType Envelope +*UIConstraints: *RIPunch LeftUS2 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch LeftEU4 +*UIConstraints: *MediaType Envelope *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *MediaType Envelope +*UIConstraints: *RIPunch LeftNEU4 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch RightJP2 +*UIConstraints: *MediaType Envelope *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *MediaType Envelope +*UIConstraints: *RIPunch RightUS2 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch RightEU4 +*UIConstraints: *MediaType Envelope *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *MediaType Envelope +*UIConstraints: *RIPunch RightNEU4 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch UpperJP2 +*UIConstraints: *MediaType Envelope *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *MediaType Envelope +*UIConstraints: *RIPunch UpperUS2 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *MediaType Envelope +*UIConstraints: *MediaType Envelope *RIPunch UpperEU4 +*UIConstraints: *MediaType Envelope *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *MediaType Envelope +*UIConstraints: *RIPunch UpperNEU4 *MediaType Envelope + +*%==========Destination/Punch +*UIConstraints: *OutputBin Standard *RIPunch LeftJP2 +*UIConstraints: *OutputBin Standard *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *OutputBin Standard +*UIConstraints: *RIPunch LeftUS2 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch LeftEU4 +*UIConstraints: *OutputBin Standard *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *OutputBin Standard +*UIConstraints: *RIPunch LeftNEU4 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch RightJP2 +*UIConstraints: *OutputBin Standard *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *OutputBin Standard +*UIConstraints: *RIPunch RightUS2 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch RightEU4 +*UIConstraints: *OutputBin Standard *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *OutputBin Standard +*UIConstraints: *RIPunch RightNEU4 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch UpperJP2 +*UIConstraints: *OutputBin Standard *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *OutputBin Standard +*UIConstraints: *RIPunch UpperUS2 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *OutputBin Standard +*UIConstraints: *OutputBin Standard *RIPunch UpperEU4 +*UIConstraints: *OutputBin Standard *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *OutputBin Standard +*UIConstraints: *RIPunch UpperNEU4 *OutputBin Standard +*UIConstraints: *OutputBin Bin1 *RIPunch LeftJP2 +*UIConstraints: *OutputBin Bin1 *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *OutputBin Bin1 +*UIConstraints: *RIPunch LeftUS2 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch LeftEU4 +*UIConstraints: *OutputBin Bin1 *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *OutputBin Bin1 +*UIConstraints: *RIPunch LeftNEU4 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch RightJP2 +*UIConstraints: *OutputBin Bin1 *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *OutputBin Bin1 +*UIConstraints: *RIPunch RightUS2 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch RightEU4 +*UIConstraints: *OutputBin Bin1 *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *OutputBin Bin1 +*UIConstraints: *RIPunch RightNEU4 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch UpperJP2 +*UIConstraints: *OutputBin Bin1 *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *OutputBin Bin1 +*UIConstraints: *RIPunch UpperUS2 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *RIPunch UpperEU4 +*UIConstraints: *OutputBin Bin1 *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *OutputBin Bin1 +*UIConstraints: *RIPunch UpperNEU4 *OutputBin Bin1 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch LeftJP2 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch LeftUS2 +*UIConstraints: *RIPunch LeftJP2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *RIPunch LeftUS2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch LeftUS3 +*UIConstraints: *RIPunch LeftUS3 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch LeftEU4 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch LeftNEU4 +*UIConstraints: *RIPunch LeftEU4 *OutputBin FinAMURCBKBKLower +*UIConstraints: *RIPunch LeftNEU4 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch RightJP2 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch RightUS2 +*UIConstraints: *RIPunch RightJP2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *RIPunch RightUS2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch RightUS3 +*UIConstraints: *RIPunch RightUS3 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch RightEU4 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch RightNEU4 +*UIConstraints: *RIPunch RightEU4 *OutputBin FinAMURCBKBKLower +*UIConstraints: *RIPunch RightNEU4 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch UpperJP2 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch UpperUS2 +*UIConstraints: *RIPunch UpperJP2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *RIPunch UpperUS2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch UpperUS3 +*UIConstraints: *RIPunch UpperUS3 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch UpperEU4 +*UIConstraints: *OutputBin FinAMURCBKBKLower *RIPunch UpperNEU4 +*UIConstraints: *RIPunch UpperEU4 *OutputBin FinAMURCBKBKLower +*UIConstraints: *RIPunch UpperNEU4 *OutputBin FinAMURCBKBKLower + +*%==========Upper Internal Tray/Destination +*UIConstraints: *InnerTray2 NotInstalled *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *InnerTray2 NotInstalled + +*%==========Internal Shift Tray/Destination +*UIConstraints: *ShiftTray NotInstalled *OutputBin Shift +*UIConstraints: *OutputBin Shift *ShiftTray NotInstalled +*UIConstraints: *ShiftTray Installed *OutputBin Standard +*UIConstraints: *OutputBin Standard *ShiftTray Installed + +*%==========External Tray/Destination +*UIConstraints: *ExternalTray NotInstalled *OutputBin External +*UIConstraints: *OutputBin External *ExternalTray NotInstalled + +*%==========Finisher/Destination +*UIConstraints: *Finisher NotInstalled *OutputBin FinRUBICONCShift +*UIConstraints: *OutputBin FinRUBICONCShift *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKShift *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *Finisher NotInstalled +*UIConstraints: *Finisher NotInstalled *OutputBin FinUYUNIBShift +*UIConstraints: *OutputBin FinUYUNIBShift *Finisher NotInstalled +*UIConstraints: *Finisher FinRUBICONC *OutputBin Standard +*UIConstraints: *OutputBin Standard *Finisher FinRUBICONC +*UIConstraints: *Finisher FinRUBICONC *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *Finisher FinRUBICONC +*UIConstraints: *Finisher FinRUBICONC *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKShift *Finisher FinRUBICONC +*UIConstraints: *Finisher FinRUBICONC *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *Finisher FinRUBICONC +*UIConstraints: *Finisher FinRUBICONC *OutputBin FinUYUNIBShift +*UIConstraints: *OutputBin FinUYUNIBShift *Finisher FinRUBICONC +*UIConstraints: *Finisher FinAMURCBK *OutputBin FinRUBICONCShift +*UIConstraints: *OutputBin FinRUBICONCShift *Finisher FinAMURCBK +*UIConstraints: *Finisher FinAMURCBK *OutputBin FinUYUNIBShift +*UIConstraints: *OutputBin FinUYUNIBShift *Finisher FinAMURCBK +*UIConstraints: *Finisher FinUYUNIB *OutputBin Standard +*UIConstraints: *OutputBin Standard *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *OutputBin FinRUBICONCShift +*UIConstraints: *OutputBin FinRUBICONCShift *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKShift *Finisher FinUYUNIB +*UIConstraints: *Finisher FinUYUNIB *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *Finisher FinUYUNIB + +*%==========Media Type/Destination +*UIConstraints: *MediaType Labels *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType Labels +*UIConstraints: *MediaType OHP *OutputBin Bin1 +*UIConstraints: *OutputBin Bin1 *MediaType OHP +*UIConstraints: *MediaType OHP *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType OHP +*UIConstraints: *MediaType Thick1 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType Thick1 +*UIConstraints: *MediaType Thick2 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType Thick2 +*UIConstraints: *MediaType Thick3 *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *MediaType Thick3 +*UIConstraints: *MediaType Thick3 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType Thick3 +*UIConstraints: *MediaType Thick4 *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *MediaType Thick4 +*UIConstraints: *MediaType Thick4 *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType Thick4 +*UIConstraints: *MediaType GlossCoated *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKShift *MediaType GlossCoated +*UIConstraints: *MediaType GlossCoated *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType GlossCoated +*UIConstraints: *MediaType MatCoated *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType MatCoated +*UIConstraints: *MediaType Envelope *OutputBin External +*UIConstraints: *OutputBin External *MediaType Envelope +*UIConstraints: *MediaType Envelope *OutputBin FinAMURCBKUpper +*UIConstraints: *OutputBin FinAMURCBKUpper *MediaType Envelope +*UIConstraints: *MediaType Envelope *OutputBin FinAMURCBKShift +*UIConstraints: *OutputBin FinAMURCBKShift *MediaType Envelope +*UIConstraints: *MediaType Envelope *OutputBin FinAMURCBKBKLower +*UIConstraints: *OutputBin FinAMURCBKBKLower *MediaType Envelope + +*%==========Option Tray/Input Tray +*UIConstraints: *OptionTray NotInstalled *InputSlot 3Tray +*UIConstraints: *InputSlot 3Tray *OptionTray NotInstalled +*UIConstraints: *OptionTray NotInstalled *InputSlot 4Tray +*UIConstraints: *InputSlot 4Tray *OptionTray NotInstalled +*UIConstraints: *OptionTray 1Cassette *InputSlot 4Tray +*UIConstraints: *InputSlot 4Tray *OptionTray 1Cassette + +*%==========Media Type/Input Tray +*UIConstraints: *MediaType Labels *InputSlot 1Tray +*UIConstraints: *InputSlot 1Tray *MediaType Labels +*UIConstraints: *MediaType Labels *InputSlot 2Tray +*UIConstraints: *InputSlot 2Tray *MediaType Labels +*UIConstraints: *MediaType Labels *InputSlot 3Tray +*UIConstraints: *InputSlot 3Tray *MediaType Labels +*UIConstraints: *MediaType Labels *InputSlot 4Tray +*UIConstraints: *InputSlot 4Tray *MediaType Labels +*UIConstraints: *MediaType OHP *InputSlot 1Tray +*UIConstraints: *InputSlot 1Tray *MediaType OHP +*UIConstraints: *MediaType OHP *InputSlot 2Tray +*UIConstraints: *InputSlot 2Tray *MediaType OHP +*UIConstraints: *MediaType OHP *InputSlot 3Tray +*UIConstraints: *InputSlot 3Tray *MediaType OHP +*UIConstraints: *MediaType OHP *InputSlot 4Tray +*UIConstraints: *InputSlot 4Tray *MediaType OHP +*UIConstraints: *MediaType Thin *InputSlot 1Tray +*UIConstraints: *InputSlot 1Tray *MediaType Thin +*UIConstraints: *MediaType Thin *InputSlot 2Tray +*UIConstraints: *InputSlot 2Tray *MediaType Thin +*UIConstraints: *MediaType Thin *InputSlot 3Tray +*UIConstraints: *InputSlot 3Tray *MediaType Thin +*UIConstraints: *MediaType Thin *InputSlot 4Tray +*UIConstraints: *InputSlot 4Tray *MediaType Thin +*UIConstraints: *MediaType Envelope *InputSlot 1Tray +*UIConstraints: *InputSlot 1Tray *MediaType Envelope + +*%==========Gradation/Resolution +*UIConstraints: *RPSBitsPerPixel 4BitsPerPixel *Resolution 1200dpi +*UIConstraints: *Resolution 1200dpi *RPSBitsPerPixel 4BitsPerPixel + +*%==========Finisher/Option Tray +*UIConstraints: *Finisher FinAMURCBK *OptionTray 1Cassette +*UIConstraints: *OptionTray 1Cassette *Finisher FinAMURCBK + +*%==========External Tray/Internal Shift Tray +*UIConstraints: *ExternalTray Installed *ShiftTray Installed +*UIConstraints: *ShiftTray Installed *ExternalTray Installed + +*%==========Finisher/Internal Shift Tray +*UIConstraints: *Finisher FinRUBICONC *ShiftTray Installed +*UIConstraints: *ShiftTray Installed *Finisher FinRUBICONC +*UIConstraints: *Finisher FinAMURCBK *ShiftTray Installed +*UIConstraints: *ShiftTray Installed *Finisher FinAMURCBK +*UIConstraints: *Finisher FinUYUNIB *ShiftTray Installed +*UIConstraints: *ShiftTray Installed *Finisher FinUYUNIB + +*%==========Finisher/External Tray +*UIConstraints: *Finisher FinRUBICONC *ExternalTray Installed +*UIConstraints: *ExternalTray Installed *Finisher FinRUBICONC +*UIConstraints: *Finisher FinAMURCBK *ExternalTray Installed +*UIConstraints: *ExternalTray Installed *Finisher FinAMURCBK +*UIConstraints: *Finisher FinUYUNIB *ExternalTray Installed +*UIConstraints: *ExternalTray Installed *Finisher FinUYUNIB + +*%============ User Id / Job Type ============ +*UIConstraints: *UserId None *JobType SamplePrint +*UIConstraints: *JobType SamplePrint *UserId None +*UIConstraints: *UserId None *JobType LockedPrint +*UIConstraints: *JobType LockedPrint *UserId None +*UIConstraints: *UserId None *JobType HoldPrint +*UIConstraints: *JobType HoldPrint *UserId None +*UIConstraints: *UserId None *JobType StoredPrint +*UIConstraints: *JobType StoredPrint *UserId None +*UIConstraints: *UserId None *JobType StoreandPrint +*UIConstraints: *JobType StoreandPrint *UserId None + +*% end of Printer Description file + diff --git a/Installation_imprimante_debian/installation_imprimantes_debian.sh b/Installation_imprimante_debian/installation_imprimantes_debian.sh new file mode 100644 index 0000000..7fcb5ae --- /dev/null +++ b/Installation_imprimante_debian/installation_imprimantes_debian.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +#definition des variables + liste_imprimantes={IMP-0001,IMP-0002,IMP-0003,IMP-0005} + driver="Ricoh-IM_C2000-PDF-Ricoh.ppd" + +# Fonctions +Ajout_Imprimante () { + if [$imprimante -eq "IMP-0001"];then + description="Imprimante Richo site Orvault 1er etage" + peripherique="socket://192.168.44.51" + lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description + lpadmin -d $imprimante + + elif [$imprimante -eq "IMP-0002"];then + description="Imprimante Richo site Orvault 2eme etage" + peripherique="socket://192.168.44.52" + lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description + + elif [$imprimante -eq "IMP-0003"];then + description="Imprimante Richo site Champlan" + peripherique="socket://192.168.100.53" + lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description + + elif [$imprimante -eq "IMP-0004"];then + description="Imprimante Richo site Merignac" + peripherique="socket://192.168.100.54" + lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description + + elif [$imprimante -eq "IMP-0005"];then + description="Imprimante Service RH" + peripherique="lpd://192.168.100.55" + lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description + + fi + lpadmin -p "imprimante" -E -v "peripherique" -m $driver -L "description" +} + + +# debut du script +apt update +apt upgrade -y +apt instal cups -y +mv ./$driver /usr/share/cups/model/ +Ajout_Imprimante + diff --git a/workspace.code-workspace b/workspace.code-workspace deleted file mode 100644 index 3e70edd..0000000 --- a/workspace.code-workspace +++ /dev/null @@ -1,4 +0,0 @@ -{ - "folders": [], - "settings": {} -} \ No newline at end of file